Android in-depth research and learning courses

Source: Internet
Author: User

 

Android is a Linux-based smartphone operating system developed by Google. It is widely used in 3G mobile phones and netbooks. Currently in the explosive growth phase, HTC (HtC), Motorola, Sony Ericsson, Samsung and many other companies have launched Android-based smart operating systems, and even many netbooks use Android operating systems. Currently, Android is the most popular smart operating system. With the advantages of Linux, the wide application of Android has eclipsed other competitors. Therefore, learning the Android operating system is of great significance.

This platform uses omap3530-Devkit8000 KIT development board for Android in-depth research and learning.

 

◆ Android operating system overview

1. Android system architecture

2. Android Application Design Philosophy

3. Open-source knowledge of Android

4. Android reference website and authoritative information

 

◆ Android SDK and Development Environment Construction

1. Android SDK version released

2. Install and update the ADT plug-in

3. Android Application Architecture

4. Create the first Android Project (helloandroid !)

5. Import an open-source project through eclipse

6. Visual interface development tools

7. Deploy the application to the android simulator or mobile phone

 

◆ Android source code development environment establishment and source code structure analysis

1. Establish the development system host environment

2. Install the package required packages

3. Ubuntu 9.10

4. Install Javva

5. source code structure analysis Android source (kernel platform application)

6. Android build Analysis

7. Android System Analysis

8. Android framwork Analysis

9. Android bring up

 

◆ Android Application Design Model

1. drawable

2. Layout

3. Values (strings. XML, colors. XML, style. XML, arrays. XML, etc)

4. R. Java analysis and usage

5. androidmanifest. xml

6. Android. mk

7. Activity

8. Intent

9. Service

10. contentprovider

 

◆ Android Application Interface (1)

1. Use textview

2. Use of drawable

3. Reference drawable color constant and background color

4. charsequence data type and resourceid Application

5. Use of displaymetrics

6. Style Definition

7. Button event processing

8. setcontentview Application

9. Use of intent object

10. Implementation of bundle objects

11. startactivityforresult Method

12. alertdialog window

13. Interaction between buttons and textview

14. Use typeface objects

15. Gallery object

16. Multi-button Application

17. Menu function menu Program Design

18. progressdialog and thread application

19. dynamically generate and maximize buttons

20. Select a function dialog box

21. Android theme implementation

22. Supports screens with multiple resolutions

 

◆ Android Application Interface (2)

1. edittext and setonkeylistener events

2. Focus and event handling of imagebutton

3. Use of the toast object

4. The ischecked attribute of the checkbox

5. Application of Multi-option checkbox

6. radiogroup and oncheckedchanged events

7. imageview stack Application

8. spinner and setdropdownviewresource

9. dependencies between arraylist and widgets

10. Gallery and derivative baseadapter container

11. javai/o applications

12. Select Special Effects for imagebutton

13. autocompletetextview and array

14. Principles of analogclock and digitalclock

15. datepicker and timepicker applications

16. imageview Click Event and transparency Processing

17. Integrated Application of progressbar and handler

18. Design of gridview and arrayadapter

19. listview Layout

20. listactivity and menu integration skills

21. Integration of javai/O and listactivity

22. Use the decodefile Method

23. Use a matrix object to zoom in and out graph files

24. Rotate imageview by bitmap and Matrix

25. radiobuttonid

26. icon in the dialog window

 

◆ Android Application interaction and mobile phone module control

1. pendingintent and alarmmanager

2. pendingintent and smsmanager

3. Intent and email

4. Data Storage Methods

5. icationicationmanager and notification

6. Adapter object and cursor

7. telephonymanager Application

8. Application of runningtaskinfo

9. Use of provider. Contact

10. Use of provider. Calendar

11. Integration and use of service and runnable

12. broadcastreceiver and intent

13. Cycler and intent-Filter

14. Android Network Programming

15. http request and Connection

16. webview. loadurl

17. WebKit and WebCore

18. httpurlconnection and urlconnection and running thread

19. runnable and surfaceview

20. Google API

 

◆ Android system service

1. Activity Manager

2. Windows Manager

3. Surface Manager (surface flinger)

4. Package Manager

5. Telephony Manager

6. Content Provider

7. Resource Manager

8. assetmanager

9. View System

10. Location Manager

11. Notification Manager

12. alarmmanager

13. batterymanager

14. hardwaremanage

15. How to add a new system service and open APIs

16. Key services

17. Android Startup Process

 

ARM platform Android transplantation and driver core development

Android embedded smart operating systems are based on linux kernels and drivers. for Android operating systems developed by companies such as HTC and Huawei, android must be specially transplanted to specific hardware platforms, at the same time, write and develop necessary drivers. This course aims to enable students to become Android core-layer developers, so that students can seek the positions of core developers in such embedded device manufacturers.

 

◆ 1. Android system and porting tools

1.1 Introduction to the Android operating system architecture

Introduction to porting Android Linux Kernel

File System, toolbox, etc.

Storage driver porting

Bootloader solution and Port

About Dalvik transplantation in Android Virtual Machine

 

1.2 introduction to arm Processors

Armv5tjs

Arm interrupt handling

ARM architecture and ARM processor architecture

IP core, chip and Development Board

ARM processor structure processor Mode

. Register

. Pipeline Structure

Example of C language Embedded Assembly format and Programming

 

1.3 arm Command System

. Arithmetic Logic commands

. Impact of commands on status registers

. Comparison command

. Branch command

. Shift

. Command bitmap

. Identify machine commands

 

1.4 memory access and memory control

Use and instance of Data Bus and address bus

. Str/LDR

 

1.5 arm process call standards

. LDM/STM

. Disassembly

. APCs

. Mutual calls between C-language functions and assembly

 

[Case] Use Android linux patch to build the Linux Kernel

 

2. Android Linux kernel porting and core development

 

Android system of 2.1 ARM processor

2.2 input/output device driver Transplantation

2.3 storage device NAND Flash, MMC/SD card driver Transplantation

2.4 framebuffer porting

2.5 touchscreen porting

2.6 port open binder IPC

[Case]

2.7 Android porting test on ARM processor

2.8 compile the NAND Flash Driver

2.9 port the framebuffer driver

2.10 hardware-related components (keyboard, touch screen, LCD, etc)

 

3. Migration of Android-related environment libraries and bionic systems

3.1 libc porting

3.2 libm Transplantation

3.3 libdl Transplantation

3.4 libm Transplantation

3.5 port busybox and toolbox

[Case]

1. Transplant glibc

2. Port busybox and toolbox

 

4. Port Android Dalvik

4.1 JNI call bridge principles

4.2 principles and usage of DX and dalvitvm

4.3 Dalvik Command Format

4.4 Dalvik execution format Dex

4.5 Java bytecode format

 

5. Port Android Dalvik 2

5.1 Dalvik library principles

5.2 dalvit libcore core library porting

5.3 dalvit/Vm/native porting

5.4 Dalvik interpreter Principle

5.5 Dalvik mterp

 

6. Arm at&t assembly

Detailed explanation of at&t Assembly syntax

Use of. Gas Tool

. Label Label

. Data and code distribution

 

7. Link script LD-script

Determine the. segment address

. Write LD-script

Relationship Between. ELF format and libc function library

 

8. Timing Circuit Basics

Level Signal

Circuit Diagram Analysis

. Sequence Graph Analysis

. Datasheet view

Peripheral device structure of omap3530

. Gpio operations

 

9. AMBA bus standard

. AMBA bus standard

. Fclk/hclk/pckl frequency allocation and settings

. Watchdog timing operation

. UART operation

. Arm Interrupt System

. Abnormal vector table

. Arm mode switch

. Arm Interrupt Controller

. Soft Interrupt

. Implementation of Linux system calls

 

10. NAND Flash Controller

. Flash Principle

. Principle of the NAND controller, timely sorting Board

. Omap3530 NAND Flash Timing Analysis

 

11. Memory Controller

. Omap3530 physical address distribution

. SDRAM principle and timing

. Physical connection of the Memory Controller

. Address alignment

. SRAM access

 

12. Memory Management Unit

. MMU Principle

. Arm coprocessor commands

. Section Mode

. Small page Mode

. I & D tlbs

. I & D Cache

Principles and implementation of Harvard Structure

 

13. DMA Direct Memory Access Mechanism and usage

. DMA state machine

. DMA Control

 

14. Touch Screen Interface and ADC interface and instance

. ADC Principle

. Touch Screen Interface and Control

 

15. LCD Controller

. Graphic Display Principle

. LCD Controller

. LCD timing

LCD Driver-related framework and system

 

16. I2S Audio bus

. Audio hardware Principle

. I2S Time Series

. I2S operation on omap3530

Discussion on bare drivers of audio devices

 

17. dm9000 Nic Control

. Logical Link Layer and MAC Layer

. Dm9000 principle and Timing Analysis

Discussion and architecture of NIC bare driver in the future

 

18. TCP/IP protocol stack porting and Network Architecture

. LWIP TCP/IP protocol stack Overview

. LWIP configuration and compilation

. TFTP configuration and compilation

 

19. Principles and Transplantation of bootloader

. U-boot configuration and compilation

. U-boot Startup Process Analysis

. Arm-Linux Startup requirements

. Arm-Linux kernel LD-sript Analysis

Jump code analysis from. U-boot to arm-Linux

. Use mkimage to create and start an image file

 

20. Principles and Transplantation of arm-Linux

. Arm-Linux configuration and compilation

. Arm-Linux Startup code analysis

. Arm-Linux address ing relationship;

Configuration and compilation of. busybox

 

Related Article

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.