Sunday, January 2, 2011

Android programming

I have just finished a report about “Android programming” subject in Embedded programming basics at my school. I want to share something about it. I don’t want to make a tutorial, I just introduces Android for people “never hear yet” or only “know” something about this field. Knowledge below is my collection and compose.


I – What’s Android?
You hear about Android as a Mobile Devices Operating System (OS), or a Programming language? You often compare Android with Windows Mobile, Symbian? Or with Java, more difference .NET Framework.
1. Define:
Android is a software stack for mobile devices that includes an operating system, middleware and key applications.
When you talk about Android, you are talking about an operating system and Software Development Kit. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
Today, Android is competing with another Mobile devices OS such as Windows Mobile, Symbian, OS X (iPhone)…
2. Features:
When you buy a new smartphone, the manufacturer has installed a default OS. In Symbian, or the other Operating System “not open source”, you can not build your applications for your phone. But with Android, you can do it completely.
By providing an open development platform, Android offers developers the ability to build extremely rich and innovative applications. Developers are free to take advantage of the device hardware, access location information, run background services, set alarms, add notifications to the status bar, and much, much more. ( developer.android.com )
Developers have full access to the same framework APIs used by the core applications. The application architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities (subject to security constraints enforced by the framework). This same mechanism allows components to be replaced by the user. You should to remember that “if you can”.
3. Support:
·         Multi-touch screen.
·         3G.
·         Wifi.
·         The web browser if based on the open-source WebKit.
·         SMS and MMS including threaded text messaging.
·         Media support: MPEG-4, H.264, MP3, AAC…
·         Ministry of 3D Graphics Acceleration.
II – Android programming:
Android total use the Java programming language. So this is a big advantage to start with Android for who have learned Java.
1. Android Architecture:
a. Understanding Android Application:
Understanding Android’s components is needed for programming. These components:
·         Activity.
·         Service.
·         Content Provider.
·         Intent.
·         Broadcast Receiver.
·         Notification.
b. Understanding Android Application Life cycle:
Android have a Process management mechanism by priority. Processes have low-priority will be released without warning to protected resources.
·         Foreground process.
·         Visible process.
·         Service process.
·         Background process.
·         Empty process.
2. XML in Android:
In Android programming, you can work with XML to design Application UI.


No comments:

Post a Comment