Android是Google基于Linux开发的智能手机操作系统,广泛应用于3G手机、上网本等。目前处于爆发式增长阶段,HTC(宏达电 多普达)、摩托罗拉、索爱、三星等众多公司纷纷推出基于Android智能操作系统,甚至很多上网本也使用Android操作系统。目前Android是最热门的智能操作系统,凭借Linux的软件优势其应用的广泛程度已经让其他对手相形见绌。所以学习Android操作系统具有巨大的意义。

这次平台使用omap3530-Devkit8000套件开发板来进行对android深入研究和学习。

◆ Android操作系统概述

1. Android系统架构

2. Android应用设计理念

3. Android 开源知识

4. Android 参考网站与权威信息

◆ Android SDK及其开发环境搭建

1. Android SDK的版本发布

2. ADT插件的安装和更新

3. Android应用程序架构

4. 建立第一个Android项目(HelloAndroid!)

5. 通过Eclipse导入一个开源项目

6. 可视化的界面开发工具

7. 部署应用程序到Android模拟器或手机

◆ Android 源代码开发环境搭建与源码结构分析

1. 开发系统主机环境搭建

2. 安装软件包Required Packages

3. Ubuntu 9.10

4. Install javva

5. 源码结构分析Android source (kernel platform application)

6. Android build 分析

7. Android system 分析

8. Android framwork 分析

9. Android bring up

◆ Android 应用程序设计模型

1. drawable

2. layout

3. values(strings.xml、colors.xml、style.xml 、arrays.xml等)

4. R.java分析及使用

5. AndroidManifest.xml

6. Android.mk

7. Activity

8. Intent

9. Service

10. ContentProvider

◆ Android 应用程序界面(一)

1. TextView的使用

2. drawable的使用

3. 引用Drawable颜色常数及背景色

4. CharSequence数据类型与ResourceID应用

5. DisplayMetrics的使用

6. Style样式的定义

7. Button事件处理

8. setContentView的应用

9. Intent对象的使用

10. Bundle对象的实现

11. startActivityForResult方法

12. AlertDialog窗口

13. Button与TextView的交互

14. Typeface对象使用

15. Gallery对象

16. 多按钮应用

17. Menu功能菜单程序设计

18. ProgressDialog与线程应用

19. 动态产生按钮并最大化

20. 选择功能的对话框

21. Android主题(Theme)实现

22. 支持多种分辨率的屏幕

◆ Android应用程序界面(二)

1. EditText与setOnKeyListener事件

2. ImageButton的焦点及事件处理

3. Toast对象的使用

4. CheckBox的isChecked属性

5. 多选项CheckBox的应用

6. RadioGroup组与onCheckedChanged事件

7. ImageView的堆栈应用

8. Spinner与setDropDownViewResource

9. ArrayList与Widget的依赖性

10. Gallery与衍生BaseAdapter容器

11. JavaI/O的应用

12. ImageButton选择特效

13. AutoCompleteTextView与数组

14. AnalogClock与DigitalClock的原理

15. DatePicker与TimePicker应用

16. ImageView点击事件与透明度处理

17. ProgressBar与Handler的整合应用

18. GridView与ArrayAdapter设计

19. ListView的布局

20. ListActivity与Menu整合技巧

21. JavaI/O与ListActivity的结合

22. 使用decodeFile方法

23. 运用Matrix对象来缩放图文件

24. Bitmap与Matrix旋转ImageView

25. RadioButtonID

26. 对话窗口上的ICON图标

◆ Android 应用交互与手机模块控制

1. PendingIntent与AlarmManager

2. PendingIntent 与 SmsManager

3. Intent 与 Email

4. 数据存储方式

5. NotificationManager与Notification

6. Adapter对象与Cursor

7. TelephonyManager的应用

8. RunningTaskInfo的应用

9. Provider.Contact的使用

10. Provider.Calendar的使用

11. Service与Runnable整合并用

12. BroadcastReceiver与Intent

13. receiver与intent-filter

14. Android网络编程

15. HTTP请求与连接

16. WebView.loadUrl

17. Webkit 与 WebCore

18. HttpURLConnection与URLConnection和运行线程

19. Runnable混搭SurfaceView

20. Google ApI

◆ Android 系统服务

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. 如何添加一个新系统Service并开放API

16. 关键服务

17. Android系统启动流程

ARM平台 Android 移植与驱动核心开发

Android嵌入式智能操作系统是基于Linux内核和驱动的,对于 HTC、华为等公司开发Android操作系统时,需要专门将Android移植到特定硬件平台下,同时将必要的驱动进行编写及开发。本课程旨在让学员成为Android的核心层开发者,让学员在这种嵌入式设备厂商中谋得核心开发人员的职位。

◆1. Android系统体系及移植相关工具

1.1 Android操作系统体系结构介绍

Android Linux内核移植介绍

文件系统, toolbox等移植

存储驱动移植

Bootloader相应方案与移植

Android虚拟器Dalvik移植介绍

1.2 ARM处理器介绍

ARMv5TJS

ARM中断处理

ARM体系结构与ARM处理器的体系结构

IP核、芯片与开发板

ARM处理器结构 处理器模式

. 寄存器

. 流水线结构

C语言内嵌汇编格式 与编程实例

1.3 ARM指令系统

. 算术逻辑指令

. 指令对状态寄存器的影响

. 比较指令

. 分支指令

. 移位

. 指令位图

. 识别机器指令

1.4内存访问与内存控制

. 数据总线与地址总线的使用与实例

. STR/LDR

1.5 ARM过程调用标准

. LDM/STM

. 反汇编

. APCS

. C语言函数与汇编的互相调用

【案例】 使用Android Linux patch进行Linux内核的构建

2. Android Linux内核移植与核心开发

2.1 ARM处理器的Android系统构建

2.2 输入输出设备驱动移植

2.3 存储设备nand flash,MMC/SD卡驱动移植

2.4 Framebuffer移植

2.5 Touchscreen移植

2.6 Open Binder IPC移植

【案例】

2.7 在ARM处理器上移植Android试验

2.8 编写Nand flash驱动

2.9 移植Framebuffer驱动

2.10 硬件相关部分(键盘、触摸屏、LCD等)

3. Android相关环境 库、以及Bionic系统移植

3.1 libc移植

3.2 libm移植

3.3 libdl移植

3.4 libm移植

3.5 busybox, toolbox移植

【案例】

1. 移植glibc

2. 移植busybox和toolbox

4. Android Dalvik移植一

4.1 JNI Call Bridge相关原理

4.2 dx, dalvitvm原理和使用

4.3 Dalvik指令格式

4.4 Dalvik执行格式dex

4.5 Java字节码格式

5. Android Dalvik移植二

5.1 Dalvik Library原理

5.2 dalvit libcore核心库移植

5.3 dalvit/vm/native移植

5.4 Dalvik Interpreter原理

5.5 Dalvik Mterp

6. ARM AT&T汇编

. AT&T汇编语法详解

. gas工具的使用

. label标签的作用

. 数据与代码的分布

7. 链接脚本ld-script

. 段地址的确定

. 编写ld-script

. ELF格式与libc函数库的关系

8. 时序电路基础

. 电平信号

. 电路图分析

. 时序图分析

. datasheet查看

. OMAP3530的外围器件结构

. GPIO操作

9. AMBA总线标准

. AMBA总线标准

. FCLK/HCLK/PCKL频率分配与设置

. Watchdog计时操作

. UART操作

. ARM中断体系

. 异常向量表

. ARM模式切换

. ARM中断控制器

. 软中断

. Linux系统调用的实现

10. Nand Flash控制器

. Flash原理

. Nand控制器原理及时序分板

. OMAP3530 NAND Flash时序分析

11. 内存控制器

. OMAP3530物理地址分布

. SDRAM原理与时序

. 内存控制器的物理连接

. 地址对齐

. SRAM访问

12. 内存管理单元

. MMU的原理

. ARM协处理器指令

. section模式

. small page模式

. I & D TLBs

. I & D Cache

. 哈佛结构的原理与实现

13. DMA 直接内存访问的机制与使用

. DMA的状态机

. DMA的控制

14. 触摸屏接口与ADC接口与实例

. ADC原理

. 触摸屏接口与控制

15. LCD控制器

. 图形显示原理

. LCD控制器

. LCD时序

LCD驱动相关的框架与体系

16. I2S音频总线

. 音频硬件原理

. I2S时序

. OMAP3530上I2S的操作

音频设备的裸驱动讨论

17. DM9000网卡控制

. 逻辑链路层与MAC层

. DM9000原理与时序分析

后续网卡裸驱动讨论与体系结构

18. TCP/IP协议栈移植,与网络体系结构

. LwIP TCP/IP协议栈简介

. LwIP配置与编译

. tftp配置与编译

19. Bootloader原理与移植

. u-boot的配置、编译

. u-boot启动过程分析 [size=medium][/size]

. ARM-Linux的启动要求

. ARM-Linux kernel的ld-sript分析

. u-boot到ARM-Linux的跳转代码分析

. 使用mkimage制作启动镜像文件

20. ARM-Linux原理与移植

. ARM-Linux的配置、编译

. ARM-Linux启动代码分析

. ARM-Linux 地址映射的关系;

[color=red][/color]

更多相关文章

  1. Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面
  2. Android中数据存储——ContentProvider存储数据
  3. afinal的简单应用(一)
  4. 创建和使用Android(安卓)library工程
  5. Android(安卓)Studio 使用 Gradle 打包 Jar
  6. Android高手进阶教程(二)之----Android(安卓)Launcher抽屉类Slid
  7. 箭头函数的基础使用
  8. NPM 和webpack 的基础使用
  9. Python list sort方法的具体使用

随机推荐

  1. Android的startActivity启动出错
  2. conversion to dalvik format failed wit
  3. Android USB HID设备通信controlTransfer
  4. Android的frameworks层音量控制原理分析
  5. adb (Android Debug Bridge) Android 调
  6. 共享全局数据 android
  7. Android 实现文件上传功能(upload)
  8. Android(安卓)Service 服务(三)—— bindSe
  9. 包管理系统分析
  10. Android 启动优化(一)