Android Programming Beomjoo Seo ([email protected]) Sep.,
12 CS5248 Fall 2012
Slide 2
Contents Installation Example by a sample app, Hello, CS5284
Create an Android Project Building and Running Debugging General
Topics Fundamental Components Activity, Service, Content Providers,
and Broadcast Receiver Activity, Intent UI : Layout, Menu Thread
Misc: Media Recorder, HTTP Post, MP4Parser Sample Application
http://developer.android.com/guide/index.html
Slide 3
Installation Procedure Install JDK 5 or JDK 6 Install Eclipse
IDE Eclipse 3.5 or above Eclipse JDT plugin Run Android SDK starter
package Install ADT plugin (ADT 20.0.3) Eclipse > Help >
Install New Software -> Add
https://dl-ssl.google.com/android/eclipse/ Configure ADT plugin
http://developer.android.com/index.html Eclipse IDE for Java (EE)
Developers
Slide 4
Install SDK Packages From Android SDK and AVD Manager Via
consoleORvia eclipse
Slide 5
SDK Version Mapping Convention Android 4.0.3 Platform SDK
Tools, Revision 20 API Level: 15
Slide 6
Eclipse ADT Plugin Configuration Specify Android SDK
locationIncrease ADT connection time out At Windows >
Preferences > Android
Slide 7
Creating a Sample App, Hello, CS5248
Slide 8
Eclipse > New > Android Project
Slide 9
Main Activity Class
Slide 10
Graphical Layout Editor Update ADT plugin !!!
Slide 11
XML Layout File
Slide 12
Value Resources - Strings.xml
Slide 13
R.java
Slide 14
The Manifest file
Slide 15
Default.properties
Slide 16
Building App
Slide 17
Building Process Running
Slide 18
No Android Device ? Install USB Driver !!!
Slide 19
1.Install OEM USB Driver from ASUS website.
http://support.asus.com/download/http://support.asus.com/download/
and search by Transformer 2.Update Driver Software from Device
Manager 3.Locate USB Driver folder 4.Enable USB Debugging at
Transformer USB Driver Installation Update Driver software
Slide 20
Enabling USB debugging OR
Slide 21
After Successful USB Driver Installation /tools/ddms.bat
OR
Slide 22
Running Sample App.
Slide 23
Sample Hello World Code
Slide 24
Editing Sample Code BE PATIENT Since Eclipse may not be
responsive for a long time !!! Add id to main.xml Edit
HelloWorldActivity.java @+id/helloId
Slide 25
Lets Debug the code
Slide 26
A Sample Code
Slide 27
App Failure
Slide 28
Always, Look at DDMS !!!
Slide 29
Correction
Slide 30
Debugging via Dalvik Debug Monitor (ddms) Log.e("Hello, World",
"Hello, BJ");
Slide 31
Now, everything is ready
Slide 32
Application Components Android application .apk : android
package Four Application Components Activity A single screen with a
user interface Service A background processing unit with no user
interface Content Provider Broadcast Receiver Communication among
components except Content Provider Intent
Activity 2 Hierarchical View Architecture ViewGroup (Layout)
View ViewGroup (Layout) View View ViewGroup Declare Activity in the
manifest
Slide 35
Activity 3 Start an Activity Start an Activity for a Result
Caller Activity Callee Activity finish Activities and Stack
Slide 36
UI Declaring Layout Initiated when called setContentView() on
onCreate() Use Visual Layout Editor for initial layout design. Edit
XML file extensively. wrap_content or fill_parent
Slide 37
UI Creating Menu Menu Types Options Menu Appears when a user
touches MENU button. Context Menu Submenu How to Specify menu items
in a XML resource menu Inflate a Menu Resource Respond to user
Action At res/menu/game_menu.xmlinflate callback
Thread UI Thread Main thread per application responsible for
interacting with UI components. Application Not Responding problem
If UI thread is blocked more than several seconds, ANR dialog
appears. Do not block the UI thread Do not access UI components
outside UI thread. modify
Slide 40
Use AsyncTask, Instead
Slide 41
Misc - Media Recorder Modify CameraPreview to see the video
during recording.
Slide 42
Misc - HTTP Post Use HttpClient and HttpPost. Use
multi-part/form-data to encapsulate segment. Do not allocate memory
excessively.
Slide 43
Misc - Integration with MP4Parser Adding a jar file Create its
jar file. Add jar file to the app. Build Path > Configure Build
Path > Libraries > Add JARs. If you include source files
directly, Put Isoparser-default.properties to assets folder Change
getResourceAsStream(isoparser- default.properties) in
PropertyBoxParserImpl to /assets/isoparser-default.properties.
Slide 44
Misc - Connecting to NUS Wifi
Slide 45
Misc Permission Issue Add following permissions to the manifest
file.
Slide 46
Sample Implementation MainActivity RecordActivity Upload
Service PlayerActivity Option menuContext menu Record Record Button
Click Preview Item ClickUpload Item Click