Android开发需要具备哪些技能
Android项目有大有小。微信软件,手机QQ,支付宝等都有Android版本或以Android版本为主。想开发Android项目,先从系统环境开始,熟悉基本项目架构,做小项目,然后积累经验,多学习别人的经验,就可以逐渐做大。不同的项目有不同的要求。有的需要网络知识、有的需要数据库知识等,具体技能跟项目要求相关。
android嵌入式开发大纲
课程安排 课程简介
第一阶段
Linux 操作和编程基础
预备营阶段主要讲解 Linux 的基本命令和linux培训基础编程知识,包括Linux的文件操作和目录操作命令,VI编辑器,GCC编译器,GDB调试器和 Make 项目管理工具等知识。
该阶段学生可以通过学习Linux下编程方法,完成实现一个简单的游戏编程,例如五子棋、俄罗斯方块、贪吃蛇等。此项任务完成后,学员的编码量可以达到1000行,能够进行基本程序开发。
第二阶段
嵌入式环境开发核心技能
初级营阶段主要讲解在嵌入式开发编程中C语言的重要概念和编程技巧中的重点难点,以复习串讲和实例分析的形式,重点介绍包括函数与程序结构,指针、数组和链表,库函数的使用等知识。
该阶段学员会进行大量的编码练习,主要包括整数算法训练,递归和栈编程训练,位操作训练,指针训练,字符串训练,链表和二叉树训练、掌握常用C库
函数编程接口实践,函数指针、动态内存分配,程序预处理、链接原理,ELF文件格式,标准I/O库等核心技能,强化学员对嵌入式开发环境下基本编程开发的
理解和编码调试的能力。
该阶段学员在完成上述编码练习任务后,将独立完成“快译通”宝典项目开发,实现一个类“金山词霸”字典功能的实用程序开发。该项目完成后,学员的
编码量可以达到5000-8000行,具备初级程序员开发能力,能够胜任企业一般开发编码类的任务要求。
第三阶段
嵌入式Linux环境高级
编程和项目开发实践
中级营阶段主要讲解包括系统编程(信号/系统调用/管道/FIFO/消息队列/共享内存等),文件I
/O编程(文件描述符/文件读写接口/原子操作/阻塞与非阻塞IO等),多任务和多线程编程(进程标识/用户标识/fork与vfork/多线程概念/线
程同步等),网络编程(网络基本概念/套接口编程/网络字节次序/ Client/Server 结构/ UDP
编程);掌握Linux下Socket编程的开发流程,熟悉网络编程的调用接口函数和相关数据结构,使学员初步具备在Linux上进行系统编程开发的能
力。同时还会讲解搭建嵌入式 Linux
开发环境,包括嵌入式Linux基本概念和开发流程、内核裁减配置和交叉编译、根文件系统制作、网络编程等知识。
该阶段学员将综合之前所学内容和编程技术,以小组为单位进行一个团队合作项目的开发,完成一个嵌入式产品“数码相框”的设计和实现,涉及技术内容
包括文件I/O编程,多线程编程,网络编程和项目文档编写。该项目完成后,学员的编码量可以达到10000-15000行,具备中级程序员开发能力,能够
胜任企业项目开发和产品开发类的任务要求。
第四阶段
嵌入式Linux开发方向 Android开发方向
(2选1)
高级营课程将按照学员兴趣和特长,选择2个专业选修方向进行深入学习,包括:
·嵌入式ARM硬件开发(公共部分)
·嵌入式Linux开发方向
·Android手机开发方向
该阶段完成后,学员的编码量可以达到和超过20000行,具备独立开发项目,完成嵌入式产品软件设计和实现的能力。
以下为这2个方向的详细描述:
嵌入式ARM硬件开发
(公共部分)
该部分学习的内容包括ARM体系结构、指令集、裸板开发等等,该阶段要求学员完成从0开始的Bootloader项目:
·Bootloader项目(从0启动硬件,加载Linux内核)
该项目主要涉及
ARM体系结构及其基本编程知识,包括指令分类,寻址方式、指令集、存储系统、异常中断处理、ARM汇编语言以及C和汇编语言的混合编程,ARM开发板启
动代码的框架分析等知识。同时要求结合ARM嵌入式开发板硬件设计原理图分析各种外设的工作原理和驱动机制,并自己动手实践完成一个ARM开发板上的
Bootloader编程大作业。
嵌入式Linux开发方向
—上层应用开发
该部分主要针对上层应用开发,学习的内容包括C++面向对象编程基础、QT图形界面开发、网页脚本语言、SQLite数据库等知识。
该阶段要求学员设计并实现1个真实完整的嵌入式项目开发流程,该方向的项目选题可以从以下项目案例中任选:
·广告机项目(交互式多媒体网络系统)
·飞鸽传书项目(局域网文件共享系统)
·QQ聊天室项目(多客户登录即时通讯系统)
·数据采集和远程控制项目(Web远程控制系统)
以上项目开发,涉及到文件I/O编程、数据库编程、网络通讯、以及图形界面开发等多种嵌入式Linux编程技术,要求学员建立起团队开发和协同工
作的企业项目开发模式的概念和流程,强化学员对编写项目概要设计文档和详细设计文档的理解,为就业的职业技能和素质训练做好充分准备。
嵌入式Linux开发方向
—底层驱动开发
该部分主要针对底层驱动开发, Linux设备驱动程序开发规范、USB协议规范、LCD液晶屏/TS触摸屏/网卡/AC97声卡等硬件驱动开发知识。
该阶段要求学员实现2-5个真实的硬件设备驱动,该方向的项目选题可以从以下项目案例中任选:
·CS8900网卡驱动
·USB驱动
·LCD液晶屏驱动
·TS触摸屏驱动
·AC97声卡驱动
·串口驱动
上述项目主要涉及嵌入式 Linux
上驱动程序开发规范,包括设备驱动程序概念、字符设备驱动程序、块设备与网络设备、网卡驱动以及常用嵌入式设备驱动开发等知识。要求学员独立实现至少2种
嵌入式设备驱动程序的编写,包括驱动模块的调试和加载以及完整的项目开发文档的编写。
专业选修方向二
Android开发方向
该方向主要为了满足人才合作单位对Android高端技术人才的需求而设,基于对市场最前沿高端平板电脑产品方案的研发实践,使学员系统全面地掌握多核Android平台上的开发技术,满足企业对有实际开发经验的Android高端工程师的需求。
该阶段要求学员学习Android系统框架、Android系统移植优化和Android应用开发等知识,完成2个商业级android项目。该方向的项目选题可以从以下项目案例中任选:
·mp3/mp4播放器(实现各种媒体格式的播放功能)
·云点阅读器(能够浏览epub、txt等文档)
·点菜系统(酒店点菜系统, 实现菜单浏览,下单)
·游戏引擎(开发完整的android平台游戏引擎)
上述项目均采用最新Android高端硬件平台:NVIDIA Tegra2双核1GHz,3D、flash、高清硬件加速,基于ARM Cortex-A9内核,支持重力传感,WiFi无线网络,3G上网,HDMI高清接口。