转 Android应用开发必备的20条技能
https://blog.csdn.net/u012269126/article/details/52433237
有些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条技能的更多相关文章
- web设计经验<四>设计师必备的20条设计黄金法则
编者按:以下内容摘自<美国视觉设计学院之完形设计>,新手可以多看这些法则,并运用到你的设计过程中,防止自己做出甲方式审美的作品. 一.必须有一个概念 设计从创意开始.这可能是非常不确定的— ...
- android gps开发必备资料(含测试demo下载)
入门资料参考: How accurate is Android GPS? Part 1: Understanding Location Data How accurate is Android GPS ...
- 前端开发必备! 20 个强大的 Sublime Text 插件
http://www.oschina.net/translate/20-powerful-sublimetext-plugins http://www.w3cplus.com/tools/emmet- ...
- Web前端开发必备
前端学习相关书籍 关于书籍 HTML.CSS 类别书籍,都是大同小异,在当当网.卓越网搜索一下很多推荐.如果感觉学的差不多了,可以关注一下<CSS禅意花园>,这个很有影响力. Javasc ...
- Android 开发必备
Android 开发必备 http://www.androiddevtools.cn/ 收集整理Android开发所需的Android SDK.开发中用到的工具.Android开发教程.Android ...
- [转载]Android开发必备的21个免费资源和工具
转载自: http://blog.csdn.net/shimiso/article/details/6788375 Android移动开发平台现在不是一个“火”字能形容的,今年Android平台在市场 ...
- ym——android源代码大放送(实战开发必备)
转载请注明本文出自Cym的博客(http://blog.csdn.net/cym492224103),谢谢支持! 目录 PATH 列表 卷序列号为 000A-8F50 E:. │ javaapk.c ...
- 【福利大放送】不止是Android,Github超高影响力开源大放送,学习开发必备教科书
一.写在前面 最近项目重构,时间贼多,也没什么时间更新博客,个人的开源项目也是多时没有更新了:github地址,然而没有更新不代表我不在乎,后面一有空还是会继续提交的. 还是来冒个泡,给大家献上一些福 ...
- 【转】福利大放送--不止是Android,Github超高影响力开源大放送,学习开发必备教科书
[福利大放送]不止是Android,Github超高影响力开源大放送,学习开发必备教科书 目录 一.写在前面 1.free-programming-books 2.oh-my-zsh 3.awes ...
随机推荐
- Dataworks批量刷数优化方案探讨
Dataworks批量刷数优化方案探讨 在数据仓库的日常使用中,经常会有批量补数据,或者逻辑调整后批量重跑数据的场景. 批量刷数的实现方式,因调度工具差异而各有不同. Dataworks调度批量刷数局 ...
- 使用gitlab runner 进行CI(四):使用Gitlab Page托管项目文档
目录 1.什么是Gitlab Pages 2.开启Gitlab Pages 3.基本过程 4.托管markdown文档 4.1 安装sphinx等依赖 4.2 配置项目的sphinx配置 4.3 编写 ...
- CommonJS与ES6 Module的使用与区别
CommonJS与ES6 Module的使用与区别 1. CommonJS 1.1 导出 1.2 导入 2. ES6 Module 2.1 导出 2.2 导入 3. CommonJS 与 ES6 Mo ...
- k8s endpoints controller分析
k8s endpoints controller分析 endpoints controller简介 endpoints controller是kube-controller-manager组件中众多控 ...
- Linux下搭建FFmpeg开发调试环境
背景 如果你是一个FFmpeg的使用者,那么绝大部分情况下只需要在你的程序中引用FFmpeg的libav*相关的头文件,然后在编译阶段链接相关的库即可.但是如果你想调试FFmpeg内部相关的逻辑,或者 ...
- 面向政务企业的开发者工具集-逐浪文本大师v0.1正式发布(含代码全部开源啦!)
这是一款基于.net 4.7环境开发的开发者工具. 一个实用的windows小工具集合,里面包含了多个常用的小软件.其中的批量修改文件名及文件内容功能,可以自定义修改规则,支持规则的导入与导出.不需要 ...
- Linux驱动实践:你知道【字符设备驱动程序】的两种写法吗?
作 者:道哥,10+年嵌入式开发老兵,专注于:C/C++.嵌入式.Linux. 关注下方公众号,回复[书籍],获取 Linux.嵌入式领域经典书籍:回复[PDF],获取所有原创文章( PDF 格式). ...
- Ubuntu文件系统结构
/bin: bin是Binary的缩写.存放系统中最常用的可执行文件(二进制). /boot: 这里存放的是linux内核和系统启动文件,包括Grub.lilo启动器程序. /dev: dev是Dev ...
- HouseRobber II
// // Created by Administrator on 2021/7/27. // #ifndef C__TEST01_HOUSEROBBER2_HPP #define C__TEST01 ...
- spring boot 动态生成接口实现类
目录 一: 定义注解 二: 建立动态代理类 三: 注入spring容器 四: 编写拦截器 五: 新建测试类 在某些业务场景中,我们只需要业务代码中定义相应的接口或者相应的注解,并不需要实现对应的逻辑. ...