Android is a mobile operating system developed by Google, based on the Linux kernel and designed primarily for touchscreen mobile devices such as smartphones and tablets. Android's user interface is based on direct manipulation, using touch gestures that loosely correspond to real-world actions, such as swiping, tapping and pinching, to manipulate on-screen objects, along with a virtual keyboard for text input. In addition to touchscreen devices, variants of Android are also used on notebooks, game consoles, digital cameras, televisions, automobiles and other electronics. Applications are usually developed in Java programming language using the Android software development kit (SDK), but other development environments are also available, including Delphi, Ruby and Visual Studio (using C++).

Share tech news, updates, or what's on your mind.

Sign up to Post

I recently upgraded to android 5.0 Lollipop on my Samsung Galaxy S5. Check out my initial post about what not to do here. After I upgraded I started having another problem: my phone resets often. I am not yet sure why this is. It does not seem reproducable, but it is extremely annoying.

If you read the other article or glance at my blog, you will notice that I am very demanding of my phone. I use my phone for virtually everything and so having any problem is of great concern. But let me go back to the beginning and walk through the upgrade process.

Initially, I discovered there was an upgrade only because I was checking all my system settings. When I tapped the system update setting there was a message that I could update to Android 5.0, but that it would be done in two parts. I like to have the newest and fastest, and since I do technical support, people who have upgraded to newer operating systems come to me for help.

So I find it best to familiarize myself with the various operating systems before any questions arise. The initial OS upgrade needed to download first -- no problem. I downloaded the first part of the upgrade over WiFi (don't do it over your data connection). I waited until the evening to install the update.

The one disturbing thing about the upgrade to Lollipop was that during the first part of the install it displayed a message that was exactly like the one I had seen when I had changed from the Dalvik runtime to the Android Runtime (ART)
I do push my phones to the limit and I am an early adopter. As my father pointed out, I seem to always be complaining about how a recent OS update did something I didn't like. 

When an update was pushed by VZW to my HTC a couple of years ago, it essentially put me out of business for a few days, because it happened on July 4th and no one was available to help. Then I upgraded my phone, a couple of times. When I upgraded from Android 4.4.0 to 4.4.2 on my Samsung Galaxy S4, I found that Google had changed the OS so that there was now a security policy that didn't allow applications to have write access to any SD card directory but their own.
Recently I upgraded from Android 4.4.4 to Android 5.0 (Lollipop) on my Samsung Galaxy S5. The upgrade took place in two steps, and I needed to delete a few hundred megabytes of apps and data to make room for the installation. I was a little tense, because the last time I tried something slightly experimental I had to do a factory reset of my phone. I had changed a setting on the phone to use Android Runtime instead of Dalvik and ended up doing a factory reset to get a working phone back (read the whole thing here
LVL 33

Author Comment

by:Thomas Zucker-Scharff
Then you are already unhappy about the restrictions on your SD card.  I cannot speak directly to upgrading an S4 to 5.0, because I never had that experience - I bought my S5 with 4.4.4 and just upgraded.  My experience upgrading from 4.4.2 to 4.4.4 on the S4 was good although my wife got so frustrated she traded in her phone for an S5.  If you are going to update to 5.0 I would highly recommend doing a complete backup.  Speaking of backups, If you use Samsung's Kies app for backup (not the best), I haven't gotten it to recognize my device since I upgraded - go figure.
If you are anything like myself, you like to play around with the settings on your phone in order to make it faster and just better in every way.  You most likely have an Android based phone, because they are easier to customize.  If you are really adventurous, you may have rooted your android phone (not recommended for those who do not watch what is happening to their phones, especially during installs of new apps, very carefully).  I haven't rooted my phone, but only because I haven't gotten to it.

I like to read blogs on ways to make your phone use less data and ways in which you can speed it up.  I was reading one of those blogs one day and following along on my Samsung Galaxy S5 from Verizon.  Most of the settings that the article suggested changing didn't seem to do much, one or two did (for instance changing the screen to be more sensitive (it may even work with your gloves on) is as easy as going to Settings->Display and putting a checkmark in the "Increase touch sensitivity" checkbox.

I tried several other settings and then I came upon the last suggestion in the blog, change your OS to Android Runtime (ART) instead of Davlik.  The poster did say this was experimental, but that it would make your phone faster.  This sounded too good to be passed up, I should have done some more research first.  I changed the setting and the first thing I was asked to do was restart my phone, this made sense since it was changing the OS.  I restarted the phone and the startup …
LVL 37

Expert Comment

Yeah, this is a good point. Also, not all Apps will run on ART at this time (although as Android users like you and I transition to Lollipop (which runs ART natively - see, this should improve.
LVL 33

Author Comment

by:Thomas Zucker-Scharff
I upgraded to Lollipop and found out some of my apps did not work the hard way.  I didn't realize it was because it was running ART.  Thanks for the heads up on that.  Some applications generate an error and don't give explanations on how to fix them.  For instance my usage monitoring application, App Usage Tracker, displays the message "Enable Settings Please provide permission to enable app usage tracking" but doesn't tell you how to go about doing that.

I had some time and discovered that if I go into settings->security->access application usage data I can check off the applications I want to have this access.  I checked off App Usage Tracker as being able to have that access.  I quit all applications and retried AUT, but it still throws up the same error and crashes.
Android supports both an on-screen keyboard — soft keyboard — and an attached hardware keyboard. Generally, the soft keyboard is supposed to appear when there is a text field, and disappears when the field is out of focus.

However, Android offers you an API that is full of overridable functions, all of which can pose as annoying problems for a mobile developer.

It has often been stated that Android's soft keyboard has a terrible API. A simple Google search proves it (check it out for yourself). But I’m not here to apologize on behalf of Google; I'm here to help you. So without further ado, let's begin.

Problem: you want to hide the keyboard. Unfortunately, you can’t simply type Keyboard.hide(). In order to hide the keyboard, you have to use InputMethodManager. But to be able to use the IMM, it's required to have a Context. This can be an issue if you're trying to hide your keyboard from a static class: what are you going to do if there is no need for any Context? Additionally, the IMM requires users to specify the View or Window the keyboard should hide from, making this more complicated. Hey, I don’t work in Mountain View, so I haven’t the faintest idea why this is the way it is.

While this may seem complex, there is a static utility method that can help; keep in mind it has to be provided by an Activity -- it will not work otherwise.

public static void hide_keyboard(Activity activity) {
    InputMethodManager inputMethodManager = 

Open in new window

Google last year announced on June 25, 2014 about Android new version, The newest version of Android mobile operating system, available now named as an “Android 5.0 Lollipop”. Android Lollipop launched on 12th November, 2014, and with it came a lots of improvements and new features for selected devices such as Samsung devices, Google’s Nexus devices, Sony devices, Motorola devices, and HTC devices and many more. The Android Lollipop includes a list of exciting new features, but there are a few things you simple need to try after you install on your device. Take a look at the some of the most exciting features and examine the 10 most important things, about the Android 5.0 Lollipop release.

Android-5.0--Lollipop.jpgOFFICIAL SITE:

Set up your Guest

guest-mode.pngIt is unwise to share your phone with friends and relatives, but Lollipop's new Guest Mode makes it easy for you. Guest mode helps you to share your device without fear of personal data loss. To turn it on, open the notifications from the top of the screen, tap on your account avatar, and select Add guest from the menu.

Pin your apps

Pin apps is part of the device-sharing system. Once you have enabled guest mode, you can restrict access to your apps and information with other users by pinning items to your private account. Android 5.0 Lollipop lets you pin a specific app to the home screen. You can turn it on this feature from Settings.

Battery Improvements

LVL 12

Author Comment

@Thomas Zucker-Scharff

Thank you for your comment. I think there might be an issue with the Verizon lollipop build, though i am not sure. But heard  about verizon lollipop build issues.
LVL 33

Expert Comment

by:Thomas Zucker-Scharff
So is it only with verizon? What device are the pictures in your article from? Which service?
Often, people trade privacy and security for convenience. However in today's concrete jungle, this is an extremely foolish decision considering the vast amount of technologies being used against consumer interest. First off, I won't waste any time explaining WHY one would want to deter any entity from mass collecting, retaining, and sharing my personal information and metadata. There are plenty of articles that shed light on why any and EVERY ordinary citizen should be concerned about this practice; no need for repetition.

This brief article is intended to be the first of many in a small series that will help liberate you from the chains of mass surveillance, beginning with your mobile device. I intend to keep these articles short and high-level due to a lack of time and the wealth of information available online anyways (you can search any of the steps I provide to find guides and a plethora of information).

Please note that regardless of how many safeguards you take, how many layers of protection you employ, there is no such thing as a 100% safe guarantee to anything when it comes to the Internet, or for electronics as a whole for that matter. Just remember the golden rule for everything in life, if you can make it you can break it.

I wrote this article specifically for Android devices for two reasons:
  •  My experience in Android > iOS
  •  To my knowledge, you cannot remove the stock Apple software off an iPhone (only modify it)

Expert Comment

by:Rafael I
This is kind of overkill, since you could also just get a throwaway, pre-paid cell phone and a google number/skype handle to forward calls to yourself, but some of your steps are useful.  I will deny any involvement you had if I am arrested.  In the meantime, enjoy my vote!

Author Comment

by:Sir Learnalot
A throwaway prepaid cellphone is probably your best bet :) But this doesn't defeat any data collection when trying to use apps (or even just the basic OS) on new smart phones. Additionally, I would imagine if one tried to retain the same phone and exchange prepaid sim cards, they would run into the same problem (IMEI of phone does not change, serial #, etc.)
This article is about Titanium Studio 3.4 circa iOS8 and Android 4.4, though it is also relevant to other versions. This article also assumes you're familiar with relevant technologies and what a "box model" is.

I'm writing this as a person who has been developing websites for 15 years. I'm branching out a bit and learning mobile app development using Appcelerator's free Titanium Studio. It's cross-platform and is easy to setup and use. Unfortunately there are huge differences between CSS and apps built using TSS, Titanium's stylesheets.

Some differences between CSS and TSS are:
  • In an app one uses different units of measurement
  • TSS files don't cascade
  • TSS files lack many of the features which CSS has such as dotted borders, box-shadows, text-transform, and inline-block.
  • TSS syntax works more like JSON
  • TSS and CSS have different box models
Most of that is easy to get used to. It can be difficult to understand the differences in box-models but I plan to explain that a bit later. Before we continue there is one subtle but important difference between CSS and TSS. When you declare a class or ID twice in a stylesheet (because this operates similarly to JSON) the second declaration will completely override the first declaration. Unlike CSS it won't just combine attributes. The second use will override all contents of the selector. This concept is slightly abstract but here is an example:

Open in new window

Note this applies to Android 4.2 and Zimbra ~8 circa 2014.

It can be rather frustrating that Android doesn't let you sync any old calendar with your phone. You can sometimes add external calendars to your Google Calendar and pick up the sync that way, but it doesn't always work with third party calendars, especially ones that need authentication. It took some experimenting but I finally found an app which will allow me to view my Zimbra Calendars from my Android phone and allow me to get alert reminders.

1. Identify your Zimbra calendar's URL.

In order to identify your calendar's URL you will want to navigate to the calendar section. Once there you will want to click on the calendar's down arrow options button and then the "Edit Properties" button.
Edit the calendar propertiesNext click on the "Add Share" button. Don't worry you don't have to share it with anyone other than yourself.
Click on the "Add Share" buttonFinally on the resulting popup you will find a URL. This is the URL your calendar will be accessible by.
This is the URL of your calendar 

2. Download Caldav Sync

Next you'll want to download the app named "Caldav Sync" by gege, which is currently rated at 4 stars. Here a current link to it which may become outdated :
Caldav in the Google Play App Store

3. Setup the Calendar Account on Android

Next we will …

Expert Comment

Hi Brandon,

I have tried your method, but I still can't the shared calendar on the Android phone. What I am viewing now is the current calendar of my email profile, and not the calendar that was shared to me.

Do you know why this happens, please advise.

Thank you.

Jeremy Ng

Expert Comment


Regarding the Calendar Url you have to specify within "CalDav Sync Adapter" setup. I had to use the plain Zimbra host name, i.e  https://<server>/  in order for it to work.  Not the full calendar share ulr. No url path. Possible a version or configuration issue?

Samsung says the "Samsung Galaxy S3 , Designed for humans. Inspired by nature. New features that are easy-to-use but exceptionally powerful" !

This is TRUE. But I don't think the price tag is designed for common people. But here is something to cheer up your spirits.

Are you wonder-stuck by those amazing features of the Samsung Galaxy S3 ??

Do you want those features on the Android Smartphone you have without buying this expensive gadget ??

If you say "YES" to both of my questions above then its worth for you to read this article of mine.

One of the coolest feature on Samsung Galaxy S3.
- Popup Play
Watch videos floating on your screen without interruption while you Text , read emails , Browse the web , read Articles , PDFs , and much much more.

Do you want a BETTER popup play which you can re-size , move freely and more which Samsung Galaxy S3 lacks ?
SuperVideo is for you. Download , Install and enjoy advanced S3 popup play for FREE.
You will notice "Windows" like Close , restore and minimize buttons on the top right of the video you are playing. Just click on the Restore button and you can see the video turns out to a popup play window.
Just Touch and hold on the bottom right of the popup play ,then drag your finger to adjust the length and breadth of the popup screen.

-Smart Stay
Android, as we all know, is the most popular Mobile OS with 400 million devices activated and 1 million activations per day.

With Smartphones and Tablets taking over Laptops and PC's in this fast & mobile world, it's becoming a complex task to choose the best smartphone among a million choices.

The Samsung Galaxy Note (SGN) was released in October 2011 but still I strongly believe it is the best choice among the millions today.

On the way on choosing a Smartphone we consider:

 1.4 Ghz Dual Core + 1GB RAM + Mali-400MP(GPU).
While it is no match for the quad core devices available today but that can be like having a 1000 ton crane to lift 1 KG of sugar.
Samsung Galaxy S3, HTC One X, LG Optimus 4x... All have a Quad Core processor.
But we always consider for the best in market but don't forget that the quad core consumes a lot more power than a dual core. When both can do the same job seamlessly then why not going for the Energy efficient one? (see battery life, below)

Super AMOLED HD 5.3 '' with 800 x 1280 pixels and up to 10 Multitouch.
Many of the people's concern is that the device is too large for day-to-day use. After using the device for more than 4 Months I can pretty assure that's an ignorable concern.
There is no other Mobile phones or Smartphones with such a big screen size. Even though Dell Streak have a 5" display , It's resolution is only 480 x 800 pixels (i.e. approximately half of Galaxy Note's). So the Galaxy …
LVL 115

Expert Comment

This was a good article and I did vote it helpful. Thank you.

An alternate point of view however:

I do not wish to hold up a behemoth to face to take a phone call and I rue the day I have to replace my iPhone 4s,

I will be dead of old age before any of these devices replace my trusty computer that can do real work.

As I said, just an alternate point of view.


I’ve always believed in free software and budget phones but as we get along, the thirst for more features always seems unquenched. I had been using a Nokia E63 till now and was always a big fan of Nokia phones (see my earlier article - Nokia Smartphones – Are you using them to the fullest potential?), but in this ever changing world, choices change and so does our line of thinking. The same happened to me and I decided to buy the HTC Sensation XE (with Beats Audio) also known as the HTC Sensation 4G.

The switch was big and so was the platform. As usual, if you are always in the race to learn, it never takes time to master anything.

There were times when I performed searches for basic operations that would have been obvious to the native android user; however when you are a complete switch-over from another platform, basic functions do seem to bewilder you at times. Now that I got some hold of it, I decided to share what I observed so that other users may benefit from what I gathered.

A little Background on Android:

Android is developed by Google and tightly integrated with Gmail which is also owned and operated by Google. It is based on the Linux kernel but android developers seemed to have gone very far in developing this Operating System for Mobile devices. Like other flavors of linux, it can be correctly referred to another one that specifically caters to mobile …
Android SDK is used for creating an android software application. It includes document and tools which are necessary to develop applications with java. In fact Android SDK is harder than other software infrastructure, because there is a virtual device which would run a the program.

Before you start to create a development in an android virtual device, you should download Eclipse and JDK, and also install Android starter package as briefly  mentioned article "Setting up an android development enviroment on windows". You can reach the article from here. Also worth reading a descriptive tutorial.

As an example of Emulators, the Android Virtual Device in Android SDK will be discoursed. The recommended R14 is the latest revision # in the year of 2012 for SDK setting. For Eclipse connecting with SDK, open Eclipse Plugin, as the first step, you should have to introduce Android SDK to Eclipse. You do that in the Eclipse menu;


In the new window, from the SDK Location click the "Browse…" button, select the SDK directory which includes SDK files.
SDK setting which is arranged in Eclipse is valid just for that workspace. For other workspaces you should  repeat the same arrangement.

After opening new project and inserting code to XML and Java window, you can then run the application of the Project. For running it, initally, some arrangemnts will be required. Run Configurations Target ModuleRun Configuration > Common  Utf-8 coding
First off, some of you reading this are already thinking there is an error in the title. It really should be Kindle Fire versus OTHER Android tablets. That's because the Amazon Kindle Fire IS an Android tablet. Well, it is and it's not. It's running a customized version of Android 2.3, so yes it is android, but don't expect it to support all the android features out of the box. Amazon has excluded some features, like the Android Marketplace, choosing their own Amazon App Store in it's place. Still, it is expected that hackers will find ways to restore most if not all the open android features and apps that people want.

Amazon has done a lot to tie the Kindle Fire to their services, like digital books, MP3 downloads, download and stream movies, and as mentioned before the Amazon App Store. It also has Cloud Storage that augment the small amount of memory on the device. The digital content that you buy from Amazon doesn't need to consume  precious memory (it only has 8GB compared to 16GB+ that other tablets have), as long as you can deal with the delay in transferring. With a fast network, books, songs, and other small files, it shouldn't be an issue. Large content like movies may be a challenge at times.

The closest comparison to the Kindle Fire is probably the BN Color Nook. As things stand, as long as you don't mind the closer tie in to the Amazon ecosystem, the Fire meets or beats the Nook on price and nearly every feature. Dual vs single processor, more …
Recently Amazon announced their entry in the tablet device called the Amazon Kindle Fire. Some of you might have used an Ipad or have considered buying one. While they're similar in form and function in that they both have color displays with multitouch, run 8-10 hours on a full charge, they let you listen to music, watch videos, read books and articles, access the web, and run apps, they're really two very different devices.

The Kindle Fire sports a 7" screen and is much smaller than the 9.7" Ipad 2 making it a much smaller more portable device, though not quite pocket-able like a cell phone. It's also somewhat lighter, so if portability is important to you, the Kindle Fire may be for you.

What do you give up by going with the smaller device? Screen resolution is reduced from 1024x768 to 1024x600 and also, everything appears smaller, so you will either have to use zoom more or bring the device closer to your face. In some ways, the Ipad 2 is better suited for reading while sitting, while the Kindle Fire form factor may be preferable while standing and on the move.

Another reason you might choose the Kindle Fire is if your budget is only $200. You probably can't even get a used first generation Ipad for that price, but you do get similar processing power to that first generation Ipad.

The Amazon Kindle Fire runs Android OS, so it's like all the other Android OS versus iOS discussions. Both have thousands of apps, so unless the specific app you're looking for …
This problem drove me mad for some time before I finally found a fix. I can't claim it as my own but I thought it was important to share it with everyone to save them the same stressful time as me.

The Problem
You have a HTC Desire on the Orange network and have eagerly upgraded to Android 2.2 operating system. After doing this you notice that both the USB tethering and WiFi hotspot functions are not working. After much diagnosis you discover that the problem must be with the phone.

I was exceedingly luck to speak to one of the helpful and knowledgeable operatives at Orange. Most of the time you'll get the answer "It's not supported"

The Solution
Is surprisingly simple:-

Menu/settings/Wireless&Networks/Mobile networks/Access Point Names

You should see the following three APNs;

Orange Internet
Consumer Broadband
Orange MMS

You will note that 'Consumer Broadband' is not present in 2.1. Select this option from the menu.

CHANGE the APN from "consumerbroadband" to "orangeinternet"

CHANGE the Username to "Orange"

CHANGE the password to "Multimedia"

Authentication type should be set to CHAP

Press your Menu button, tap "Save"

You should now find that the USB tethering and the WiFi hotspots work again.

Author Comment

Yes it should, thanks :)
Android is growing in popularity and we are seeing more and more developments. It is not that difficult, but does require a bit of manual effort in setting up your development environment properly. Here are the steps I have taken to setup my development environment on Windows.

Before you start you will need to download an IDE like Eclipse. I downloaded Eclipse Classic 3.6. Eclipse does not install like a usual windows application so you have to manually copy the eclipse folder to a suitable location on your hard drive then create yourself a shortcut.

Install the JDK if you do not have it already.

Install the Android SDK starter package I downloaded the windows executable from here
make a note of the install path as you will need this in the next step. In my case it was "C:\Program Files\Android\android-sdk-windows" . When the starter package install has finished agree to run and then select the "accept all" check box to download all the SDK tools.

Install the ADT Plugin. Open Eclipse and select Help/Install New Software click add in the top right corner then enter ADT Plugin for the name and input the following link.

then click next, accept the agreement and click finish to install the plugin.

To configure the ADT plugin click Window/Preferences, select android on the left then paste in or browse to the path of your sdk location.


Expert Comment

LVL 18

Expert Comment

by:Ravi Agrawal
All in all a very good article. Thanks for writing. I enjoyed it a lot.

Just a thought.

You could have also included dteps to enable the android virtual device to use virtualization from bios. And then enable it in eclipse.It will increase the speed of the emulator considerably.






Android is a mobile operating system developed by Google, based on the Linux kernel and designed primarily for touchscreen mobile devices such as smartphones and tablets. Android's user interface is based on direct manipulation, using touch gestures that loosely correspond to real-world actions, such as swiping, tapping and pinching, to manipulate on-screen objects, along with a virtual keyboard for text input. In addition to touchscreen devices, variants of Android are also used on notebooks, game consoles, digital cameras, televisions, automobiles and other electronics. Applications are usually developed in Java programming language using the Android software development kit (SDK), but other development environments are also available, including Delphi, Ruby and Visual Studio (using C++).