Copyright© Jeffrey Jongko, Ateneo de Manila University Android.

Post on 28-Dec-2015

212 views 0 download

Transcript of Copyright© Jeffrey Jongko, Ateneo de Manila University Android.

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