Java- Android Как сравнить две строки со старыми сохраненными данными

#java #android #string #linked-list #sharedpreferences

#java #Android #строка #связанный список #sharedpreferences

Вопрос:

Я создаю приложение, в котором мне нужно загрузить строку (чтобы она была точно связанным списком) при запуске (возможно, сделать это только при первом запуске), а затем проверять эту строку с помощью новой строки, загружаемой каждый раз. Если есть изменения, обновите исходную строку новым найденным (и предупредите с помощью службы переднего плана, но это уже другая история).

На данный момент я создал exeutable service и внутри него я поместил код для загрузки и управления строкой. Он выполняется каждые 15 минут, и это работает.

Моя проблема в том, что я не уверен, какой лучший способ сохранить исходные данные, а затем как обновить их, только если найдено что-то новое. Я мог бы создать метод в main или создать другой класс, вызываемый main. Кроме того, чтобы сохранить эти данные при выключении телефона или завершении работы приложения, я должен сохранить строку в общих настройках?

Я хотел бы узнать мнение кого-нибудь. Спасибо за помощь

Ответ №1:

Чтобы сохраниться после перезагрузки, да, данные должны быть каким-то образом сохранены. SharedPreferences это прекрасный способ сделать это. Я предполагаю, что у вас есть служба, работающая с an Alarm , поэтому возьмите новое значение и проверьте кэшированное. Если это другое, напишите это. Если это не так, все готово.

Если вы используете сервис, вы также можете попробовать сохранить значение в памяти для более быстрого сравнения. Если он вернется к null , вы знаете, что вам нужно будет снова извлечь сохраненное значение, в противном случае выполните то же сравнение без чтения из хранилища.

Вы также можете использовать a BroadcastReceiver для сравнения результатов, добавляя вновь выбранное значение в качестве дополнительного и отправляя a Broadcast после его извлечения.