Mobile Dev Platforms

Download Report

Transcript Mobile Dev Platforms

Android for Java
Developers
Denver Java Users Group
Jan 11, 2012
-Mike Wolfson
@mikewolfson
Why Android?
Open APIs – everyone’s equal
 Low Barrier to entry

Run app on your own device - $0
 Sell through Google Market - $25


Easy to develop apps
Especially for Java Developers
 Platform agnostic

Open Market (or download from anywhere)
 Feature Rich platform

Framework Overview
http://developer.android.com/guide/basics/what-is-android.html
Framework – Linux Kernel
Core system services


Handles security, memory management, process
management, network access, etc
Abstraction layer between OS and hardware
Framework - Dalvik
Virtual Machine
 Optimized for mobile devices
 Every app runs in its own instance of VM
 Runs classes compiled by Java, and transformed into
.dex files
Framework - Libraries
Variety of libraries to provide built in functionality.
Framework – Application Framework
Provides functionality to allow Applications to interact with
underlying OS and other applications
Designed to simplify the reuse of components, and allow
applications to publish, or make use of the capabilities of
other applications
Framework – Applications
The layer where custom-built applications live.
This is the place where most mobile developers will
interact with Android.
Your App Here!
Framework Overview
Get Developer Tools

SDK





ADT Plugin (for Eclipse)




http://developer.android.com/sdk/index.html
Requires Java SDK (5.0 +)
Updating versions
What the different versions mean
http://developer.android.com/guide/developing/tools/adt.html
Need Eclipse Ganymede (3.4+)
Update site: https://dl-ssl.google.com/android/eclipse
Can develop without Eclipse
Developer Tools (cont)
Android command
 Emulator



Android Debug Bridge (ADB)


Android Virtual Devices (AVD)
Command line tool for interacting with
phone/emulator.
Dalvik Debug Monitor Server (DDMS)

Debugging tool providing: screen capture,
memory info, logging, info spoofing)
http://developer.android.com/guide/developing/tools/index.html
Developing an App
1.
Create a new project

2.
3.
4.
5.
6.
Project content overview
Code
Test on emulator (or device)
Debug
Sign
Export to device

As APK (Android PacKage file)
Terminology
Most
Commonly used elements
• Activity
• Intent
• Manifest file
• Resources and Assets
• Layout
• Fragment
Terminology - Layout
Layout – describes the UI of an
activity
Enables
separation of UI from
logic
There are a variety of layouts you
can use including: Linear, Table,
Relative, and Frame
Terminology - Activity
Activity – (Noun) A single
screen, your application is
made up of one or more of
these.
Always
extends Activity
Terminology - Intent
Intent – (Verb) code to perform an action
 Wiring
between activities, services,
broadcast receivers, or other functions
 facility for late run-time binding between
components in the same or different
applications
 Rich set of Intent in Android provide
excellent way of executing specific actions
Fragments
Fragments represent a behavior or
portion of a UI.
 Designed to collect a unit of UI and
behavior into a reusable component
 Don’t have own lifecycle – and must
be embedded in an Activity
Fragments
Terminology - Manifest
Manifest File – describes your app
 always
named AndroidManifest.xml
 declares the components of an
application, describes security
permissions required by the app, and
lists required library dependencies
Terminology - Resources
Resource – text, pictures, sound,
etc
 are
all abstracted from the code and
logic
 compiled and managed by system
generated R.class file
 Instantiate by getting reference to
object
Resources
Multiple Layouts and
Graphic Assets
Can also be Used for
language localization
Tip: use Density
Independent Pixels (DP)
Draw9Patch
Terminology - APK
Android Application File
 User can install apps from many sources
 Developer can upload updates easily

Terminology – cont.
 Other
important elements
• Widget
• Service
• Broadcast Receiver
• Security and Permission
• Content Provider
Learn More
http://developer.android.com
 Denver Droids


http://www.denverdroids.com/
http://forum.xda-developers.com
 http://www.stackoverflow.com
 http://developer.android.com
 Google Groups (Forums)

Questions?






@mikewolfson
Google +: Mike Wolfson
[email protected]
Slideshare:
http://www.slideshare.net/mswolfson
Dropbox:
http://dl.dropbox.com/u/23589031/DJUG.zip
Beer?!