一个三年Android开发的总结-开篇

转眼间全职从事Android开发已有三年,想把这一阶段的积累总结记录并展现出来,作为Android开发必备的知识,希望对有一定Android开发基础的人进阶有裨益,倘若能让一些人少走些弯路,也算作是我做的一件有意义的事情。假设当中有不足或疏漏之处,还请指出,共同进步,在此感谢!

品质

想成为好的开发人员,须要掌握非常多专业知识以及使用各种工具来辅助,但在这些之前,我觉得本身应该具备例如以下几个品质:    

  1. 责任心:在工作上体现出来是一种负责任的态度,给人一种踏实肯干而让人放心的印象。

对自己是一种对新奇事物的好奇心。是对问题的刨根问底。

举个栗子,一个问题,搜索引擎能帮你找到答案。copy下代码,设置几个參数就能解决。但你会继续追究为什么这样做就能解决这个问题么?会再追究为什么他知道这样做就能解决?会再追究我能怎样做也能解决这种问题么?

  2. 运行力:想到说到。要能做到。至少你要開始去做;

  3. 坚持:開始去做并不难,难在有计划,长期坚持去做。

  以上三点,自觉得非常重要,惭愧的是自己也没有非常好的做到。抛出来提醒没做到及也许还没意识到的人。

工具

回到纯开发角度。俗话说工欲善其事必先利其器。好的工具达到事半功倍的效果,这里从几个方面谈谈经常使用的工具:

 站点

1. 知识来源:

- Android开发官方站点:假设打不开,断网后在自己SDK的docs中看看;当然还有其他方式。

- 博客:Android官方博客。CSDN上的博客(如老罗的Android之旅

2. 源代码查看及演示样例:

- GrepCode:Java层的代码查看,不光是Android的。也包含其他的跟Java相关的开源软件代码

- AndroidXRef:可以搜索完整的Android代码

- 演示样例及开源软件:首先必须是GitHub,当然还有sourceforge,codeproject。国内的开源中国上有相似github的功能,码云

还有一个方面是关注像facebook,google等公司在github上的项目,如google推出不久的反编译工具enjarify

3. 问题搜索:

- Stack Overflow:基本英文报错,在此都能搜索到相关的讨论和解答,国内模仿的有segmentfault

- Google:不多说。仅仅可惜一般訪问不到。只是中文搜索的话大多跳转到CSDN,cnblogs等国内站点上了

工具简单介绍到此,以下将会是一系列的知识点。随着兴许文章的完毕。每一个点都会有相应的文章跳转链接。

版本号控制

到如今还在后悔代码没有保存,忘记改动了哪些地方,每天一个日期命名的代码压缩包,那简直太可怕了。事实上应该抱有这样一个想法,凡是觉得单调反复的体力劳动,肯定有相应的工具,假设没有,那也许是你的机会哦。我使用过svn和git。如今一直在用git。兴许将具体总结git的使用,解决工作中诸多让人烦恼的事情

- git的基础知识与协作开发

- 经常使用的git技巧与误区:包含branch,cherry-pick,stash

开发与编译工具

虽然Eclipse与Ant即将被AndroidStudio和Gradle代替,可是还是想记录下他们与我的陪伴。

- Eclipse经常使用技巧:查看类的继承信息,函数被调用、覆盖信息。分工程分工作集的使用与搜索,与git结合的追溯,以及mylyn的配合

- Ant的编译打包具体解释:Ant的使用以及apk的生成过程

- Android Studio经常使用配置及使用技巧:从Eclipse切换到AS的快捷键配置,经常使用的开发调试

- Gradle的编译打包具体解释:理解Gradle编译打包APK配置

Java和Android

Android开发之前,最好对Java有个具体的理解。先总结Java,再关联到Android。

- 可能忽略的Java基础知识:小心使用synchronized和volatile

- 可能忽略的Java基础知识:内部类和匿名内部类,异常与异常捕获

- Java类的初始化与载入

- Java反射与在Android中的广泛使用

- Java的垃圾回收与Android中的内存优化

- Android Activity的生命周期与常见问题

…兴许继续扩充

小结

前人栽树后人乘凉,得益于每一个人的贡献。互联网才有今天的繁荣。作为受益者。不想作为一个仅仅是获取,不知回馈的人,仅以此系列文章作为一个开端。

  转载请注明出处:http://blog.csdn.net/w7849516230,欢迎关注微信公众号“编程阳光”

一个三年Android开发的总结-开篇的更多相关文章

  1. 三年Android开发,月薪一万二,不敢跳槽,每天都很焦虑

    在我们的身边,存在一个普遍现象:很多人从事Android开发工作多年,走过的弯和坎,不计其数,经历的心酸难与外人道也.可是技术确难以提升.止步不前,薪资也只能看着别人水涨船高,自己却没有什么起色. 虽 ...

  2. 三年Android开发,竟只会增删改查,被面试官一顿怼!

    最近看到某公司面试官发的这样一个帖子: 我面试了一个有三年Android开发经验的小伙子,也是我有史以来给别人面试时间最短的一次,不到十分钟就结束了,原因很简单,底子太差只会curd,很多技术性的问题 ...

  3. 三年Android开发快手、美团、支付宝连挂,怒刷1549页面试题字节上岸

    刚开始面试的时候我真的是处处碰壁,面一家挂一家,面完之后怀疑自我,是不是自己真的太菜了找不到工作.工作本身就是双向选择,一家不行再换一家,总有合适的,千万不要因为别人的一句话就全盘否定自己,一定要自信 ...

  4. [转载]Android开发必备的21个免费资源和工具

    转载自: http://blog.csdn.net/shimiso/article/details/6788375 Android移动开发平台现在不是一个“火”字能形容的,今年Android平台在市场 ...

  5. Android 开发 获取Android设备的屏幕高宽

    获得屏幕的宽度和高度有很多种方法: //1.通过WindowManager获取 DisplayMetrics dm = new DisplayMetrics(); heigth = dm.height ...

  6. 使用Visual Studio进行 Android开发的十大理由

    [原文发表地址]Top 10 reasons to use Visual Studio for C++ Android Development! Visual Studio: C++跨平台的移动解决方 ...

  7. 为Android开发人员定制的搜索引擎

    我在谷歌上定制了一个专门针对Android开发人员的搜索引擎.载入慢的童鞋考虑FanQiang吧,作为技术人员使用Google才是王道. 在此推荐给大家:cx=01590883735180208228 ...

  8. Android开发数据库之第三方ORM框架(GreenDao)

    移动APP追求追求功能实现的同一时候,用户体验很重要.開始APP的同一时候.要时刻的切换开发人员的角色,如你开发的时候.是 站在APP的开发角色,处于生产者的位置:当你測试的时候.你应该把自己放在用户 ...

  9. Androng,一个针对Android的Pong克隆

    下载application from Android market 下载source - 532 KB 内容 IntroductionAndroid游戏开发 活动视图绘图使用CanvasAnimati ...

随机推荐

  1. luogu1771 方程的解

    题目大意 对于不定方程a1+a2+…+ak-1+ak=g(x),其中k≥2且k∈N,x是正整数,g(x)=x^x mod 1000(即x^x除以1000的余数),x,k是给定的数.我们要求的是这个不定 ...

  2. 【转】win7下安装搭建tomcat服务器

    原文网址:http://www.voidcn.com/blog/tianxiawuzhei/article/p-3450678.html 1.安装jdk,因为tomcat就是一个java程序,所以需要 ...

  3. 线上出bug了?别怕,这么定位!

    摘要: Source Map还是很神奇的. 原文:线上出bug了?别怕,这么定位! 公众号:前端小苑 Fundebug经授权转载并修改,版权归原作者所有. 工作中,生产环境代码是编译后代码,搜集到报错 ...

  4. Kaggle爆文:一个框架解决几乎所有机器学习问题

      上周一个叫 Abhishek Thakur 的数据科学家,在他的 Linkedin 发表了一篇文章 Approaching (Almost) Any Machine Learning Proble ...

  5. 【OpenCV】关于 waitKey()的使用方法

    C++: int waitKey(int delay=0) cvWaitKey()函数的功能是不断刷新图像,频率时间为delay,单位为ms. 返回值为当前键盘按键值. 所以显示图像时,如果需要在cv ...

  6. jquery mobile datepicker

    1.http://jquerymobile.com/demos/1.0a4.1/experiments/ui-datepicker/ 这个只能用在iOS和PC上,使用<input date,An ...

  7. 移动端布局 rem,和px

    1.rem布局,根据屏幕来计算rem,也就是意义上的适应屏幕,但是一些字体大小转换和计算有些复杂. // rem 布局重定义 (function(){ $('html').css('font-size ...

  8. 给DBA 的mysql脚本格式

  9. Swift 中实现 Promise 模式

    在异步编程中,除了竟态处理.资源利用以外,另外一个难点就是流程管理.在拥有匿名函数.闭包这些特性的编程语言中,我们通常可以使用回调函数来做一个异步任务完成或失败时的处理.但当我们的业务逻辑逐渐复杂时, ...

  10. VFS(Virtual File System)

    一.VFS作为内核子系统,为用户空间程序提供了文件系统相关的接口.所有实际文件系统依赖VFS共存,依靠VFS系统工作. 1.VFS提供通用文件系统接口:用户空间程序可以利用标准的UNIX文件系统调用, ...