Android and android phones
-
Upload
dennise-layague -
Category
Education
-
view
1.075 -
download
0
Transcript of Android and android phones
ANDROID AND
ANDROID PHONES
WHAT IS ANDROID?
Android is a software stack for mobile devices that includes an operating system, middleware and key applications.
BRIEF HISTORY 2005
Google acquires startup Android Inc. to start Android platform
Work on Dalvik VM begins 2007
Open Handset Alliance announced Early look at SDK
2008 Google sponsors 1st Android Developer
Challenge T-Mobile G1 announced SDK 1.0 released Android released open source (Apache License) Android Dev Phone 1 released
Brief History cont. 2009
SDK 1.5 (Cupcake) New soft keyboard with “autocomplete” feature SDK 1.6 (Donut) Support Wide VGA SDK 2.0/2.0.1/2.1 (Eclair) Revamped UI, browser
2010 Nexus One released to the public SDK 2.2 (Froyo) Flash support, tethering SDK 2.3 (Gingerbread) UI update, system-wide copy-paste
Brief History cont.
HoneycombAndroid 3.0-3.2
2011 SDK 3.0/3.1/3.2 (Honeycomb) for tablets only
New UI for tablets, support multi-core processors SDK 4.0/4.0.1/4.0.2/4.0.3 (Ice Cream Sandwich)
Changes to the UI, Voice input, NFC
Ice cream SandwichAndroid 4.0+
What is an Android Phone?
Since Google built Android as an open standard device, anyone can build applications for the phone and enhance them.
Android is completely customizable!
Android Architecture
Applications for Android
More than 10,000 applications are available for free or for purchase on Android Market.
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
Development process for an Android app
Android Apps Built using Java and new SDK libraries
No support for some Java libraries like Swing & AWT
Oracle currently suing Google over use Java code compiled into Dalvik byte code
(.dex) Optimized for mobile devices (better memory
management, battery utilization, etc.) Dalvik VM runs .dex files
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
What is an Android Phone?Like Apple’s iPhone, Android has a
touch screen. Some Android phones also have keyboards.
Different designs for Android home screens
Google’s Headquarters
The (bad) Reviews Resizing is clumsy and difficult. No easy way to get your music library
onto phone. Video/music player are “hideous.” Official apps not as polished as iPhone
counterparts. Looking through apps on phone and
syncing with computer can be tedious. Not the simplest device to figure out. Phone controls inconsistent. Can be slow.
The (good) Reviews Google’s apps are “simply awesome.” A bit cheaper. Very good mobile browser. Good for tech-savvy people. Developing and improving faster than any other
phone on the market. Large room for potential growth and
improvements!
Mobile Devices: Advantages (as compared to fixed devices)
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 sizeLimited battery lifeLimited processor speedLimited and sometimes slow network
accessLimited or awkward input: soft keyboard,
phone keypad, touch screen, or stylusLimited web browser functionalityRange of platforms & configurations across
devices
Building and running (more details)
Expand figure
Android Interface Definition Language (AIDL) – Definitions to exchange data between applications (think SOAP)
http://developer.android.com/guide/developing/building/index.html#detailed-build
Android Asset Packing Tool
Allows processes across apps to communicate.
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 MonetizingPaid apps in Android Market, various
other marketsFree, 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 http://www.android.com/market/
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 Android Market
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
Apple vs. Google Android
Open Handset Alliance 30+ technology companies Commitment to openness, shared vision,
and concrete plans Compare with Mac/PC battles
Similar (many PC manufacturers, one Apple)
Different (Microsoft sells Windows, Google gives away Android)