Android overview part2
-
Upload
synapseindiappsdevelopment -
Category
Technology
-
view
144 -
download
0
Transcript of Android overview part2
![Page 1: Android overview part2](https://reader035.fdocuments.us/reader035/viewer/2022062821/58a22b601a28ab527c8b56b3/html5/thumbnails/1.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062821/58a22b601a28ab527c8b56b3/html5/thumbnails/2.jpg)
Android Architecture
More details at: http://developer.android.com/guide/basics/what-is-android.html
![Page 3: Android overview part2](https://reader035.fdocuments.us/reader035/viewer/2022062821/58a22b601a28ab527c8b56b3/html5/thumbnails/3.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062821/58a22b601a28ab527c8b56b3/html5/thumbnails/4.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062821/58a22b601a28ab527c8b56b3/html5/thumbnails/5.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062821/58a22b601a28ab527c8b56b3/html5/thumbnails/6.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062821/58a22b601a28ab527c8b56b3/html5/thumbnails/7.jpg)
Development process for an Android app
http://developer.android.com/guide/developing/index.html
![Page 8: Android overview part2](https://reader035.fdocuments.us/reader035/viewer/2022062821/58a22b601a28ab527c8b56b3/html5/thumbnails/8.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062821/58a22b601a28ab527c8b56b3/html5/thumbnails/9.jpg)
Building and Running
![Page 10: Android overview part2](https://reader035.fdocuments.us/reader035/viewer/2022062821/58a22b601a28ab527c8b56b3/html5/thumbnails/10.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062821/58a22b601a28ab527c8b56b3/html5/thumbnails/11.jpg)
Android Architecture
![Page 12: Android overview part2](https://reader035.fdocuments.us/reader035/viewer/2022062821/58a22b601a28ab527c8b56b3/html5/thumbnails/12.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062821/58a22b601a28ab527c8b56b3/html5/thumbnails/13.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062821/58a22b601a28ab527c8b56b3/html5/thumbnails/14.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062821/58a22b601a28ab527c8b56b3/html5/thumbnails/15.jpg)
![Page 16: Android overview part2](https://reader035.fdocuments.us/reader035/viewer/2022062821/58a22b601a28ab527c8b56b3/html5/thumbnails/16.jpg)
![Page 17: Android overview part2](https://reader035.fdocuments.us/reader035/viewer/2022062821/58a22b601a28ab527c8b56b3/html5/thumbnails/17.jpg)
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