This course solves the problem of how to understand the beginner's mind of Android architecture design and develop a featured product with Android system with deep customization and soft and hard integration capability.
The course takes the five core of Android: HAL, Binder, Native service, Android service (and the example of AMs and WMS), the View system as the spindle, a one-time thorough mastery of the essence of Android.
The reason why the development of Android products is required, originated in:
1, HAL is the key technology and required technology for Android Framework&application and the underlying hardware integration;
2, Native Service for the upper layer represents the hardware, is the real essence of Android bottom;
3, Android service is the control core of the application, all the actions of the application are controlled by Android service;
4, Binder is the cornerstone of Android system operation, do not grasp the binder will never master Android;
5, the difference of view system is one of the core competitiveness of Android products for consumers, Apple and Samsung are the classic cases of success in this field;
Through the five core of Android baptism, so fully equipped with the Android system two times the development and transformation capabilities,
To develop the most distinctive Android products.
able to read C + + and Java
First, Course features
• Build 360-degree Android product development capabilities and problem-solving capabilities to independently develop and deeply customize products with Android systems;
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 mobile phone, tablet, smart TV, car system, smart home equipment (such as microwave ovens, security doors, refrigerators) and all want to use Android hardware manufacturers;
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 (Mailbox [email protected] Telephone 18610086859 qq:1740415547 )
China's only mobile internet and cloud computing big Data synthesizer;
President and chief expert, cloud computing Big Data Spark Asia-Pacific Institute;
The president and chief expert of Spark's Asia-Pacific Research Institute, Spark source-level expert, has spent more than 2 years on Spark's painstaking research (since January 2012), and has completed a thorough study of the 14 different versions of Spark's source code, while constantly using the various features of spark in the real world, Wrote the world's first systematic spark book and opened the world's first systematic spark course and opened the world's first high-end spark course (covering spark core profiling, source interpretation, performance optimization, and business case profiling). Spark source research enthusiasts, fascinated by Spark's new Big data processing model transformation and application.
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;
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;
More than 10 of it best-selling authors;
Six , training content
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.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
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 12.1 ndk and JNI relationship
12.2 NDK Development process
12.3 The installation and operation of programs developed using the NDK approach
Java in 12.4 NDK calls each other in C + +
Multithreaded programming in the 12.5 ndk
12.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.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.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.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
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 class: Activitymanagerservice Principle and core architecture analysis
Architecture analysis and main anatomy of 22.1 AMS
22.2 AMS Start a Process architecture parsing source Analysis
22.3 AMS start activity, Service, broadcast, ContentProvider architecture analysis and source code analysis
23rd class: Windowmanagerservice Principle and core architecture analysis
23.1 Windowmanagerservice Architecture Parsing
23.2 Window creation Process Analysis
23.3 activity interacts with Windowmanagerservice
23.4 Windowmanagerservice under the Surfaceflinger
23.5 drawing of Windows and changing the whole code parsing
24th topic: Dalvik Virtual Machine Architecture design and implementation for a thorough analysis
24.1 Dalvik virtual machine boot process profiling
Analysis of running process of 24.2 Dalvik virtual machine
Analysis of the JNI method registration process for 24.3-C + + Dalvik interaction with Java
24.4 Dalvik about process and thread creation and management profiling
25th topic: Source code: Through binder, ServiceManager, Bpbinder, Bnbinder, aidl through the architecture core of Android entire system (120 minutes)
25.1. How does the source Profiling Service Manager become a daemon?
25.2. How does the source profiling server and client get the Service Manager interface?
25.3. How does the source profiling server start up its own services? How is Service Manager servicing server during server startup?
25.25 How does the source Profiling Service Manager provide services to the client?
25.5. Android system interprocess communication binder mechanism Java Interface Source code analysis in the application framework layer
Liaoliang's most popular one-stop cloud computing big Data and mobile Internet Solution Course V4 Android Architecture design and Implementation complete training: hal&framework&native service&android service& Best Practice