说明:该文档用来总结Android开发相关技能点,以供Android开发人员自我检测,相互学习,也可以作为Android新手的学习参考,欢迎大家查漏补缺、多提意见及修正一些不恰当的地方,希望在大家的共同努力下不断完善
- 数据解析(XML/json)
- http
- Linux基础(非必须,但掌握的话对深刻理解Android有好处)
- java core
** 两大主流集成开发环境:**
- Android Studio(这是Google为Android提供的开发工具,推荐使用)
- Eclipse(早期流行Android开发工具,逐渐被Android Studio 替代) 下载地址及配置请查看官方文档或者Google百度 *官方环境搭建:*http://developer.android.com/sdk/index.html
- 开发环境、模拟器真机运行app、测试工具、性能测试
各种UI基础效果的实现和基础控件的使用可参考官方demo程序
- 常用布局
- 常用控件
- 输入控制
- 输入事件
- 菜单
- Action Bar
- 对话框
- 通知
- Toasts(简单提示消息)
- 手势拖拉(了解即可)
- 样式和主题
- 自定义UI控件入门
- 重点掌握动画的种类和实现(参照官方动画demo学习),其他了解
- Shared Preferences
- Internal Storage
- External Storage
- SQLite Databases
- Network Connection
- 网络请求开源框架
- 数据库开源框架
- 图片加载及处理开源框架
- 数据解析开源框架
- ...
- 官网一些专题:**
- 性能测试和优化(listview优化、布局优化等)
- 多线程(后台任务处理,非UI线程与UI线程之间的通信)(必须掌握)
- 自定义View
- 多谋体开发(相机、音视频播放)
- 图形和动画深入学习
- 地图接入
- 传感器
- 应用方法数超过65K的解决办法
- ...
- 数据统计(自己开发or第三方如友盟)
- 线上bug统计
- 消息推送
- 开放平台接入(按需学习)
- 应用发布(签名、打包、测试包、正式包、渠道包等概念的理解及具体操作)
- OOM
- ANR
- listview卡顿
- 如何正确退出程序及activity管理
- ...
- native开发、rom、系统原理、驱动开发...?
在对Android从宏观上有个初步的认识、掌握开发环境的搭建、对Android应用结构有基本了解之后,可以根据开发需要,找到对应的官方例子代码或者网上搜索例子代码进行学习开发。
- **官网地址:**http://developer.android.com/index.html
- **官方例子:**提供了各种api的使用demo,有非常大的学习价值,demo获取方法,一种办法是通过sdk管理器下载到本地,若已经下载完位置位于sdk/samples目录下,还有一种获取demo的方法是在Android Studio里面导入,具体方法
在前面技能点里面有针对介绍,主要是Android官网文档+官方demo+Google+百度+github+网络视频,英文不太好的可以考虑买本书。哪本书好?基础Android的书籍貌似没看过,自行Google、百度,或者哪位有经验的大侠推荐一下吧。
- Android四大组件?
- Activity的生命周期及各个生命周期回调方法适合做什么事情?
- 如何防止ANR?
- 什么是Service?应用场景?如何代码实现?IntentService有什么特点?
- 什么是.9图片?应用场景?如何使用制作和使用?
- Activity的启动模式?
- 如何在非UI线程刷新UI界面?
- Handler机制?
- ListView优化?
- 数据存储方式有几种?每一种的应用场景?
- xml解析方式有多少种?各种之间的差异?json解析框架?xml和json之间的区别和优劣?
- ...