UASModulePattern

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

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.