I have a situation, where I downloaded json string from server, like twitter or facebook or dropbox etc.
How should I store these data, so the data can be viewed during offline?
I implemented using SQLite, but worry if it is heavy for this job.
Thanks.
You have a few options.
Store in to the SQLite Database
Store the JSON/XML file locally and parse it when you need to display it.
I would suggest storing it in the database too.
Related
I want to store data locally in the phone after parsing it from JSON API and then make a button to synchronize that data whenever I need to so that the content can be used offline.
If you want to store data object locally, then you can make use of Realm DB. Below link explains how to use Realm DB https://www.androidhive.info/2016/05/android-working-with-realm-database-replacing-sqlite-core-data/
Right now, the best option to store bunch of data locally is using sqlite. You can search for it. There is a bunch of tutorials for it. Also, you can also use Room library which makes it really easy to create sqlite databases and interact with it.
is there a way to store information (strings, numbers, booleans) on a webserver without using a database(mysql, sqlite, etc...) in android?
similar to how vb can read/write to a access "database" by only using a single file.
Thank you
You can write into json file as save it in server. For best approach, it is recommended to use database. Easier to do CRUD operations.
For store information into android application u can use SharedPreferences.about SharedPreferences
Or ,You can used a lib for store all data ObjectCache
I am building an Android app that that involves taking pictures and adding text to it. In other apps I have built I have been storing the data locally as JSON data. I read that you should always save locally(JSON) at every step because you can never be sure when an activity will be stop.
In the app I am currently building I want to upload the data to a SQL database. For example want to take a picture, save it locally and edit it(while saving at every edit), and then upload it to server. Then I would want to display a list that accesses the database to display finished photos.
Can I continue to save things with JSON and then only upload certain things to the database or should I skip JSON and just go directly to database?
Is there any built in methods for sending JSON data to a SQL database? Just trying to figure out the best way to go about this. Any advice would be appreciated.
I would not store the data as JSON because you might need later to query the data or filter it which will be cumbersome to do it with JSON.
What I suggest that you store your data in sqlite (the text only) and then when you are about to send to the server you can serialize it as JSON.
There is no special method to send JSON data, it is just normal plain text over HTTP.
As general rule, data storage should be in a database and then you can use JSON (or XML) to exchange the data (e.g. sync it with the server)
Also, if you are sending large amount of data, consider compressing it before sending to the server
I am developing a places of interest app which will display the list of places of interest in a location.
When user chooses one, it will display more information and address etc.
How do I store all this data? Currently I am using a text file to store all the data and subsequently when user chooses a place, it will parse the text file and retrieve the necessary data for display.
Any advice on what is a better way to do this? I looked at SharedPrefs, but it is more like storing "key-value" pair and in this case I need to store a large amount of data.
I want the info to be available even when the device is offline, thus I can't download from an online server upon request.
Any other way to do this?
You may store it to XML file using XML serializer, here is very good tutorial for learning that,
http://www.ibm.com/developerworks/library/x-android/
and it can be easily parsed using Java XPath Api. Have a look at this at parsing XML files
http://www.ibm.com/developerworks/library/x-javaxpathapi/
Use SQLite
It can store large data.
It is available offline.
All your problems will be sorted out.
Hre we have a wonderful tutorial for sq-lite
http://www.vogella.com/articles/AndroidSQLite/article.html
How about a relational database?
http://developer.android.com/training/basics/data-storage/databases.html
Take a look at Serialization. If you do not need database access, you could define a class what holds every information you need. Then, you can do the following:
when you need to save the datas, you serialize your object, dumping its content to a file, for example on the SD card
when you want to load the datas, you just load the above mentioned file, and get back everything from the dumped file
I am using this method in my app to cache some datas that would need internet access, so the user can still view it, and with proper implementation, this can work very nicely.
Use database, create table and insert all the data in it. When you need the data just fire the query, and you are done.
SQLite is fine for Android.
Depending on the type of data you want to store, you could use a SQLite Database (provided with Android) if it has a normal database structure. You could Serialize your data and save it in a raw or encrypted file, making you data implement Serializable.
I want to be able to store multiple List<NameValuePairs> for when multiple users enter information into my Android application using the same device. Later on, the user should then be able to send their data to the server at a click of a button. But this should only be for later upload for example when there is wifi/network connectivity.
What is the best way to go about storing these List<NameValuePairs>?
Well, your best bet is to store the data in Android's SQLite database:
http://developer.android.com/guide/topics/data/data-storage.html#db
As an alternative you can just serialize your objects to a file, but that might be too much of a hussle if the data is big.
Then you can have a service that runs in the background and sends data from the local db to the server when possible.
Here are your storage options:
http://developer.android.com/guide/topics/data/data-storage.html
I would imagine that depending on the kind of data and size, SharedPreferences or SqlLite could be useful for you. You can back DB with a ContentResolver and implement sync (SyncService) to upload to server. In this case, the Android OS will intelligently sync your data on the cloud when network is reachable.
Decided to save everything as a long string of name value pairs seperated by ampersands for easy upload to database when sending to php server.