2010-03-12

Piece of code to get the text content in a web file to an Android application.

// Make the connection
URL url = new URL(type_url_here_as_a_string);
URLConnection con = url.openConnection();
// Get the response
InputStreamReader isr = new InputStreamReader(con.getInputStream());
BufferedReader rd = new BufferedReader(isr);
if(rd.ready()){ //Check the buffer reader ready for read.
    //Perform the read here by using rd.read() or rd.readLine() according to your requirement.
}
rd.close(); //Close the Buffer Reader.

Piece of code to create a file in Android sdcard

byte[] byte_array = new byte[100];

File file = new File("sdcard/file_name.extension");

FileOutputStream fos = new FileOutputStream(file);

fos.write(byte_array);

            fos.flush();

            fos.close();

This code demonstrate how to make a file from a byte array, in the Android sdcard. You can create any kind of file using a regarding byte array.

2010-03-04

How to load a PDF file in a URL from an android app

First of all you have to install a 3rd party application to your Android running device to view PDF files as Android operating system does not have a native app to view PDF files. There are many free apps for view PDF, in the Android market. You can download and install a one application from there. Then call the following lines of code where you want to download the PDF file and display it.

Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(
your_pdf_web_address_here));

startActivity(i);

Then a new activity will start with a web browser pointing to that address. There it will prompt you to download the PDF file. Then you can download it and view it from the PDF viewer you have downloaded before. It’s ridiculous that android and blackberry doesn’t support a in-built PDF viewer. PDF is a world accepted format for documents. iPhones and Windows mobile running phones have a great support for PDF viewing. But shamefully android and blackberry doesn’t support it. :(

2010-03-02

How to call the native email client in an Android phone from an application

Write down the following piece of code where you want to call the email client.

 

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);

emailIntent.setType("plain/text");

emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] { recipient_email_address });

emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, emailSubject);

emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, emailBody);

startActivity(Intent.createChooser(emailIntent, messageYouwantToDisplay));

How to display a progress indicator in an Android app

dialog = ProgressDialog.show(Context, "Heading", "Message", false);

call the above code where you want to display the progress dialog and call the following code to dismiss the progress dialog.

dialog.dismiss();

Note: Never ever call a network operation in UI thread. If you call those both operations in the same thread, then the progress dialog may not shown.

How to set a background image for a controller in Android

Drawable d = getResources().getDrawable(R.drawable.pho_cellbackground);
tr.setBackgroundDrawable(d);

“pho_cellbackground” is the image name. You must include that image in ‘res’ folder in order to refer it. Image file name must be in lowercase and it is preferred that it’s in PNG format.

How to send a XML web request and get the response in an Android application

// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(
your_url_here
);
HttpResponse response = null;
InputStream content = null;

try {
    // Add your data
    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
    nameValuePairs.add(new BasicNameValuePair("data",
your_xml_request_here));
    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

    // Execute HTTP Post Request
    response = httpclient.execute(httppost);
    content = response.getEntity().getContent();

    BufferedReader rd = new BufferedReader(new InputStreamReader(content), 4096);
    String line;
    StringBuilder sb = new StringBuilder();
    while ((line = rd.readLine()) != null) {
        sb.append(line);
    }
    rd.close();
    strResponse = sb.toString();

} catch (ClientProtocolException e) {
    // TODO Auto-generated catch block
} catch (IOException e) {
    // TODO Auto-generated catch block
}

How to pass a value to an activity from another activity in Android

In starting activity(first activity) write down the following piece of code.

Intent photoDetails = new Intent(this, PhotoDetails.class);
photoDetails.putExtra("id_number", v.getId());

photodetails is the second activity. Add the following piece of code in the photodetails activity to get the value for “id_number”.

Bundle extras = getIntent().getExtras();
int photo_id = extras.getInt("id_number");

How to set a listener to a button in Android.

In XML file

<Button android:id="@+id/PhotosBtn" android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:gravity="center"
    android:text="photos" />

In Java file

View photosButton = findViewById(R.id.PhotosBtn);
photosButton.setOnClickListener(this);

Then implement the onClick(View v) method as you desire.

How to set a theme for android app using java code

Simply use the following piece of code where appropriate.

setTheme(android.R.style.Theme_Light);

You can use your desire theme rather than “Theme_Light”. Just replace that name by your desire theme name.

2010-02-02

Android Market

Android Market is the place where users can download Android applications to their Android compatible devices. Some devices are come up with a built in market application. Android market is an online app store developed by Google (http://www.android.com/market). Just like App Store for the iPhones, Android users are using Android market to get software.

Development environment for Android apps

Eclipse is the best IDE to develop Android apps. XML and Java are the main technologies use to develop android apps. SQLite is the database technology use to storage data. Most of the libraries are written in C. The big complaint about from the developers about developing Android apps is the difficulty they are facing to create applications for devices which has different screen resolution. It is a big issue in Android application development.

Technical specifications about upcoming Android Devices

Camangi WebStation

· Screen: 7-inch (800×480) glass touch screen

· Camera: 2MP camera, .3MP webcam

· CPU: 624MHz Marvell PXA303

· Memory card: microSD

· Connectivity: Wi-Fi (b/g), GPS

 

enTourage eDGe

· Memory card: microSD

· Connectivity: Wi-Fi

· Battery: lithium ion

 

Huawei U8230

· Screen: 3.5-inch 320 x 480

· Camera: 3.1 Megapixels

· CPU: 528 MHz

· Memory card: microSD, microSDHC, TransFlash

· Connectivity: Bluetooth 2.0 + EDR, Wi-Fi b/g, Assisted GPS

· Battery: 1500 mAh

· Physical size: 62.5 x 116 x 14 mm

 

Giinii Movit Mini

· Screen: 4.3-inch, 480 x 272 resistive touch screen

· Memory card: microSD

· Connectivity: Bluetooth 2.0

 

General Mobile DSTL1

· Screen: 3-inch WQVGA touch screen display, 260k colors

· Camera: 5 megapixel autofocus camera with flash (made by Sony)

· CPU: 624MHz Marvell PXA 310 processor

· Connectivity: Bluetooth 2.0, 802.11b/g Wi-Fi

· Physical size: 4.4 x 2.1 x .6 inches

· Weight: 135g

 

Skytone's Alpha 680 tablet

· Screen: 7“ TFT LCD true color, 800 x 480(WVGA)

· CPU: ARM11 533 MHz 32bit

· Connectivity: Bluetooth, Wi-Fi

· Physical size: 8.5 x 6.0 x 1.2 inches

· Weight: 1.5lbs

 

Zii EGG

· Screen: Multi-touch Touchscreen

· CPU: Zii Labs ZMS-05

· Memory card: Flash Memory, SD Card

· Connectivity: Bluetooth 2.0, Wi-Fi

· Physical size: 115 x 62 x 12 mm

· Weight: 108g

 

Creative Zii

· CPU: Zii Labs ZMS-05

· Connectivity: Bluetooth 2.0, Wi-Fi

 

Vega

· Screen: 15.6" Touchscreen

· Camera: 1.3 Megapixels Web Cam

· Memory card: microSD

· Connectivity: Bluetooth 2.1, Wireless 802.11 b/g

· Physical size: 373mm x 254mm x 16mm

 

Motorola Motoroi

· Screen: 3.7”, Up to 16M, 240 dpi

· Camera: 8MP camera (3264 x 2448) with 720p HD video recording

· CPU: TI OMAP3430

· Memory card: microSD

· Connectivity: Bluetooth 2.1 + EDR, Wi-Fi, GPS

 

Sony Ericsson XPERIA X10

· Screen: 4.0” 16-bit color (480 x 854 pixels) TFT touch screen

· Camera: 8.1 MP with Auto focus

· CPU: Snapdragon 1 GHz

· Memory card: microSDHC (hot-swap)

· Connectivity: Bluetooth 2.0 + A2DP, Wi-Fi 802.11 b/g, aGPS

· Battery: Li-Po 1500 mAh (BST-41)

· Physical size: 119 x 63 x 13 mm

· Weight: 135g

 

Inbrics M1

· Screen: 3.7 inch WVGA AMOLED display

· Camera: 3 MP

· CPU: Samsung 800MHz

· Memory card: microSD

· Connectivity: Wi-Fi, GPS

Technical specifications about Android Devices

Acer Liquid A1

· Screen: 3.5" TFT LCD, capacitive touch screen; 480x800 pixels

· Camera: 4.9 Megapixel, autofocus

· CPU: Qualcomm QSD 8250 (Snapdragon), 768 MHz

· Memory card: microSD, microSDHC, TransFlash, SDIO

· Connectivity: Bluetooth 2.0 + EDR; Wi-Fi 802.11g

· Battery: Li-Po 1350 mAh

· Physical size: 62.5 x 115 x 12.5 millimeters

· Weight: 135 grams (battery included)

 

Archos 5 Internet Tablet

· Screen: 4.8-inch 800×480 touch screen

· CPU: ARM Cortex A8 at 800Mhz

· Memory card: microSD

· Connectivity: 802.11b/g/n wireless, Bluetooth, GPS

· Physical size: 5.63” x 3.1” x 0.4”

· Weight: 100 grams (battery included)

 

Barnes & Noble nook

· Screen: 600 x 800 pixel, 6 inch E Ink display

· Memory card: microSD

· Connectivity: AT&T 3G, 802.11b/g Wi-Fi

· Physical size: 7.7 x 4.9 x 0.5 in (196 x 125 x 13 mm)

· Weight: 11.2 oz (317 g)

 

Dell Mini3i

· Screen: 3.5″ nHD 640×360 LCD, 18-bit, 262K color display

· Camera: 3 megapixel autofocus camera w/flash, 30fps video shooting mode

· Memory card: microSD

· Connectivity: USB 2.0, Bluetooth 2.0 + EDR, GPS

· Physical size: 58 x 122 x 11.7mm

· Weight: 103g

 

HighScreen PP5420

· Screen: 3” WQVGA flat TFT-LCD touch screen

· Camera: 3 megapixel autofocus camera

· CPU: Qualcomm MSM7201ATM 528MHz processor

· Memory card: microSD

· Connectivity: Wi-Fi b/g, GPS, Bluetooth 2.0 +EDR, mini USB, TV-Out

· Battery: 108 mAh

· Physical size: 114 x 53.5 x 13mm

· Weight: 120g with battery

 

General Mobile DSTL1 Imaginary

· Screen: 3 inch TFT display (made by Sharp) with 240 x 400 pixels

· Camera: 5 megapixel autofocus camera

· CPU: 624MH Marvell processor

· Memory card: microSD, microSDHC

· Connectivity: 802.11b/802.11g Wi-Fi, Bluetooth 2.0 with A2DP and EDR

· Battery: Li - Ion, 1200 mAh

· Physical size: 4.41 x 2.13 x 0.63 inches

· Weight: 135g (battery included)

 

HKC Pearl

· Screen: 2.8” LCD, 260,000 colors, 240x320 pixels

· Camera: 2.0 megapixel; photo resolution 1600 x 1200, plays videos in 320 x 240

· CPU: Marvell PXA310 624 MHz

· Memory card: microSD

· Connectivity: Bluetooth, Wi-Fi

· Battery: 1250mAh

· Physical size: 58 x 109.1 x 14.9 millimeters

· Weight: 124 grams (battery included)

 

HKC Imobile v413

· Screen: LCD 2.8 inch, 260 thousand color; 240 x 320 pixels

· Camera: 2.0 megapixel; photo resolution 1600 x 1200, videos in 320 x 240

· CPU: (Marvell PXA310 +NXP5209)624MHz

· Connectivity: Bluetooth, Wi-Fi

· Physical size: 109.5(L) × 59(W) × 15.5(H)mm

 

HTC Dream

· Screen: 320 x 480 pixels, 3.2”, HVGA, 65,536 color LCD at 180 pixels per inch

· Camera: 3.2 megapixels with auto focus

· CPU: 528 MHz Qualcomm MSM7201A ARM11 processor

· Memory card: microSD

· Connectivity: Wi-Fi (802.11b/g), Bluetooth 2.0+EDR, ExtUSB, A-GPS

· Battery: 3.7 V 1150 mAh, internal rechargeable removable lithium-ion battery

· Physical size: 117.7 mm (4.63 in) (h) 55.7 mm (2.19 in) (w) 17.1 mm (0.67 in) (d)

· Weight: 158 g

 

T-Mobile G1

· Screen: 3.2” TFT-LCD flat touch-sensitive screen with HVGA 320 X 480 pixel

· Camera: 3.2 megapixel color camera with auto focus.

· Memory card: microSD

· Connectivity: Wi-Fi, GPS

· Physical size: 4.6 x 2.2 x 0.6 inches

· Weight: 5.6 ounces

 

HTC My Touch 3G

· Screen: 320 x 480 pixels, 3.2”, HVGA, 65,536 color LCD at 180 pixels per inch

· Camera: 3.2 megapixels with auto focus

· CPU: 528 MHz Qualcomm MSM7201A ARM11 processor

· Memory card: microSD

· Connectivity: Wi-Fi (802.11b/g), Bluetooth 2.0+EDR, ExtUSB, A-GPS

· Battery: 3.7 V 1340 mAh, internal rechargeable removable lithium-ion battery

· Physical size: 113 mm (4.4 in) (h) 55 mm (2.2 in) (w) 13.65 mm (0.537 in) (d)

· Weight: 116 g

 

HTC Sapphire

· Screen: 320 x 480 pixels, 3.2”, HVGA, TFT-LCD flat touch-sensitive screen

· Camera: 3.2 megapixels CMOS color with auto focus

· CPU: Qualcomm® MSM7201A (PVT32B) or MSM7200A (PVT32A), 528MHz

· Memory card: microSD

· Connectivity: Bluetooth 2.0 with EDR Wi-Fi IEEE 802.11 b/g GPS antenna connector

· Battery: 1340 mAh rechargeable Li-polymer battery

· Physical size: 113 x 55 x 13.65 mm

· Weight: 118.5 grams ( 4.18 ounces) with battery

 

T-Mobile myTouch 3G

· Screen: 320 x 480 pixels, 3.2” touch-sensitive screen

· Camera: 3.2 megapixels

· CPU: 528 MHz processor

· Memory card: microSD

· Connectivity: Bluetooth 2.0 with A2DP stereo support, 802.11 b/g WiFi, GPS

· Battery: 1340 mAh Lithium ion battery

· Physical size: 4.45 x 2.19 x 0.58 inches

· Weight: 4.1 ounces

 

HTC Hero

· Screen: 320 x 480 pixels, 3.2” touch-sensitive screen

· Camera: 5.0 megapixel with auto focus

· CPU: 528 MHz Qualcomm MSM7600A ARM11 processor

· Memory card: microSD

· Connectivity: Wi-Fi (802.11b/g), Bluetooth 2.0+EDR, ExtUSB, A-GPS

· Battery: 1350 mAh

· Physical size: 12 mm (4.4 in) (h) 56.2 mm (2.21 in) (w) 14.35 mm (0.565 in) (d)

· Weight: 135 g

 

T-Mobile G2 Touch

· Screen: TFT capacitive touchscreen, 65K colors 320 x 480 pixels, 3.2 inches

· Camera: 5.0 megapixel with auto focus, 2592 x 1944 pixels

· CPU: Qualcomm MSM 7200A 528 MHz processor

· Memory card: microSD

· Connectivity: Wi-Fi 802.11 b/g, Bluetooth 2.0+A2DP, ExtUSB, A-GPS

· Battery: Standard battery, Li-Ion 1350 mAh

· Physical size: 112 x 56.2 x 14.4 mm

· Weight: 135 g

 

HTC DROID ERIS

· Screen: TFT, 262 144 colors 320 x 480 pixels, 3.2 inches

· Camera: 5.0 megapixel with auto focus

· CPU: Qualcomm MSM7600, 528 MHz

· Memory card: microSD/microSDHC

· Connectivity: Wi-Fi 802.11 b/g, Bluetooth 2.0, GPS

· Battery: Li - Ion, 1300 mAh

· Physical size: 4.45 x 2.19 x 0.51 inches

· Weight: 120 g

 

HTC Tattoo

· Screen: TFT LCD 320 x 480 pixels, 2.8 inches

· Camera: 3.2 megapixel

· CPU: Qualcomm MSM7225, 528 MHz

· Memory card: microSD

· Connectivity: Bluetooth 2.0 + EDR + A2DP, Wi-Fi (802.11b/g)

· Battery: 1100 mAh rechargeable Lithium-ion battery

· Physical size: 106 x 55.2 x 14 mm

· Weight: 113 g

 

Nexus One

· Screen: Capacitive touch screen display 480 x 800 pixels, 3.7 inches

· Camera: 5 megapixel

· CPU: 1 GHz Qualcomm QSD 8250 Snapdragon ARM

· Memory card: microSD

· Connectivity: Bluetooth 2.0 + EDR, Wi-Fi (802.11b/g), A-GPS

· Battery: Removable 1400mAh battery

· Physical size: 119 mm (4.7 in) (h) 59.8 mm (2.35 in) (w) 11.5 mm (0.45 in) (d)

· Weight: 130 g

 

T-Mobile Pulse

· Screen: 320 x 480 pixels, 3.5 in (89 mm), HVGA, TFT

· Camera: 3.2 megapixel with auto focus

· CPU: 528 MHz processor

· Memory card: microSD

· Connectivity: Wi-Fi (802.11b/g), Bluetooth 2.0+EDR, A-GPS

· Battery: 3.7 V 1500 mAh Internal rechargeable removable lithium-ion batter

· Physical size: 116 mm (4.6 in) (h) 62.5 mm (2.46 in) (w) 13.6 mm (0.54 in) (d)

· Weight: 135 g

 

Lenovo OPhone

· Camera: 5 MP camera with auto-focus and flash

· Memory card: microSD

· Connectivity: Bluetooth 2.0

· Physical size: 115.84x61.57x12.03mm

 

LG GW620

· Camera: 5.0 megapixel, auto focus

· Physical size: 106 x 55 x 12 mm

 

Motorola Droid

· Screen: 854 x 480 pixels, 3.7 in (94 mm), 16:9 aspect ratio, WVGA, 265 pixels per inch

· Camera: 5.0 megapixel with auto focus and flash

· CPU: TI OMAP 3430: Arm Cortex A8 600 MHz underclocked to 550 MHz PowerVR SGX 530 GPU, 430MHz TMS320 C64x DSP (Digital signal processor) + ISP (Image Signal Processor)

· Memory card: microSD

· Connectivity: Wi-Fi (802.11b/g), Bluetooth 2.1+EDR

· Battery: 1400 mAh Internal rechargeable removable lithium-ion polymer battery

· Physical size: 115.8 mm (4.56 in) (h) 60 mm (2.4 in) (w) 13.7 mm (0.54 in) (d)

· Weight: 169 g

 

Motorola MILESTONE

· Screen: TFT capacitive touchscreen, 16M colors, 480 x 854 pixels, 3.7 inches

· Camera: 5 MP, 2592 x 1944 pixels, autofocus, dual-LED flash

· CPU: ARM Cortex A8 550 MHz processor

· Memory card: microSD

· Connectivity: Wi-Fi (802.11b/g), Bluetooth 2.1+ A2DP

· Battery: Standard battery, Li-Ion 1400 mAh (BP6X)

· Physical size: 115.8 x 60 x 13.7 mm

· Weight: 165 g

 

Motorola Calgary

· Screen: 854 x 480 pixels, 3.2 in (81 mm), WVGA, 265 pixels per inch

· Camera: 3.0 megapixel with auto focus and flash

· CPU: TI OMAP 3430:Arm Cortex A8 550 mHz PowerVR SGX 530 GPU, 430MHz TMS320 C64x DSP + ISP (Image Signal Processor)

· Memory card: microSD

· Connectivity: Wi-Fi (802.11b/g), Bluetooth 2.1+EDR

· Battery: 1400 mAh Internal rechargeable removable lithium-ion polymer battery

· Physical size: 115.8 mm (4.56 in) (h) 60 mm (2.4 in) (w) 13.7 mm (0.54 in) (d)

· Weight: 169 g

 

MOTO MT710

· Screen: 256000 color (480 x 854 pixels TFT), 3.7”

· Camera: 5.0MP 2592 x 1944 pixels, autofocus, LED flash

· CPU: Marvell PXA310 Processor 624 MHz

· Memory card: microSD

· Connectivity: Wi-Fi 802.11b/g 802.11i, Bluetooth 2.1+EDR

· Battery: 1400 mAh Internal rechargeable removable lithium-ion polymer battery

· Physical size: 115.8 mm (4.56 in) (h) 60 mm (2.4 in) (w) 13.7 mm (0.54 in) (d)

· Weight: 169 g

 

MOTO XT800

· Screen: 480 x 854 (FWVGA), 3.7”

· Camera: 5 million pixel digital camera, auto focus, dual LED flash

· CPU: TI Cortex A8 processor 550 MHz

· Memory card: microSD

· Connectivity: Wi-Fi, Bluetooth 2.1+EDR, GPS

 

Motorola CLIQ

· Screen: 320 x 480 px, 3.1 in (79 mm), TFT LCD

· Camera: 5 megapixel

· CPU: 528 MHz Qualcomm MSM7201A processor

· Memory card: microSD

· Battery: Standard battery, Li-Ion 1420 mAh

 

QiGi i6

· Screen: 2.8-inch touch screen display, 240 x 320

· Camera: 2MP camera

· CPU: Marvell Monohans 624MHz

· Memory card: microSD, microSDHC, TransFlash, SDIO

· Connectivity: Wi-Fi 802.11b/g, Bluetooth 2.0

· Battery: 1250 mAh

· Physical size: 109 x 58 x 14.9 mm

· Weight: 120 g

 

Samsung Behold II

· Screen: 3.2 inches Touchscreen

· Camera: 5.0 megapixel

· Memory card: microSD

· Connectivity: Bluetooth 2.1

 

Samsung i7500 Galaxy

· Screen: 320 x 480 px, 3.2 in, AMOLED, Touch Screen

· Camera: 5 Megapixels with flash

· CPU: ARM11 528 MHz + DSP 256 MHz

· Memory card: microSD

· Connectivity: Bluetooth 2.1, Wi-Fi b/g, GPS

· Battery: Li-Ion (1500 mAh)

· Physical size: 115 x 56 x 11.9 mm

· Weight: 114g

 

Samsung Moment

· Screen: 3.2-inch, HVGA, AM-OLED display

· Camera: 5 Megapixels with flash

· CPU: 800MHz

· Memory card: microSD

· Connectivity: GPS receiver, Bluetooth, and Wi-Fi b/g

· Physical size: 4.6 x 2.34 x 0.63 inches

· Weight: 166g

 

Samsung I5700

· Screen: 320 x 480 px, 3.2 in, LCD, Touch Screen

· Camera: 3.2 Megapixels

· CPU: QSD8250 800 MHz

· Memory card: microSD

· Connectivity: Bluetooth 2.1, Wi-Fi b/g, GPS

· Battery: Li-Ion (1500 mAh)

· Physical size: 115 x 57 x 13.2 mm

· Weight: 124g

 

SciPhone N19

· Screen: 2.8” TFT-LCD with QVGA (320×240) flat touch-sensitive screen

· Camera: 2MP CMOS camera

· CPU: Samsung S3C2448 running at 400Mhz

· Memory card: microSD

· Connectivity: Bluetooth and Wi-Fi 802.11b/g

· Physical size: 57(W)x106.5(L)x14.4(T) mm

· Weight: 800g

 

SciPhone N21

· Screen: 3-inch touchscreen LCD

· Camera: 5 Megapixels

· CPU: 624MHz of the Marvell PXA310 processor

· Memory card: microSD

· Connectivity: Bluetooth, Wi-Fi, GPS

 

Tiger G3

· Screen: 400×240, 3.2”

· Camera: 1.3 Megapixels

· Connectivity: Wi-Fi

Hardware in the mobile devices running on Android

There is a huge diversity in hardware on the devices which runs Android. The most popular phone which runs Android is HTC. Other than that, there are Motorola Droids and Sony Ericsson phones which run on Android. Because of Android is an open source operating system, it has capabilities to run on many different devices with a huge hardware diversity in input method etc. (Not only on devices which are manufactured by a one vendor).

This is a link to a list of devices which are running on Android OS

http://en.wikipedia.org/wiki/List_of_Android_devices

Most Android applications can fully access the core applications provided by the OS and all the hardware in the device. That means developers can make use of all the hardware in the mobile device. Linux kernel 2.6 is controlling the drivers, IO and memory management in the device.

The devices which are run on Android can be in many different sizes and can have different ways to do the input. Android developers must take that issue into notice when developing an application for the Android platform. As Android OS is running on many different devices with huge hardware variety, developing an application for the Android is much difficult than developing an application for the iPhone. The 3D applications will behave differently on devices depend on the power of the Graphic unit of the device, such as games. Those will run smoothly in powerful devices which has strong graphic unit. Otherwise those applications will run slow.

UI Layers for Android

Sense UI

HTC Hero is the first device to support Sense UI. Some useful widgets are available on this UI layer. This UI Layer is focused to provide the user with a highly customizable UI layer to easily access most commonly used features such as Facebook posting, email, media, Twitter, Weather, Flickr etc. We can talk about the Sense UI by dividing it to four topics and talk under each topic. Those are

1. UI Enhancements.

2. Widgets.

3. Core Extensions.

4. Extra applications.

UI Enhancements

There are many differences between the standard Android UI and Sense UI. Some of those are

Sense UI

Standard UI

Notification bar icons are small.

Notification bar icons are in medium size.

In the bottom of the screen there are three buttons.

In the bottom of the screen there is a single screen centered button.

In the bottom of the screen, center button is Phone button.

In the bottom of the screen, center button is applications button.

Home screen has 7 pages.

Home screen has 3 pages.

Sense UI also has a feature called ‘Scenes’. Scenes are just like desktop themes in a PC. It allows users to choose different arrangements of pages of the home screen. Each scene has a different wallpaper and set of widgets. User can create custom scenes too.

Widgets

Widgets are improved in UI vice and Feature vice in Sense UI.

Core Extensions

The biggest feature in the Sense UI is Exchange support. Calendar events will appear as a one unified calendar. That means there is no need to check separate calendar applications. Sense UI allows user to add Facebook contacts and Flickr contacts to the phone contact list.

When it comes to Facebook integration in the Android Sense UI, there are some cool features.

  • Events and Updates
  • Requests
  • Updates about friends.

Extra application

Voice recorder and Peep are two popular applications in Sense UI. Voice recorder is just a simple voice recorder which can record sounds and directly set it as the ringtone. Peep is a smart Twitter client.

Rachael UI

Sony Ericsson has built a new UI layer top of the Android. Just like HTC layered the Sense UI over the top of the Android on Hero, Sony Ericsson layered the Rachael UI over the top of the Android. It has a message screen which shows Facebook, SMS, Calls, Twitter, and Emails in one. But most of the users are complaining about many different issues on this UI. Most of the experienced user and mobile OS specialist are saying Sense UI is better. Some says there are some spelling mistakes in this UI! Users have experienced so much of problems in this UI.

Rosie UI

Rosie UI is another beautiful UI layer provided for Android. According to the users, this UI also has some bugs with the performance. They says this UI lacks with poor performance.

Android OS versions

Google use bakery items names as the codenames for Android OS versions!

Android OS 1.5

Android OS version 1.5 is codenamed as “cupcake”. This OS version is accompanied with two main key features. Those are

· Soft-keyboard support with auto complete feature.

· Accelerometer support for switching displays between landscape mode and portrait mode.

There are other main capabilities of version 1.5. It is enriched with the facility for user to record video and directly uploads it to the YouTube. Likewise user can take photos and directly upload it to the Picasa.

The web browser is also enriched with the capability to copy and paste and has the history page and tabbed bookmarks.

The most two interesting features among all are animating between screens and widgets on the desktop.

Android OS 1.6

Android OS version 1.6 is codenamed as “Donut”. This is the most using Android OS version. There are some slight differences between OS version 1.5 and 1.6. They are

· A quick search box responds to voice commands for search the web and device.

· Multi-languages Text to speech feature.

· Support for CDMA handsets.

· Launching the camera is 39% faster than in OS version 1.5.

· Time duration to take a photo is reduced by 28% than OS version 1.5.

· A neat battery indicator which provides details about percentages of battery usage by applications.

· Integrated gallery interface which supports to multiple file deletion.

Android OS 1.6 was developed to grant some user requests and to add some new features.

Android OS 2.0

Version 2.0 is codenamed as “Éclair”. This is the least used Android OS version. Android OS 2.0 is the biggest step of Android versions. It enriched with

· Browser improvements (Flash 10 and HTML 5 enabled browsers).

· Completely updated map application to include layers.

· YouTube widget.

· Support for more screen sizes and resolutions.

· Searchable SMS and MMS.

· Text message auto delete after a user defined thread size is met.

· Improved camera controls (white balancing etc.)

Android OS 2.0.1

Android OS 2.0.1 is a minor update with some bug fixes. So, for this version, there is no specific codename. It’s also known as “Éclair”. It has some minor changes for already existed features. Those are

· New lock screen.

· New look and feel system widgets.

· Improved camera performance and auto-focus functionality.

· Better audio quality for incoming calls.

· Increased battery life and system stability.

· Improved performance in the system and the browser.

There are some other small changes in version 2.0.1 such as improved Bluetooth functionality, an updated interface for the corporate calendar widget, the ability to use seven-digit numbers etc.

Android OS 2.1

Android 2.1 the next version of Google’s mobile operating system, is still not released officially. It will be codenamed as “Flan”. But according to rumors, it will mostly be a bug fixed version of other OS versions. According to specialists, in Android OS 2.1, the accelerometer will enable the landscape orientation for home screen.

How to check the image existence in the asp:Image

File.Exists(Server.MapPath(ThumbnailImage.ImageUrl))

Note: ‘ThumbnailImage’ is the ID of the asp:image controller.