Giter Site home page Giter Site logo

ppbao / weaponapp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from g-joker/weaponapp

0.0 1.0 0.0 19.51 MB

一个尽量做到极致的集大成App,努力做到最好(开发阶段)——MVVM+Retrofit+RxJava+Small 插件化+单元测试+MD

Java 95.51% Batchfile 0.34% Shell 0.35% Groovy 2.14% PLpgSQL 1.66%

weaponapp's Introduction

WeaponApp

联系我们

QQ1Group

一个极致的App。学习项目,帮助你提升独自开发 Android 业务层的能力。基于该开发框架,可以快速构建应用,同时你可以当做一个工具 App,以供你平时开发参考。

整包打包方式:

gradlew cleanLib
gradlew buildLib -q -Dbundle.arch=x86
gradlew cleanBundle
gradlew buildBundle -q -Dbundle.arch=x86

其中 -q 代表整洁模式,只看到插件的打包结果信息。 -Dbundle.arch 中,如果是模拟器调试,则是x86,如果是真机调试则是armeabi

脚本打包方式:

buildAll        全量打包
buildBundle     只打包Bundle,Lib没改变
buildAll q d    相当于加-q 和 -Dbundle.arch=x86
buildBundle q d 相当于加-q 和 -Dbundle.arch=x86

详细打包指令参数请参考Small文档:Small文档

开发方法:测试驱动开发

它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。

测试驱动开发会反向帮助程序员编写设计性良好的代码,为了保证代码的可测性,要求代码中的类和方法必须严格遵循单一性原则。

同时,通过已经封装好的 MVVM 框架,可以只通过单元测试 ViewModel 层方法,构造空的 View 和 Model 参数,从而测试整个页面逻辑。

开发框架:MVVM

通过高度封装的 MVVM 框架,配合databinding进行高效开发,通过该框架,可以快速的进行业务逻辑的开发,对 databinding 底层技术进行隐藏,即使程序员对 MVVM 和 Databinding 理解不深,按照框架流程也可以顺畅开发。

并且通过该框架,可以轻松的进行单元测试,MVVM 的具体开发流程和单元测试操作,将在后续开发过程中补充。

技术栈

我们将在项目中集成、封装和二次开发现在 Android 领域使用最多,最专业,最热门的技术,并实用在项目中,目前计划引入的技术有(加粗字体为二次开发或者完全自主开发库):

  • 组件化开发
  • Small 插件化框架
  • Databinding
  • 自建服务器
  • 自定义 Gradle 插件
  • 集成QQ、微信、微博官方分享
  • 全平台推送服务
  • 友盟统计
  • OkHttp + Retrofit + RxJava
  • 通过 RecyclerView 拓展的刷新列表库
  • 控件组件化
  • 单元测试
  • 组件化集成调试
  • 即时通讯
  • 视频服务
  • Material Design
  • Glide

提交规范

  • [func] do sth:功能开发
  • [fixbug] #xx# do sth:Bug 修改,#号内为 issue 编号
  • [docs] do sth:文档
  • [chore] do sth:build相关的修改
  • [test] do sth:添加测试代码
  • [optimize] do sth: 优化部分代码
  • [style] do sth: 格式化上的格式化、删除空白行等,无关功能

集成调试方法

在 gradle.properties 中 DEBUG 为 true 则打开集成调试环境,需要哪几个模块联调,就把下面的对应模块置为 true。

比如我要联调 mine 和 message 模块,就把DEBUGDEVELOP_MINEDEVELOP_MESSAGE置为true,然后重新同步一下Gradle即可

DEBUG 置为 false 的时候为整包编译或者可以理解为Release模式,将默认添加所有模块,忽略下面模块的单独配置布尔值。

代码规范

待补充

未完待续,目前正迭代中...


开发人员WeaponZhi,xiaweizi,hiyangyue,foxlee

weaponapp's People

Contributors

xiaweizi avatar weaponzhi avatar hiyangyue avatar foxleezh avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.