• No results found

Android Mobile Application Development

N/A
N/A
Protected

Academic year: 2021

Share "Android Mobile Application Development"

Copied!
18
0
0

Loading.... (view fulltext now)

Full text

(1)

Android Mobile Application

Development

Assistant Lecturer Mustafa Ghanem Saeed

Lecture Two

Android

Architecture

(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:

A. linux kernel

B. native libraries (middleware), C. Android Runtime

D. Application Framework E. Applications

2

(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.

http://www.edureka.co/blog/beginners-guide-android-architecture/ 4

(5)

Linux kernel

Linux kernel provides the following functions in the Android system:

1. Hardware Abstraction

2. Memory Management Programs 3. Security Settings

4. Power Management Software

5. Other Hardware Drivers (Drivers are programs that control hardware devices.)

6. Support for Shared Libraries 7. 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

6

(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 :

1. It is a Register based Virtual Machine.

2. It is optimized for low memory requirements.

3. It has been designed to allow multiple VM instances to run at once.

4. Relies on the underlying OS for process isolation, memory management and threading support.

5. Operates on DEX files.

8

(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:

(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.

10

(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

(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:

o SMS client app o Dialer

o Web browser o Contact manager

12

(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?

14

(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

16

(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)

Slide 18

Questions? Discussion?

References

Related documents

National Conference on Technical Vocational Education, Training and Skills Development: A Roadmap for Empowerment (Dec. 2008): Ministry of Human Resource Development, Department

and LCP olecranon plate Good Fair Fair Fair Excellent Excellent Excellent Good Good Poor Good LOM Ulnar nerve Sx Heterotophic ossification LOM, ulnar nerve Sx Ulnar nerve Sx

Bring to a boil, then transfer to the slow cooker, add the chicken, cover with the lid, and cook on auto/low for 6–8 hours or on high for 3–4 hours. Stir in the mushrooms for the

Investigate the dependence of flow characteristics on roughness parameters, mainly the pitch ratio (or the ratio of the centre-to-centre distance, in the streamwise direction,

Voor de proactieve component zullen de lidstaten, veel meer dan voorheen, gebruik kunnen maken van de gegevens over een groot aantal stoffen die de industrie aanlevert bij

RQ1 Do Lehman’s law of continuing change, increasing complex- ity, and declining quality apply to mobile apps.. RQ2 Do Lehman’s laws apply to mobile apps and their desktop version

atau jasa dari seorang penjual atau sebuah NHORPSRN SHQMXDO WHUWHQWX´ Dapat disimpulkan bahwa merek adalah penggunaan nama, logo, trade mark, serta slogan untuk

To circumvent this tendency, I will highlight many different forms of contemporary slavery (many of which have roots in similar forms of historical slavery), noting that