I am programming an app that will store a database locally and would like it to be able to update the database from a remote online database when changes have been made. I do not need to be able to write back to the remote database from the app. I am also trying to keep porting to IOS an option. How do i do this? thanks
This is a very general question, so the best I can do is give you a general answer. You can do this quite easily. Just use an HttpUrlConnection on your android app to pull data from the server and then update your database on the phone with the data you got from the server. If you want to get really fancy you can use a SyncAdapter, but that might be overkill for you needs.
Related
I'm really new to programming apps - so this question might sound a bit strange:
I'm trying to program an app in android studio, where people can upload different things (basically strings and links put together in some kind of "package") and other peoble can then decide what "packages" they want to add inside their app. However after downloading, this data should be stored on their device and not just in the memory of the phone so that they can use it after restarting the app (and also if theres no internet connection). Do you have any idea what would be the best way to store this data both on the phone and in a database and how to synchronize the data on the phone with the selected data from the database. I really dont want to know how to do this exactly but would rather like some basic ideas and maybe you could tell me what kinds of stuff i should learn in order to succeed and what kind of database would be best here (firebase, MYSQL,..)?
Thanks a lot,
Andi
First of all you should decide what DB you are going to use.
In my opinion all RDBMs are good, but using Sqlite in order to achieve best performance on android devices is a good idea.
In your case you need server-side DB and application too.
(Depend on the scenario and framework you use can be different (sql,mysql,PostgreSQL,oracle,...)).
About how to sync local database with server-side you can download new DB from server and replace it with previous one, if you need previous user data you can have 2 different table and update one by downloading it from server, and save id or any identical row from specific package that already saved by user.
These are some question has been already answered in Stackoverflow
java - How to update table in sqlite?
java - SQLite in Android How to update a specific row
Create SQLite database in android
If you are talking about local databases. Go for Realm or look up a good ORM on github (Object relational mapping, you dont have to write SQL queries explicitly) .
I would suggest Realm which is very fast and user friendly.
I have an app that stores a sqlite database in the usual place. ie: data/data/com.blah.blah/databases. I wish to remotely locate the SQLITE database and read from and write to it. I wonder if there is a way to do it without using the Oracle Mysql option. Is there a way to just change the default location to a folder on a website. Thanks in advance. If so how do I do it. I cant find any tuts or books that explain how its done.
SQLite isn't a remote database implementation. That is kind-of part-of white it is called SQ*Lite*. :) It is for doing SQL databases based on local files, without taking the big additional overhead of having some remoteable service protocol sitting between you and the database.
There are all kinds of options for interacting with remote data stores, not just MySQL - PostgreSQL, etc. You can use whatever of those you want. You can then have on the device just the client code you need to communicate with the remote data store. It doesn't make sense for Android to supply any complicated/sophisticated here built-in, though, since exactly what you want is going to depend mostly on what you are using on your back-end server.
I am working on an application which has large amount of data in a database. I know that it wont be feasible for me to package this huge database along with the app. I can only think of setting up a central database, so that the app can access it. I am new to android. I thought about using web-services or a http webpage request.
any suggestions for this?
thanks,
Naveen
Of course, be familiar with the topics outlined in the Data Storage Developer's Guide.
http://developer.android.com/guide/topics/data/data-storage.html
When using a database for an Android application, is it possible to use a MySQL database, or do you have to use SQLite?
What I'm trying to do is make an app that allows users to see events on a map. These events are updated by admin staff from the office from a Java-based application that works with the MySQL database.
SqLite is present on the phone with some good tutorials out there to get you started using it.
Check the online docs for more details, and I suggest taking a look at the notepad sample, it will get you up to speed in no time.
http://developer.android.com/guide/topics/data/data-storage.html#db
As far as I know you have to use sqlite. MySQL needs a server which would mean you'd need a locally hosted mysql server on a phone which is going a bit overboard.
you have to use sqlite for your android side database
The best is to use content providers if you want to share information. Android provides built in interface for sqlite (android.database.sqlite) and so sqlite is easiest to use.
Another alternative to Sqlite is Berkeley DB for Android (Berkeley DB - Java Edition)
I am trying to connect mysql in android, but I can't. Are there any alternate ways to developed application without mysql if there is small database needed. And which one is better to use mysql or sqlite and why?
You basically give the answer yourself: android has Sqlite built in, so if you need a DB in your app, you have to use SQLite.
The good thing is that it is small (and built in), so that it won't use much of the (limited) memory present on a mobile device.
You build a rest web service and then use http:// to push to that from your droid.
If you have to use the database in a scenario where your data comes from the Internet, then you would be using MySQL (or anything similar, like MSSQL) and will be developing web-services in PHP, or JSP or anything like that, to make your database available to your app.
If you have to use the database locally, you use SQLite
depends on the scenario.
For SQLite, refer this