Android soft and hard integration design and framework: Hal&framework &native Service &APP&HTML5 architecture design and real-combat development

Source: Internet
Author: User
Tags sqlite database file transfer protocol

Mastering all the technologies of Android from the bottom up to the framework integration technology to the top app development and HTML5;

A thorough baptism of Android architecture, thought and combat technology;

Complete mastery of Andorid HAL, Android Runtime, Android Framework, Android Native Service, Android Binder, Android App, Android testing, The core technologies, such as the source and essence of HTML5 technology, are not only the technology and the code itself, but more importantly the design ideas and business philosophy behind it.

First, Course features

L through the whole system of Android software and hard integration and HTML5 end Cloud integration technology;

L Full case-driven, re-analysis of the case code behind the design thinking and business password;

L thoroughly master the password behind the Android Hal;

L thoroughly master the implementation mechanism and technology of Android HAL

L thoroughly master the password behind the Android Framwork

L thoroughly master the design thinking and philosophy of Android Framwork

L UNCOVER the cornerstone of the Android system's Operation Binder

L Use a camera instance to thoroughly dissect native service and binder

L completely combat all the techniques of writing Andorid applications

L MASTER the source and essence of HTML5 technology

Second, training Object

L people who are interested in Android soft and hard integration;

L want to quickly understand and master Android applications and the underlying technology personnel;

L Android Bottom-level developer;

L Android frame design and developer;

L Android product architect;

L Android System architect;

L Android app developer;

L people who want to work in HTML5 system (browser development, PHONEGAP plugin development, etc.)

L Want enthusiasts, engineers, programmers, and engineering technicians in the relevant industries to engage in mobile terminal development

Third, Training Objectives

L committed to building in the era of soft and hard cloud integration with independent thinking ability and practical ability of high-quality IT personnel;

L Android Senior Engineer

L Android Transplant Engineer

L Android Framework Development engineer

L Android Project manager

L Android Architect

L HTML5 System Architecture and developers

Four , student base

1) with Java Foundation;

2) have C and C + + foundation better;

3) All the understanding of the design pattern will be of great benefit to improving the listening effect;

Five , training methods

For 3 days, this course covers Android's underlying, Android HAL, Android Runtime, Android Framework, Android Native Service, Android Binder, Android App Development, Android Web development and other soft and hard cloud integration of almost all the core technology and uncover the source and essence of HTML5 Technology, committed to building in the era of soft and hard cloud integration with independent thinking ability and practical ability of high-quality IT personnel Teaching is a case-driven basis for the design thinking and business password behind the explanation code;

Liaoliang Teacher

Android architect, senior engineer, consultant, training expert;

Proficient in Android, HTML5, Hadoop, English broadcasting and bodybuilding;

A one-stop solution dedicated to Android, HTML5, Hadoop's soft, hard, and cloud integration;

China's earliest (2007) engaged in Android system porting, soft and hard integration, framework modification, application software development as well as Android system testing and application software testing, one of the technical experts and technical entrepreneurs.

One of the earliest practitioners in the field of HTML5 Technology (2009), successfully implemented a variety of custom HTML5 browsers for multiple organizations, participating in the development of a well-known HTML5 browser;

Hadoop Source-level experts, who have been responsible for the development of a well-known company's class Hadoop framework, focus on the provision of one-stop Hadoop solutions, as well as one of the first practitioners of cloud computing's distributed Big Data processing, the avid enthusiast of Hadoop, Constantly in the practice of using Hadoop to solve different areas of big data processing and storage, is now responsible for Hadoop in search engine research and development, there is "cloud computing distributed Big Data Hadoop Combat Master Road---from scratch" Cloud computing distributed Big Data Hadoop Combat Master Road---Master Rise "cloud computing distributed Big Data Hadoop. A master of the road---Master of the top "and so on;

Six , training content

First day

1th topic: The Secrets of Android architecture

How does Google support and control the world's hardware vendors and application developers through Android?

What is the source of Android control power? How is it technically implemented?

1,3 Android Linux kernal, HAL, Libararies, Runtime, application framework design concept and implementation technology;

1.4 The delicate relationship between Android platform and hardware and cloud;

2nd topic: Android Boot process disclosure

2,1 The first user process profiling;

The relationship between 2,2 ServiceManager and binder;

2,3 zygote secret and its operation mode;

2,4 The first Java process in Android, the first Java process and ServiceManager relationship and code implementation;

3rd topic: Launching a new app in Android secrets

3,1 What happens when we touch the icon of an app on the Android screen in launcher?

Where is the execution portal for the 3,2 application?

3.3 How did the process of a new Android application come about?

4th topic: HAL Secrets

4.1 Hal is added to Android for true historical reason analysis

4.2 Hal's Unexpected value revelation

4.3 Hal's stub

4.4 hw_module_t and hw_device_t

How does the 4.5 C language implement inheritance to meet the design purpose of the HAL stub? including memory structure analysis and code style discussion, etc.

4.6 How do I avoid dirty Code when the HAL stub is implemented?

5th topic: HAL Stub combat

5.1 Using object-oriented thinking to analyze, design and implement stubs

5.2 The relationship between subclasses of hw_module_t and subclasses of hw_device_t and the advantages of this relationship

5.3 How do I implement a call to a C function in a struct? How does the subclass of hw_module_t interact with hw_device_t subclasses in code?

5.4 Type Conversion Issues

6th topic: Hal and Linux Kernel

6.1 HAL stub access and control hardware

Anatomy of Linux kernel under 6.2 android

6.3 Android Hardware Driver

6.4 Access to Linux kernel space driver

7th topic: Service and HAL stub integration

7.1 Interacting with HAL in a service-oriented perspective and approach

Analysis of the type and C/s structure of 7.2 library files

7.3 Hw_get_module

7.4 Getting the code flow anatomy of a HAL stub object

7.5 Why the HAL stub's Open method must provide the supporting API (the operating interface to the device) to runtime;

8th topic: Service, ServiceManager, and binder interaction relationships uncover

Who is the first service of 8.1 binder? Why design and implement this?

8.2 How to write a service

8.3 New service generation interaction process with ServiceManager and binder

8.4 How do I get a service?

Analysis of producer and consumer model of 8.5 binder

Time

Content

Note

Next day

9th topic: Binder and shared Memory

9.1 Binder Source Code anatomy

9.2 Shared Memory Analysis

9.3 How does binder use shared memory to complete interprocess communication?

9.4 Analyzing Binder's producer and consumer patterns using shared memory from a code perspective

10th topic: Dalvik VMS

10.1 Dalvik VM features, Dalvik VM and JVM comparisons

What are the root causes and solutions for the 10.2 Dalvik VM's memory distribution and oom (out of memory)?

10.3 Preload classes and preload Resources,classloader exactly where?

10.4 Dalvik with Java and C + +

11th topic: JNI Programming in Android

11.1 Java calls to C + +

11.2 jnienv, JVM, Jobject secret

11.3 C + + Create Java objects, invoke Java properties and methods

Multithreaded Programming in 11.4 JNI

The application of 11.5 facade pattern in JNI

11.6 PnP (Plug and Play)

12th topic: NDK Programming in Android

The revelation of 11.1 ndk and JNI relationship

11.2 NDK Development process

11.3 The installation and operation of programs developed using the NDK approach

Java in 11.4 NDK calls each other in C + +

Multithreaded programming in the 11.5 ndk

11.6 The Secrets of standardization and substitution for Android software development

13th topic: Systemserver and Service in the framework

13.1 Zygote and Systemserver

13.2 Systemserver The process of opening the Java World

How does the 13.3 Android service and native service relate?

13.4 Android Service with ServiceManager

13.5 How to add your own services to ServiceManager?

14th topic: Adding a Java-written service to the Applciation framework

14.1 IInterface and CTS

14.2 Binder

14.3 Aidl

14.4 Java Service and manager

14.5 Systemserver, ServiceManager

15th topic: Event-driven mechanism for Android framework porting

How does the 15.1 Android service deal with hardware blocking?

15.2 opening new sub-threads and constantly poll

15.3 Listener Registration

15.4 Callback

15.5 handler, Message, Looper, MessageQueue, application in the framework

15.6 instance of event-driven mechanism

16th topic: Manager, Service, and full data flow

Principles of separation of 16.1,manager and service

16.2,ANR problems

16.3, blocking operation and non-blocking operation

16.4, illustrate the data flow from the bottom to the top of Android in an example

17th theme: Android soft, hard, cloud Trinity Integration

17.1 Technologies to uncover the cloud, including key technologies and implementations of the cloud

17.2 integration of Android and cloud in native service

17.3 Integration of Android and cloud in the application framework

17.4 Android soft, hard, cloud Trinity integration, including patterns, strategies, implementation technologies

Time

Content

Note

Third Day

18th topic: Android application framwork and app relationships

What is the specific relationship between the 18.1 framework and the app?

18.2 The framework and app interaction process?

How does the 18.3 framework control the app?

18.4 Framework and Android's four components;

19th topic: Android Application framwork and app relationships

What is the specific relationship between the 19.1 framework and the app?

19.2 the framework and app interaction process?

How does the 19.3 framework control the app?

19.4 Framework and Android's four components;

20th topic: Handler, Looper, Message, MessageQueue

20.1. The event-driven model of Android

20.2. Looper, MessageQueue, Hanlder, message and other source depth analysis

20.3. Looper, MessageQueue, Hanlder, message, and multi-threaded cases

21st Topic: Asynctask Asynchronous Threading Technology

21.1. Reasons for using Asynctask and thoughts on Asynctask

21.2. Asynctask code Example

21.3. Asynctask Source Analysis

22nd topic: Android Test

The benefits of 22.1.Android code testing, the way to test

22.2.JUnit Frame parsing

22.3. The life cycle of the test case

22.4. Automated Testing

22.5. Source Code Analysis

23rd topic: Broadcast recipient Broadcastreceiver, SMS Listener case (after receiving a text message uploaded to the server or sent to the specified number or sent to the specified message)

23.1. Analyze the broadcast receiver, compare with JMS, broadcast recipient's IOC principle

23.2. SMS Monitor Android Client

23.3. Server-side Setup

23.4. Upload the received SMS to the server via the network

23.5. Send the received SMS to the designated mobile phone number or email

23.6.BroadcastReceiver life cycle and considerations and solutions for 5 Seconds of life response time

24th topic: Service services, telephone listeners (auto power on each boot, phone recording and uploading to the server)

24.1. Detailed Profiling Service

24.2. Building a service for phone monitoring

24.3. Use Broadcastreceiver to monitor the boot event and start the service

24.4. Upload the audio file to the server

24.5. Thinking about the Android security system

25th topic: ContentProvider Background, usage, how to build Contentprovider,urimatcher,contenturis, unit test for Cotentprovider, source code Analysis

25.1.ContentProvider background, purpose

25.2. Detailed steps to build ContentProvider

25.3. A thorough analysis of the URI

25.4. Analysis Urimatcher,contenturis

25.5. Unit test for ContentProvider's business layer code

25.6.ContentProvider of source code anatomy

26th topic: Address Book-based development

26.1. Database and data table Analysis of contacts

26.2. Source code Analysis of Address Book ContentProvider

26.3. Get all the contact information

26.4. Add a Contact

26.5. How to handle things when adding contacts records

27th Topic: Breakpoint Continuation (i) multi-threaded downloader similar to Thunderbolt (for any type of file download)

27.1, multi-threaded download breakpoint continuation principle and flowchart

27.2, download the file when the HTTP protocol protocol detailed

27.3, multi-threaded download Breakpoint Continuation program: Design Server and Android

27.4,android-side content involves IOC, multi-threading, SQLite database, Handler, HTTP protocol, cache handling, unexpected shutdown processing, authoring framework, MVC, Service, I/O flow in Android, code debugging, Life cycle of activity, etc.

27.5, Unit Test

27.6, software debugging

28th topic: Breakpoint Continuation (ii) multi-threaded Breakpoint file uploader (for any type of file upload)

28.1, breakpoint continuation principle and flowchart

28.2. Detailed HTTP protocol for uploading files

28.3. Customize your own File Transfer Protocol

28.4, the preparation of the server program: File download and real-time data recording, monitoring mode, garbled problem processing, concurrency problems, hacker security issues

28.5, client program writing: Android memory overflow problem, Android socket programming, large file transfer, large file transfer security issues

28.6, Unit Test

28.7, software debugging

29th topic: Uploading of Android client form data

29.1. Upload the basic data type

29.2, upload pictures and other attachments

Refactor the code into a tool class that can upload any number of fields and any number of attachments

30th topic: Java in Android and JavaScript in WebView communicate with each other

30.1, making the new World of Android interface

30.2,java calling JavaScript

30.3,javascript calling Java

31st topic: Browser Development and customization

31.1 browser customization and development of the core principles of analysis

31.2 Browser customization and development of technical means analysis

31.3 Browser customization and development combat

32nd theme: HTML5 era: Device, Browser, Cloud

32.1 HTML5 age who is the most important?

32.2 HTML5 and device

32.3 HTML5 and Cloud

32.4 what dominated the HTML5 era?

33rd topic: What is the technical cornerstone of the HTML5 development platform----PHONEGAP framework?

33,1 using WebView

33,2 using JavaScript in WebView

33.3 creating a local Java API

33.4 using Javascriptinterface

33.5 JavaScript calls Java

33.6 Java call JavaScript

33.7 PhoneGap is how to use the Javascriptinterface

34th topic: Plugin Development of PhoneGap

34.1 How do I extend the functionality of PhoneGap?

34.2 IPlugin Interface

Application and value of 34.3 proxy-stub model in the development of plugin

How to control hardware vendors and Web developers in 34.4 plugin development

34.5 plugin core Code analysis and development combat

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.