Upload
hayi-nukman
View
1.255
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Presentasi Pengembangan Applikasi Android untuk pengguna Linux di OSCA (Open Source Community AKAKOM),Yogyakarta, 25 September 2011
Citation preview
Agenda
Introduction Android Architecture Application Development Demo
What is Android?
● What is Android??● Android Features.
– Application framework
– Dalvik virtual machine
– Integrated browser
– Optimized graphics
– SQLite
– Media support
– GSM Telephony (hardware dependent)
– Bluetooth, EDGE, 3G, and WiFi (hardware dependent)
– Camera, GPS, compass, and accelerometer (hardware dependent)
– Rich development environment
Agenda
Intro Android Architecture Application Development Demo
Android Architecture
Android Architecture
● Linux Kernel ● 2.6 -> core system
– Security,– memory management, – process management, – network stack, and – driver model.
Android Architecture
● Library– System C library (libc)– Media Libraries - based
on PacketVideo's OpenCORE;
– Surface Manager– LibWebCore– SGL– 3D libraries– FreeType - bitmap and
vector font rendering– SQLite
Android Architecture
● Android runtime– Dalvik VM– Not a Java VM
● register based
– one instance per application
– memory optimized– uses Linux to manage
memory and multi-threading
Android Architecture
● Application Framework● Service and System
– Views
– Content providers
– Resource manager
– Notification manager
– Activity manager
● All Java classes● Simplify the reuse of
components● Any application can publish
its capabilities and any other application may then make use of those capabilities
Android Architecture
● Applications● Core Applications
– email client, – SMS program, – calendar, – maps, – browser, – contacts, and others
● All applications are written using the Java programming language.
Agenda
Intro Android Architecture Application Development Demo
Development Environment
● Eclipse Based● Android SDK,
– http://developer.android.com/sdk/index.html● Android Development Tools (ADT) plugin for Eclipse
– http://developer.android.com/sdk/eclipse-adt.html● Emulator (AVD)
or● Target Devices
– USB Connection
Development Environment
● Netbean Based● Android SDK,
– http://developer.android.com/sdk/index.html● Android plugin for Netbeans
– http://kenai.com/projects/nbandroid/downloads/download/updatecenter/updates.xml
● Emulator (AVD)or
● Target Devices– USB Connection
Development Environment
● Command Line Based● Android SDK,
– http://developer.android.com/sdk/index.html● Ant + Bash + editor,● Emulator (AVD),
or● Target Devices
– USB Connection
Reference: http://developer.android.com/guide/developing/projects/projects-cmdline.html
Development Environment
● Web Based (App Inventor)● Android SDK,
– http://developer.android.com/sdk/index.html● Web Browser,
– http://www.appinventorbeta.com● Emulator (AVD),
or● Target Devices
– USB Connection
Programming Model
No single entry point – main()Run when needed.
Programming Model
● Activity– Executable unit– Has UI– 1 application can have
multiple Activity● Services
– Similar to Activity– No UI– Run in Background
● Content Providers– Makes application's data
available to other– Can be:
● File system,● Database (SQLite)● Other
– Targeted by: ContentResolver
● Broadcast Receiver– Respond to broadcast
messages.
● Application Components
Where is the Tools?
● android
● Dalvik Debug Monitor Server (ddms)
● dmtracedump
● Draw 9-patch
● Android Emulator (emulator)
● Hierarchy Viewer (hierarchyviewer)
● hprof-conv
● layoutopt
● mksdcard
● Monkey
● monkeyrunner
● ProGuard
● sqlite3
● traceview
● zipalign
Agenda
Intro Android Architecture Application Development Demo
Lets try to Develop.
How do I create some Project?
Which one? Eclipse Based,
or
Command Line
Android + Eclipse
Android + Bash (Ant)
Requirement:● Ant● Shell / Bash
atau
Create a Project.
Run in terminal:
$ android create project \
target <target> \
name <project name> \
path <path to project> \
activity <activity name> \
package <package name>
Example:
$ android create project \
target 7 \
name CobaAndroid \
path ./CobaAndroid \
activity CobaActivity \
package com.android.main
Project Structure
└── CobaAndroidProject
├── AndroidManifest.xml
├── bin
├── build.properties
├── build.xml
├── default.properties
├── libs
├── local.properties
├── proguard.cfg
├── res
│ ├── drawablehdpi
│ │ └── icon.png
│ ├── ...
│ ├── layout
│ │ └── main.xml
│ └── values
│ └── strings.xml
└── src
└── com
└── android
└── main
└── CobaAndroidActivity.java
Running it...
Just type:
$ emulator avd <avd_name> &
[wait a moment]
$ ant install
$ adb shell 'am start n <package.name>/.<ActivityName>'
Debugging it...
Run from terminal:
$ ddms
Deployment
● Debug● Target: Development
● Release● Target: Market● Unsigned● Signed (for Market)
Where I can learn it?
http://www.anddev.org
http://www.vogella.de/
http://stackoverflow.com/questions/tagged/android
And the last one....
What happen if:
SL4A