So I want to communicate with an OracleDB through my Android app. Allowing users to update the tables in the DB from their mobile phone. Currently this application is running in desktop form using a JSP file. I want to transition this JSP file to work with Android. I've read I could connect directly to the OracleDB although this is not generally acceptable for obvious security reasons. My question is could I use the existing JSP file with android and interact with the server through that? How would I make a GET request to the JSP file so I can call upon certain info to be downloaded from server and populate fields in my app? Thank you.
Honestly, I'd drop the JSP and look at a Web Service to the database through the Apex Listener.
Examples here and here
Related
I've looked around trying to find an answer to this question, but have so far been unsuccessful. I have a current version of an Android mobile application that stores items in the local database, and I'm trying to hook it up to a 'cloud' database (not sure if this is the right term) so that other people that download the app will be able to view and post things to the database.
I have an ec2 service set up, with my LAMP stack installed. I have the database set up on this server ready to go. How do I go about hooking up the Android application so that it can communicate (insert/view/delete items) with the database? I am a new developer so any help/insight/guidance you have is much appreciated!
You haven't mentioned the type of database you have setup on cloud.
I am assuming it to be some kind of relational database (e.g. MySQL).
You can use standard JDBC connection from a regular java code but it is not yet possible (supported) to do it directly from Android code.
I faced a similar issue, what I did was this:
Create a Servlet and deployed it on GAE (Google App Engine).
Make an HTTP request from your android application code to this Servlet (SELECT/UPDATE/DELETE).
Initiate a JDBC connection to your database (on EC2) from that Servlet.
Shoot the SQL statement to the database.
Get the result and send the response back from servlet to your android code.
There may be other better solutions but I could not find any and tried this on my own, it worked like a charm, multiple times.
After writing the previous answer, I kept on thinking of alternate solution.
FYI: This may or may NOT work !
Instead of hosting your servlet on GAE, you can host it on the same EC2 instance as your database, using tomcat or any other package.
This way your android code would communicate directly with the instance that has servlet and database deployed together.
In the servlet, you can shoot SQL queries internally and send the results back to android code.
How to host a servlet in Tomcat 7
Adding new security group and linking it with my instance..worked for me
I have a web application on Android and iOS which uses html and javascript for the project. I now have local values and app works fine. now I want to use a mysql database for my inputs, are there any good tutorial or sample codes on how to do that.
I'll appreciate if you can help me with this.
Thanks
For web app and mysql communication need a scripting language like php and for database you need a database like mysql there is simple tutorial fo mysql connectivity
http://www.androidhive.info/2013/12/android-populating-spinner-data-from-mysql-database/
You need to choose a language that will operate server side to manage the database of your web app, e.g. you could use PHP as a language and MYSQL as a database software (it's free and awesome), for examples you could use http://php.net/ and search how to use specific mysql commands in PHP, or use a framework like CodeIgniter which has built in functions for database management and you can view some of them here https://ellislab.com/codeigniter/user-guide/database/active_record.html, but make sure you use the whole user guide on how to use it and how to set up your database configuration properly!
EDIT. If you don't want to use PHP for the actual app then you can use it server side, i.e. use it as part of a server file which connect to database, handle data, send it back, then send it back to your remote app where you can handle it with Javascript.
i am trying to share data between Android Application and database based on windows IIS 8.0 server. Our website is build using asp.NET.
I just want to find out what are possible ways available and their algorithm in easy language and What are the apis available in android and java library which i can use.
My application will download high amount of data including texts and images.
And want to keep my app as much lighter as possible.
Like 1 - create connection using
2 - create session using
3 - and so on ...
I appreciate your help.
Thanks
Karan Nagpal
There are some easy steps which can help you.
1. Create a listener in asp.net which will be hosted on IIS.
2. Call listener from mobile device via HTTP.
3. Call stored procedure or simple sql statements to fetch data from database and send back to mobile device in the form of Http Response(text,xml,json).
Hello check this page you can get what you want
Android connectivity with php and mysql
The concept is same for every language you can use MSSql and .net in the place of php and mysql.
Thanks
I have experience building android applications but now I would like to start building applications that interact with some sort of web database to push and pull data.
What type of database should i set up on a remote server for my application to interact with? From what i understand I need a database on the remote server and some service that my android app can communicate with?
What can i read that will clear up how this works and how i can get started?
The easiest (and often most flexible) combination in my opinion is PHP and MySQL. PHP as the scripting language which is called (via http) from the app, and handles all the database access. MySQL as the database. PostgreSQL is also an option for the database, of course. And if you have access to .NET, JSP or something like that, that's also an option. But a web server with Apache, PHP and MySQL is free, powerful and easy to maintain, and most/many web hosts have them.
The way it works (which is the same no matter what kind of webbased services/servers you chose), is this:
- The database is installed on the server
- You have a web area (on the web server) which has access to the database (this is how it will be with a typical web hotel solution)
- You place your scripts (f.ex. PHP) in the web area
- The web scripts access the databse, with functions for fetching and/or storing information
- Your app uses httpclient or something similar to send http GET or POST requests to the PHP scripts, either sending information or asking for information, or both
It's also quite possible to write database access code directly in your app (this is very easy in Java and C#, compared to languages like C og C++). However, most hosts don't allow remote access to their database servers, so you'd most likely have to set up a database server yourself. Also, accessing the database server directly is a security risk, and I wouldn't recommend it.
As to what you can read, there's lots and lots of tutorials, howtos and concrete examples on the net. Search for "php access mysql databse", f.ex., for ideas on how to write php scripts that handles the database transaction(s). If you have a more detailed decription, I might be able to point you to something more specific.
I strongly suggest adding web service layer between your application and database, using i.e. JSON or XML. Exposing DB directly ma be security risk and is rarely the way to go.
I am trying to develop a real-time Android application where all contents are stored in server. So, they are available whenever a connection to Internet is available. Also, the application provides communication between users and conversations are stored in the server as well. Nothing is locally stored.
However, I am still cannot decide which database type I can use. I intended to use SQLite but I am not sure if I can really use it or not.
Could you please guide me to the proper database type to my application.
Appreciate your time and efforts.
As its upto you which database you use.
you may Install Lamp (For Linux) or WAMP(for window) . This is a nice database tool and very easy to handle and easy linked with PHP for various database function
I recently developed something similar to what you are talking about and here is what I would suggest you to go for.
Use SQL server to manage the data on your desktop and create a web-service in .Net on Visual Studio.
(Note that as others have already mentioned, it really does not matter what is the database you are using in your server end, because eventually the data is going to come to the Android application from the server in form of either xml or json in the web-service., regardless of what database you are using. So it is totally your wish which database you want to use.)
Then connect to the web-service in your application and set/get data from the remote Database, using SOAP.
Link on how to make a web-service in .NET (does not include the implementation in Android).
Links on how to connect your service with Android : this, this and this.