Sei sulla pagina 1di 4

Advanced Android.

Duration: 3 Days
Overview Android Stack
Android Linux Kernel Layer Android User-Space Native Layer Android Application Framework Layer Android Applications Layer What is in NDK? Why NDK? Java Native Interface (JNI) Using NDK Fibonacci Example Overview NDKs Stable APIs Lab: NDK Why IPC? What is Binder? What is AIDL? Building a Binder-based Service and Client FibonacciCommon - Define AIDL Interface and Custom Types FibonacciService - Implement AIDL Interface and Expose It To Our Clients Implement AIDL Interface Expose our AIDL-defined Service Implementation to Clients FibonacciClient - Using AIDL-defined Binder-based Services Async-IPC via Binder Lab: Binder-based Service with AIDL Overview Android Security Architecture Application Signing User IDs File Access Using Permissions Permission Enforcement Declaring Custom Permissions Requiring Permissions Enforcing Permissions Dynamically ContentProvider URI Permissions

Android Native Development Kit (NDK)

Android Binder Inter Process Communication (IPC) with AIDL

Android Security

Public vs. Private Components Intent Broadcast Permissions Pending Intents Lab Encryption Rooting an Android device Security of Memory Tap-Jacking on Android Android Device Administration Anti-malware Other Security Concerns Why Build Android From Source? Setting up the Build Environment Downloading the Source Tree Android Source Code Structure Android Build System Initializing the Build Environment Choosing the Build Target Compiling Android Examining the Built Images Running Custom Android Build on Emulator Running Custom Android Build on Real Hardware Building the Linux Kernel Getting the Kernel Bootloading the Kernel Androids init Startup Zygote Startup System Server Startup Vibrator Power Service WiFi Service Telephony Location Service Audio Service Android Media Framework Surface Flinger Camera Service

Building Android From Source

Android Startup

Android Services

Customizing Android

Setting up the Directory Structure Registering our Device with Androids Build System Adding the Makefile Plumbing for our Device Adding a Custom Kernel to our Device Adding a Custom Native Library and Executable to our Device Using our Native Library via a Custom Daemon Exposing our Native Library via Java (i.e. JNI) Consuming our a Custom Java/JNI?Native Library via a Custom App (Optional) Exposing our Custom Library via a Custom IPC/Binder Service Building a Custom App Using a Custom Service Manager Creating a Custom SDK Add-on (Optional) Android USB Support Mobile Web Landscape Why PhoneGap? Web Apps versus Native Apps versus Hybrid Apps Web -> native conversion Device APIs PhoneGap Implementation PhoneGap and Appcelerator Titanium What is the gap in PhoneGap? Phonegap and Apache Exercise

Mobile Web Overview

Create, deploy and run a PhoneGap app

PhoneGap APIs
Accelerometer Compass Device Geolocation Storage Camera Connection Events Media Capture Contacts File Notification Exercise:

Implement an app that uses at least one PhoneGap API

UI Frameworks

NFC

Mobile overview jQuery Mobile intro jQuery Mobile Theme Roller Media Queries Exercise

Implement a PhoneGap app that uses jQuery Mobile and change the theme

Architecture of NFC Application Development Sample Application using NFC

Potrebbero piacerti anche