Documente Academic
Documente Profesional
Documente Cultură
Agenda
Whats Android. The stack. android Roadmap. Getting your hands dirty.
History
Aug 2005 Google acquired Android. Nov 2007 OHA* announced that Android SDK is available. Sept 2008 HTC and T-Mobile announced G1 Oct 2008 Android SDK 1.0 Android Market goes live G1 is available in the retail store.
*OHA is (Open Handset Alliance) including top OEM and operators {Motorolla, intel, htc, T-Mobile, Samsung, LG, Google, etc..
Saturday, May 12, 12
Software
t Manufacturers
Semiconductor
Mobile Operators
Semi-conductors operator
Semiconductor
Commercialization
Dec 2011
OS Shares worldwide*
Android iOS Bada Others Symbian RIM Microsoft
OS Shares worldwide*
1% 1% 2%
Android iOS Bada Others Symbian RIM Microsoft
11% 15%
52%
17%
2.The stack
What to expect from android.
2.The stack.
Android is based on the almighty linux kernel. Android comes with great libraries and APIs for your special hardware to make full use of you device. Android has rich development tool set including emulator, debugging tools, GUI composer,etc.. Android is ready for i18n. The DVM is young VM yet its optimized to the linux kernel.
Closer look
Closer look
Android internals
Android internals
Linux Kernel
Display Driver USB Driver Camera Driver Keypad Driver Bluetooth Driver WiFi Driver Flash Memory Driver Audio Drivers Binder (IPC) Driver Power Management
Android internals
Libraries
Surface Manager OpenGL | ES SGL Media Framework FreeType SSL SQLite WebKit libc
Linux Kernel
Display Driver USB Driver Camera Driver Keypad Driver Bluetooth Driver WiFi Driver Flash Memory Driver Audio Drivers Binder (IPC) Driver Power Management
Android internals
Libraries
Surface Manager OpenGL | ES SGL Media Framework FreeType SSL SQLite WebKit libc
Android Runtime
Core Libraries Dalvik Virtual Machine
Linux Kernel
Display Driver USB Driver Camera Driver Keypad Driver Bluetooth Driver WiFi Driver Flash Memory Driver Audio Drivers Binder (IPC) Driver Power Management
Android internals
Application Framework
Activity Manager Package Manager Window Manager Telephony Manager Content Providers Resource Manager View System Location Manager Notication Manager GTalk Service
Libraries
Surface Manager OpenGL | ES SGL Media Framework FreeType SSL SQLite WebKit libc
Android Runtime
Core Libraries Dalvik Virtual Machine
Linux Kernel
Display Driver USB Driver Camera Driver Keypad Driver Bluetooth Driver WiFi Driver Flash Memory Driver Audio Drivers Binder (IPC) Driver Power Management
Android internals
Applications
Home Contacts Phone Browser
...
Application Framework
Activity Manager Package Manager Window Manager Telephony Manager Content Providers Resource Manager View System Location Manager Notication Manager GTalk Service
Libraries
Surface Manager OpenGL | ES SGL Media Framework FreeType SSL SQLite WebKit libc
Android Runtime
Core Libraries Dalvik Virtual Machine
Linux Kernel
Display Driver USB Driver Camera Driver Keypad Driver Bluetooth Driver WiFi Driver Flash Memory Driver Audio Drivers Binder (IPC) Driver Power Management
Everything is an application
3.android Roadmap
Milestones in any android developer life.
public class Activity extends ApplicationContext { protected void onCreate(Bundle savedInstanceState); protected void onStart(); protected void onRestart(); protected void onResume(); protected void onPause(); protected void onStop(); protected void onDestroy(); }
1.Activity
1.Activity
Activity class is the main building block in any android application. Basically every screen in any android app is an activity. Every activity may deal with one or more layout. Its essential to know the Activity lifecycle*. onCreate, onPause, onRestart, onResume methods.
2.Intent
2.Intent
Intent is the message passing system in Android. Is used to message {activities, services and broadcast receivers} Its used to call system services as well as your app activities.* Intents can contain extra data and this is how we transfer data between activities,apps,services,etc.. Application dependency issues.
*Thats why your app is 1st class citizen.
Saturday, May 12, 12
Intent lters
<intent-filter . . . > <action android:name="code android.intent.action.MAIN" /> <category android:name="code android.intent.category.LAUNCHER" /> </intent-filter>
When android intents meet Activities. Action Category Ex.The application launcher scenario.
3.AndroidManifest.xml
3.manifest.xml
Each application has one manifest le Its app conguration le in short. ADT interface shows what do you expect from it. Warning: Dont forget to dene your activies there.
meet the
meet the
APK
The APK
le.apk
|--AndroidManifest.xml |-- META-INF | |-- CERT.RSA | |-- CERT.SF | `-- MANIFEST.MF |-- classes.dex |-- res | |-- drawable | | `-- icon.png | `-- layout | `-- main.xml `-- resources.arsc
App2: SuperComm
App is basically 3 buttons using which user can access dialer, SMS app, and web. App is containing a textbox containing the number/url Im trying to call,SMS or browse.
References
Summary
Android is now and future. Its opensource and fun. Android stack and rich development tools. Everything is an application and your application is 1st class citizen. Android application development terminology. Android development road map.
Thank you!