I have mentioned before that android applications are written in java as a programming language . Applications executed by Dalvik virtual mashine rather than java VM. each android application run with its own dalvik onstance.
Dalvik VM :
is a virtual mashine that’s used to ensure that a device can run multiple instances efficiently. It relies on linux kernel for threading and low memory management. It’s possible to write applications that run on the underlying linux Kernel. All android hardware and system service access is managed using Dalvik as a mid tier ..
you can start developing Android applications by downloading Android SDK for free . This SDK includes every thing you really need form ( developing , testing , depugging ,…) Android applications.
This SDK include :
- Andriod APIs .
- Development Tools.
- The Android virtual device and emulator.
- Sample Code : includes a selection of sample applications that demonstrate some of the possibilities available with android..
Android Software Stack :
Android Software Stack is composed from many elements ( linux Kernel , Libraries , Android Run Time , Application FrameWork, Application Layer )
- Linux Kernel : includes hardware drivers , memory management, network , security and power management . The Kernel provides an abstraction layer between the remainder and the stack .
- Libraries : includes various c/c++ libraries such as libc and SSL (SQLite for native database support , Graphics Libraries ,…..)
- Android Run time : is the engine that powers your applications with the libraries and forms the basis for the application framework..
- Application FrameWork : provides the classes that are used to create Android Applications and manages the user interface and application resources.
- Application Layer : all applications are built on application layer with the same API libraries. The application layer runs with the android run time, using the classes and services made availavble from the application framework.
Android Application architecture :
- Activity Manager : controls the life cycle of your activity and stack activity management
- view : construct the user interface of your activities .
- Notification manager : provides consistent mechanism for signaling your users .
- Content Providers : let your applications share data.
- Resource Manager : supports non-code resources like string and graphics to be externalized.
that’s all for Android Development FrameWork …..