ANDROID BASICS
All you need to know before starting android programming ...
ANDROID is an open source operating system that is based on a modified version of linux.
About its architecture
1) LINUX KERNEL -- It contains device driver for display, camera, memory .....
2) LIBRARIES -- developed in C/C++
some of them are --
SURFACE MANAGER - for display management
SQLITE -- for database support
SSL --or security
WEBKIT -- for web browsing
OpenGL/ES -- graphic library
FREETYPE -- it is used as font render in android
SGL -- scalable graphic library
LIBC -- standard C library
SSL -- secure socket layer
3) ANDROID RUNTIME
Core libraries & DALVIK VIRTUAL MACHINE (DVM)
* Program for android are written in java and compiled to byte code for JVM, which is then translated to Dalvik bytecode and stored in .dex (dalvik executable) and .odex (optimized dalvik executable)
Succesor of Dalvik is ART Android Runtime which uses the same byte code and .dex file but not .odex.
* Each app is a different user for android OS.
* Each app is assigned a unique linux user ID which is used by the system & unknown to the app.
* It is possible to arrange for 2 apps to share the same linux user ID, in which they aare able to access each others files
* App with same user ID can also arrange to run in same linux process & share the same VM.
To be continued .....