Android Overview.

Slides:



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

Google Android Introduction to Mobile Computing. Android is part of the build a better phone process Open Handset Alliance produces Android Comprises.
Introduction.  Professor  Adam Porter 
What is Android?.
Android architecture overview
Android Platform Overview (1)
Android Overview. Android (Google) is a widely anticipated open source operating system for mobile devices, Supporting Bluetooth ( wireless for short.
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
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
@2011 Mihail L. Sichitiu1 Android Introduction Application Fundamentals.
Android Overview Android (Google) is a widely anticipated open source operating system for mobile devices, Supporting Bluetooth ( wireless for short distance)
Emerging Platform#4: Android Bina Ramamurthy.  Android is an Operating system.  Android is an emerging platform for mobile devices.  Initially developed.
Android Introduction Platform Overview.
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
@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
Presentation Seminar on “IMAGE SLIDER –AN ANDROID APPLICATION”
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Mobile Application Development using Android Lecture 2.
Android for Java Developers Denver Java Users Group Jan 11, Mike
ANDROID 응용 프로그래밍 과정 – 목차 - 안드로이드란 - 안드로이드가 만들어지게 된배경 - 안드로이드의 철학 - 안드로이드 환경설정 ( SDK download, eclipse plug-in 설정, 간단한 프로그램 실행 ) - 안드로이드 동작원리 - 안드로이드 핵심.
10/10/2015 E.R.Edwards 10/10/2015 Staffordshire University School of Computing Introduction to Android Overview of Android System Android Components Component.
Overview of Android Application Development
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 Development Lean and mean introduction Based on a presentation by Mihail L. Sichitiu.
1 Android Workshop Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
J.BHAVANA 3/4B.TECH CSE Ch.Rochasmathi 3/4B.tech CSE.
Android Development For Beginners. What is Android? Android is an open mobile phone platform that was developed by Google and later by Open Handset Alliance.
Android operating system N. Sravani M. Tech(CSE) (09251D5804)
By Adam Reimel. Outline Introduction Platform Architecture Future Conclusion.
Android. Android An Open Handset Alliance Project A software platform and operating system for mobile devices Based on the Linux kernel Developed by Google.
Introduction to Android Chapter 1 1. Objectives Understand what Android is Learn the differences between Java and Android Java Examine the Android project.
The Basics of Android App Development Sankarshan Mridha Satadal Sengupta.
Workshop by T.Naveen sai kumar.
Android Mobile Application Development
Android Application -Architecture.
Android 01: Fundamentals
Android Application Development 1 6 May 2018
Visit for more Learning Resources
Lecture 2 Zablon Ochomo Android Programming Lecture 2 Zablon Ochomo
Architecture of Android
ANDROID AN OPEN HANDSET ALLIANCE PROJECT
Android Runtime – Dalvik VM
chapter 6- Android Introduction
Android.
MAD.
Software Engineering in Mobile Computing
Contents: Introduction Different Mobile Operating Systems
CMPE419 Mobile Application Development
ANDROID AND ANDROID PHONES
SE4S701 Mobile Application Development
Application Fundamentals
Application Development A Tutorial Driven Course
CHAPTER 1 Introduction Chapter objectives: Understand what Android is
Android Developer Fundamentals V2
Android Introduction Platform Mihail L. Sichitiu.
Android Platform, Android App Basic Components
Emerging Platform#3 Android & Programming an App
Introduction to Android
Application Fundamentals
CMPE419 Mobile Application Development
Presentation transcript:

Android Overview

Mobile Applications What are they? Types Any application that runs on a mobile device Types Web apps: run in a web browser HTML, JavaScript, Flash, server-side components, etc. Native: compiled binaries for the device Often make use of web services

Mobile Devices: Advantages Always with the user Typically have Internet access Typically GPS enabled Most have cameras & microphones Many apps are free or low-cost Maybe more profitable with ads than actually selling the app

Mobile Devices: Disadvantages Limited screen size Limited battery life Limited processor speed Limited and sometimes slow network access Limited input: phone keypad, touch screen, stylus etc Limited web browser functionality Range of platforms & configurations across devices

Why Mobile App Development? Why Android? Transferring app to phone is trivial Can distribute by putting it on the web Android Market (now Google Play) for wider distribution

What is Google Android? A software stack for mobile devices that includes An operating system Middleware Key Applications Uses Linux to provide core system services Security Memory management Process management Power management Hardware drivers

Version Code name Release date API level DVM/ART Distribution 8.1 Oreo October 25, 2017 27 ART 8.0 August 21, 2017 26 0.2% 7.1 Nougat October 4, 2016 25 2.0% 7.0 August 22, 2016 24 15.8% 6.0 Marshmallow October 5, 2015 23 32.0% 5.1 Lollipop March 9, 2015 22 21.0% 5.0 November 3, 2014 21 ART 2.1.0 6.7% 4.4 KitKat October 31, 2013 19 DVM (and ART 1.6.0) 14.5% 4.3 Jelly Bean July 24, 2013 18 DVM 1.0% 4.2 November 13, 2012 17 3.3% 4.1 July 9, 2012 16 2.3% 4.0 Ice Cream Sandwich October 19, 2011 15 0.6% 2.3 Gingerbread February 9, 2011 10 DVM 1.4.0

Android Apps Built using Java and new SDK libraries No support for some Java libraries like Swing & AWT Java code compiled into Dalvik byte code (.dex) Optimized for mobile devices (better memory management, battery utilization, etc.) Dalvik VM runs .dex files

Applications Written in Java (it’s possible to write native code) Good separation (and corresponding security) from other applications: Each application runs in its own process Each process has its own separate VM Each application is assigned a unique Linux user ID – by default files of that application are only visible to that application

Android Architecture The linux kernel 2.6 is the hardware abstraction layer (HAL) between the hardware and the android software stack.

Activity Manager – Life Cycle / Navigation within and among applications Content Provider – encapsulate data Location Manager – aware of its physical location Notification Manager – users informed about events Package Manager – infn. about other appln. Pkgs Resource Manager – lets appln accesses its resources

Telephony Manager – to learn about device telephony services View System – manages UI elements / events Window Manager – perform Window related operations ices

Free Type: for bitmap and vector font rendering Libc : standard C System library Mediaframework: supports many audio & Video formats / image files / playback & recording OpenGL/ES: for 3D graphics libraries SGL: 2D graphics engine – scalable graphics lib SQLite: provides lightweight RDB engine SSL: SSL based security for NW communication Surface Manager: manages accesses to the display subsystem – 2D & 3D graphics layers Maybe more profitable with ads than actually selling the app

Application Components Activities – visual user interface focused on a single thing a user can do (presents UI) Services – no visual interface – they run in the background User selects a song through an activity and a separate service is started Broadcast Receivers – receive and react to broadcast announcements Battery life / timezone changed etc Content Providers – allow data exchange between applications

Activities Basic component of most applications Most applications have several activities that start each other as needed Each is implemented as a subclass of the base Activity class

Activities – The View Each activity has a default window to draw in The content of the window is a view or a group of views (derived from View or ViewGroup) Example of views: buttons, text fields, scroll bars, menu items, check boxes, etc. View(Group) made visible via Activity.setContentView() method.

Services Does not have a visual interface Runs in the background indefinitely Examples Network Downloads Playing Music TCP/UDP Server You can bind to an existing service and control its operation

Broadcast Receivers Receive and react to broadcast announcements Extend the class BroadcastReceiver Examples of broadcasts: Low battery, power connected, shutdown, timezone changed, etc. Other applications can initiate broadcasts

Content Providers Makes some of the application data available to other applications It’s the only way to transfer data between applications in Android (no shared files, shared memory, pipes, etc.) Extends the class ContentProvider; Other applications use a ContentResolver object to access the data provided via a ContentProvider

Intents An intent is an Intent object with a message content. Describe operations – send an email Activities, services and broadcast receivers are started by intents. ContentProviders are started by ContentResolvers: An activity is started by Context.startActivity(Intent intent) or Activity.startActivityForResult(Intent intent, int RequestCode) A service is started by Context.startService(Intent service) An application can initiate a broadcast by using an Intent in any of Context.sendBroadcast(Intent intent), Context.sendOrderedBroadcast(), and Context.sendStickyBroadcast()

Android Manifest Its main purpose in life is to declare the components to the system: <?xml version="1.0" encoding="utf-8"?> <manifest . . . >     <application . . . >         <activity android:name="com.example.project.FreneticActivity"                   android:icon="@drawable/small_pic.png"                   android:label="@string/freneticLabel"                   . . .  >         </activity>         . . .     </application> </manifest>

Building and running ADB is a client server program that connects clients on developer machine to devices/emulators to facilitate development. An IDE like Eclipse handles this entire process for you. Compiled resources (xml files) Android Debug Bridge

Components Fragments Represents a portion of user interface in an Activity. Views UI elements that are drawn on-screen including buttons, lists forms etc. Layouts View hierarchies that control screen format and appearance of the views. Intents Messages wiring components together. Resources External elements, such as strings, constants and drawable pictures. Manifest Configuration file for the application.

Java This contains the .java source files for your project. By default, it includes an MainActivity.java source file having an activity class res/drawable-hdpi This is a directory for drawable objects that are designed for high-density screens res/layout This is a directory for files that define your app's user interface res/values This is a directory for other various XML files that contain a collection of resources, such as strings and colours definitions. AndroidManifest.xml This is the manifest file which describes the fundamental characteristics of the app and defines each of its components.

MyProject/ app/ manifest/ AndroidManifest.xml java/ MyActivity.java res/ drawable/ icon.png layout/ activity_main.xml info.xml values/ strings.xml