5. Faq1: What is Android?
Android is a software stack for mobile devices
that includes an operating system,
middleware and key applications (platform).
The Android SDK provides the tools and APIs
necessary to begin developing applications on
the Android platform using the Java
programming language.
The kernel of most Android version is based
on Linux 2.6 (3.0 for ICS).
Android architecture;
6/22/2012 http://blog.kerul.net 5
7. Faq2: Who develop
Android?
Initially developed by Andrew
(Andy) Rubin and his team in
Android Inc.
Google acquired Android Inc.
in 2005.
Now, it is developed by Google
under Andy Rubin (Senior Vice
President of Mobile)
6/22/2012 http://blog.kerul.net 7
8. Faq3: How many versions
(distributions) Android has?
6/22/2012 http://blog.kerul.net 8
10. Faq4: What is API Level?
API Level is an integer value that uniquely
identifies the framework API revision offered
by a version of the Android platform.
The Android platform provides a framework
API that applications can use to interact with
the underlying Android system.
6/22/2012 http://blog.kerul.net 10
11. Faq5: What is Android
app?
Developer can develop application that runs
on top of Android.
App is actually a simpler version of
application.
Uses *.apk for the installer file extension.
6/22/2012 http://blog.kerul.net 11
13. Faq6: What is the language
used to develop Android
app?
Java
compiled into Dalvik Bytecode (NOTJava
bytecode).
Android provides Dalvik virtual machine-
DVM inside Android (NOT Java virtual
machine-JVM)
Using Android API – (with some Java
APIs).
6/22/2012 http://blog.kerul.net 13
14. Faq7: What is Dalvik Virtual
Machine, is it similar as JVM?
Author - Dan Bornstein
Dalvik VM implementing slightly different
architecture to JVM.
Dalvik VM is a register-based
architecture.
Being optimized for low memory and
slower processing speed.
The VM was slimmed down to use less
space.
6/22/2012 http://blog.kerul.net 14
15. Faq8: What are tools needed
to develop Android App?
Latest JDK – version 6 -
http://www.oracle.com/technetwork/java/javase/downl
oads/jdk-6u27-download-440405.html (not yet tested
against JDK 7)
Eclipse (as the IDE) -
http://www.eclipse.org/downloads/packages/eclipse-
ide-java-developers/indigor
Android Development Toolkit (ADT 12) for Eclipse -
http://developer.android.com/sdk/eclipse-adt.html
Android SDK - http://developer.android.com/sdk/
Installation guide - http://blog.kerul.net/2011/06/eclipse-
helios-android-development.html
Third parties: Titanium, PhoneGap, Unity3D
6/22/2012 http://blog.kerul.net 15
23. Android Project Structure
Inside Android Project, there should be;
/src – the Java codes are here
/gen – generated automatically
/assets – put your fonts, videos, sounds here
/res – images, layout and global variables
/drawable-hdpi –for high spec phones
/drawable-ldpi –for low spec phones
/drawable-mdpi –for medium spec phones
/layout – all XML file for the screen(s) layout
/values – global constant variables
6/22/2012 http://blog.kerul.net 23
25. AndroidManifest
AndroidManifest.xml – app’s
permissions need to be registered here
– (eg: app can access Internet, phone
contacts, camera, etc must be
mentioned here)
6/22/2012 http://blog.kerul.net 25
27. DEMO
Demo 0: The IDE (Eclipse + ADT)
Demo 1: Creating a new Android Project
(and the project structure).
Demo 2: Widgets and interaction –
Textbox and Button.
Demo 3: HTML and WebView
Demo 4: APK and Distribution
6/22/2012 http://blog.kerul.net 27