以下内容转载自牛人博客,很多牛叉内容,请点击:http://www.stay4it.com/?p=281

Android三年,现在写代码,真心没什么很大的兴趣,每天都是优化代码,优化框架,技术支持。非常枯燥乏味。

一个项目做了大半年,才做了1/4,光src就有3M了。对这种大型app,我表示很无奈。什么时候才能到个头。

不过感谢我的line manager,让我专心做架构,还有我老大给予我技术支持。

写代码的时候三要素:Stable,Flexible,Readable

现在我搭个小型app的框架,大概3小时(复制,粘贴)

1.HTTP框架,用自己的,

2.ActionBarSherlock ,集成actionbar,我还是比较喜欢4.0风格,现在做的app都遵守标准的4.0

3.重写ActionBar Style , 更换主题样式。

4.图片lib(Android-Universal-Image-Loader),最近找了个不错的。

5.下拉刷新,改的开源的,增加下拉和上拉的区分回调,链接不记得了。我博客里有。

6.瀑布流,最近也碰到的牛x的。PinterestLikeAdapterView 不过代码我也改过了,在onscroll里加载更多,回调。发现下拉刷新的方式都是一样的。。。

7.数据库,自己写的框架太大了,基本手写。ormlite没试过,db4o,perst太小众,不怎么灵活。

8.BaseActivty,BaseFragment,BaseFragmentActivity. 很多时候有基类是非常好的事,逻辑都在基类里写好,子类只要改下UI布局就好了。

9.工具类。

10.复制粘贴,一个项目搭好了。

我喜欢把UI和逻辑拆开,如果拆不开,要么弃用,要么重写。不然以后维护没人能看懂,可别提改bug了。

不管team有多少人,一开始写代码尽量写伪代码(//TODO),把整体逻辑写完,TODO的地方慢慢加上,一个Activity就写完了。而且如果不做了,或者让别人来做,能很快顺着你的思路继续下去。如果你有很好的画流程图的习惯。把它们变成TODO试试。你会发现代码写起来很轻松。把写代码当成一种享受。当我看到别人在Activity有一堆算法逻辑的时候,简直是噩梦。如果team都能按照这个标准,效率至少提高50%。

对于新手来说,借鉴别人的sourcecode不是越多越好,整天有人问,这个项目的那个方法怎么用。你连看懂的资质都没有,到时候出bug了,谁来帮你fix。再者需求不是生搬硬套,别人的源码拿来还要改的,那么怎么改?建议好好分析一个项目,自己再试着写个简单的libary。你就明白怎么使用别人的框架,而且还会修改。框架本身就是为了更简化开发,所以很灵活,考虑的情景也很多。看明白一个框架,你的逻辑能力会变强,自己试着写个小框架哪怕是个小自定义view,动手能力也会变强。当然,如果简单基础知识都不理解的话,建议还是一步步来。

当你在写代码时,调用api,或者别人的框架,首先先想想你要什么样的功能,对方应该要提供给你什么功能,这个方法会叫什么样的名字,多YY,这样你会很惊喜的发现,它们确实有这样的方法。如果没有,自己加,或者换个思路。这样YY多了,你也会在写代码的时候想提供什么样的方法给外部。这样良性循环,写代码就真的是很容易的事情了。

当你成为team里的核心人员,如何去把控整个项目,梳理逻辑和框架,就需要平时多YY,多画流程图,多站在非技术的角度看整个项目,很难说有需求是无法实现的,也不能因为需求频繁改动而去抗拒。所以多想想在技术之外你还能为这个项目贡献什么。idea,沟通,协作。这样你在team扮演的角色越来越重要。升职,转行,随你。

最近没啥技术可以分享的,只能写写心得,仅供参考,可以交流,但真正问我什么问题怎么解决,我可能回答不了。术业有专攻,不是所有我都能解答,也不是所有都非得问他人才能有答案。

个人Android开发习惯[转载]的更多相关文章

  1. Android学习总结(1)——好的 Android 开发习惯

    Android编码规范 java代码中不出现中文,最多注释中可以出现中文: 局部变量命名.静态成员变量命名:只能包含字母,单词首字母出第一个都为大写,其他字母都为小写: 常量命名:只能包含字母和 ,字 ...

  2. Myeclipse8.6配置android_SDK,进行android开发(转载)

    Myeclipse8.6下部署环境,总结一下个人Android环境配置的过程(首先不要急着启动Myeclipse) 1.下载SDK:http://developer.android.com/sdk/i ...

  3. 摘录知乎上关于android开发的话题精华

    1.初学者学习 Android 开发,有什么好网站推荐? http://www.zhihu.com/question/19611325 2.Android 开发有哪些新技术出现? http://www ...

  4. 58. Android一些开发习惯总结

    作者:漫步 链接:https://www.zhihu.com/question/27227425/answer/35973793 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...

  5. 50个Android开发人员必备UI效果源码[转载]

    50个Android开发人员必备UI效果源码[转载] http://blog.csdn.net/qq1059458376/article/details/8145497 Android 仿微信之主页面 ...

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

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

  7. Android开发教程之【环境搭建及HelloWorld】(转载)

    引言 本系列适合0基础的人员,因为我就是从0开始的,此系列记录我步入Android开发的一些经验分享,望与君共勉!作为Android队伍中的一个新人的我,如果有什么不对的地方,还望不吝赐教. 在开始A ...

  8. 用python开发android应用 【转载】

    用python开发android应用 [转载] 转载自:http://www.miui.com/thread-995114-1-1.html Python是动态语言,比较简洁.Android不直接支持 ...

  9. (转载) Android开发mac /dev/kvm is not found

    Android开发mac /dev/kvm is not found 标签: KVMAndroid开发KVM is not found芒果Android芒果iOS 2016-10-29 16:31 2 ...

随机推荐

  1. Extjs4.2 Grid搜索Ext.ux.grid.feature.Searching的使用

    背景 Extjs4.2 默认提供的Search搜索,功能还是非常强大的,只是对于国内的用户来说,还是不习惯在每列里面单击好几下再筛选,于是相当当初2.2里面的搜索,更加的实用点,于是在4.2里面实现. ...

  2. 微信怎样做SEO

    微信也能做SEO.大家还不知道吧?今天上海SEO优化公司就和大家解说在微信上要怎么做SEO优化. 微信也有SEO?你会不会觉得我是说笑呢.事实上还就是.我也找不到什么好名词来介绍公众号上的排名,就用微 ...

  3. Web API(七):Basic基础认证

    1.WebApi中为什么需要身份认证 我们在使用WebApi的时候,都是通过URL去获取数据.也就是说,任何人只要知道了URL地址,就能随意的访问后台的服务接口,就可以访问或者修改数据库数据了,这样就 ...

  4. windows10删除开始菜单中的xbox、人脉、邮件等应用

    1.右键单击PowerShell,选择“以管理员身份运行” 2.输入下面的命令回车,会列出系统中所有已安装应用列表. Get-AppxPackage -AllUsers 从列表中找到你要卸载的应用,并 ...

  5. XXXXX

    http://www.java-gaming.org/topics/laser-fx-opengl-libgdx/25402/view.html Libgdx游戏引擎之Dialog组件 http:// ...

  6. ASP.NET 中整合JavaScript的技巧

    尽管ASP.NET提供了一个强壮的平台,但是开发者也不应忽视诸如JavaScript这样成熟的技术.在这篇文章中,Tony Patton将向您解释在Web开发中如何将JavaScript与ASP.NE ...

  7. QWSLock::up(): Invalid argument

    运行qt时,点击QMessageBox的确定按钮是出现错误QWSLock::up(): Invalid argument, QWSLock::down(): Invalid argument,这个是q ...

  8. Android Studio 出现 Build gradle project info

    导入Android Studio,一直停留在Build gradle project info.主要是因为google被墙,下载gradle很慢,有时候设置下载不成功. 参考链接 http://blo ...

  9. 当SQL UPDATE遇到EXISTS(SELECT ...)时

    直接上例子. user表: ; -- ---------------------------- -- Table structure for user -- --------------------- ...

  10. Spring JDBC处理CLOB类型字段

    以下示例将演示使用spring jdbc更新CLOB类型的字段值,即更新student表中的可用记录. student表的结构如下 - CREATE TABLE student( ID INT NOT ...