Форум программистов, компьютерный форум CyberForum.ru

UUID.randomUUID(); - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Как копировать текст в буфер обмена? http://www.cyberforum.ru/android-dev/thread1368038.html
сабж Добавлено через 34 минуты Нашел ответ: import android.content.ClipboardManager; ........ ((ClipboardManager) context.getSystemService(context.CLIPBOARD_SERVICE)) .setText("1123");
Программирование Android Не работает простая проверка if Вобщем то я только начал изучать Java, поэтому столкнулся со следующей проблемой: public void onClick(View view) { if (editText1.getText().toString() == "admin" && editText.getText().toString() == "admin") { textView1.setText("Добро пожаловать Admin"); } else http://www.cyberforum.ru/android-dev/thread1367968.html
Программирование Android Разные расширения экрана
Писал приложение на эмуляторе nexus7, использовал Relativelayout. Подогнал всё хорошо на книжную и на альбомную ориентацию использовав 2а разных layouta, но много значений задавал с dp-например отступы между элементами или когда подгонял размеры и мало использовал match_parent ну и wrap_content. Столкнулся с проблемой- на других разрешениях экрана, получилась ерунда. Что делать? Как я понял...
Про DPI экранов Программирование Android
Как быть, я сделал текстовое приложение без графики, а на различных девайсах разный DPI и на одних слишком крупный текст где DPI 240, а где DPI 120 слишком мелкий??
Программирование Android Получить что-то типа md5() для приложения http://www.cyberforum.ru/android-dev/thread1367657.html
Требуется получить уникальную строку, описывающую само приложение. Т.е. чтобы при каждом изменении кода приложения эта строка изменялась. Попробовал через получение сигнатуры: public String getSignature() { String result = ""; PackageManager pm = getPackageManager(); try {
Программирование Android Android recorder Всем привет, есть такая ошибка, как решить? Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: com.coremedia.iso.boxes.mdat.MediaDataBox at com.coremedia.iso.PropertyBoxParserImpl.createBox(PropertyBoxParserImpl.java:112) at com.coremedia.iso.AbstractBoxParser.parseBox(AbstractBoxParser.java:102) at... подробнее

Показать сообщение отдельно
7Alex
216 / 0 / 1
Регистрация: 24.06.2014
Сообщений: 144

UUID.randomUUID(); - Программирование Android

04.02.2015, 10:33. Просмотров 744. Ответов 1
Метки (Все метки)

Здравсвуйте! Никак не могу полностью разобраться, как работает один метод. Это пример из книги, может кто-то даже и узнает из какой =). Выкладываю весь метод целиком, чтобы легче было понять, что к чему, я ничего не менял, только перевёл комментарии.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
private boolean postSettingsToServer()
{
    boolean succeeded = false;
    // Пример использования HttpClient с HTTP GET запросом и переменных формы
    String uniqueId = mGameSettings.getString(GAME_PREFERENCES_UNIQUE_ID, null);
    Integer playerId = mGameSettings.getInt(GAME_PREFERENCES_PLAYER_ID, -1);
    String nickname = mGameSettings.getString(GAME_PREFERENCES_NICKNAME, "");
    String email = mGameSettings.getString(GAME_PREFERENCES_EMAIL, "");
    String password = mGameSettings.getString(GAME_PREFERENCES_PASSWORD, "");
    Integer score = mGameSettings.getInt(GAME_PREFERENCES_SCORE, -1);
    Integer gender = mGameSettings.getInt(GAME_PREFERENCES_GENDER, -1);
    Long birthdate = mGameSettings.getLong(GAME_PREFERENCES_DOB, 0);
    String favePlaceName = mGameSettings.getString(GAME_PREFERENCES_FAV_PLACE_NAME, "");
    Vector <NameValuePair> vars = new Vector <NameValuePair>();
    if (uniqueId == null)
    {
        // Создание и сохранение уникального идентификатора, если он ещё не существует
        uniqueId = UUID.randomUUID().toString();
        Log.d(DEBUG_TAG, "Уникальный ID: " + uniqueId);
        /*
         * Почему бы не использовать метод getDeviceId класса TelephonyManager?
         * Ответ здесь: [url]http://*******/sAbV2[/url]
         * Коротко говоря, он работает только на телефонах. Вы получили Wi-Fi планшет?
         * Телевизор? Забудьте. Сохраните его в общие настройки SharedPreferences.
         */
        // why not use getDeviceId from TelephonyManager?
        // See: [url]http://*******/sAbV2[/url]
        // In short, it only works on phones. Got a wifi only tablet? A TV? forget it.
        // save it in the prefs
        Editor editor = mGameSettings.edit();
        editor.putString(GAME_PREFERENCES_UNIQUE_ID, uniqueId);
        editor.commit();
    }
    // Добавление уникального идентификатора к запросу
    vars.add(new BasicNameValuePair("uniqueId", uniqueId));
    if (playerId != -1)
    {
        // В противном случае используется playerId для обновления данных
        vars.add(new BasicNameValuePair("updateId", playerId.toString()));
        // Получение последнего счёта
        vars.add(new BasicNameValuePair("score", score.toString()));
    }
    vars.add(new BasicNameValuePair("nickname", nickname));
    vars.add(new BasicNameValuePair("email", email));
    vars.add(new BasicNameValuePair("password", password));
    vars.add(new BasicNameValuePair("gender", gender.toString()));
    vars.add(new BasicNameValuePair("faveplace", favePlaceName));
    vars.add(new BasicNameValuePair("dob", birthdate.toString()));
    String url = TRIVIA_SERVER_ACCOUNT_EDIT + "?" + URLEncodedUtils.format(vars, null);
    Log.d(DEBUG_TAG, "Ссылка для выгрузки настроек на сервер: " + url);
    HttpGet request = new HttpGet(url);
    try
    {
        ResponseHandler <String> responseHandler = new BasicResponseHandler();
        HttpClient client = new DefaultHttpClient();
        String responseBody = client.execute(request, responseHandler);
        if (responseBody != null && responseBody.length() > 0)
        {
            Integer resultId = Integer.parseInt(responseBody);
            Editor editor = mGameSettings.edit();
            editor.putInt(GAME_PREFERENCES_PLAYER_ID, resultId);
            editor.commit();
        }
        succeeded = true;
    }
    catch (ClientProtocolException e)
    {
        Log.e(DEBUG_TAG, "Не удалось получить playerId (протокол): ", e);
    }
    catch (IOException e)
    {
        Log.e(DEBUG_TAG, "Не удалось получить playerId (IO): ", e);
    }
    return succeeded;
}
У меня вопрос по поводу вот этой строчки:
uniqueId = UUID.randomUUID().toString();
Я понимаю, что она делает, но я не понимаю следующее:
random то он random, но возможна же такая ситуация, что на двух устройствах uniqueId получится одинаковым, и что тогда будет?
Объясните понятно мне, пожалуйста, что к чему?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru