I have a concern about an application (Android) that I realized whose I don't understand where does the problem.
Basically the application (Android) uses almost everywhere data received from an external BD exchange is from a Web Service (Php).
When I test on my smartphone (Nexus 5 - v 4.4.4), I don't encountered a bug. But when run on two Sony Xperia (v 4.4.2), purchased together, one encounters little bug but the other is all the time it crashes.
I'm a little disappointed, I can not say where it the problem is, if it's my code that is not well managed.
My question is: Is it possible that different smartphones can behave differently on the same application? And if so, how should we handle this?
I'm sorry, my english is not very well. I hope you have understood what I wrote.
This is possible.
One reason is the different API version
and some different implementations from the device manufactors
some problem I remember are the different root certificates, so if you're using a secured webservice, this might cause the problem. (an ex. for different root CA is 'Baltimore Cybertrust' it's not installed on each device.)
Related
Client came to me needing me to create a cash back calculator on their WordPress site http://onetouchrelo.com/
Did it with Caldera forms and seems to work on every device and browser I've tested it on, but the client and one other person at their office say's the calculator doesn't work on their Galaxy S4's. There are other people there with S4's (and any other device for that matter) that it's working fine for. The problem is that whatever the first number is he types, for the incentive it just repeats that number over and over instead of calculating. eg. 3333333, or 5555555.
I've tried removing all of the CSS from the form and just stripping it down to basics, deactivating plugins, all the normal stuff. Nothing seems to fix it for these two guys' phones. They say they're on kit kat and everything else works fine on the site for them. I am at a loss O_o
Generally, if you have multiple test cases that work with a piece of software and one device that does not work, your troubleshooting should begin with the device itself.
You mentioned that other devices of type Galaxy S4 are able to use the app. In that case check to see if the OS versions match on the ones that do and don't work. Check that there are no updates needed for the device. Recommend using another mobile browser to use the app like Chrome or Firefox and see if that alleviates the issue.
Lastly, Power off the device and try accessing the web app again.
If it still does not work, then the last resort is to try a factory reset to see if that clears the issue - after backing up their data. But, this seems to be device specific based on what you have mentioned.
I've developed a couple of Enterprise iOS apps for our users in the field. Some have expressed a preference for Android devices over Apple, and I fully understand. I do not have an Android phone, nor do I want to get one and have a second account to maintain. I'm wondering if I can use an inexpensive Android tablet to reliably test an application that will ultimately be running on an Android phone? The app will need to communicate via internet to a server via cell connection or wifi.
Also, any advice for an Android newbie developer would be appreciated.
Yes you could test on a Android tablet but it would be hard to see how it render on a phone.
You could also use the Android Emulator to test different size and android configuration.
Yes. I developed my first major Android app using only a couple of cheap tablet devices. It's fine; the only thing you can't really test is "what happens to my app when a phone call comes in." Plus if you can get the emulator working under HAXM, or some other similar setup where it doesn't work like a tortoise trapped in amber, you can test on a variety of simulated devices perfectly well.
Other things to consider:
You'll probably want to test your app on a variety of different hardware and Android versions, in particular I'd recommend testing on older devices. This means that you friends' old Android phones are a great source of cheap test devices. I regularly gather phones from friends that would otherwise just end up lingering in the back of a drawer as a "spare" that will never actually get used. Bear in mind that you can use all the features of a phone apart from the actual phone bit without a SIM, including a WiFi-based data connection.
You may find that you can find good, contract-free "pay as you go" phone SIMs. I use a provider whose "credits" don't expire, so I have a phone connection for my test devices where there's no ongoing cost, apart from the actual calls I make when testing.
considering new high-end smartphone, so choices are hard.
Been looking at OnePlus One but it says it's running it's own OS cyanogen which is based off 4.4 .
Question: If I get that phone, can I still develop apps the normal way? or is there any problems that arise?
You can never precisely know what kind of stuff the vendor did.
But... considering that OnePlus One is just an Oppo child brand (used to fool the buyers :) ), it could be assumed that they have some experience in the field and haven't done anything utterly stupid to the native layer that would make it non-usable.
I believe it should be OK, as it is still mostly android, sometime even more orthodox than other vendors.
I am looking for a way (maybe impossible) to test my PhoneGap Android application on different phones / hardware. As I am able to obviously test it only on my phone, but some people are reporting that my app doesn't work / crashes / explodes on their phone. Is there any way how can I test my app on different phones without buying actual device ? Maybe virtually like running Android in an emulator or somehow ?
It is kind of frustrating knowing that the app works perfectly, but some people are not able to even start it...
EDIT: I am certainly testing the app in Android emulator, but that only helps to test on different Android versions. But I am looking for a way how to test in on different phones without actually buying it - if it is possible ?
There is a company called DeviceAnywhere: http://www.deviceanywhere.com/ that seems to be doing that.
But it may cost you. If you don't want to buy all those devices, somebody else will have to. Plus they have to build the infrastructure to support remote access. Does not sound like something you would get for free.
Like DeviceAnywhere, there is another company that will let you test your application on multiple hardware devices. It https://appthwack.com/ . They do have 100 mins of free plan to test out, so go ahead and try this out.
You can run it through the emulator that is provided with the Android development kit through Eclipse. But this will only help test the code on different versions of Android not necessarily on the different hardware so if it is really a hardware problem this will not help but if it is related to the different versions of android this should help you find the problem.
Here is information on the emulator and how to use it: http://developer.android.com/guide/developing/building/building-eclipse.html#RunningOnEmulatorEclipse
I started developing android applications. And am testing with the android emulator. Do I really need android phone before releasing it for public usage?
Short answer No. You can test and build a android application package with the SDK and an emulator. But I would say there are usually many things which it would be wise to test on a device.
Personally I have noticed that the emulator does not give a good indication of response times for UI controls. It is usually necessary to move functionality which has long processing times into background threads to maintain user interactivity without the 'force close' pop-up. Testing the effectiveness of your UI responsiveness must be done on a phone to be meaningful.
Network connectivity is another aspect which can be vastly different on a phone, 3G or wifi.
Device sizes and Android platform versions can be tested effectively on the emulator.
Some phone allow hot-swapping of the SD card (replacing the SDcard without turning off the phone). I am not sure how to replicate this on the emulator.
There may be many more things which may only become apparent when using your application on a real device. I would strongly suggest to always test under real conditions when feasible for any commercial project.
From a technical perspective there's no reason why you can't develop purely on the emulator. You're not going to be able to test on every available device, so there's always going to be possibility of device specific bugs that you've missed.
However, I'd strongly recommend getting an actual phone to test your application on.
For me the biggest difference between an actual device and the emulator is the difference between using the interface with your fingers and using a mouse. Interactions which make sense in the emulator sometimes don't work as well when you start using touch on the screen. So if you develop purely on an emulator you'll won't lots of little improvements to your UI that would obvious when you used your app on a phone.
You can't feel a real app in your hands until you have a real phone. (I'm telling you as an Android developer)
So, developing w/o real phone is possible, but real phone gives you a lot more experience, fun & usefulness.
It depends on what type of application you're developing, for serious ones you need at least one device to test it on. For complex applications you would need a range of devices, for example with or without hardware keyboard, different navigational button etc. For basic, simple applications you'll probably do fine with just the emulator.
I would imagine with games you would definitely need to test on real devices.
Thanks to you all. I am going to get HTC Legend and test it, so that I can hope that my apps can be used by others :)
You guys suggest me HTC Desire or HTC Legend?