android overview part2

Post on 14-Feb-2017

145 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Android Architecture

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

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

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

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

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

Development process for an Android app

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

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

Building and Running

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

Android Architecture

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

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

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

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

top related