Friday, November 26, 2010

Publishing Android Market

Joining Android developer is simple and easy. It cost you ~SGD30

Using Ecipse it simple and easy to sign and gen your APK file.


Let us see basic steps from official Android web site...

Compile and sign with Eclipse ADT

If you are using Eclipse with the ADT plugin, you can use the Export Wizard to export a signed .apk (and even create a new keystore, if necessary). The Export Wizard performs all the interaction with the Keytool and Jarsigner for you, which allows you to sign the package using a GUI instead of performing the manual procedures to compile, sign, and align, as discussed above. Once the wizard has compiled and signed your package, it will also perfom package alignment with zipalign. Because the Export Wizard uses both Keytool and Jarsigner



To create a signed and aligned .apk in Eclipse:
  1. Select the project in the Package Explorer and select File > Export.
  2. Open the Android folder, select Export Android Application, and click Next. The Export Android Application wizard now starts, which will guide you through the process of signing your application, including steps for selecting the private key with which to sign the .apk (or creating a new keystore and private key).
  3. Complete the Export Wizard and your application will be compiled, signed, aligned, and ready for distribution.

Monday, October 18, 2010

Android Terminology

Android Terminology

Mind map matters. Try to tap the new terms with your previously learned concepts.

Activity : Windows, Screens ..
Intent   : Amalgamation of action, event…
Resource : Strings, bitmaps..
XML Files : Novel way of representing the Resources, manifest (compilation details..)
Content provider : set of data

Android SDK comes out with important packages. You may need to include necessary packages to work on the specific application.

Packages starts with
android.content
android.database
android.location
android.telephony

In all, the Android Java API contains more than 40 packages and more than 700 classes.

The details of the Android source distribution are published at http://source.android.com

Intro to Android System Architecture:

Here is the quick recap on the Android system architecture.
Android Dalvik VM is striped down version of java. Due to the limited resource requirement, Libraries are optimized to run under Davlik VM. (Dalvik is village name for founders grand parents..)

Let us chew some of the fundamental layers in the system arch.

Level 1 : Linux Kernal è Level 2 : Native Lib + Android Run time (core Lib + Dalvik VM) è
Level 3 : Application frame work è Level 4 : Applications and widgets

Below is the extract from Pro. Android v2. book.

Level 1 :
At the core of the Android Platform is Linux kernel version 2.6.29, responsible for device
drivers, resource access, power management, and other OS duties. The supplied device
drivers include Display, Camera, Keypad, WiFi, Flash Memory, Audio, and IPC (interprocess
communication).

Although the core is Linux, the majority—if not all—of the
applications on an Android device such as the T-Mobile G1 or Motorola Droid are
developed in Java and run through the Dalvik VM.

Level 2 :
Sitting at the next level, on top of the kernel, are a number of C/C++ libraries such as
OpenGL, WebKit, FreeType, Secure Sockets Layer (SSL), the C runtime library (libc),
SQLite, and Media. The system C library based on Berkeley Software Distribution (BSD)
is tuned (to roughly half its original size) for embedded Linux-based devices.

The medialibraries are based on PacketVideo’s (http://www.packetvideo.com/) OpenCORE.
These libraries are responsible for recording and playback of audio and video formats. A library
called Surface Manager controls access to the display system and supports 2D and 3D.


The WebKit library is responsible for browser support; it is the same library that supports
Google Chrome and Apple’s Safari. The FreeType library is responsible for font support.
SQLite (http://www.sqlite.org/) is a relational database that is available on the device
itself. SQLite is also an independent open source effort for relational databases and not
directly tied to Android. You can acquire and use tools meant for SQLite for Android
databases as well.

Most of the application framework accesses these core libraries through the Dalvik VM,
the gateway to the Android Platform. As we indicated in the previous sections, Dalvik is
optimized to run multiple instances of VMs. As Java applications access these core
libraries, each application gets its own VM instance.

Level 3 :
The Android Java API’s main libraries include telephony, resources, locations, UI,
content providers (data), and package managers (installation, security, and so on).
Programmers develop end-user applications on top of this Java API. Some examples of
end-user applications on the device include Home, Contacts, Phone, Browser, and so
on.

Android also supports a custom Google 2D graphics library called Skia, which is written
in C and C++. Skia also forms the core of the Google Chrome browser. The 3D APIs in
Android, however, are based on an implementation of OpenGL ES from the Khronos
group (http://www.khronos.org). OpenGL ES contains subsets of OpenGL that are
targeted toward embedded systems.

From a media perspective, the Android Platform supports the most common formats for
audio, video, and images. From a wireless perspective, Android has APIs to support
Bluetooth, EDGE, 3G, WiFi, and Global System for Mobile Communication (GSM)
telephony, depending on the hardware.

Wednesday, October 13, 2010

How to Start Android Mobile Application

Good News.
I bought Motorola mile stone xt two months back. Always wanted to come out with some fancy application.
After done some research, i manage to assemble all the sdk and jvm and eclipse IDE. Ready to start.
Ebook is the primary source to get familiar about Android development.

Android version 2.1 is used in mile stone xt. So in this blog u will find free apps releated to version 2.1.
You can recompile any time to use 2.2 and above.

Well. Having said that. Let us begin basic steps that u need to start your development.

1. Download Eclipse IDE
2. Download Java
3. Down load Android plug-in for eclipse

You may have those stuff in Linux and Windows environment.
Let us focus on the Windows environment.

Please refer official web site to get the latest version and documentation to set up those steps 1 - 3.

Let me take a coffee and continue..