Как сохранить выбор пользователя при каждом запуске приложения на Android? - PullRequest
2 голосов
/ 12 августа 2011

При первом запуске приложения я хочу, чтобы появился флажок, в котором пользователь выбирает интересующие его элементы и запускает программу на его основе. Каждый раз, когда приложение запускается, я хочу, чтобы эти выбранные настройки запоминались или менялись с помощью меню опций, и в этом случае новые настройки запоминаются. Но все, что я знаю, это заставлять приложение работать с самого начала при каждом запуске ...

Точно так же мое приложение последовательно считывает все данные в большой неизменяемой базе данных, доступной только для чтения. На данный момент он создает, открывает и извлекает все данные каждый раз, что занимает несколько секунд в начале программы, чтобы открыть и сделать что-нибудь. Есть ли способ обойти это, или это даже хорошая идея, чтобы попытаться обойти это?

1 Ответ

2 голосов
/ 12 августа 2011

Чтобы запомнить выбор пользователей, взгляните на SharedPreferences .Вы можете хранить выбранные элементы там.

В базу данных: это действительно зависит от вашего приложения.Если вам нужны все эти данные одновременно в памяти, я думаю, нет никакой возможности загрузить их с самого начала.Если вам нужны только части, было бы неплохо загрузить часть данных при необходимости.Но без точного знания вашего приложения / варианта использования это трудно сказать.

Когда у вас возникает какая-то «задержка» при загрузке базы данных: возможно, вы загружаете базу данных в UI-поток (= без создания отдельного потока для загрузки)?Это плохая практика, поскольку она блокирует все операции пользовательского интерфейса.Посмотрите на AsyncTasks .Это удобный класс, который оборачивается вокруг потока и позволяет вам делать вещи в фоновом режиме, не блокируя весь пользовательский интерфейс.После того, как это сделано с его задачей (загрузка в этом случае), она предоставляет вам обратный вызов onPostExecute(), где вы можете обновить свой интерфейс с загруженными данными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...