android深入研究和学习的课程

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启动过程分析

        . ARM-Linux的启动要求

        . ARM-Linux kernel的ld-sript分析

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

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

20. ARM-Linux原理与移植

        . ARM-Linux的配置、编译

        . ARM-Linux启动代码分析

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

        . Busybox的配置、编译


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/linweig/archive/2009/12/22/5056988.aspx

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android是一种基于Linux的开源移动设备操作系统,由Google公司领导的开放手持设备联盟(Open Handset Alliance)开发。它提供了一种全新的移动设备使用方式,为智能手机、平板电脑、智能手表等智能设备提供了强大的支持。 Android的出现,标志着移动设备进入了一个全新的时代,不仅推动了移动设备的普及和发展,而且也为人们的生活、工作和娱乐带来了极大的便利。Android系统的开放性和灵活性,也为开发者提供了更多的创新空间和商业机会。 研究Android的背景和意义,主要涉及以下几个方面: 1. 移动设备市场的快速发展。随着智能手机、平板电脑等智能设备的普及,移动设备市场呈现出蓬勃发展的态势。Android作为市场份额最大的移动设备操作系统之一,其研究和开发对于推动移动设备市场的发展具有重要意义。 2. 科技创新的推进。Android系统作为一种开放性的移动设备操作系统,其源代码对于开发者来说是公开的,这为科技创新提供了更多的可能性和机会。 3. 商业机会的开拓。Android系统的开放性和灵活性,为开发者提供了更多的商业机会和创新空间。通过对Android系统的研究,可以探索更多的商业模式和商业机会。 4. 人机交互的探索。Android系统提供了多种多样的交互方式和应用程序,为人机交互的探索提供了更多的可能性。对Android系统的研究,可以帮助我们更好地理解人机交互的本质和规律,从而推动人机交互技术的发展。 总之,Android系统的研究对于推动移动设备市场的发展、促进科技创新、开拓商业机会、探索人机交互等方面都具有重要意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值