Android IntroductionLars VogelTwitter: @vogellaGoogle+: http://gplus.to/vogella
What is Android?- Software stack based on Linux with a Java programming interface.- Open Source - Developed officially by the Open Handset Alliance lead by Google
Android is market-leader in the Smartphone segmentMore then 550 000 new phone activations per day (from 14 Juli 2011)
On Android you develop in JavaReally?
Android ProgrammingApplication runs on the Dalvik virtual machine Tool dx converts Java Bytecode into Dalvik Executable Code (.dex)You use the Java programming language but Android does not run Java Bytecode
Overview of the API CapabilitiesRich UI componentsThreads and Background ProcessingFull network stack (Http, JSON)Database and File System accessAccess to the hardware (GPS, Camera, Phone)and much more............
Developer Toolchain
Android Development Tools (ADT) for EclipseEclipse based toolingWindowsLinux (i386)Mac OS (Intel)
EmulatorQEMU-based ARM emulator runs same image as a deviceUse same toolchain to work with device or emulatorInital startup is slooooowwwwww.....
Android programming constructs
Main Android programming constructsActivityViewsIntentsBroadcast ReceiverServicesContentProvider
ActivityAn activity is a single, focused thing that the user can do.Extends “android.app.Activity”Layout of Activity defines UI elements and their arrangements
I had only the best intents....
In Android there is no such thing as a monolistic application, everything is a connection of components.
Intentsnew Intent(Intent.ACTION_VIEW, Uri.parse("http://www.vogella.de"));new Intent(Intent.ACTION_CALL, Uri.parse("tel:(+49)12345789"));New Intent(this, MyClass.class);
Deployment Also known as: I really hope that Steve likes my app....
DeploymentUSB CableMarket (Google, Amazon)Direct
There is more....
I can talk and hearInternet (java.net, Apache HttpClient, JSON...)BluetoothEmailSMSVoIP (SIP (Session Initiation Protocol))
I have feelingsCamera APIMotion DetectionLocation API (GIS)Heat SensorAccelerator
Other CapabilitiesGood security systemPush to deviceStorage: File System / Preferences SQLiteDatabaseInteractive Widgets on the homescreenLive Wallpapers (as background)Animations and StylingSimple List handling(Multi-) TouchNFSCanvas / OpenGL ES (Game programming....)
Performance?
Be fast!Avoid ApplicationNotResponding ErrorThreads not allowed to modify the UI directlyUse handler or AsyncTask to update the UI after Thread is done
SummaryAndroid powerful and well-designed development platformMarketleader for SmartphonesPower to the developer
Android: Where to go from here:Google for „Android Development Tutorials“Android Training: http://www.vogella.de/training/android.html
Thank youFor further questions:Lars.Vogel@gmail.comhttp://www.vogella.deTwitter http://www.twitter.com/vogellaGoogle+ http://gplus.to/vogella
Picture Credit	All pictures are from http://www.sxc.hu/ to get them add the number to http://www.sxc.hu/photo/Agenda 1089869Dalvik 1269657Software Layer  / Tomatos 832159616474Thinking guy 324541Smiling Boy 812138Toolchain 1197009Stopwatch http://www.sxc.hu/photo/634598Timer / Watches 1062014Next guy 986700Sad Lady 232738Funny guy  1173019Waiter / Services http://www.sxc.hu/photo/157966Security 695054There is more 702367Performance rabbits 786444
Performance  snail 1181451

Android Overview (Karlsruhe VKSI)