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

  1. Transfer: 99款高质量免费(X)HTML/CSS模板

    99款高质量免费(X)HTML/CSS模板 投递人 暴风彬彬 发布于 2009-10-26 09:56 评论(8) 有3943人阅读 [收藏] 大家都清楚一个网站象征着你和你的品牌,这取决于你如何构建 ...

  2. 空间留言软件_四款高质量高性能优质软件,强大还免费,建议偷偷收藏使用

    从软件质量的角度上,小编精心寻找了几款高质量软件,在这里一一与大家分享,希望能为大家所用. WizTree 一款超强的windows磁盘分析软件. 如果磁盘占用空间多,文件凌乱时,我们可以使用它来分析 ...

  3. 独家整理: 六款高质量的办公资源网站,疯狂提高你的工作效率

    工作中经常需要找一些素材,办公中要用到网站的机会也越来越多, 这年头,没几个资源网站怎么能行?今天就给大家分享几款高质量的在线办公资源网站. 一:Nicetool http://www.nicetoo ...

  4. 【建议收藏】6款高质量Windows软件,好用到无法拒绝

    买了新电脑,当然要装软件啦!今天小葱给大家推荐6款超级好用的Windows神级软件,每一款都好用到无法拒绝! 1. 野葱 首先要介绍的肯定是我们野葱录屏啦,毕竟它无广告.无捆绑.无水印.还没有时间限制 ...

  5. 9款高质量学习软件,原来学霸都是这么炼成的!

    白天不懂夜晚的黑,学霸不懂学渣的泪.现在,学渣也不用流泪了,试试这九款学习软件,学渣也能晋级学霸! 中国大学MOOC 中国大学MOOC(慕课)是由网易公司与教育部爱课程网携手推出的在线教育平台,汇集中 ...

  6. 安利7款高质量的Mac软件,每一款都让人相见恨晚!

    给大家分享7款高质量的Mac软件,可以解决大家很多问题,直接上干货! 1.Agenda Agenda是一款以日期为中心的笔记,用于规划和记录您的项目.同时支持笔记管理,任务管理和日历功能,并将三者非常 ...

  7. 打造高质量的App——《App研发录》

    当前移动开发从业人员数量处在一个野蛮增长的时代,鱼龙混杂的培训机构不断把一批批抱怨体力劳动又累又没钱的厨师和洗剪吹在四个月内包装成"两年以上开发经验"的Android或iOS工程师 ...

  8. 99款高质量免费(X)HTML/CSS模板

    99款高质量免费(X)HTML/CSS模板 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://iamsam.blogbus.com/logs/49215789.html ...

  9. 20款高质量的 HTML5 网站模板【免费下载】

    下面的列表集合了20款高质量的免费 HTML5 网站模板,这些专业的模板能够让你的网站吸引很多的访客.这些免费的 HTML5 模板虽然不是响应式的,不过都很实用.赶紧来看看. 您可能感兴趣的相关文章 ...

最新文章

  1. HashMap和HashSet原理及底层实现
  2. php实现的mongodb操作类
  3. 数据结构与算法 | 用队列实现栈
  4. Elasticsearch用例:全文搜索
  5. 优盘中毒,里面有(System Volume Information文件夹)删除不了?教你怎么解决
  6. 计算机视觉中的人类感知、理解和生成 (ICCV 2019 Workshop)
  7. 高级JAVA - 手写简单的重试组件学习Spring Retry
  8. mysql几种备份恢复_mysql多种备份与恢复方式一
  9. 第14章 使用Kotlin 进行 Android 开发
  10. presto安装及入门
  11. java菜鸟疑问1:为什么我的代码总出现cannot be resolved or is not a field这种问题
  12. webpack-theme-color-replacer动态修改Ant Design Vue主题色
  13. android对界面某一部分进行截图的方法
  14. 公司/企业如何管理?管理技巧是什么?《宁向东管理学课》音频资料免费下载
  15. 木纤维增强聚丙烯复合材料:压缩和注塑成型工艺
  16. Linux 系统管理员
  17. 友盟统计,h5 API
  18. Leetcode 1856. Maximum Subarray Min-Product [Python]
  19. ai怎么画路线_AI入门教程!怎样画出专业又艺术的几何线条图案
  20. FotoMagico 5.6.5 特别版 Mac 专业的幻灯片制作工具

热门文章

  1. JDK1.7的下载指南
  2. MYSQL数据库如何写注释
  3. 容器化部署(k8s)任务调度平台xxl-job(部署过程及踩坑问题记录)
  4. csdn 涨粉攻略 方案设计(含代码)
  5. 6000元创业起家的创业故事
  6. git 恢复误删文件
  7. 一篇文章学会 python turtle海龟绘图
  8. 注册表计算机性能设置怎么应用,手把手教你windows系统优化设置-系统操作与应用 -亦是美网络...
  9. 条形码--JsBarcode
  10. Android带有边框的裁剪算法,简单易用的 Android 智能图片裁剪框架