Presentation is loading. Please wait.

Presentation is loading. Please wait.

Android Mobile Application Development

Similar presentations


Presentation on theme: "Android Mobile Application Development"— Presentation transcript:

1 Android Mobile Application Development
Architecture Lecture Two Assistant Lecturer Mustafa Ghanem Saeed Computer science Department Collage Of Science Cihan University - Sulaimaniyah

2 What is Android Architecture?
Android is a mobile operating system that is based on a modified version of Linux, has a number of layers, and each layer groups together several programs and it’s categorized into five parts: linux kernel native libraries (middleware), Android Runtime Application Framework Applications

3 Android Architecture

4 Linux kernel cont. Positioned at the bottom of the Android software stack, the Linux Kernel provides a level of abstraction between the device hardware and the upper layers of the Android software stack. Based on Linux version 2.6, the kernel provides preemptive multitasking, low-level core system services such as memory, process and power management in addition to providing a network stack and device drivers for hardware such as the device display, Wi-Fi and audio.

5 Linux kernel Linux kernel provides the following functions in the Android system: Hardware Abstraction Memory Management Programs Security Settings Power Management Software Other Hardware Drivers (Drivers are programs that control hardware devices.) Support for Shared Libraries Network Stack

6 native libraries (middleware),
On the top of linux kernel, Libraries carry a set of instructions to guide the device in handling different types of data. such as the WebKit library is responsible for browser support, SQLite is for database, FreeType for font support, Media for playing and recording audio and video formats. For instance, the playback and recording of various audio and video formats is guided by the Media Framework Library

7 Android Runtime - Dalvik Virtual Machine
The Dalvik virtual machine was developed by Google and relies on the underlying Linux kernel for low-level functionality. It is more efficient than the standard Java VM in terms of memory usage, and specifically designed to allow multiple instances to run efficiently within the resource constraints of a mobile device.

8 Android Runtime - Dalvik Virtual Machine 2
The Dalvik virtual machine is the software responsible for running apps on Android devices with this characteristic : It is a Register based Virtual Machine. It is optimized for low memory requirements. It has been designed to allow multiple VM instances to run at once. Relies on the underlying OS for process isolation, memory management and threading support. Operates on DEX files.

9 Android Compiler Stage
The Dex compiler converts the class files into the .dex file that run on the Dalvik VM. Multiple class files are converted into one dex file: The Dex compiler converts the class files into the .dex file that run on the Dalvik VM. Multiple class files are converted into one dex file The javac tool compiles the java source file into the class file. The dx tool takes all the class files of your application and generates a single .dex file. It is a platform-specific tool. The Android Assets Packaging Tool (aapt) handles the packaging process. The Android Assets Packaging Tool (aapt) handles the packaging process.

10 Application Framework
The Application Framework is a set of services that collectively form the environment in which Android applications run and are managed. This framework implements the concept that Android applications are constructed from reusable, interchangeable and replaceable components.

11 Application Framework 2
The Android framework includes the following key services: Activity Manager – Controls all aspects of the application lifecycle and activity stack. Content Providers – Allows applications to publish and share data with other applications. Resource Manager – Provides access to non-code embedded resources such as strings, color settings and user interface layouts. Notifications Manager – Allows applications to display alerts and notifications to the user. View System – An extensible set of views used to create application user interfaces. Package Manager – The system by which applications are able to find out information about other applications currently installed on the device. Telephony Manager – Provides information to the application about the telephony services available on the device such as status and subscriber information. Location Manager – Provides access to the location services allowing an application to receive updates about location changes.

12 Applications The applications are at the topmost layer of the Android stack. An average user of the Android device would mostly interact with this layer (for basic functions, such as making phone calls, accessing the Web browser etc.). The layers further down are accessed mostly by developers, programmers and the likes. Several standard applications come installed with every device, such as: SMS client app Dialer Web browser Contact manager

13 What is the Android SDK? The Android SDK is a software development kit provided by Google for Windows, Mac OS X, and Linux computers. The Android SDK is primarily intended to help developers create, test, and debug their Android apps. To that end, the SDK provides documentation, example code, virtual Android machines for running apps, framework code, support for development environments, debugging tools, and more.

14 The Android SDK?

15 Android Emulator Android Emulator is used to run, debug and test the android application. If you don't have the real device, it can be the best way to run, debug and test the application. It uses an open source processor emulator technology called QEMU.

16 Why real device is batter Emulator?
The disadvantage of using emulator: No support for placing or receiving actual phone calls. You can simulate phone calls (placed and received) through the emulator console, however. No support for USB connections No support for camera/video capture (input). No support for device-attached headphones No support for determining connected state No support for determining battery charge level and AC charging state No support for determining SD card insert/eject No support for Bluetooth

17 Important Questons? What is Android Architecture? Ans : Slide 2
Draw the Android Architecture? Ans : Slide 3 Explain Linux kernel in Android system? Ans : Slide 4 List all of functions of Linux kernel provides in the Android system? Ans : Slide 5 Define the native libraries in the Android Architecture? Ans : Slide 6 What is Dalvik virtual machine? Ans : Slide 7 The Dalvik virtual machine is the software responsible for running apps on Android devices ,mention his characteristic? Ans : Slide 8 Draw all stages of compiler in android program ? Ans : Slide 9 define Android framework and then list five of his key services? Ans: Slide 10-11 What is the Android SDK? Ans: Slide 13 Explain the Android Emulator? And give only five reasons why android programmer prefer to use real device while he development? Ans: Slide 15-16

18 Questions? Discussion?


Download ppt "Android Mobile Application Development"

Similar presentations


Ads by Google