Skip to content

Commit 4870f2e

Browse files
committed
up mvp release1.0.5
1 parent 51aaf89 commit 4870f2e

File tree

76 files changed

+804
-541
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+804
-541
lines changed

README.md

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
## 前言
2-
- 技术选型
3-
- 组件化设计
2+
- 快速实现MVP组件化
43
- ReactNative-Android 的简单实践
54
- 阿里Atlas(插件化)与该项目的简单实践
6-
- 快速实现MVP组件化
75

86
**集android技术于一体,你们想要的都在这里**
97

@@ -14,19 +12,17 @@
1412
- feature-atlas : 以阿里Atlas插件化结合为主
1513

1614

17-
18-
## 快速实现([AndroidStudio插件](https://juejin.im/post/5b163118f265da6e1349072a))
15+
## 效果
1916

20-
[AndroidStudio插件快速实现组件化和MVP](https://juejin.im/post/5b163118f265da6e1349072a)
2117

22-
## 效果
18+
[Gif动态效果](https://github.com/chengzichen/Photo/raw/master/gif/show.gif) [*DemoAPK下载*](https://github.com/chengzichen/Photo/blob/master/gif/app-release.apk) [架构图](https://i.imgur.com/sEuZMdp.png)
2319

2420

25-
[Gif动态效果](https://github.com/chengzichen/Photo/raw/master/gif/show.gif) [DemoAPK下载](https://github.com/chengzichen/Photo/blob/master/gif/app-debug.apk)
21+
## AndroidStudio插件
22+
23+
[AndroidStudio插件快速实现组件化和MVP](https://juejin.im/post/5b163118f265da6e1349072a)
24+
2625

27-
## 结构
28-
29-
<img src="https://i.imgur.com/sEuZMdp.png" width = "400" height = "400" alt="图片名称" align=center />
3026

3127
## 依赖说明
3228

app/src/main/java/com/dhc/flyabbit/app/App.java

Lines changed: 11 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,30 @@
11
package com.dhc.flyabbit.app;
22

33
import android.content.Context;
4-
import android.content.res.Configuration;
5-
import android.support.annotation.NonNull;
64
import android.support.multidex.MultiDex;
75
import android.support.v7.app.AppCompatDelegate;
86

97
import com.alibaba.android.arouter.facade.annotation.Autowired;
108
import com.alibaba.android.arouter.launcher.ARouter;
119
import com.dhc.businesscomponent.Constants;
1210
import com.dhc.businesscomponent.data.LoginInfoBean;
11+
import com.dhc.businesscomponent.data.account.AccountProvider;
1312
import com.dhc.lib.imageload.ImageLoaderManager;
1413
import com.dhc.library.base.BaseApplication;
1514
import com.dhc.businesscomponent.base.InitializeService;
1615
import com.dhc.library.data.IDataHelper;
17-
import com.dhc.library.data.account.AccountProvider;
16+
import com.dhc.businesscomponent.data.net.TokenInterceptor;
17+
import com.dhc.library.framework.XAppDelegate;
1818
import com.dhc.library.utils.AppUtil;
1919
import com.dhc.library.utils.ApplicationLike;
2020
import com.dhc.library.utils.AsLibUtil;
2121
import com.dhc.timberhelper.TimberInitHelper;
2222
import com.google.gson.GsonBuilder;
2323

24+
import okhttp3.Interceptor;
25+
import retrofit2.Converter;
26+
import retrofit2.converter.protobuf.ProtoConverterFactory;
27+
2428
/**
2529
* 创建者:邓浩宸
2630
* 时间 :2017/3/21 10:51
@@ -34,10 +38,6 @@ public class App extends BaseApplication implements AccountProvider<LoginInfoBe
3438
ApplicationLike mApplicationLikeMoudle2;
3539
@Autowired(name = "/girls/application3")
3640
ApplicationLike mApplicationLikeMoudle3;
37-
public static synchronized BaseApplication getInstance() {
38-
return instance;
39-
}
40-
4141

4242
static {
4343
AppCompatDelegate.setDefaultNightMode(
@@ -61,43 +61,23 @@ public void onCreate() {
6161
}
6262

6363

64-
@NonNull public static App app(@NonNull Context context) {
65-
return (App) context.getApplicationContext();
66-
}
67-
6864
/**
6965
* 必须重新设置BaseUrl
7066
* @return
7167
*/
7268
@Override
7369
public IDataHelper.NetConfig getNetConfig() {
74-
return new IDataHelper.NetConfig().configBaseURL(Constants.GANK_URL);
70+
return new IDataHelper.NetConfig().configBaseURL(Constants.GANK_URL)
71+
.configInterceptors(new Interceptor[]{new TokenInterceptor()})//配置Token
72+
.configConverterFactory(new Converter.Factory[]{ProtoConverterFactory.create()});
73+
//配置Proto格式工厂
7574
}
7675
@Override
7776
public void onLowMemory() {
7877
super.onLowMemory();
79-
AsLibUtil.onLowMemoryAsLibrary(this);
8078
ImageLoaderManager.getInstance().cleanMemory(this);
8179
}
8280

83-
@Override
84-
public void onTrimMemory(int level) {
85-
super.onTrimMemory(level);
86-
AsLibUtil. onTrimMemoryAsLibrary(this, level);
87-
}
88-
89-
@Override
90-
public void onTerminate() {
91-
super.onTerminate();
92-
AsLibUtil. onTerminate(this);
93-
}
94-
95-
@Override
96-
public void onConfigurationChanged(Configuration newConfig) {
97-
super.onConfigurationChanged(newConfig);
98-
AsLibUtil. onConfigurationChanged(this, newConfig);
99-
}
100-
10181
@Override
10282
public LoginInfoBean provideAccount(String accountJson) {
10383
return new GsonBuilder().create().fromJson(accountJson, LoginInfoBean.class);

app/src/main/java/com/dhc/flyabbit/ui/MainActivity.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public class MainActivity extends XDaggerActivity implements OnShowHomeListener
2929
private ViewGroup mContentView;
3030

3131
@Override
32-
protected int getLayout()
32+
public int getLayoutId()
3333
{
3434
return R.layout.activity_main;
3535
}
@@ -41,14 +41,14 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
4141
}
4242

4343
@Override
44-
protected void initEventAndData(Bundle savedInstanceState) {
44+
public void initEventAndData(Bundle savedInstanceState) {
4545
if (savedInstanceState == null) {
4646
//加载主界面的Fragment
4747
if (SPHelper.get(AppContext.get(), Constants.VERSION, "", SPHelper.VERSION_FILE_NAME).equals(AppUtil.getVersionName(AppContext.get()))){
4848

4949
loadRootFragment(R.id.fl_container, MainFragment.newInstance());
5050
}else{
51-
loadRootFragment(R.id.fl_container, new SplashFrament());
51+
loadRootFragment(R.id.fl_container, MainFragment.newInstance());
5252
}
5353
// loadMultipleRootFragment(R.id.fl_container,1, MainFragment.newInstance(),new SplashFrament());
5454
} else {
@@ -57,7 +57,7 @@ protected void initEventAndData(Bundle savedInstanceState) {
5757
loadRootFragment(R.id.fl_container, findFragment(MainFragment.class));
5858
}else{
5959

60-
loadRootFragment(R.id.fl_container, findFragment(SplashFrament.class));
60+
loadRootFragment(R.id.fl_container, findFragment(MainFragment.class));
6161
}
6262
}
6363
getSupportFragmentManager().registerFragmentLifecycleCallbacks(new FragmentManager.FragmentLifecycleCallbacks() {

app/src/main/java/com/dhc/flyabbit/ui/MainFragment.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import com.dhc.lib.widget.bottombar.BottomBarTab;
1111
import com.dhc.library.base.BaseFragment;
1212
import com.dhc.library.base.XDaggerFragment;
13-
import com.dhc.library.data.account.AccountManager;
13+
import com.dhc.businesscomponent.data.account.AccountManager;
1414

1515
import me.yokeyword.fragmentation.SupportFragment;
1616

@@ -109,13 +109,13 @@ private Class<BaseFragment> getClass(String homeFragment) {
109109

110110

111111
@Override
112-
protected int getLayoutId() {
112+
public int getLayoutId() {
113113
return R.layout.fragment_main;
114114
}
115115

116116
@Override
117-
protected void initEventAndData(View view) {
118-
initView(view);
117+
public void initEventAndData(Bundle savedInstanceState) {
118+
initView(mRootView);
119119
}
120120

121121
@Override

app/src/main/java/com/dhc/flyabbit/ui/SplashFrament.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,11 @@ public void initInject(Bundle savedInstanceState) {
3939
}
4040

4141
@Override
42-
protected int getLayoutId() {
42+
public int getLayoutId() {
4343
return R.layout.fragment_splash;
4444
}
4545

46+
4647
public void showGuid() {
4748
viewPager = $(R.id.viewPager);
4849
mTvJoin = $(R.id.iv_join);
@@ -121,7 +122,7 @@ private void setIndicator(ViewGroup indicator, int total, int current) {
121122
}
122123

123124
@Override
124-
protected void initEventAndData(View view) {
125+
public void initEventAndData(Bundle savedInstanceState) {
125126
initView();
126127
if (!SPHelper.get(AppContext.get(), Constants.VERSION, "", SPHelper.VERSION_FILE_NAME).equals(AppUtil.getVersionName(AppContext.get()))) {
127128
mIsShowGuid = true;
-39.5 KB
Binary file not shown.
191 KB
Loading

app/src/main/res/values/styles.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<resources>
22
<style name="SplashTheme" parent="AppTheme">
3-
<item name="android:windowBackground">@mipmap/background_splash</item>
3+
<!--<item name="android:windowBackground">@mipmap/background_splash</item>-->
44
</style>
55

66
</resources>

baselib/library/build.gradle

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ dependencies {
8383
})
8484
//network
8585
api rootProject.ext.dependencies["gson"]
86+
api rootProject.ext.dependencies["protobuf-lite"]
8687
api(rootProject.ext.dependencies["retrofit"]) {
8788
exclude module: 'okhttp'
8889
}
@@ -92,6 +93,10 @@ dependencies {
9293
api(rootProject.ext.dependencies["retrofit-adapter-rxjava"], {
9394
exclude module: 'rxjava'
9495
})
96+
api(rootProject.ext.dependencies["retrofit-converter-protobuf"], {
97+
exclude group: 'com.google.protobuf'
98+
}
99+
)
95100

96101
api rootProject.ext.dependencies["okhttp3"]
97102
api rootProject.ext.dependencies["okhttp3-logging-interceptor"]
@@ -114,7 +119,6 @@ dependencies {
114119
//di
115120
api rootProject.ext.dependencies["dagger"]
116121
api rootProject.ext.dependencies["arouter-api"]
117-
// compile rootProject.ext.dependencies["retrofit-converter-jackson"]
118122
compileOnly rootProject.ext.dependencies["javax.annotation"]
119123
//dagger2的apt注解
120124
annotationProcessor rootProject.ext.dependencies["dagger-compiler"]

0 commit comments

Comments
 (0)