#java #android #string #linked-list #sharedpreferences
#java #Android #строка #связанный список #sharedpreferences
Вопрос:
Я создаю приложение, в котором мне нужно загрузить строку (чтобы она была точно связанным списком) при запуске (возможно, сделать это только при первом запуске), а затем проверять эту строку с помощью новой строки, загружаемой каждый раз. Если есть изменения, обновите исходную строку новым найденным (и предупредите с помощью службы переднего плана, но это уже другая история).
На данный момент я создал exeutable service и внутри него я поместил код для загрузки и управления строкой. Он выполняется каждые 15 минут, и это работает.
Моя проблема в том, что я не уверен, какой лучший способ сохранить исходные данные, а затем как обновить их, только если найдено что-то новое. Я мог бы создать метод в main или создать другой класс, вызываемый main. Кроме того, чтобы сохранить эти данные при выключении телефона или завершении работы приложения, я должен сохранить строку в общих настройках?
Я хотел бы узнать мнение кого-нибудь. Спасибо за помощь
Ответ №1:
Чтобы сохраниться после перезагрузки, да, данные должны быть каким-то образом сохранены. SharedPreferences
это прекрасный способ сделать это. Я предполагаю, что у вас есть служба, работающая с an Alarm
, поэтому возьмите новое значение и проверьте кэшированное. Если это другое, напишите это. Если это не так, все готово.
Если вы используете сервис, вы также можете попробовать сохранить значение в памяти для более быстрого сравнения. Если он вернется к null
, вы знаете, что вам нужно будет снова извлечь сохраненное значение, в противном случае выполните то же сравнение без чтения из хранилища.
Вы также можете использовать a BroadcastReceiver
для сравнения результатов, добавляя вновь выбранное значение в качестве дополнительного и отправляя a Broadcast
после его извлечения.