0

I want to send data to server with retrofit library .

And I want to know how to resend my data to server when network is back

 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.");
        }
    });
}

I know I should create database and use broadcast to check status I want to know how I can store data to database with data field or jSONArray?

Please help me with database creation

pouyan
  • 3,445
  • 4
  • 26
  • 44
Saeed8697
  • 21
  • 4

2 Answers2

0

You can use realm for your local database. It is easy to use, faster, well documented and support various platform. For more details visit their official website: https://realm.io/docs/java/latest/

Sultan Mahmud
  • 1,245
  • 8
  • 18
0

You have many options:

1) SQLiteOpenHeleper:

You can store data into SQLite database with SQLiteOpenHelper class.

for a simple implementation watch this link : Android SQLite Example

2) Room Library: (Recommended)

This is a great library written by google that provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.

for a simple implemantation watch this links: A Beginner’s Guide to the Room Persistence Library Room Persistence Library

3) Shared Prefrences: If you have a simple data you can store it via Shared Prefrences. it is not a database though. Shared Preferences allow you to save and retrieve data in the form of key,value pair inside xml files in device data folder.

for a simple implementation watch this: How to use SharedPreferences in Android to store, fetch and edit values

4) Realm: Realm is a mobile database and a replacement for SQLite. Realm is not using SQLite as it’s engine. Instead it has own C++ core and aims to provide a mobile-first alternative to SQLite.

You can learn it with this link: How to use Realm for Android like a champ, and how to tell if you’re doing it wrong

5) ETC There is some other types like File (read/write) and greenDao. You can learn them by just simple googling :)

Saman Sattari
  • 3,322
  • 6
  • 30
  • 46