2. Android
● What is Android?
– Android is a Linux-based operating system
designed primarily for touchscreen mobile devices
such as smartphones and tablet computers.
6. Dalvik VM
● Dalvik is the process virtual machine (VM) in Google's Android
operating system. It is the software that runs the apps on Android
devices. Dalvik is thus an integral part of Android, which is typically
used on mobile devices such as mobile phones and tablet
computers as well as more recently on embedded devices such as
smart TVs and media streamers. Programs are commonly written in
Java and compiled to bytecode. They are then converted from Java
Virtual Machine-compatible .class files to Dalvik-compatible .dex
(Dalvik Executable) files before installation on a device. The
compact Dalvik Executable format is designed to be suitable for
systems that are constrained in terms of memory and processor
speed.
http://en.wikipedia.org/wiki/Dalvik_(software)
7. System Architecture
● Runs on top of Linux 2.6.
● Dalvik VM optimized for mobile devices.
● Integrated browser on the Webkit engine.
● Optimized graphics with OpenGL ES.
● SQLite database for structured data storage.
8.
9. What You Should Know
Object-oriented programming concepts
Some experience with Java Programming
Experience with Eclipse environment helpful
Knowledge of Android capabilities helpful
10. Development Environment
● Java SE Development Kit (JDK)
● Android SDK Tools:
– Android SDK
● http://developer.android.com/sdk/index.html
– AVD
– Dalvik Debug Monitor Server (DDMS)
● Android NDK *
● ADT + Eclipse IDE
11. Elements
● Java
● XML resources
● Multimedia resources (Raw)
13. Application Fundamentals
● Written in the Java Programming Language
● Compiled into Android package file (.apk)
● Each application runs in its sandbox and Linux
process
● Applications consist of components, a manifest
file and resources
14. Activity
● Represents a single screen with a user
interface
● Most applications contain multiple activities
● When a new activity starts, it is pushed onto the
back stack
● User interface can be built with XML or in Java
● Monitor lifespan through callback methods like
onStart(), onPause(), etc
15. Multiscreen Concepts
● Screen size: The actual physical size,
measured as the screen's diagonals
● Screen density: The quantity of pixels within a
physical area of the screen
● Screen supports
– http://developer.android.com/guide/practices/screen
s_support.html
16. Sizes and Densities
● Android divides the range of actual screen sizes
and densities into:
– A set of four generalized sizes > layouts:
● small, normal, large, xlarge
– A set of four generalized densities > drawable:
● ldpi(low), mdpi(medium), hdpi(high), xhdpi(extra high)
18. Best Practices Multiple Screens App
● Use wrap_content, fill_parent, or dp units when
specifying dimensions in an XML layout file
● Do not use hard coded pixel values in your
application code
● Do not use AbsoluteLayout (it's deprecated)
● Supply alternative bitmap drawables for
different screen densities