Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
216 / 0 / 0
Регистрация: 24.06.2014
Сообщений: 144

UUID.randomUUID();

04.02.2015, 10:33. Показов 2731. Ответов 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 получится одинаковым, и что тогда будет?
Объясните понятно мне, пожалуйста, что к чему?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.02.2015, 10:33
Ответы с готовыми решениями:

UUID. Bluetooth connect
Вопрос достаточно банальный. Какое UUID мне нужно установить при подключении к серверу через Bluetooth? Для начала объясните плиз, для чего...

Для чего нужно UUID
Ребят изучаю андройд совсем недавно, можете кто-нибудь понятно объяснить для чего используется UUID?

Ошибка .drectve `/DEFAULTLIB:"uuid.lib" /DEFAULTLIB:"uuid.lib" ' unrecognized
Здраствуйте, я пользуюсь средой Dev-C++ с компилятором MinGW. Я пишу DirectX программу и каждый раз когда я компилирую компилятор сообщает...

1
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
04.02.2015, 11:41
http://stackoverflow.com/quest... randomuuid
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.02.2015, 11:41
Помогаю со студенческими работами здесь

Генерация UUID в Qt
Каким образом это можно реализовать генерацию UUID по нажатию на button с помощью Qt? В qt я новичок.

UUID в STM32f030f4p6
Не подскажите, есть ли в этом камне заводской UUID и если да, то по какому адресу лежит?

[Gentoo] Наполнение fstab uuid
Интересует такой вопрос: есть ли способ автоматизировать наполнение fstab после установки (варианты со скриптами типа blkid, awk возможны,...

Алгоритм генерации случайного UUID
Написать алгоритм генерации случайного UUID вида 550e8400-e29b-41d4-a716-446655440000, все символы случайны. Алфавит возможных символов:...

Как узнать UUID компьютера?
Привет всем. Собственно, вопрос в названии. Кто знает ответ, подскажите.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru