Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
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.
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:
- A local version control system https://github.com/forbesmyester/SyncIt
- A server component https://github.com/forbesmyester/syncit-server
- A connection monitoring component https://github.com/forbesmyester/SyncItControl
- And a basic bootstrap project that will give you a super basic to do list like project which you who be able to use as a basis for your project... https://github.com/forbesmyester/SyncItBootstrap
I suggest that you start reading about the local version control component and then move onto the connection monitoring component.
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/
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...
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.