I am fairly new to databases, and StackOverflow(so bare with my question). My friends and I are trying to create a "student" version android app of a current school website. We just want to create something that is mobile friendly and easy to use for the students. However, the current website is a traditional web application (not REST API + SPA) and uses PostgreSQL as its database. I am wondering if we can connect a mobile app to that database to access the student's data or if we have to create a separate database.
You can use the same database but you need to create a backend service (REST API o Web Service) to comunicate the device and the database. You can use technologies like Nodejs, Go.
Hope this help you
Related
I am looking to create a simple xamarin.android mobile application which can connect to and interact with an SQL database hosted in azure. What would be the best way to create this connection? I have been able to create a simple console application which can do this if that helps, but am unable to do a similar thing with an android app. Thanks
You can try Azure App Service Mobile Apps to work with an SQL database hosted in Azure in your app.
Have a look at these samples from Xamarin. The "MyShoope" App in particular uses data storage.
I have provided my existing .NET Backend for reference on how to create your controllers and data entities to publish to Azure. Read through the Azure Mobile Apps tutorial to learn how to create and setup your own Mobile Apps backend for My Shoppe. https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-xamarin-forms-get-started/
I'm trying to create a login system for an android app and I would like to know if creating a Sqlite database solution would work across different devices. For example if I register in a device, could I access the app from another device with that same account without having to register again? If that does not work, what would be the solution? Thanks for the help :)
Ideal solution would be to connect the app to the server for authentication and authorization. The server can be build using any type of database whether it is sqlite or mysql etc. So it does not make any difference.
You can create a web service for the purpose of authentication using php, java or .net (your choice) and the android application can use any web service client framework such as service stack etc. for connecting to the web service.
What kind of authentication and other features you want will depend solely on your application design.
The best option is using a web server. I am doing the same and am using a .net web services for users authentication
For allowing same user to loggin in different devices with same credentials in the app you need to use central database .
Below is the link which will help you a lot.
http://www.androidhive.info/2012/01/android-login-and-registration-with-php-mysql-and-sqlite/
Note : Sqlite database is the local database , we can not use it for our central purpose or out of the specific device.
I've built a Rails 4 web application with PostgreSQL database and hosted it on Heroku. The future plan for that database is to also be used by one Android application.
I am not completely sure how can I accomplish that. Do I need to build another REST application and host it on Heroku and somehow connect to the same database or there is another way?
How to connect with Android application to that database which is used by the web site? I know I can't connect directly.
Thank you for your guidance.
You don't need another app - just build an API for current one and then you can communicate from Android app to your web application (web app will connect to db and return data).
Have a look at Twitter API as example - you can access different resources and manage them via Twitter API
https://dev.twitter.com/docs/api/1.1
You can build something similar - create rails controllers that access your database and respond with structure you want - preferably JSON format of your models (or something custom if you need)
From Android app you can send request to your API and parse JSON responses - then process data your own way on Android app.
Don't forget about authentication between your Android app and web application - let only your Android app to use it.
I encourage you to browse internet for best practices 'How to create an API' :)
I'm developing an app and a website simultaneously. The website will be done in django and using Google' app engine, so therefore Google's database. IS there anyway i can download and use the database for an android app? Preferably I would like it to download and make it available offline to the users.
use a REST api like django tastypie on the server side, and consume the rest resources for the models you need with your android app. After you get the Json/xml messages on your android just save it to the local sqllite db
Android does provide a SQLite interface for you to read and write to a local db. You could fetch the db through a web request and save it locally, yes. Being on Google App Engine does not help / hinder your ability to do this.
We are interested in purchasing a server for storing a MySQL database that is used by an Android application. Just to understand, does the server only need to support MySQL, or are other requirements for a server for mobile use?
Your Android application would probably not work directly with a remote MySQL database.
In general, you would use write a web service API to act as middleware, communicating with your Android application and the database. Your Android application would make HTTP requests to the web service, which would in turn perform CRUD on your database. In this case, your server would need both a web server (with support for Java or PHP or whatever language you choose to use for the web service) and a database server. See How to have Android app work with MySQL online database?
To access the database "directly" (like it was local), this could help: MySql remote database manipulation in Android
But you might need some additional server functionality, at least in the future. Then you could use a server which also offers PHP. PHP + MySQL are usually offered together, it's very common/popular and it's cheap. Since you don't seem to have any special requirements for the server functionality, PHP is probably suitable.