Android应用开发必备的20条技能
来源:互联网 发布:java自学视频推荐 编辑:程序博客网 时间:2024/05/20 18:54
【转载自】https://mp.weixin.qq.com/s?__biz=MzA4NDM2MjAwNw==&mid=2650575736&idx=1&sn=248e3d5509006867f1b7dcfea1bd734d&scene=0&pass_ticket=4rBJVY%2Bn9E5jPZ%2BKTY%2BEk0XkRGTCUoBgRk8wfhcnhTXGbsYMer5rWOwVRX4kds1i#rd
有些andorid开发人员感觉很迷茫,接下来该去看系统源码还是继续做应用,但是感觉每天仅仅实在画UI和调用MobileAPI处理JSON,没有技术上升的空间。下面是包建强老师的《APP研发录》当中列举的20条需要精通的技能点看看你是否完全掌握:
1)Activity相关
App应用开发,以Activity使用最多,设计LaunchMode、onSaveInstanceState、生命周期等技术。
2)Fragment相关技术
用的人不少,明白是怎么回事的人不多,推荐一本书《Creating Dynamic UI Android Fragments》
3)序列化技术
有Parcelable与Serializable两种。前者是基于Service的,后者是基于Bundle的,二者实现原理不同,但是达到的效果近似。
4)ImageLoader的原理和使用
类似的,还可以学习Facebook新近开源的Fresco,它对图片的处理会更好一些。
5)fastJSON或GSON的使用
做App不会用实体自动匹配JSON数据,相当于白做。
6)多线程相关
包括Handler、Looper、ExecutorService等。
7)Adapter和ListView
这两个技术捆在一起,经常容易崩溃,尤其是分页的时候,要仔细研究深刻领会。
8)用户Cookie设计
需要把登陆机制彻底搞清楚,包括在HttpRequest头中夹带Cookie来进行用户身份验证的技术。
9)网络请求封装
使用AsyncTask的网络底层封装,使用Handler+Runnable的网络底层封装。
10)Android与HTML5的交互
包括Android调用HTML5的方法,以及HTML5调用Android的方法。
11)代码混淆
没有用过ProGuard,不知道keep相关语法,就仍是初级水平。
12)Android打包机制
涉及Android SDK中的若干命令。对Android打包过程做的每一件事都很清楚。进一步是Android多项目以来的打包技术。Ant、Gradle或者Maven,掌握其中任何一种打包机制即可。
13)线上Crash分析并修复
要具备通过分析Crash信息修复线上Crash的能力。
14)内存泄露
包括内存优化、Eclipse或Android Studio的调试功能。
15)调试工具
包括DDMS、Eclipse或Android Studio的调试功能。
16)Monkey机制
Android开发人员如何对一款App进行Monkey测试。附加技能~
17)单元测试
JUnit。对复杂的算法写过单元测试以保证其没有问题。
18)GIT的高级功能
包括Stage、Rebase、Revert、Stash、Cherry Pick和Sub Module等概念。如果项目中使用的是SVN,要掌握SVN的版本管理策略。
19)插件化编程
哪怕知道一点DexClassLoader的概念也好。这年头,没做过插件化编程,出门面试都不好意思说自己是Android开发的。
20)设计模式
对常见的设计模式如工厂、生成器、适配器、代理、策略模式耳熟能详。
以上20点设计的技术完全掌握之前,并不用花太多精力去看Android系统源码。
- Android应用开发必备的20条技能
- Android应用开发必备的20条技能清单
- Android应用开发必备的20条技能
- Android应用开发必备的20条技能
- Android开发必备应用
- iOS开发必备技能 - 自动布局在开发中的应用
- 干货系列2:看看Java桌面应用开发的职业发展空间与必备技能
- 互联网应用开发必备技能 缓存技术全解析
- Android开发必备技能之:Android中图片的三级缓存实现
- android必备技能-shape
- Android面试必备技能
- Android面试必备技能
- Android面试必备技能
- Android 工程师必备技能!
- Android开发必备技能——修改debug签名
- Android应用开发所需精通的20个技能点
- 我的必备技能
- 程序员的必备技能
- 0x01 Grarils 身份验证和权限拦截案例
- 121. Best Time to Buy and Sell Stock
- 问题八 MSFlexGrid 控件
- 在win7系统中,利用命令窗口进入某个文件夹的方法
- CS231n第七课:卷积神经网络学习记录
- Android应用开发必备的20条技能
- 从零写bootloader--第一阶段启动的实现
- 网络最大流-ISAP算法详解与模板
- 自定义View---五子棋盘(自己敲了一下午,然后百度了一下,竟然有,比我自己写的好很多。好尴尬)
- C++ 众数问题(九度OJ 1057)
- Ubuntu 输入法中文录入候选项不正确
- css制作使得照片可以在透明的颜色下展现
- 从零写bootloader--第二阶段启动的实现
- 第二十五条:列表优先于数组