UASModulePattern

guiying712 cf8cb5ca4c 1:修改ClassUtils方法,增加多个路径下寻找类的方法; vor 8 Jahren
lib_common cf8cb5ca4c 1:修改ClassUtils方法,增加多个路径下寻找类的方法; vor 8 Jahren
module_app 5caabd1d52 1:调整目录结构,增加Fragment示例; vor 8 Jahren
module_girls 5caabd1d52 1:调整目录结构,增加Fragment示例; vor 8 Jahren
module_main 2c22394982 1:调整目录结构,增加Fragment组件化示例; vor 8 Jahren
module_news fdd6dd38d6 1:调整目录结构,增加Fragment组件化示例; vor 8 Jahren
screenshots 805ae81ea8 1:根据修改内容更新README文档; vor 8 Jahren
.gitignore 062f9571fa 创建组件的Application vor 8 Jahren
LICENSE 577f3d7756 Initial commit vor 9 Jahren
README.md fcdf68e21f 1:根据修改内容更新README文档;; vor 8 Jahren
build.gradle 335064003c 1:使用阿里ARouter替换ActivityRouter; vor 8 Jahren
gradle.properties b82fe1981a 1:将默认开发模式改为集成开发模式; vor 8 Jahren
settings.gradle aa1fbf9acd 1:重构组件化项目的目录结构及从新配置了Gradle,稍后会更新组件化博客。 vor 8 Jahren

README.md

应用截图

AndroidModulePattern

Android项目组件化示例代码

Android组件化方案http://blog.csdn.net/guiying712/article/details/55213884

Android组件化方案中的路由使用了ActivityRouter,但是因为ActivityRouter对于初学者不太友好, 总是出现莫名其妙的错误,因此现在的 AndroidModulePattern 已经改为使用 阿里ARouter作为路由。

集成开发模式和组件开发模式转换

1、首先打开Android项目的 gradle.properties 文件,然后将 isModule 改为你需要的开发模式, 然后点击 "Sync Project" 按钮同步项目;

2、Image 在运行之前,请先按照图中选择一个能够运行的组件;

组件功能介绍

app组件功能(空壳工程):

  1. 配置整个项目的Gradle脚本,例如 混淆、签名等;
  2. app组件中可以初始化全局的库,例如Lib.init(this);
  3. 添加 multiDex 功能

main组件功能(业务组件):

  1. 声明应用的launcherActivity----->android.intent.category.LAUNCHER;
  2. 添加SplashActivity;
  3. 添加LoginActivity;
  4. 添加MainActivity;

girls/news组件功能(业务组件):

  1. 这两个组件都是业务组件,根据产品的业务逻辑独立成一个组件;

common组件功能(功能组件):

  1. common组件是基础库,添加一些公用的类;
  2. 例如:网络请求、图片加载、工具类、base类等等;
  3. 声明APP需要的uses-permission;
  4. 定义全局通用的主题(Theme);

License

Copyright 2017 guiying712, AndroidModulePattern Open Source Project

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.