Synapseindia android apps presentation on android application development
Gene Presentation For Android
-
Upload
gene-leybzon -
Category
Technology
-
view
1.157 -
download
2
description
Transcript of Gene Presentation For Android
Android+Amzonca+Zxing=?
By Gene Leybzon
http://www.facebook.com/profile.php?id=574038581
Android
Android is the first free, open source, and fully
Android is the first free, open source, and fully and fully customizable mobile platform.
and fully customizable mobile platform.
Android Platform
ApplicationsApplications
Application FrameworkApplication Framework
LibrariesLibrariesLibrariesLibraries
Linux KernelLinux Kernel
Mobile Device(s)Mobile Device(s)
Android Applications
PhonePhone
BrowserBrowser
ContactsContactsContactsContacts
SMSSMS
User Developed ApplicationsUser Developed Applications
Android Application Framework
Activity ManagerActivity Manager
Window ManagerWindow Manager
Telephony ManagerTelephony ManagerTelephony ManagerTelephony Manager
Location ManagerLocation Manager
Notification ManagerNotification Manager
Android Libraries
Open GLOpen GL
SSLSSL
WebKitWebKit
SQL LiteSQL Lite
Android Linux Kernel
Linux version 2.6Linux version 2.6
NetworkNetwork
SecuritySecurity
Memory…Memory…
Android Mobile Devices
Future of Android
Q4 2008: Localization (German)Q4 2008: Localization (German)
Q4 2008: Support for multiple access point nodesQ4 2008: Support for multiple access point nodes
Q1 2009: Input method Q1 2009: Input method Q1 2009: Input method frameworkQ1 2009: Input method framework
Q1 2009: Input method enginesQ1 2009: Input method engines
Q1 2009: Localization(French, Italian, es_es, zh_TW, Ja, NL, CZ)Q1 2009: Localization(French, Italian, es_es, zh_TW, Ja, NL, CZ)
Deep Dive
Into Android
Application Application
Development
Development Process OverviewDownload/Install SDK
http://code.google.com/android/download.html
Download/Install SDK
http://code.google.com/android/download.html
Install Eclipse IDE 3.3
http://www.eclipse.org/downloads/
Install Eclipse IDE 3.3
http://www.eclipse.org/downloads/
Develop the applicationDevelop the applicationDevelop the applicationDevelop the application
Sign the appSign the app
Debug & TestDebug & Test
Publish to marketplacePublish to marketplace
Developing Applications
Remember your goalRemember your goal
Know building blocks *Know building blocks *
Know JavaKnow JavaKnow JavaKnow Java
Know the process *Know the process *
Be creativeBe creative
Building Blocks
Android ManifestAndroid Manifest
ActivityActivity
ViewView
Intent and Intent FiltersIntent and Intent FiltersIntent and Intent FiltersIntent and Intent Filters
ServicesServices
NotificationsNotifications
Content ProvidersContent Providers
Android Manifest
Is an XML fileIs an XML file
Application propertiesApplication properties
ActivityActivity
PermissionsPermissions
InstrumentationInstrumentation
Intent and Intent FiltersIntent and Intent Filters
ReceiverReceiver
ServiceService
Content ProviderContent Provider
android.app.Activity
Object that has lifecycleObject that has lifecycle
May or may not have interact
with end-user
May or may not have interact
with end-user
Have stateHave state
Can save persistent stateCan save persistent state
Can be foreground or backgroundCan be foreground or background
Activity Lifecycle
android.view.View
Basic UI building blockBasic UI building block
Responsible for drawing UIResponsible for drawing UIResponsible for drawing UIResponsible for drawing UI
Process Events (key, trackball, touch)Process Events (key, trackball, touch)
android.content.Intent
Describes operation to be performedDescribes operation to be performed
Is a glue between activitiesIs a glue between activitiesIs a glue between activitiesIs a glue between activities
Describes desired action and data necessary to perform the actionDescribes desired action and data necessary to perform the action
Intent Actions
MAINMAIN
VIEWVIEW
PICKPICK
EDITEDIT
android.content.IntentFilter
Describes capabilitiesDescribes capabilities
Used for intent resolutionUsed for intent resolutionUsed for intent resolutionUsed for intent resolution
Describes how to handle actionDescribes how to handle action
android.content.BroadcastReceiver
Handles external eventsHandles external events
Used for both sending and receiving broadcasts Used for both sending and receiving broadcasts broadcasts broadcasts
Described in app manifestDescribed in app manifest
android.app.Service
Runs in the backgroundRuns in the background
Does not interact with usersDoes not interact with usersDoes not interact with usersDoes not interact with users
Declared in app manifestDeclared in app manifest
Content Providers
Object that can store and retrieve data Object that can store and retrieve data
Accessible by other applications Accessible by other applications Accessible by other applications Accessible by other applications
Many content providers are pre-build by Android (Audio, Video, Contacts)Many content providers are pre-build by Android (Audio, Video, Contacts)
Notifications
Icon in the status barIcon in the status bar
Flashing LED Flashing LED
SoundSound
VibrationVibration
UI Components (demo time)
Practical App Example
Amazonca Barcode Reader
Amazonca.com
AMAZONCA.COM
AMAZONCA.COM
Barcode Database (1 Mil records)Barcode Database (1 Mil records)
APIAPI
Creative Commons LicenseCreative Commons License
Social FeaturesSocial Features
ZXing (“Zebra Crossing”)
ZXing
Barcode Decoding LibraryBarcode Decoding Library
JavaJava
Apache License 2.0Apache License 2.0
UPC-A ,UPC-E, EAN-8, EAN-13 decodingUPC-A ,UPC-E, EAN-8, EAN-13 decoding
Android + ZXing+
Android
Mobile Barcode
ZXing
Barcode Reader
Android + ZXing+
Android
Mobile Barcode
ZXing
Barcode Reader
Android + Zxing + Amazonca+
Android
Physical World to
+
ZXing
Amazonca.com
World to WEB
Connection
Behind the + sign (location)+ +
android.content.Context c = mActivity .getApplicationContext();
android.location.LocationManager lm = (LocationManager);
c.getSystemService(Context.LOCATION_SERVICE);c.getSystemService(Context.LOCATION_SERVICE);
Location loc =
lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
Double lat = loc.getLatitude();
Double lon = loc.getLongitude();
String s = "lat="+ lat.toString() + "&lon=" + lon.toString();
Demo Time
∑ummary+ +
Open source is mash-able
Fastest way to build a product –
maximum reuse of existing components
Pay attention to licensing:Pay attention to licensing:Android - Apache Software License
ZXing - Apache Software License
Amazonca .com data - Creative Commons 3.0
Gene Leybzon
http://code.google.com/android/
http://code.google.com/p/zxing/
http://www.amazonca.com