WorkshopAndroidPresented byArno den HondJorik BremerHolland9.com
IntroductionAndroid in one afternoonUnderstanding Android technology and being Eric SchmidtArno den Hond: Android technical developerJorik Bremer: Android business consultantHolland9.com
Workshop Outline13.00 - 13.15: Android introductionHistory, facts and trends13.15 - 13.35: Android AtonomyIntroduction into GUI framework13.35 - 14.15: Doing Android Part 1Making app with dialer, GPS and browser10 MINUTE BREAK14.25 – 15.45: Doing Android Part 2Making app with dialer, GPS and browser10 MINUTE BREAK15.55 - 16.30: The future of AndroidAndroid Business CaseHolland9.com
Android IntroductionHolland9.com
Google why Android?Carrier Adoptation but…It’s free everybody …TargetingSecurityDistribution channelsHolland9.com
Some facts and figuresOpen Handset AllianceMarkets and devicesDevelopers ecosystemHolland9.com
Android AnatomyWhat is Android? (and what not?)Is it Java? Difference with iPhone?Component Mash-upActivity, Content Provider, Broadcast, ServiceUser InterfaceXML, Layout, WidgetsData Storage
SQLite, XML, Preferences Framework
Location and MapsHolland9.com
What is AndroidNot hardware but a software platform
Java syntax but different compiler and virtual machine
Android Library and Google Libraries
NDK
Open source platform, closed source appsHolland9.com
Component Mash-UpUI Component: Activity
Intents to start Activities
ContentProviders to expose data
BroadcastReceivers to receive messages
Services in the background
Permissions
APK resourcesHolland9.com
User InterfaceActivity Lifecycle
XML Definition
Screen Layouts
Widget Components
Event Listeners
Pop-up Menu
Externalized values
Localization
Themes
Graphics
AnimationsHolland9.com
XML DefinitionActivity Lifecycle
XML Definition
Screen Layouts
Widget Components
Event Listeners

Holland9 Android Workshop Hogeschool Rotterdam

Editor's Notes

  • #6 -
  • #9 Recommended hardware requirementsGoogle apps (gmail, market, youtube) closed sourceGoogle libraries (maps) not part of Android core
  • #10 An “app” is a package of 4 types of components.Activity, Service, Content Provider, Broadcast ReceiverA package can have 0 .. n “launchable” ActivitiesActivity in package A can call Activity in package BContent Provider identified by URL, accessed like databaseIntent starts one Activity, Broadcast can start multiple receiversCreate your own permissions which other apps must request
  • #11 XML is a struggle at firstXML makes code less britleProgrammatic UI composing is possibleComplete widget setCustom WidgetsEvents: Click, Input, Focus, SelectionList and ExpandableListSpecialized ActivitiesMenu XML definitionToast is an auto-dismissing dialogExternalized values leaves cleaner codeEasy localization all in 1 appDrawing onto Canvas with PaintOpenGL 3DAnimations by frames or (scriptable) tweens
  • #12 XML is a struggle at firstXML makes code less britleProgrammatic UI composing is possibleComplete widget setCustom WidgetsEvents: Click, Input, Focus, SelectionList and ExpandableListSpecialized ActivitiesMenu XML definitionToast is an auto-dismissing dialogExternalized values leaves cleaner codeEasy localization all in 1 appDrawing onto Canvas with PaintOpenGL 3DAnimations by frames or (scriptable) tweens
  • #13 XML is a struggle at firstXML makes code less britleProgrammatic UI composing is possibleComplete widget setCustom WidgetsEvents: Click, Input, Focus, SelectionList and ExpandableListSpecialized ActivitiesMenu XML definitionToast is an auto-dismissing dialogExternalized values leaves cleaner codeEasy localization all in 1 appDrawing onto Canvas with PaintOpenGL 3DAnimations by frames or (scriptable) tweens
  • #14 XML is a struggle at firstXML makes code less britleProgrammatic UI composing is possibleComplete widget setCustom WidgetsEvents: Click, Input, Focus, SelectionList and ExpandableListSpecialized ActivitiesMenu XML definitionToast is an auto-dismissing dialogExternalized values leaves cleaner codeEasy localization all in 1 appDrawing onto Canvas with PaintOpenGL 3DAnimations by frames or (scriptable) tweens
  • #15 XML is a struggle at firstXML makes code less britleProgrammatic UI composing is possibleComplete widget setCustom WidgetsEvents: Click, Input, Focus, SelectionList and ExpandableListSpecialized ActivitiesMenu XML definitionToast is an auto-dismissing dialogExternalized values leaves cleaner codeEasy localization all in 1 appDrawing onto Canvas with PaintOpenGL 3DAnimations by frames or (scriptable) tweens
  • #16 XML is a struggle at firstXML makes code less britleProgrammatic UI composing is possibleComplete widget setCustom WidgetsEvents: Click, Input, Focus, SelectionList and ExpandableListSpecialized ActivitiesMenu XML definitionToast is an auto-dismissing dialogExternalized values leaves cleaner codeEasy localization all in 1 appDrawing onto Canvas with PaintOpenGL 3DAnimations by frames or (scriptable) tweens
  • #17 SQLite full fledged DBCursorsCursor AdaptersAdapter ViewsShareable through content provider to ensure consitencyResources (read only)Array valuesAssetsPackaged Data filesPreferencesEasy storage of settingsPreference screensXml definitionFilesRead/Write whateverRequires permission
  • #18 SQLite full fledged DBCursorsCursor AdaptersAdapter ViewsShareable through content provider to ensure consitencyResources (read only)Array valuesAssetsPackaged Data filesPreferencesEasy storage of settingsPreference screensXml definitionFilesRead/Write whateverRequires permission
  • #19 SQLite full fledged DBCursorsCursor AdaptersAdapter ViewsShareable through content provider to ensure consitencyResources (read only)Array valuesAssetsPackaged Data filesPreferencesEasy storage of settingsPreference screensXml definitionFilesRead/Write whateverRequires permission
  • #20 SQLite full fledged DBCursorsCursor AdaptersAdapter ViewsShareable through content provider to ensure consitencyResources (read only)Array valuesAssetsPackaged Data filesPreferencesEasy storage of settingsPreference screensXml definitionFilesRead/Write whateverRequires permission