Android architecture
Android Architecture Outline • Overview • Applications • Application Framework • Library and Android Runtime • Linux kernel Overview Applications • Set of necessary application – Core application of Android include: Home, Browser, Camera • Your ability: – Create new applications – Replace default applications – Use exist applications for your purposes Ex: your application want to get a picture from camera. So call Camera of Android through intent component. Application Framework • Provide API to create UI • Provide API to access system services • Provide API to get resource • Content provider Application Framework • UI API: views – Typical view: view like Button, EditText, ListView… – ViewGroup: extends View but can contain more than one view like LinearLayout, FrameLayout – Special View: Android support WebView and MapView: • WebView do the job of browser • MapView a special view use google map API Application Framework • System services: – Get system services: getSystemService(String) – Total 20 system services – Some services: • LocationManager: get GPS location • PowerManager: controll power • SensorManager: access sensors • WifiManager: manage Wifi access. • … Application Framework • Resources: – Resource is non-code file like image, xml… – Resource include application resource and system resource: • Application resource: files in res folder • System resource: access through R.android – To access drawable resource of Android, use R.android.drawable.resourcename – More resource name at http://www.screaming- penguin.com/info/android_drawables/android_drawab les.html Application Framework • Content Provider – Store and retrieve data and make it accessible to all applications – Is the only way to communicate between applications – Data kept by content provider can be modified by: • Adding new records • Adding new values to exist records • Batch updating exist records • Deleting exist records Libraries • C/C++ libraries including: – System C library – Media libraries: support playback and record many audio and video format including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG – Sureface Manager: manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications – LibWebCore: a modern web browser engine which powers both the Android browser and an embeddable web view [...]... – 3D libraries: an implementation based on OpenGL ES 1.0 APIs – SQLite: a powerful and lightweight relational database engine available to all applications – FreeType: bitmap and vector font rendering Android runtime • Core java libraries • Dalvik Virtual Machine – Thread and memory manager – Optimize memory usage – Run many virtual machine Kernel • Linux kernel with system services: – Security – Memory . access through R .android – To access drawable resource of Android, use R .android. drawable.resourcename – More resource name at http://www.screaming- penguin.com/info /android_ drawables /android_ drawab les.html. Android Architecture Outline • Overview • Applications • Application Framework • Library and Android Runtime • Linux kernel Overview Applications • Set. applications for your purposes Ex: your application want to get a picture from camera. So call Camera of Android through intent component. Application Framework • Provide API to create UI • Provide API