Android Mobile Application Development

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

Introduction.  Professor  Adam Porter 
What is Android?.
Android architecture overview
Introduction to Android Mohammad A. Gowayyed CS334-Spring 2014.
Android Platform Overview (1)
DEPARTMENT OF COMPUTER ENGINEERING
ANDROID OPERATING SYSTEM Guided By,Presented By, Ajay B.N Somashekar B.T Asst Professor MTech 2 nd Sem (CE)Dept of CS & E.
Mobile Application Development
Google Android as a mobile development platform T Internet Technologies for Mobile Computing Olli Mäkinen.
This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit
Android An open handset alliance project Janice Garcia September 18, 2008 MIS 304.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
Introduction to Android Platform Overview
Android Introduction Platform Overview.
One day Workshop on "Android Application Development"
Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.
Mobile Application Development with ANDROID. Agenda Mobile Application Development (MAD) Intro to Android platform Platform architecture Application building.
About me Yichuan Wang Android Basics Credit goes to Google and UMBC.
Mobile Application Development using Android
Android Introduction Based on slides made by
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Android Programming By Mohsen Biglari Android Programming, Part1: Introduction 1 Part1: Introduction By Mohsen Biglari.
Copyright© Jeffrey Jongko, Ateneo de Manila University Android.
01. Introduction to Android Prof. Oum Saokosal Master of Engineering in Information Systems, South Korea
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Android for Java Developers Denver Java Users Group Jan 11, Mike
ANDROID 응용 프로그래밍 과정 – 목차 - 안드로이드란 - 안드로이드가 만들어지게 된배경 - 안드로이드의 철학 - 안드로이드 환경설정 ( SDK download, eclipse plug-in 설정, 간단한 프로그램 실행 ) - 안드로이드 동작원리 - 안드로이드 핵심.
Android architecture & setting up. Android operating system comprises of different software components arranges in stack. Different components of android.
ANDROID L. Grewe Components  Java Standard Development Kit (JDK) (download) (latest version)  AndroidStudio.
ANDROID BY:-AANCHAL MEHTA MNW-880-2K11. Introduction to Android Open software platform for mobile development A complete stack – OS, Middleware, Applications.
Created By. Jainik B Patel Prashant A Goswami Gujarat Vidyapith Computer Department Ahmedabad.
1 Android Introduction Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
Mobile Application Development with ANDROID Umang Patel(6537) LDCE.
1 Android Workshop Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
Analysis And Research Of System Security Based On.
Android operating system N. Sravani M. Tech(CSE) (09251D5804)
By Adam Reimel. Outline Introduction Platform Architecture Future Conclusion.
Accelerometer based motion gestures for mobile devices Presented by – Neel Parikh Advisor Committee members Dr. Chris Pollett Dr. Robert Chun Dr. Mark.
ANDROID OS Ravi Soni MTech (CS) III Sem. W HAT IS A NDROID ? Android is a software stack for mobile devices that includes an operating system, middleware.
Android. Android An Open Handset Alliance Project A software platform and operating system for mobile devices Based on the Linux kernel Developed by Google.
Android Training in Chandigarh. What is Android Android is a mobile operating system based on the Linux Kernel. The goal of android project is to create.
Vijetha Prabhu B & Sushmitha Shenoy. Android is a software stack for mobile devices that includes an operating system, middleware and key applications.
Presented by: Saurabh Kumar Sinha (MRT07UGBIT 186) IT VII Semester, Shobhit University Meerut.
The Basics of Android App Development Sankarshan Mridha Satadal Sengupta.
Program Studi S-1 Teknik Informatika FMIPA Universitas Padjadjaran
Computer System Structures
Android Application -Architecture.
Visit for more Learning Resources
Architecture of Android
ANDROID AN OPEN HANDSET ALLIANCE PROJECT
Chapter 2: Operating-System Structures
chapter 6- Android Introduction
ANDROID AND ANDROID PHONES
Android.
Contents: Introduction Different Mobile Operating Systems
CMPE419 Mobile Application Development
ANDROID AND ANDROID PHONES
Mobile Handset Virtual Machine
ANDROID OS Architecture
Application Framework
Application Development A Tutorial Driven Course
Android Developer Fundamentals V2
Android Introduction Platform Mihail L. Sichitiu.
Korea Software HRD Center
Android Platform, Android App Basic Components
Getting Started with Android…
CMPE419 Mobile Application Development
Presentation transcript:

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

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

Android Architecture http://www.javatpoint.com/android-software-stack

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/

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

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

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.

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.

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.

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.

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.

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

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.

The Android SDK?

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.

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

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

Questions? Discussion?