хранить данные локально, когда нет доступа к сети в Android

#android #sdk #storage #local

#Android #sdk #Хранение #Местные новости

Вопрос:

Я хочу отправить данные в свою базу данных, используя httppostrequest.Но когда нет доступа к сети, как хранить данные локально, и когда мое приложение получает сетевую отправку на сервер

Ответ №1:

Хорошим решением может быть использование базы данных. Учебное пособие notepad — это достойное введение в программирование с использованием баз данных в приложении для Android.

Кроме того, стоит потратить время, необходимое для чтения и ознакомления с темами, затронутыми в http://developer.android.com/guide/topics/data/data-storage.html

Комментарии:

1. спасибо за ваш ответ .. , но моя база данных подключена к Сети, я хочу хранить ее локально только в течение короткого периода, когда нет сети,

2. Хранилище в локальной базе данных может использоваться только «на короткий период, когда нет сети». Нет причин, по которым данные, которые вы могли бы поместить туда для временного хранения, должны оставаться там дольше.

Ответ №2:

Используйте это для проверки подключения:

 public boolean isOnline() {
 ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
 return cm.getActiveNetworkInfo().isConnectedOrConnecting();

}
  

О сохранении данных в SQLite ознакомьтесь с этим руководством:

http://p-xr.com/android-tutorial-simple-but-persistent-data-storage/

Комментарии:

1. спасибо за ваш ответ .. , но моя база данных подключена к Сети, я хочу хранить ее локально только в течение короткого периода, когда нет сети

2. Просто создайте базу данных SQLite и обрабатывайте ее как папку кэша. Используйте проверку кода, чтобы определить, можете ли вы выполнить веб-вызов или когда вам нужно вернуться к своему кешу (DB)

Ответ №3:

Я одобряю ответ Марка Моибрука и советую использовать какой-нибудь DB helper вместо необработанного SQLite, поскольку для этого требуется много шаблонного кода. В прошлый раз я был доволен использованием библиотеки базы данных Realm. Это быстрее, чем SQLite, как с точки зрения эффективности, так и времени кодирования.