View Full Version : Writing private apps for Android
Grubber
08-01-2009, 01:17 PM
Hi all,
I am new to android development and mobile development in general.
I am interested in writing an application for a private client (not for public release). In brief the application will be used by feild staff and will communicate with a webservice back at base.
My questions are as follows...
1. Is Android a suitable platform for this kind of work.
2. Can you consume web services from Android this way?
Thanks in advance
Crashdamage
08-01-2009, 02:15 PM
..writing an application...will be used by feild staff and will communicate with a webservice back at base.I take it from this you mean a 'web portal' type of thing, but where a dedicated app accesses a webservice rather than logging into a regular website via a browser?
1. Is Android a suitable platform for this kind of work.
2. Can you consume web services from Android this way?1. I don't see why not as long as you keep everything as simple, small and fast as possible. Even with 3G large data transfers could slow things down too much.
2. I don't use a dedicated app like you're thinking of, but I do use the G1's browser to access my company web portal. Even though the site wasn't designed with anything but IE in mind, it still works well for most activities. A carefully designed dedicated app and webservice should work even better.
Grubber
08-01-2009, 03:00 PM
Thanks for the reply Crashdamage.
I take it from this you mean a 'web portal' type of thing, but where a dedicated app accesses a webservice rather than logging into a regular website via a browser?
Yes, that is the idea. For example - staff in the field would need to request a product list (in xml) from an existing webservice to be displayed on their phone. From this they could request a reservation on that product for their customer by sending a request to that webservice.
The data would simply be small xml streams and login data. No pictures or anything.
Supernova
08-01-2009, 04:34 PM
The standard java jdk is mostly, if not all, represented in Android along with google's additions.
If you're used to java then you may use an HttpClient to communicate data to the server, there is socket support and you may make post requests etc. SAX parser for XML is built in and you have access to local databases.
You have two options;
An incredibly simple Android app involving not more than 30 lines of code that accesses a WebView (displays a website) that has all of the functionality online but in a mobile format (which would also be accessible from any other internet enabled phone such as the iphone and palm pre), or you can make an android UI that talks to the server. This is likely the more flexible option as you may cache requests and send them whenever somebody loses network connection. Consider that your users will not always be in a wireless/3g/gprs/edge connection area and with the first method you would simply get a "web page cannot be found" error.
Grubber
08-01-2009, 04:40 PM
Thanks Supernova, some good points there. I am going to have to get out of the always connected mindset I have from years of working on desktop apps.
I am new to Java, all my experience so far has been VB and other older languages. I am hoping that a lot of previous programming experience will shorten the Java learning curve.
Supernova
08-01-2009, 04:56 PM
As a developer implementing a system your thoughts here should be not on the platform as a first port of call but rather the devices available with network coverage in the areas that your clients operate.
Whilst I love developing apps on Android I wouldn't use it if there was no network coverage for Android devices for instance!
Assuming coverage will be fine then either you could use a (more cross-platform) web app and just make a portal, or a (more robust, more difficult) local storage solution which could cache things when you're in a no-coverage area. However you would need to think about concurrency of data as well - I have no idea what data you have but - if it is something requiring stocks then you wouldn't want staff to see a local copy of data and think there's a bunch left when in reality somebody else has already sold it!
Edit: Java learning curve was not too steep, do you have experience with any other object oriented languages such as c++? (or even php 5?)
Grubber
08-02-2009, 05:20 AM
As a developer implementing a system your thoughts here should be not on the platform as a first port of call but rather the devices available with network coverage in the areas that your clients operate.
Whilst I love developing apps on Android I wouldn't use it if there was no network coverage for Android devices for instance!
Assuming coverage will be fine then either you could use a (more cross-platform) web app and just make a portal, or a (more robust, more difficult) local storage solution which could cache things when you're in a no-coverage area. However you would need to think about concurrency of data as well - I have no idea what data you have but - if it is something requiring stocks then you wouldn't want staff to see a local copy of data and think there's a bunch left when in reality somebody else has already sold it!
Edit: Java learning curve was not too steep, do you have experience with any other object oriented languages such as c++? (or even php 5?)
Network coverage is very good here in the UK. It is rare to be out of signal range, so it is not a major problem, clearly I will still have to code for it though.
I have not done any c++, and only a little php. I understand the OO concept though.
I am just strting to work through a few examples, so I'll do those and then have a bash at a couple of simple apps first to see how I get on.
ohgary
08-03-2009, 09:09 AM
If you can live with the crappy tmobile coverage it would be a good platform.
Powered by vBulletin® Version 4.1.7 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.