отправить данные на сервер, когда соединение восстановлено - PullRequest
0 голосов
/ 04 января 2019

Я хочу отправить данные на сервер с библиотекой retrofit.

И я хочу знать, как отправить мои данные на сервер, когда сеть вернулась

 public void sendPost(String title, String body) {
    mpiService.savePost(title, body, 1).enqueue(new Callback<Post>() {
        @Override
        public void onResponse(Call<Post> call, Response<Post> response) {

            if(response.isSuccessful()) {
                showResponse(response.body().toString());
                Log.i(TAG, "post submitted to API." + response.body().toString());
            }
        }

        @Override
        public void onFailure(Call<Post> call, Throwable t) {
            Log.e(TAG, "Unable to submit post to API.");
        }
    });
}

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

Пожалуйста, помогите мне с созданием базы данных

Ответы [ 2 ]

0 голосов
/ 04 января 2019

У вас есть много вариантов:

1) SQLiteOpenHeleper:

Вы можете хранить данные в базе данных SQLite с помощью класса SQLiteOpenHelper.

для простой реализации смотрите эту ссылку: Пример Android SQLite

2) Библиотека номеров: (рекомендуется)

Это отличная библиотека, написанная Google, которая обеспечивает уровень абстракции над SQLite, чтобы обеспечить более надежный доступ к базе данных при использовании всех возможностей SQLite.

для простой реализации смотрите по этим ссылкам: Руководство для начинающих по библиотеке комнат для постоянных Библиотека постоянных комнат

3) Общие предпочтения: Если у вас есть простые данные, вы можете сохранить их с помощью общих настроек. это не база данных, хотя. Общие настройки позволяют сохранять и извлекать данные в виде ключа, пары значений внутри XML-файлов в папке данных устройства.

для простой реализации смотрите это: Как использовать SharedPreferences в Android для хранения, извлечения и редактирования значений

4) Область: Realm - это мобильная база данных и замена SQLite. Realm не использует SQLite как движок. Вместо этого он имеет собственное ядро ​​C ++ и стремится предоставить мобильную альтернативу SQLite.

Вы можете узнать это по этой ссылке: Как использовать Realm для Android как чемпион и как определить, правильно ли вы это делаете

5) ETC Есть некоторые другие типы, такие как File (чтение / запись) и greenDao. Вы можете выучить их, просто погуглив:)

0 голосов
/ 04 января 2019

Вы можете использовать realm для своей локальной базы данных. Он прост в использовании, быстрее, хорошо документирован и поддерживает различные платформы. Для более подробной информации посетите их официальный сайт: https://realm.io/docs/java/latest/

...