Top Banner
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
17

Android overview part2

Feb 14, 2017

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Android overview part2

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

Page 2: Android overview part2

Android Architecture

More details at: http://developer.android.com/guide/basics/what-is-android.html

Page 3: Android overview part2

Mobile Devices: Advantages Always with the user Typically have Internet access Typically GPS enabled Typically have accelerometer & compass Most have cameras & microphones Many apps are free or low-cost

Page 4: Android overview part2

Mobile Devices: Disadvantages Limited screen size Limited battery life Limited processor speed Limited and sometimes slow network access Limited or awkward input: soft keyboard,

phone keypad, touch screen, or stylus Limited web browser functionality Range of platforms & configurations across

devices link

Page 5: Android overview part2

Mobile Applications What are they?

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

Page 6: Android overview part2

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

Page 7: Android overview part2

Development process for an Android app

http://developer.android.com/guide/developing/index.html

Page 8: Android overview part2

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.

http://developer.android.com/guide/developing/building/index.html#detailed-build

Compiled resources (xml files)

Android Debug Bridge

Page 9: Android overview part2

Building and Running

Page 10: Android overview part2

Applications Are Boxed By default, each app is run in its own Linux

process Process started when app’s code needs to be

executed Threads can be started to handle time-consuming

operations Each process has its own Dalvik VM By default, each app is assigned unique

Linux ID Permissions are set so app’s files are only visible

to that app

Page 11: Android overview part2

Android Architecture

Page 12: Android overview part2

Publishing and Monetizing

Paid apps in Android Market, various other markets

Free, ad-supported apps in Android Market Ad networks (Google AdMob, Quattro Wireless) Sell your own ads

Services to other developers Ex. Skyhook Wireless (http://www.skyhookwireless.com/)

Contests (Android Developer Challenge) Selling products from within your app

Page 13: Android overview part2

Android Market (Google Play) https://play.google.com/store

Has various categories, allows ratings Have both free/paid apps Featured apps on web and on phone The Android Market (and iTunes/App Store)

is great for developers Level playing field, allowing third-party apps Revenue sharing

Page 14: Android overview part2

Publishing to Google Play Requires Google Developer Account

$25 fee Link to a Merchant Account

Google Checkout Link to your checking account Google takes 30% of app purchase price

Page 15: Android overview part2
Page 16: Android overview part2
Page 17: Android overview part2

Android Design Philosophy

Applications should be: Fast

Resource constraints: <200MB RAM, slow processor

Responsive Apps must respond to user actions within 5

seconds Secure

Apps declare permissions in manifest Seamless

Usability is key, persist data, suspend services Android kills processes in background as needed