* Introduction to An
droid App Developm ent
*What is Android *Android is a software based stand and operating system for mobile devices.
*It is placed on Linux Kernel. *It is developed by Google and later the Open Handset Alliance(OHA).
*Java language is mainly used to write the code.
*History of Android *Google acquired the startup company Android Inc. in
2005 to start the development of the Android Platform. In late 2007, a group of industry leaders came together around the Android Platform to form the Open Handset Alliance. *The Android SDK was first issued as an “early look” release in November 2007. *In September 2008 T-Mobile announced the availability of the T-Mobile G1, the first smartphone based on the Android Platform. *A few days after that, Google announced the availability of Android SDK Release Candidate 1.0. *In October 2008, Google made the source code of the Android Platform available under Apache’s open source license.
*Open Handset
Alliance
*The open handset alliance is a business alliance of company to develop open standard for mobile devices.
*
HTC G1, Droid, Tattoo
Suno S880
Phones
Motorola Droid (X)
Samsung Galaxy
Sony Ericsson
*
Velocity Micro Cruz
Gome FlyTouch
Tablets
Acer beTouch
*Tablets Dawa D7
Toshiba Android SmartBook
Cisco Android Tablet
*Architecture
* The software stack is divided in to 4 layers:
1) 2) 3) 4)
The Application Layer The application framework The libraries and run time The kernel
Android provides a set of core applications: Email Client SMS Program Calendar Maps Browser Contacts Etc All applications are written using the Java language.
Enabling and simplifying the rework of components Developers have full purses to the same framework APIs used by the core applications. Users are granted to substitute components. • View System: It is used to form an application including grids, text boxes, grids, buttons, lists and planted web browser. • Content Providers: Enabling applications to access data from other applications or to share their own data. • Resource manager: Providing access to non-code resources (localized strings, graphics and layout files).
*Notification Manager: Enabling all applications to display customer alerts in the status bar.
*Activity Manager: Managing the lifecycle of
applications and providing a common navigation backstack.
*Package manager: It is use to retrieve the data about installed packages on device.
*Window manager: It is use to views and layouts. *Technology manager: It is use to handle settings of
network connection and all information about services on device.
*Location manager: It fires alerts when user enters or leaves a specified geographical location.
Including a set of C/C++ libraries used by components of the Android system Exposed to developers through the Android application framework
Core Libraries Providing most of the functionality available in the core libraries of the Java language APIs Data Structures Utilities File Access Network Access Graphics Etc
Dalvik Virtual Machine Providing environment on which every Android application runs Each Android application runs in its own process, with its own instance of the Dalvik VM. Dalvik has been written such that a device can run multiple VMs efficiently. Register-based virtual machine
Dalvik Virtual Machine (Cont) Executing the Dalvik Executable (.dex) format .dex format is optimized for minimal memory footprint. Compilation
Relying on the Linux Kernel for: Threading Low-level memory management
Relying on Linux Kernel 2.6 for core system services
Memory and Process Management
Network Stack
Driver Model
Security
Providing an abstraction layer between the H/W
*Resources *https://www.androidauthority.com/what-is-an droid-328076 /
*https://www.androidpit.com/what-is-android *https://
www.tutorialspoint.com/android/android_arch itecture.htm *https:// developer.android.com/guide/platform/index. html