如何搭建一款高质量的APP

     最近,因个人方面的原因,打算辞职,所以经常会去招聘网站上看上几眼,我总结了下:一般小公司招聘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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 硬件需求 1.1 基本配置 配件 数量 CPU 2核 内存 4G 硬盘 100G 1.2 最低配置 配件 数量 CPU 2核 内存 2G 硬盘 10G 2 软件需求 名称 分类 版本 Windows 操作系统 2003及以上 jdk Java虚拟机 1.5.x及以上 Tomcat Web服务器 5.x及以上 Easy do it (轻松互联网开发平台,简称轻开平台,原名WebEasy) 应用开发服务器 2014及以上 Access 数据库 97及以上 EditPlus 开发工具 2.x及以上 3 软件安装 4 发布 4.1 下载 Easy do it,轻松互联网开发平台(简称轻开平台,原名WebEasy)下载地址: CSDN下载频道:http://download.csdn.net/detail/tx18/8711175 百度云盘:http://pan.baidu.com/s/1eQElpom 官网:http://edoit.htok.net/ 最新更新的下载包:http://download.csdn.net/user/tx18 4.2 发布 复制webeasy目录到D:\下,然后进入%TOMCAT_HOME%\conf目录,用文本编辑器(如:EditPlus)打开server.xml文件,在“Host”标签下添加一“Context”标签: 保存退出并启动tomcat 5 编辑工具 轻开平台可以用任何网页或文本编辑器进行开发,我本人一直在使用EditPlus,以下推荐常用的编辑软件: • EditPlus EditPlus 是一款功能强大的文字处理软件。它可以充分的替换记事本,它也提供网页作家及程序设计师许多强悍的功能。支持 HTML、CSS、PHP、ASP、Perl、C/C++、Java、JavaScript、VBScript 等多种语法的着色显示。程序内嵌网页浏览器,其它功能还包含 FTP 功能、HTML 编辑、URL 突显、自动完成、剪贴文本、行列选择、强大的搜索与替换、多重撤销/重做、拼写检查、自定义快捷键,等等... EditPlus中文版包含在下载包中 6 开发 6.1 第一个json 新建一个扩展名json的文件,如one.json(下图) 然后录入如下内容 {"item":{ 土豆 1.24 KG T恤 68 件 可乐 2.20 瓶 书 51.24 本 @{item:name} @{item:price} @{item:unit} },"sort":@{int:@{item:getSuffix}+1} } 6.2 针对移动App(json格式)的规则及开发例子 除了基本开发标签语言及表达式(参见同一下载包中的开发手册)外,轻开平台特别针对移动App最常用的json文本格式开发的对应规则:  文件扩展名须为json(如:one.json)或用JspEasy扩展  文件内容须为闭合的json格式,静态内容则可直接书写json格式,如: {“item”: { … … },”other”:”other value” }  value属性参数表示输出不带引号的值,如: @{item:price} 输出:"pri
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值