Android开发工程师,前行路上的14项技能
导读:
你是否曾渴望回到宋朝? 或者什么朝,反正就是男耕女织、刀耕火种的古代。
哦,那时的首都在汴梁(开封),房价想必没有现在这么高,工作?无非就是给你把锄头,去,种地去。夕阳西下了,麦子垛后,你和翠姑搂抱在一起,那时的你,生活的简单而美好。
看看现在的你,一个刚入门的安卓开发工程师,没有信用卡,没有她,没有24小时热水的家。你会常常想念你的锄头和翠姑(或麦垛),可是,你回不去了。你握在手中的安卓手机,冰冷如铁,你不知道如何在这个4寸屏的小东西上创出一片天地。
你不用感到不知所措和困惑,技术就是你安身立命的根本,当下,你的选择有限,唯有前行,而且这条路注定将与技术共舞。跟我来,下面的内容将告诉你,安卓开发工程师前行路上的14项技术,以及各项技能的技能点要素。
祝你成功!
入门
你要掌握的技术:
1. Java程序设计基础
- 技术要点:
- 常量与变量
- 数据类型
- 运算符、表达式与语句
- 程序控制结构
- 数组
- 类和对象
- 类的封装、继承与多态
- 异常处理
- 多线程
2. Android嵌入式系统程序开发技术
技术要点:
- Android的体系结构
- Android应用程序组成
- Android应用程序开发
- Android系统移植
- S5PV210硬件结构
- 接口驱动程序开发
- Android嵌入式组态软件
- GPS与Google Map定位系统
3. Android SDK软件开发工具包
技术要点:
- android使用的面向对象语法
- 活动与布局配置
- 创建android 使用界面
- 资源管理与对话框
- 偏好设置界面与菜单
- 意图启动活动与内置应用程序
- 存储偏好设置、文件与数据库
- 内容提供者、适配器与列表组件
- 广播接收器、服务与信息提示
4. Web GIS开发
技术要点:
- 地理信息系统的发展与Web服务
- ArcGIS Server管理与服务发布
- 简单Web GIS应用开发
- 数据源、资源与功能对象
- 自定义数据源
- 扩展ArcGIS服务器
- GIS Web服务的应用与创建
- 安全、部署与性能调优
5. JavaScript脚本基础
技术要点:
- JavaScript的环境要求
- JavaScript基本语法
- 流程控制
- 函数
- 对象与数组
- 程序调试与错误处理
- 事件处理
- 处理文档对象
- 文档对象模型
- window窗口对象
6. HTML5开发技能
技术要点:
- HTML5基础语法
- 新增的input输入类型
- 新增的form元素
- HTML5画布
- HTML5音频与视频
- HTML5多媒体技术
- Web存储
- WebSQL混合开发
- Workers多线程处理
晋升
你要掌握的技术:
7. 常用混合移动开发框架
技术要点:
- AppCan
- Adobe Air
- RubyMotion
- Appcelerator
- Xamarin
8. 界面交互式系统设计
技术要点:
- 模式、用户偏好设置
- 界面的定量分析
- 统一性和元动作
- 导航和人本界面
- 界面设计的规范和管理
9. 常用团队协作开发工具
技术要点:
- SVN工具
- Git工具
- 微软Team Foundation Server
- Hg/Mercurial工具
- 文件比较工具
10. Android底层开发技术
技术要点:
- Android源代码
- Android构建 Linux的操作系统
- HAL层分析
- Goldfish下的驱动解析
- MSM内核和驱动
- OMAP内核和驱动解析
- 显示系统驱动应用
- 输入系统驱动应用
- 音频系统驱动
- 视频输出系统驱动
高级
技能要点:
11. Android 软件安全分析技术
技术要点:
- Android程序分析环境搭建
- 分析Android程序
- Android Dalvik虚拟机知识
- Android可执行文件
- 静态分析Android程序
- Android的ARM汇编语言基础--逆向原生
- Android NDK程序逆向分析
- 动态调试Android程序
- Android软件的破解技术
- Android程序的反破解技术
- Android系统攻击与防范
- DroidKongFu变种病毒
12. 编译原理
技术要点:
- 编译器的结构
- 语法
- 词法分析
- 语法分析
- 语法制导的翻译
- 中间代码生成
- 运行时刻环境
- 代码生成
- 机器无关优化
- 指令级并行
- 并行性和局部性的优化
- 过程间分析
13. 设计模式
技术要点:
- 简单工厂模式
- 抽象工厂模式
- 策略模式
- 装饰模式
- 代理模式
- 工厂方法模式
- 原型模式
- 模板方法模式
- 外观模式
- 建造者模式
- 观察者模式
- 状态模式
- 适配器模式
- 备忘录模式
- 组合模式
- 迭代器模式
- 单例模式
- 桥接模式
- 命令模式
- 职责链模式
- 中介者模式
- 享元模式
- 解释器模式
- 访问者模式
14. 数据结构
技术要点:
- 算法分析
- 树
- 散列
- 优先队列
- 排序
- 不相交集ADT
- 算法设计技巧
- 摊还分析
- 高级数据库结构及实现
准备开始有计划、分步骤的学习这14个技术吧, 你应该自信地和坚定的走下去。
并且记住,图书是学习路上最好的旅伴(暂时忘记翠姑吧)
图书:
1. 疯狂Java讲义(第2版)
2. Android嵌入式系统程序开发(基于Cortex-A8)
3. Android SDK程序设计与开发范例
4. Web GIS开发——ArcGIS Server与.NET
5. JavaScript权威指南(第6版)
6. HTML5与CSS3基础教程(第7版)
7. Android移动应用开发——基于Adobe AIR
8. About Face3交互设计精髓
9. Git权威指南
10. 疯狂Android讲义(第2版)
11. Android 软件安全与逆向分析
12. 编译原理(第2版)
13. 编程珠玑(第2版)
14. 数据结构与算法分析:C语言描述(原书第2版)
总结:
也许在你眼中,每一个技能都像前进路上的一座山,并且,看起来一座比一座高,那么你应该如何抉择呢? 如果你裹足不前,畏惧学习,那么,你尽早开始考虑转行,否则,你将在5年内被这个行业淘汰。
其实现在和宋朝有一点始终是一样的,就是不管你种地还是做手机开发,只要你肯努力,春天播种,夏天劳作,秋天自然收获。所以,生活会美好的,到那时,麦子垛会变成四环路的一个家,而且,翠姑还在你的怀里。