We wrote a similar article about the iPhone 5 in the past and came to the conclusion that Android phone users had nothing much to be jealous about. We now look at the two new models from Cupertino, the iPhone 5s and iPhone 5c.
Since the iPhone 5 was released last year, there have been quite a few improvements in the Android phone space. Huge screens, 5-6 inch plus, are now available from a number of manufacturers, not just Samsung. Screen resolutions beyond retina are more common. Processor speed has increased, along with the number of cores onboard. The low end Androids are more than capable of handling everyday tasks, especially if the nexus 4 is considered low-end due to it’s price tag.
Many moons ago, the European Network providers made a collective statement to Nokia, which basically stated that they cannot compete with Android and Apple with the Windows Phone 7 platform, this is still probably true with Windows 8.
We are not going to discuss the pros and cons of Windows Phone 8, there enough articles on that already. One reason why Nokia phones may not be selling though, is because Android and Apple have a large loyal user base. Anyone planning to buy a smartphone will base their decision on what their friends, relatives and work colleagues have. All the buzz is around these two platforms.
The power of smart phone hardware improves each generation, some of the benefits are obvious. Screen sizes become larger and sharper, improving view-ability. Batteries become bigger, making your phone last longer between charges. Then there is is the CPU, or rather the plural, CPUs. Since the number of cores present in phone CPU has now jumped to 4 cores.
Many critics of quad-core phone do not see the benefits, often citing a number of drawbacks that outweigh any benefits. Critics state that the main reason for quad-cores phones is for playing games, especially complex 3D titles that take advantage of multiple cores, but the multiple cores would also suck out the battery life.
Wondering if you should buy an iPhone 5? Obviously as we are not apple fan boys, so we do not automatically accept that the new phone is the best in its class. However, if you owned Apple hardware in the past, and are sold on their eco-system then there are many reasons to upgrade to the new iphone5. The main ones being
- Bigger screen
- Improved screen colours
- Faster CPU
- Better battery
- 5th icon row
Android is a versatile OS that lets you hack and tweak your phone in many ways. One of the more useful changes you could make is replace the virtual keyboard with one that suits your typing better.
There are many keyboard replacements available on the android market, but if you happen to own a tablet as well, the Thumb keyboard stands out, as it offers a number of different layout options, that makes typing on a tablet a lot easier with just your thumbs.
Create gradient filled buttons with rounded corners
Android has a standard set of buttons for user interaction, and the latest ICS guidelines recommends how your application should look and behave. For the majority of applications you would want to stick to the guidelines, but there are some cases when more striking buttons are more preferable.
For example, applications aimed at children need be more colourful with bolder text, to grab their attention. You could use image buttons, with the ImageButton class, where the buttons are created as an image. However, you will need to create multiple image buttons at various resolutions, i.e. ldpi, mdpi, hdpi, etc.
Ever wondered why Android phones are long and narrow, while iPhones are more square. Well it has to do with screen ratios, and perhaps what Google and Apple think users would be using their phone for.
The iPhone resolution is 960×640. This gives a ratio of 3:2, and is close to an A4 paper page. Where as the Google nexus prime has a ratio of 1280×720. This a ratio of 16:9, and this is shape that modern TVs use when they describe themselves as HDTV. So there is a lot of content available in this format, TV programs, TV series and some movies.
Of course not all Android phones have a 16:9 widescreen format, but the latest Android phones do seem to be sticking to this form factor.
A recent report stated that fragmentation on the Android has caused a drop in the number of developers interested in developing for the Android. Fragmentation means something different for each person. It could be the SDK version, or the screen size, or the processor speed of the phone, although the last one should not pose a problem for any half decent developer.
Sure, there is no denying that to program for a single screen size and resolution makes the developers life a lot easier. A bitmap is easier to handle than a vector, absolute numbers easier to understand than relatives, and you know who big the text will look on your customers devices, because their device will be the same size as the device you are developing on. Also, the OS user experience is smoother because the OS does not have to cater for a variety of different phone attributes.
So that’s basically the pro’s of a one size fits all approach.
There has been a number of reports of trojans and malware embedded in what seem to be legitimate android applications. Applications such as the one described in this link, will appear to do the task that it was installed for, while performing another more sinister task.
While such malware is common on unofficial android app stores, they can also be found on the official Google Play app store. So what can you do to stop such malware from infecting your phone.
My Android development environment is on Linux (Specifically Kubuntu 10.04 LTS). Kubuntu is a derivative of Ubuntu, using KDE as it’s desktop rather than Unity.
Here are some of the reasons I prefer Linux
- KDE is a nice environment to work in. Dolphin the file manager is feature rich, and I cannot live without virtual windows.
- Do not have to worry about virus or virus checking. I do run a virus check now and then (using clam AV), but have not installed a virus checker that slows down the whole OS.
- Very stable and efficient with memory. Swap usage is 0 for most sessions, though having 6 Gb of RAM does help.
Below is a setup guide, though I would recommend using the links provided for more detail. This guide will not teach you Linux, nor Java, but does provide setup knowledge to get you up and running for Android development.