该项目的目的是:
规范摘要:
这是该应用程序消耗数据 - > rails-api-base的对应服务器API
安装您喜欢的IDE或仅安装Android SDK(BuildTools 23.0.2和CompilesDK 23,或在dependencies.gradle中定义您自己的版本)。我使用Android Studio。
克隆存储库并进入其中:
git clone git://github.com/jordifierro/android-base.git --origin android-base YourProjectName
cd YourProjectName
./bin/remove_notes
./bin/rename_project YourProjectName your.package.name
./gradlew clean build cAT
./bin/reset_git https://github.com/yourusername/YourProjectName.git
就是这样,您现在可以开始开发自己的应用程序!
注意:要运行该应用程序(您可以立即仅运行测试)记住设置API服务器(Rails-API-Base已经开发为服务此应用程序,但您也可以自行制作)并配置RestApi以连接到它(只需修改Restapi.java params)即可。
应用程序本身几乎是空的,它仅旨在提供一些基本的模块,以某些模式实现结构并提供示例代码。以下是规格:
此应用程序的主要目标是避免编写App Basic样板代码,因此已经实现了以下功能:
从现在开始可以使用,它还提供了添加更多代码的结构化方法。
为了提供更多的示例代码,它已经开发了用于管理notes代码(例如由title和content组成的手写笔记表示)。因此,该应用具有注释索引,详细信息,创建和编辑屏幕。
它的独特目的是成为示例代码,因此在运行./bin/remove_notes脚本时将删除它。
该代码是按照干净的体系结构方法和模型视图 - 总计(MVP)模式结构的。查看此信息以及此项目,以获取有关它的更多信息。
依赖性反转原理基本上是在应用程序上使用,以使测试变得更加容易,并使组件分解和重复使用。它还减少了样板代码,并有助于实例范围的管理。用于实现这一点的图书馆是匕首2。黄油小刀用于观看注入。
干净的体系结构使您创建不同的层,为了避免回调地狱,使用Reactivex库应用了反应性编程范式。
作为客户端应用程序,其主要目标是让用户与服务器API的数据进行交互。该项目显示了如何轻松处理这一点。改造库用于实现API调用方法。请求包括身份验证,API版本和国际化。
该项目中最有趣的事情之一是它具有完整的单元测试覆盖范围,从数据模块到包括所有中间层在内的Android视图。这是使用清洁体系结构,依赖性反转和良好测试实践的结果。其中一个示例是视图测试,其中视图主持人是由overito模拟的,并通过自定义Junit Runner提供的测试匕首组件注入。
在这里,您可以找到解释其中一些测试的教程:
项目中使用了另一种模式和良好的实践,例如实施活动和片段具有继承,使用片段并在活动中定义导航,以使屏幕毫无痛苦地重塑,使用接口来解除组件... Android特定的良好实践,例如弦乐国际化,样式表和其他小方法。这里是二手资源之一 - > Android最佳实践。
Travis-CI已被添加为连续集成系统,以在每个推动(Java和Android测试)上运行所有测试。
要在本地运行测试,只需连接设备或运行模拟器并执行:
./gradlew clean build cAT
这将同时运行Java和Android测试。
有一些脚本/bin文件夹,可以使使用此模板从从头开始启动一个新项目。只需按照上面放置的“快速启动”部分即可。
所有Shell脚本均通过ShellCheck工具验证。
这是该应用程序消耗数据 - > rails-api-base的对应服务器API。
所有建议和贡献都非常欢迎!
./gradlew clean build cAT
不幸的是,还没有贡献者。
http://jordifierro.com