Android app which works in online and offline mode

2020-06-03 09:09发布

I'm new to Android and and made an application which fetched and post data to server and works fine in online mode. But I want to make it works in offline mode also, when there is no internet connection or network failure. It should also make changes (updates) to the server database when net is available. I have done lots of R & D but didn't get the useful info.

Please someone guide me with some useful steps, sample code (if possible) or any link to make app in offline mode.

5条回答
Deceive 欺骗
2楼-- · 2020-06-03 09:37

Here you can not fetch data without internet. But it is possible to use old data. Once you are downloading data from internet store it into database. Here most people suggest SQLite database. My suggestion use anyone database (SQLite or SQLCipher) . After that before uploading your data just insert it into database and post from database. Because once network failure data will not be lost.

Broadcast Receiver:

This broadcast receiver is used to notify you the network changes. Once network is connected write your post code. Maybe here also possible to the network failure. But data still in database so it won't loss.

查看更多
倾城 Initia
3楼-- · 2020-06-03 09:38

You can use SQLite database in your android application. At offline you can save every thing in you local database and when application come with online then you can sync your local database with server database.

For create SQLite local database in android application you can check the following sample codes (sample projects) in github

https://bitbucket.org/kavi707/grocery_items_app/src

Cheers...

查看更多
Root(大扎)
4楼-- · 2020-06-03 09:46
  • You need to define two modes of your app online and offline
  • Monitor Network Connectivity events in your app to determine offline/online mode, You need to write BroadcastReciever for this.
  • In online mode Connect to your server and exchange whatever data that you need to do at that point.
  • Meanwhile in offline mode store the data persistently if needed
查看更多
一纸荒年 Trace。
5楼-- · 2020-06-03 09:47

Use SQLite database. Save data in database when there is no internet. Then sync data with server when internet comes back.

http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/

查看更多
Fickle 薄情
6楼-- · 2020-06-03 09:58

What you are asking is actually incredibly complicated.

I have spent a good year of my own time trying to solve this problem and have published my work in the SyncIt project which is at http://forbesmyester.github.io/SyncIt/ .

There is:

I suggest that you start reading about the local version control component and then move onto the connection monitoring component.

查看更多
登录 后发表回答