Professional Documents
Culture Documents
Introduction
Course Description
Introduction
mit Topaan umit.topacan@gmail.com
Course Resources
Books
Beginning Android 4 Application Development, 1 edition
Wei-Meng Lee; Wrox (March 6,2012)
Web Sites
http://developer.android.com/index.html
Aim
The course covers both of the fundamental and advanced topics of Android programming using the Android SDK.
Android UI - Layouts
Working with Layouts Managing screen orientation changes Applying styles and themes to activities
Action Bar
Adding the Action Bar Adding Action Items Styling the ActionBar
Menus
Defining and using menus
Options menu Context menu Popup menu
User Notifications
Working with
Toasts Notifications Dialogs Broadcast Receivers
Data Storage
Shared Preferences
Store private primitive data in key-value pairs.
Internal Storage
Store private data on the device memory.
External Storage
Store public data on the shared external storage.
SQLite Databases
Store structured data in a private database.
Network Connection
Store data on the web with your own network server.
Content Providers
Using content providers to store and share application data
Content Providers offer a generic interface your applications can use to share data with and consume data from other applications including many of the native data stores
Mobile Development
Mobile vs Desktop
Mobile devices and desktop computers are very different
small screen vs big screen intermittent vs reliable connectivity low vs high bandwidth battery powered vs plugged in
Mobile vs Desktop
Mobile devices are actually more powerful than desktops in many ways.
highly personal
always with us directly addressable
Since web apps are browser-based, theyre intended to be platform and device independent, able to run on any web-enabled smartphone or tablet
Android
What is Android
Android is an ecosystem made up of a combination of three components:
free, open-source operating system for embedded devices An open-source development platform for creating applications Devices, particularly mobile phones, that run the Android operating system and the applications created for it
Aim
to accelerate innovation in mobile offer consumers a richer, less expensive, and better mobile experience
OHA Members
API
1 2 3 4 5
Codename
Release Date
3 September 2008 9 February 2009
2.0.1
2.1 2.2 - 2.2.3 2.3 - 2.3.2 2.3.3-2.3.7
6
7 8 9 10
Eclair
Eclair Froyo Gingerbread Gingerbread
3 December 2009
12 January 2010 20 May 2010 6 December 2010[ 9 February 2011
API
11
12
Codename
Honeycomb
Honeycomb
Release Date
22 February 2011
10 May 2011
3.2
4.0 - 4.0.2 4.0.3 4.0.4 4.1 4.2
13
14 15 16 17
Honeycomb
Ice Cream Sand. Ice Cream Sand. Jelly Bean Jelly Bean
15 July 2011
19 October 2011 16 December 2011 9 July 2012 13 November 2012
4.3
4.4
18
19
Jelly Bean
KitKat
24 July 2013
31 October 2013
Platform Versions
Version
2.2 2.3.3 2.3.7 3.2 4.0.3 4.0.4 4.1.x 4.2.x 4.3 4.4
Codename
Froyo Gingerbread Honeycomb Ice Cream Sandwich
Jelly Bean
API
8 10 13 15 16 17 18 19
Distribution
1.3 % 20.0 % 0.1 % 16.1 % 35.5 % 16.3 % 8.9 % 1.8 %
Kit Kat
Each Android application runs in a separate process within its own Dalvik instance
Android Architecture
Linux Karnel
contains all the low level device drivers for the various hardware components
process management memory management device management like camera, keypad, display
provides an abstraction layer between the hardware and the remainder of the stack
Libraries
Contain all the code that provides the main features of an Android OS.
SQLite library provides database support WebKit library provides functionalities for web browsing SSL libraries responsible for Internet security
Android Runtime
includes a set of core libraries that provides functions of Java programming language. includes the Dalvik virtual machine
which is a specialized virtual machine designed specifically for Android OS to run android applications
Application Framework
Application Layer
applications that you download and install from the Android Market applications that you write
Tools
Java Development Kit (JDK) Android Software Development Kit (SDK)
The Android SDK provides you the API libraries and developer tools necessary to build, test, and debug apps for Android.
ADT Bundle
Includes
Eclipse + ADT plugin Android SDK Tools Android Platform-tools The latest Android platform The latest Android system image for the emulator
Download from
http://developer.android.com/sdk/index.html
SDK Platformtools
Documentati on SDK Platform
<sdk>/platformtools/
<sdk>/docs/ <sdk>/platforms /<androidversion>/
<sdk>/platforms /<androidversion>/sample s/
Android Support
A static library you can include in your app sources in <sdk>/extras/an order to use powerful APIs that aren't available in droid/support/ the standard platform.
SDK Manager