Android framework. How to use it and extend it

Similar documents
Android System Architecture. Android Application Fundamentals. Applications in Android. Apps in the Android OS. Program Model 8/31/2015

Another difference is that the kernel includes only the suspend to memory mechanism, and not the suspend to hard disk, which is used on PCs.

Lecture 2 Android SDK

ITG Software Engineering

Mobile development initiation

Android Application Development Course 28 Contact Hours

Android. Lesson 1. Introduction. Android Developer Fundamentals. Android Developer Fundamentals. to Android 1

Introduction to Android

Android Online Training

Android Ecosystem and. Revised v4presenter. What s New

Android Fundamentals - Part 1

Security Philosophy. Humans have difficulty understanding risk

IGEEKS TECHNOLOGIES. Software Training Division. Academic Live Projects For BE,ME,MCA,BCA and PHD Students

Introduction to Android

ANDROID DEVELOPMENT. Course Details

Android Application Development Course Code: AND-401 Version 7 Duration: 05 days

Syllabus- Java + Android. Java Fundamentals

Application Fundamentals

ANDROID NATIVE APP: INTRODUCTION TO ANDROID. Roberto Beraldi

Android Overview. Most of the material in this section comes from

MARS AREA SCHOOL DISTRICT Curriculum TECHNOLOGY EDUCATION

Mobile Application Development Android

An Introduction to Android. Jason Chen Developer Advocate Google I/O 2008

Android App Development for Beginners

Mobile Computing. Introduction to Android

ORACLE UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP)

Introduction. Lecture 1. Operating Systems Practical. 5 October 2016

Minds-on: Android. Session 1

ANDROID COURSE BROCHURE

ANDROID TRAINING PROGRAM COURSE CONTENT

Contextual Android Education

ATC Android Application Development

Android App Development

Android Internals and the Dalvik VM!

Safety First - Android sicher programmieren! Benjamin Reimold & Stephan Linzner

Introduction to Android Android Smartphone Programming. Outline University of Freiburg. What is Android? Background University of Freiburg.

SEVEN ADVANCED ACADEMY

Software Development & Education Center ANDROID. Application Development

application components

ANDROID SYLLABUS. Advanced Android

Android Programming - Jelly Bean

Produced by. Mobile Application Development. David Drohan Department of Computing & Mathematics Waterford Institute of Technology

Android App Development. Ahmad Tayeb

Mobile Application Development

MS-20487: Developing Windows Azure and Web Services

Introduction What is Android?

Questions and Answers. Q.1) Which of the following is the most ^aeuroeresource hungry ^aeuroepart of dealing with activities on android?

Mobile Application Development Android

Required Core Java for Android application development

COURSE 20487B: DEVELOPING WINDOWS AZURE AND WEB SERVICES

Android Programmierung leichtgemacht. Lars Vogel

Lecture 08. Android Permissions Demystified. Adrienne Porter Felt, Erika Chin, Steve Hanna, Dawn Song, David Wagner. Operating Systems Practical

SHWETANK KUMAR GUPTA Only For Education Purpose

Mobile Application Development - Android

Developing Windows Azure and Web Services

Android Apps Development

CS260 Intro to Java & Android 04.Android Intro

INTRODUCTION. 2

Android Application Development 101. Jason Chen Google I/O 2008

Developing Solutions for Google Cloud Platform (CPD200) Course Agenda

Mobile Application Development Android

Android Programming in Bluetooth Cochlea Group

The Pennsylvania State University. The Graduate School. Department of Computer Science and Engineering. A Thesis in. Computer Science and Engineering

Lecture 3 Android Internals

Scippa: System-Centric IPC Provenance on Android

Android Application Development

Android Training Overview (For Demo Classes Call Us )

COURSE SYLLABUS ANDROID. Industrial Training (4 MONTHS) PH : , Vazhoor Road Changanacherry-01.

Oracle Fusion Middleware 11g: Build Applications with ADF I

Produced by. Mobile Application Development. David Drohan Department of Computing & Mathematics Waterford Institute of Technology

MS_40541 Build Native Cross-Platform Mobile Apps with a Shared C# Business Logic for ios, Android, and UWP in C#.NET with Xamarin and Visual Studio

Oracle Fusion Middleware 11g: Build Applications with ADF I

Android Application Development

DeepDroid: Dynamically Enforcing Enterprise Policy on Android Devices

Developer s overview of the Android platform

Real-Time Embedded Systems

Android ATC Android Security Essentials Course Code: AND-402 version 5 Hands on Guide to Android Security Principles

ANDROID APPLICATION DEVELOPMENT COURSE Training Program

Android Security Lab WS 2013/14 Lab 2: Android Permission System

Android. Mobile operating system developed by Google A complete stack. Based on the Linux kernel Open source under the Apache 2 license

Infrastructure Middleware (Part 3): Android Runtime Core & Native Libraries

Columbia University in the city of new york

CS378 -Mobile Computing. Intents

Services are software components designed specifically to perform long background operations.

Android - open source mobile platform

Praktikum Mobile und Verteilte Systeme. Android-Basics. Prof. Dr. Claudia Linnhoff-Popien André Ebert, Sebastian Feld

Oracle Fusion Middleware 11g: Build Applications with ADF Accel

Android-Basics. Praktikum Mobile und Verteilte Systeme. Prof. Dr. Claudia Linnhoff-Popien André Ebert, Sebastian Feld

Developing Cross-Platform Native Apps with AppStudio for ArcGIS. Jo Fraley Erwin Soekianto

6.858 Quiz 2 Review. Android Security. Haogang Chen Nov 24, 2014

Microsoft Developing Windows Azure and Web Services

2 Lecture Embedded System Security A.-R. Darmstadt, Android Security Extensions

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)

CO Java SE 7: Develop Rich Client Applications

3 Software Stacks for IoT Solutions. Ian Skerrett Eclipse

Programming Concepts and Skills. Creating an Android Project

Android Exam AND-401 Android Application Development Version: 7.0 [ Total Questions: 129 ]

AND-401 Android Certification. The exam is excluded, but we cover and support you in full if you want to sit for the international exam.

GUJARAT TECHNOLOGICAL UNIVERSITY

Android" Application Development SAMS. Sams Teach Yourself. Shane Conder. Lauren Darcey. Second Edition

Transcription:

Android framework How to use it and extend it Android has got in the past three years an explosive growth: it has reached in Q1 2011 the goal of 100M of Activations world wide with a number of daily activations which overcome 500K in Q3 2011. These numbers are the result of a complex mixture between OEMs needs and the Open Philosophy which has allowed OEMs and an Open Community to participate proficiently at one of the bigger Open Source project in the world. Within this course we will dig into the Android Application Framework: from application's bound entities (such as Activities, Services, Intents, BroadcastReceivers, ), to the innovative, distributed-like, IPC model passing through the key features of this framework which enables quality applications within the mobile/embedded environment. The framework analysis will be taken forward showing how an example feature has been designed from the Java API down to the Android driver stub, enabling the student to extend the Android framework and to export its dedicated SDK. Total hours 30 hours in total where 16 of frontal lessons and 14 of hands on laboratory. Reference book: Mainly no books will be taken as reference, all the course material (Slides, code examples, ) will be available on-line for the students. Suggested readings could be: Learning Android, Marko Gargenta, O'Reilly Prerequisites OO programming. Having seen Java before helps a lot. Exam Project: choose one of the proposed ones or agree your proposal. 1/5

Detailed program Lesson 1: Introduction Introducing the course Little History of Android Web coordinates of Android documentation Android sources Mobile device environment Resource limitation (Memory/CPU/Power) Peripherals richness (As a PC but with much more: Sensors, Modem...) Android stack from bottom to top. Interesting comparison between dalvik/native/ajax How do I code thee Lesson 2: Application environment How Android manage applications: All starts from Zygote Foreground entities (Activities) Background entities (Services, Broadcast receivers, Content providers) Intents, intents filters, intent resolution explicit vs implicit, default among the set, resolvability Bundles to pass small data Tasks, Application stack and low memory management. Persist Activity state over low memory kills Lesson 3: Application environment 2 Application User Interface and Resources XML as the mother way to enhace the application development 2/5

Define UI layout Solve transparently the Localization problem Gives out of the box solutions to typical needs How to design UI Different Layouts and Views Design for portability. Drawables (static, stretchable, state by state) Tools to check/optimize layouts Lesson 4: All the ways to persist data: Flat files Shared Preferences DB based (SQL Lite) Data management / Fast UI Lists and Adapters to show sets of data From a simple static list to CursorAdapters How to expose data sets with ContentProviders Test case: how to solve the high latency problem when displaying data from an Internet service. Lesson 5: Async tasks Using handlers Interactive Services Messengers Bound Services IPC in Android. Complex Services and IPC Binder as a local distribute communication model 3/5

Lesson 6: Runtime Security in Android Runtime App isolation through linux processes Data protection through fine grained UID assignment System level ACL through GIDs for having access to system features (Camera, Wifi, SD Card) How to save securely user credentials Platform wide Lesson 7: The developer takes its own risk with App signing No applications can gain critical permissions Apps vs. Great Apps How to enhance the user experience taking care of: Lesson 8: Latencies and unpredictability UI Optimization Power consumption vs data readiness Java caveats Hardware feature from top to bottom How the Camera API is designed from Java to the Android driver stub 4/5

Laboratories should start after Lesson 2 Lab 1: Lab 2: Lab 3: Lab 4: Lab 5: Lab 6: First impact to Android app development Code versioning manage Android Source code Practice Android data management Binding to system services Apply tips to the on developing project Android build system 5/5