I'm new to Android programming. I have a website with sql 2008 db, and now i would like to give the users the ability to use their smart phones to enter data to this db.
I was wondering what is the best way to establish it. Since I'm new to it I don't want to build something that's not so professional.
Thanks for your help.
If I were you I would consider two following options:
Have a web application optimised for mobile use;
Pros:
Updates are delivered immediately, as there's no client application, everything is done on the server;
Web application can be used on many devices with a browser and not just Android: iPhone, Blackberry, PC, Mac, etc.;
Cons:
Users need to be online to work with the application;
You can not leverage from the native UI components available to native device applications;
Write Android application that will work with the database via a number of REST endpoints exposed through a web application (again);
The pros and cons are a full reverse of what you had in the first option.
The right answer for me was to use KSoap library. I'ts very easy and works very well.
Here is a tutorial that will show you how to do it step by step.
http://java.dzone.com/articles/invoke-webservices-android
Related
I want to develop an android app that is based on server-client system. I want to develop both backend and android client. It's 2020 and there has already many frameworks developed to provide server side missions to programs.
My question is
What are the trending backend technologies in android world (from database to REST API frameworks), with reasons? For now, I have 2 framework/library on my mind. Spring and Node.js. Google Firebase are also in that list.
I also have another question
Suppose that I made a backend project and want to deploy it on a real server (development made on localhost). What choices should be made ?
For example, I made my development on Mysql and Springboot framework, should that server provide support for MySql and Java ? What is the procedure to deploy both database and backend application ?
Thanks.
You can develop web server using ExpressJs in Node, or using Django/Flask in Python, using golang, PHP Laravel or Codeignitor and many more. It all depends on which language you're already familiar with and which is the best for your use case. Frontend framework has very less to nothing to do with which back end to chose.
Answer to second question.
You can deploy your app in AWS, DigitalOcean, GCP etc. They'll provide VPS and other options to host your application and will make it accessible to outer world using IP or domain, however you configure it. You can install and self manage the DBs in the virtual system you have or you can use Managed database solutions provided by cloud platform, which has a pricing but is easier to manage.
PS: Both your questions were very broad and more of a opinion based answerable questions, it's better to ask these type of questions in platforms like Quora where you can get very detailed answers. Anyways, good luck with your project :)
I have worked on these three stacks
1) React-Native Express API MongoDb
2) React-Native Firebase
3) React_native Django
If you are comfortable with python and planning to create a large scale product, Django Backend could be a way to go. React_native Firebase is perfect for fast prototyping. If you are using a platform where you need to do heavy db query search, firebase data storage can be a poor choice.
My friends and I are developing a rails app (ruby), iOS app (swift), and android app (java). We are trying to figure out the best way to connect them all.
From our current research, we are under the impression that an API will need to be created with rails and the mobile apps will then have to communicate with that. Is this the only solution? I am also understand that apps can "pull" data from an api, but what about the other way around? We would like each application to be congruent with each other... for example, a record is created in the iOS app. As soon as this happens, the record should also be able to found on the rails app.
When thinking about it, it seems like all we would need is one database, and then have all of the apps connected to it. Would something like this work?
Having trouble finding solid information regarding this. If you know of any documentation, please pass it my way.
The best way is to host database in cloud and access to that common database from all applications. If you host your database with any hosting provider, they will give you a connection string using which you can access from any application. See Amazon AWS for example.
As I understand it, the popular way to interface with your database would be to expose it through a REST framework. Doing this, it doesn't matter how many apps you want to be able to interact with the data, or what platform they are on.
Also, check out Kivy as an option for your mobile implementation, as it allows you to deploy to iOS and Android from a single code base. Of course, you may need to account for differences in hardware APIs, etc... But that would be easier, IMO, than maintaining multiple code bases.
I am developing an android application which needs a backend to process login and store data remotely on a server. I have previously worked with a BaaS service "Parse" for android. but since this is my final year project for my university I need to develop a backend from scratch, I have never worked with web services. I need some guidance on how to approach this and which framework will be the best to work with.
Thanks in advance.
If I understand you correctly you want to build a server application that allows you query data from your android app?
I'm not an expert on this since i just started coding myself, but I did do some research and it seems to be a very viable option to implement a RESTful API on the server side. The wiki article is pretty specific about how it works.
If you can use PHP the slim framework allows you to get a scrappy prototype RESTful API up in less then an hour if you familiar with the server configuration. It seems to be sophisticated enough to drive small and medium sized projects (maybe even big projects; I can't tell to be honest.)
On the start page you can see an example that allows you to query for a "hello, world" string from the API with less then 50 lines of code.
http://www.slimframework.com/
Where the example returns a "hello world" string you would perform database queries using PHP and return your results as json objects to your client.
The benefits of this are that you can use this Backend for different clients: Android, iOS or even your own browser-based web application.
This also makes it easy replace / port the backend once requirements change since it's very easy to implement the same API using other technologies and languages that fit the requirements better.
I and a colleague of mine are making an Android app for a bachelor project, and are not aware of what we should use in order to connect an Android device to an MS SQL database. The possible options we have considered so far are either using MVC4, WCF or Web API. We are trying to send just a bunch of strings from the database to the Android device, but we do not have extensive knowledge about either of the fore-mentioned technologies and we are wondering what is the best way and how to go about it all. We are also not aiming at creating a webpage for the project, and thus we think that MVC might be an overkill.
Thank you and we are looking towards your thoughts about this!
Not sure if this is the correct Stack Exchange website but here goes..
A client has asked me to look into the possibility of having a iOS or Android App for typing in information storing that in a SQLLite database and then syncing up with the main desktop application when plugged in by cable or something other syncing technology.
The desktop application is a Windows one written currently in Delphi 7.
Are there any API's to sync data from a SQLLite database on iOS/Android that Delphi can use?
If not, then would it be better if the desktop application was written in C# as its a newer language that can consume the API's easier?
For unidirectional sync (device to desktop), I would start with a simple web service (HTTP based). The new Web Sockets standard, also based on HTTP, is a little more complicated, but would allow for bidirectional communication.
The devices can HTTP POST database changes to the server, and the desktop client can pull new data (using HTTP GET) or receive push notifications, for example using a Web Sockets client.
For desktop to device you could also check out Apple Push Notifications and the corresponding Android technology.
For high availability I recommend a cloud-based solution like Amazon Elastic Compute Cloud (EC2), Google App Engine (GAE) or Azure.
This question is rather broad, there are many things you could do here. There aare so many technologies to use it's blinding.
The prevailing technique for transferring information from mobile devices is REST (over http).
You could also whip something up rather swiftly in node.js or WFC to create a service to collect information from the mobile devices.
I'm not sure about Delphi libraries available but perhaps by including REST in your search term you may have more luck. You may want to take a look at https://stackoverflow.com/questions/3959851/using-rest-with-delphi for a start.
The mobile side may be more tricky. If you are developing for multiple devices you may wish to explore the cross platform developer framework by PhoneGap as there seems to be a few projects that aim to sync local databases to the cloud. How you tie these together will be an interesting task.
Good luck!!!