程序Android技术Android

开发一个Android应用之前,应该考虑点什么?

2016-08-08  本文已影响1035人  MeloDev

开发一个Android应用之前,应该考虑点什么?

本文原创,转载请注明出处。
欢迎关注我的 简书 ,关注我的专题 Android Class 我会长期坚持为大家收录简书上高质量的Android相关博文。

开心一刻

写在前面:

昨天参加了秋百万大大组织的北京GDG活动,收获颇丰。又跟几个有写作习惯的朋友建立了一个“神秘组织”,每两周为一个周期,每人都会产出一篇原创的文章,互相校验和探讨,意在督促组员之间学习和分享开源技术。而简书上的平台就交给我维护了,不出意外,几天之内大家就可以看到我们的主页和第一期成员的文章啦,敬请期待~

前几天接手了一个老员工遗留下来的代码,别提多痛苦了,甚至有了让我推倒重写的冲动,很多地方的设计问题颇多,老大也快无法忍受了。。。上学的时候写一篇作文,要想好主题立意和分段,解数学题的时候也得在草稿纸上梳理清楚逻辑之后再下笔。其实开发一个Android也应是如此,不做准备,埋头苦写,最后会导致问题颇多。所以本文会根据网络上优秀内容和我实际的开发经验讨论总结一下,开发一个Android应用之前,都应该做哪些准备

编码规范

编码规范的问题是我最先想强调的,因为我接手的项目命名就极其混乱,甚至在一个类中的命名都没有统一化(生无可恋脸)。代码可能不是你自己一个人写,保证代码可读性是非常必要的。而规范存在的意义就是淡化每个人的习惯而达到统一。不多说,下面就介绍Android的编码规范

包管理

以上是一些常见的包,但不局限于此,视项目的具体情况而定。

命名

大驼峰命名(UpperCamelCase):每个单词的第一个字母都大写。

小驼峰命名(lowerCamelCase):除第一个单词以外,每一个单词的第一个字母大写。

命名的基本原则:

包命名

Java类命名

变量命名

方法命名

布局文件命名

资源命名

项目架构

项目框架
一个好的项目架构可以降低项目的复杂性,并且易扩展、易维护,耦合低,结构清晰,功能内聚。
MVCMVPMVVM还有一些设计模式,结合你app的业务,自行选择一个最合适的一条路走到黑,建议不要“混搭”。

开源框架

开源框架的选择分两大类,一是权威性毫无争议,放心选择的这类帮助我们快速开发的,比如:

还有一类框架虽然不是毫无争议,但是也能极大节省我们的时间,提升开发效率,对于这类项目,要在Github上长期淘宝了。找那种star很多,issues解决很快,长期维护的项目,这种坑会比较少。

代码细节

抽取基类
即使目前你没有需要,也一定要抽取一个BaseActivity和BaseFragment,因为早晚会用到,切记!
比如:

public abstract class BaseActivity extends Activity{

    @Override
    public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
        super.onCreate(savedInstanceState, persistentState);
        init();
    }

    private void init() {
        setContentView(R.layout.activity_main);
        initView();
        initData();
        initListener();
    }

    /**
     * 初始化布局
     */
    protected abstract void initView();

    /**
     * 初始化数据
     */
    protected  abstract void initData();

    /**
     * 初始化侦听
     */
    protected abstract void initListener();

}

BaseFragment也同理,随着业务的增加和抽象,基类会继续扩展。其实不仅仅是BaseActivityBaseFragment,如果你一个业务模块中有很多相似和相同的逻辑,也可以抽取一个BaseXXX这是非常好的一个习惯。

还有一些建议,不做展开,大家请自行搜索:

性能优化

推荐一个我曾经写过的总结:

Android性能优化总结

写在后面:

本文做了一个初步总结,未来会慢慢扩展和完善,如果有遗漏,大家可以补充~

上一篇 下一篇

猜你喜欢

热点阅读