У меня есть вопрос о хранении UUID. Я хотел бы использовать Java для создания UUID и сохранить его, чтобы я мог получить его при следующем запуске приложения.Java Store UUID
В приложении .NET, которое я построил, я делаю что-то похожее на это. Я использую реестр Windows для хранения UUID и всех других настроек. Однако это Java-приложение должно быть совместимо с кросс-платформой. Это представляет проблему. Очевидно, что в других операционных системах у меня не будет реестра Windows для такой задачи, так как я могу это сделать?
У меня есть одно решение для этой проблемы, но я хотел бы кое-что немного более изощренным. Моим текущим решением является хранение текстового файла (названного как-то вроде unique.txt
) в каталоге приложения, а затем его чтение во время выполнения.
Вот мои жалобы о том, что решения:
- Если пользователь перемещает приложения в новый каталог, программа для создания нового UUID и файла настроек.
- Мне не нравится тот факт, что пользователь может видеть файл настроек, сидящий в их каталоге.
Вот условия, которые я хотел бы решение удовлетворить:
- Раствор должен быть в состоянии хранить значение UUID (и, возможно, другие переменные) таким образом, что они могут быть извлечены и изменен во время выполнения.
- Если приложение удалено и затем повторно загружено, значения предыдущей установки все равно должны быть восстановлены.
- Файл, используемый для хранения значений, не должен отображаться в каталоге приложения (нет смысла загромождать каталог пользователей с помощью файла настроек).
- Если пользователь перемещает приложение в другой каталог, приложение все равно сможет извлечь предыдущий файл настроек. Настройки не должны зависеть от каталога.
Я думал о хранении настроек файла в корневом каталоге (/
на UNIX и C:\
на Windows); однако, по моему опыту, для записи в корневой каталог обычно требуются повышенные разрешения. Я также чувствую, что корневой каталог не является наиболее подходящим местом для этого.
Если Java имеет встроенный метод для выполнения чего-то подобного, я бы очень признателен, если кто-то укажет на меня в направлении этого. В противном случае, если кто-то может дать некоторые рекомендации, это тоже будет здорово.
Приносим извинения, если этот вопрос является дубликатом. Я искал что-то вроде этого, но я не нашел ответа. Если что-либо о вопросе неясно, добавьте комментарий, и я попытаюсь пересмотреть вопрос, чтобы уточнить.
Заранее спасибо.
Это может быть именно то, что я ищу. Доступны ли настройки 'systemNodeForPackage', даже если приложение будет удалено и повторно загружено? Кроме того, если бы я должен был обновить клиентское приложение и выпустить новую версию, сможет ли новое приложение использовать те же настройки, что и старая версия? Чтобы уточнить этот вопрос, в Windows все мои настройки сохраняются даже в случае обновления, потому что новая версия читает и записывает в тот же реестр. Будет ли этот API предоставлять эту функциональность? Независимо от того, +1 для этого ответа. Если API работает, я приму этот ответ. – SpencerD
Прочитав больше об этом API, я ответил на свои вопросы об этом API. Кажется, это именно то, что я ищу. Спасибо за ваш ответ и помощь! – SpencerD