Why did developers migrate Android applications from Java ...
Android For Java Developers
-
Upload
mike-wolfson -
Category
Technology
-
view
6.652 -
download
1
description
Transcript of Android For Java Developers
![Page 1: Android For Java Developers](https://reader036.fdocuments.us/reader036/viewer/2022062617/54c806ce4a7959671a8b4587/html5/thumbnails/1.jpg)
Android for Java Developers
![Page 2: Android For Java Developers](https://reader036.fdocuments.us/reader036/viewer/2022062617/54c806ce4a7959671a8b4587/html5/thumbnails/2.jpg)
Framework Overview
http://developer.android.com/guide/basics/what-is-android.html
![Page 3: Android For Java Developers](https://reader036.fdocuments.us/reader036/viewer/2022062617/54c806ce4a7959671a8b4587/html5/thumbnails/3.jpg)
Framework – Linux Kernel
Core system services
Handles security, memory management, process management, network access, etc
Abstraction layer between OS and hardware
![Page 4: Android For Java Developers](https://reader036.fdocuments.us/reader036/viewer/2022062617/54c806ce4a7959671a8b4587/html5/thumbnails/4.jpg)
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
![Page 5: Android For Java Developers](https://reader036.fdocuments.us/reader036/viewer/2022062617/54c806ce4a7959671a8b4587/html5/thumbnails/5.jpg)
Framework - Libraries
Variety of libraries to provide built in functionality.
![Page 6: Android For Java Developers](https://reader036.fdocuments.us/reader036/viewer/2022062617/54c806ce4a7959671a8b4587/html5/thumbnails/6.jpg)
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
![Page 7: Android For Java Developers](https://reader036.fdocuments.us/reader036/viewer/2022062617/54c806ce4a7959671a8b4587/html5/thumbnails/7.jpg)
Framework – Applications
The layer where custom-built applications live.
This is the place where most mobile developers will interact with Android.
Your App Here!
![Page 8: Android For Java Developers](https://reader036.fdocuments.us/reader036/viewer/2022062617/54c806ce4a7959671a8b4587/html5/thumbnails/8.jpg)
Framework Overview
![Page 9: Android For Java Developers](https://reader036.fdocuments.us/reader036/viewer/2022062617/54c806ce4a7959671a8b4587/html5/thumbnails/9.jpg)
Get Developer Tools
SDK http://developer.android.com/sdk/index.html Requires Java SDK (5.0 +) Updating versions What the different versions mean
ADT Plugin (for Eclipse) 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
![Page 10: Android For Java Developers](https://reader036.fdocuments.us/reader036/viewer/2022062617/54c806ce4a7959671a8b4587/html5/thumbnails/10.jpg)
Developer Tools (cont)
Android command Emulator
Android Virtual Devices (AVD) Android Debug Bridge (ADB)
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
![Page 11: Android For Java Developers](https://reader036.fdocuments.us/reader036/viewer/2022062617/54c806ce4a7959671a8b4587/html5/thumbnails/11.jpg)
Developing an App
1. Create a new project Project content overview
2. Code
3. Test on emulator (or device)
4. Debug
5. Sign
6. Export to device As APK (Android PacKage file)
![Page 12: Android For Java Developers](https://reader036.fdocuments.us/reader036/viewer/2022062617/54c806ce4a7959671a8b4587/html5/thumbnails/12.jpg)
Terminology
Most Commonly used elements• Activity
• Intent
• Manifest file
• Resources and Assets
• Layout
![Page 13: Android For Java Developers](https://reader036.fdocuments.us/reader036/viewer/2022062617/54c806ce4a7959671a8b4587/html5/thumbnails/13.jpg)
Terminology - Activity
Activity – (Noun) A single screen, your application is made up of one or more of these.Always extends Activity
![Page 14: Android For Java Developers](https://reader036.fdocuments.us/reader036/viewer/2022062617/54c806ce4a7959671a8b4587/html5/thumbnails/14.jpg)
Terminology - Layout
Layout – describes the UI of an activity Enables separation of UI from logicThere are a variety of layouts you can use
including: Linear, Table, Relative, and Frame
![Page 15: Android For Java Developers](https://reader036.fdocuments.us/reader036/viewer/2022062617/54c806ce4a7959671a8b4587/html5/thumbnails/15.jpg)
Terminology - Intent
Intent – (Verb) code to perform an action Wiring between activities, services,
broadcast receivers, or other functionsfacility for late run-time binding between
components in the same or different applications
![Page 16: Android For Java Developers](https://reader036.fdocuments.us/reader036/viewer/2022062617/54c806ce4a7959671a8b4587/html5/thumbnails/16.jpg)
Terminology - Resources
Resource – text, pictures, sound, etcare all abstracted from the code and logiccompiled and managed by system
generated R.class fileInstantiate by getting reference to object
![Page 17: Android For Java Developers](https://reader036.fdocuments.us/reader036/viewer/2022062617/54c806ce4a7959671a8b4587/html5/thumbnails/17.jpg)
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
![Page 18: Android For Java Developers](https://reader036.fdocuments.us/reader036/viewer/2022062617/54c806ce4a7959671a8b4587/html5/thumbnails/18.jpg)
Terminology – cont.
Other important elements• Widget
• Service
• Broadcast Receiver
• Security and Permission
• Content Provider
![Page 19: Android For Java Developers](https://reader036.fdocuments.us/reader036/viewer/2022062617/54c806ce4a7959671a8b4587/html5/thumbnails/19.jpg)
Learn More
http://developer.android.com Phoenix Android Users Group
http://groups.google.com/group/phoenix-android http://forum.xda-developers.com http://www.openintents.org http://www.anddev.org Google Groups (Forums)
![Page 20: Android For Java Developers](https://reader036.fdocuments.us/reader036/viewer/2022062617/54c806ce4a7959671a8b4587/html5/thumbnails/20.jpg)
Questions?
Follow me on twitter: @mikewolfson