如何搭建一款高质量的APP
2017-03-08 21:44
169 查看
最近,因个人方面的原因,打算辞职,所以经常会去招聘网站上看上几眼,我总结了下:一般小公司招聘Android工程师无非就是希望能招聘单干的程序员,一般大公司就希望招聘在某些领域非常精通的那种。 这里,我就说下小公司吧,要做到单干,应该至少要做到以下几点:1、熟练地搭建项目框架;2、熟悉常用框架原理,并能进行二次封装;3、熟悉基本控件和高级控件,并能自定义组件;4、具备该公司业务所需要的技术,像蓝牙开发、音频开发等;5、最好能熟悉C语言,懂底层。 以上只是我个人的一点看法,各位读者如果有什么其它意见,还望补充。ok,跟大家也闲扯了那么多,那我开始讲讲如何搭建一款高质量的APP。 目前,我正在通过使用MVP模式来开发一款个人APP,目前还正在开发中,许多的知识正在学习中,还望各位大伽见谅。这里,我先声明下,如果还不清楚如何使用Android studio新建工程的小伙伴可以自己去搜下,这里就不详细描述。 第一,对于配置的管理,我个人推荐在工程下单独建一个gradle文件进行统一管理,见下图:
以上为我在工程下新建的config.gradle文件,具体配置细节 可到我项目github上看下。
第二,一般我们开发一个APP至少有两个环境,开发环境和线上环境,更规范来说应该还有测试环境和验证环境。如此多的环境,如果不用上多渠道打包,岂不是把大部分时间花在了打包上。对于多渠道打包流程,我个人总结了下,供参考: 1、新建一个常量类,用于初始化所有请求路径; 2、在自定义Application里初始化url方法; 3、在 manifest文件里定义相关的变量,如下:
<meta-data android:name="DRIVER_SERVER_ROOT_URL" android:value="${DRIVER_SERVER_ROOT_URL}" /> <meta-data android:value="xxxx" android:name="UMENG_APPKEY"/> <meta-data android:value="xxxx" android:name="UMENG_CHANNEL"/>
4、在模块下的build.gradle文件里初始化相关变量; // 多渠道打包配置 productFlavors { // 生产环境 onLineEvn { manifestPlaceholders = [ SERVER_ROOT_URL: project.Server_Root_Url_OnLine ] } // 开发环境 newDevEnv { manifestPlaceholders = [ SERVER_ROOT_URL: project.Server_Root_Url_NewDev ] } } // 开发使用时放开,本地调试时可以修改用指定的环境 productFlavors.all { flavor -> flavor.manifestPlaceholders = [ SERVER_ROOT_URL: project.Server_Root_Url_NewDev ] } 5、在gradle.properties文件定义根路径地址,如下:
线上环境:
Server_Root_Url_OnLine=http://xx.xxxx.xxx/
开发环境:
Server_Root_Url_NewDev=http://xx.xxxx.xxx/
第三,模块的划分。首先拿我本人做的app来说吧,我使用了MVP模式搭建的框架。划分大致如下:1、自定义的Application和其相关的类为单独的包;2、常量类的包; 3、自定义View的包; 4、工具包;5、model包(业务包);6、view包(UI) 7、presenter包(业务与视图的纽带) 8、基类包 。再细分的话,我就以view包简单说下,在该包下可以细分各个模块,便于查找。 第四,理清app的业务,把要展示的视图写下来,并能抽象地概括出来,这就是下一步写基类必须要做的工作。基类大大地减少了重复的工作量,提高工作效率,减少了很多的代码。写基类前最好先把流程图用画图工具画出来,一目了然。 以上是我做该项目至今的一点总结,后续还会给大家打来更多的干货物。当前做的项目主要采取Retrofit+Glide+Dagger2+RXJava第三方框架写的,更多细节查看本人github项目。
github地址: https://github.com/LJH001/GoHappy
参考项目: https://github.com/codeestX/GeekNews
相关文章推荐
- 如何开发出一款仿映客直播APP项目实践篇 -【服务器搭建+推流】
- 如何创造一款伟大的App?
- 美食和时尚类App,不妨学学Gejee如何设计一款充满美感的App
- 【app制作指南】如何制作一款属于自己的APP(移动客户端)?
- 如何打造一款 android app
- 如何查看一款iOS 的App里面包含的图片
- 如何利用Google App Engine搭建网络服务(一)
- 作为一名设计师,我是如何在4个月的时间开发出一款app的
- 如何做出一款优秀的APP
- 经验分享:如何将一个想法变成一款手机APP。
- 【投稿】如何给App快速搭建虚拟服务器
- 教你如何查看一款App里面所包含的图片
- 如何设计一款令用户上瘾的App?考虑下这4个因素
- 9招教你如何设计一款电商app,并实现使用量170%增长
- APP运营推广超级攻略,如何做好一款APP
- 如何使用efi toolkit搭建编译efi app的环境
- 如何设计一款成功的电商App 学懂这9招
- [译文]详细解析如何做一款成功的APP应用
- 如何打造一款出色的APP
- 如何给App快速搭建虚拟服务器