Post on 28-Dec-2015
Copyright© Jeffrey Jongko, Ateneo de Manila University
Android
Overview What is Android?
Features
Architecture
Runtime: Dalvik VM
Linux Kernel
Under the Hood
Java, Eclipse, Android SDK Installation
New Project Creation
Project Folder Hierarchy
Very Simple Lab Exercises
What is Android? software stack for mobile devices
operating system middleware key applications
Android SDK contains tools and APIs necessary to begin developing applications
on the Android platform using the Java programming language.
Android Features Application framework enabling reuse and replacement of
components
Dalvik virtual machine optimized for mobile devices
Integrated browser based on the open source WebKit engine
Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)
SQLite for structured data storage
Android Features Media support for common audio, video, and still image formats
(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
GSM Telephony (hardware dependent)
Bluetooth, EDGE, 3G, and WiFi (hardware dependent)
Camera, GPS, compass, and accelerometer (hardware dependent)
Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE
Android Architecture
Android Runtime: Dalvik VM Android Virtual Machine (VM) = Dalvik
Every Android app runs in its own process, with its own instance of the Dalvik VM.
The “dx” tool (from the Android SDK) translates Java classes compiled by a Java Language compiler into “.dex” (Dalvik Executable) format.
“.dex” files are zipped into a single “.apk” (Android application package) file
Android: Linux Kernel
Uses Linux version 2.6 Core System Services
SecurityMemory managementProcess managementNetwork stackDriver model
Android: Under the Hood
Java, Eclipse, Android SDK Installation
Refer to: CS119_3InstallationSteps_Nov11,2010.doc http://developer.android.com/sdk/index.html
New Project Creation
In Eclipse, select File > New > Project
Select Android > Android Project
All the highlighted items must be modified
Note: if you have a lot of available targets you need to scroll down
New Project Creation: Contents
New Project Creation: Build Target
Android 2.1-update1 = Android API onlyGoogle APIs = Android API + Google API
New Project Creation: Properties
Application name = title of application; will appear on Android device
Package name = where src will reside; must have at least 2 components (i.e. 1 dot)
Create Activity = optional; name of your main Activity classMin SDK Version = minimum API level to run your app; If
unsure, use API level in Build Target
Android Project Folder Hierarchy
Android Project Folder Hierarchy
- contains R.java - auto-generated - short-hand way to refer to res - DO NOT EDIT MANUALLY!
Android Project Folder Hierarchy
- contains files (.txt files, etc) that you can’t put in the res folder.* res folder contains images (PNG, JPEG, etc) and XML.-You can only READ data in the asset folder, not overwrite or add stuff during runtime
Android Project Folder Hierarchy
- contains images- for multiple screen support- dpi = density-independent pixel- High, Medium, Low
Lots of Different Devices
Multiple Screen Support
Android Project Folder Hierarchy
- contains XML files that indicate what your app looks like- each XML file could have TextViews, Buttons, etc
Android Project Folder Hierarchy
- may contain XML files (e.g. strings, styles)- putting string values inside string.xml file makes it easier to localize/change to other foreign languages- styles ≈ css
Android Project Folder Hierarchy
- contains details about the app (Android version, etc), the Activities used, permissions, etc
Lab Exercises
Create a hello world project (use Android 2.1 Eclair)
Implement * patterns using For Loops******************
******************************
***** **** *** ** *
Most Android versions are named after food … know them all