Skip to content

Commit e1e2fa3

Browse files
committed
网络库封装,rxjava
1 parent 4d166d8 commit e1e2fa3

File tree

137 files changed

+12724
-65
lines changed

Some content is hidden

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

137 files changed

+12724
-65
lines changed

.idea/caches/build_file_checksums.ser

0 Bytes
Binary file not shown.

app/build.gradle

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
apply plugin: 'com.android.application'
22

33
android {
4-
compileSdkVersion 28
4+
compileSdkVersion 27
55
defaultConfig {
66
applicationId "com.example.kson.moduledemo"
7-
minSdkVersion 14
8-
targetSdkVersion 28
7+
minSdkVersion 16
8+
targetSdkVersion 27
99
versionCode 1
1010
versionName "1.0"
1111
javaCompileOptions {
@@ -40,5 +40,15 @@ dependencies {
4040

4141
}
4242
annotationProcessor rootProject.ext.dependencies["arouterCompile"]
43-
implementation project(':lib-core')
43+
implementation project(':lib-net')
44+
}
45+
configurations.all {
46+
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
47+
def requested = details.requested
48+
if (requested.group == 'com.android.support') {
49+
if (!requested.name.startsWith("multidex")) {
50+
details.useVersion '27.1.1'
51+
}
52+
}
53+
}
4454
}

app/src/main/AndroidManifest.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
33
package="com.example.kson.moduledemo">
44

5+
<uses-permission android:name="android.permission.INTERNET"/>
6+
57
<application
68
android:name=".MyApp"
79
android:allowBackup="true"
Lines changed: 54 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,51 @@
11
package com.example.kson.moduledemo;
22

33
import android.os.Bundle;
4-
import android.support.v4.app.Fragment;
54
import android.support.v7.app.AppCompatActivity;
65
import android.view.View;
76
import android.widget.Button;
87

9-
import com.alibaba.android.arouter.facade.Postcard;
10-
import com.alibaba.android.arouter.facade.callback.NavCallback;
11-
import com.alibaba.android.arouter.launcher.ARouter;
12-
import com.example.kson.lib_core.constants.Apath;
8+
import com.example.kson.lib_core.base.mvp.BaseMvpActivity;
9+
import com.example.kson.lib_core.base.mvp.BasePresenter;
10+
import com.example.kson.lib_net.network.http.HttpRequestPresenter;
11+
import com.example.kson.lib_net.network.http.ModelCallback;
12+
import com.example.kson.lib_net.network.rx.RxManager;
13+
import com.example.kson.lib_net.utils.publickeytool.RsaCoder;
14+
import com.example.kson.moduledemo.contract.LoginContract;
15+
import com.example.kson.moduledemo.entity.UserEntity;
16+
import com.example.kson.moduledemo.model.LoginModel;
17+
import com.example.kson.moduledemo.presenter.LoginPresenter;
1318

14-
public class MainActivity extends AppCompatActivity {
19+
import java.util.HashMap;
20+
//import com.example.kson.lib_net.network.RetrofitHelper;
21+
//import com.example.kson.lib_core.constants.Apath;
22+
23+
public class MainActivity extends BaseMvpActivity<LoginContract.ILoginModel, LoginContract.LoginPresenter> implements LoginContract.ILoginView {
1524

16-
@Override
17-
protected void onCreate(Bundle savedInstanceState) {
18-
super.onCreate(savedInstanceState);
19-
setContentView(R.layout.activity_main);
2025

26+
@Override
27+
protected void initView() {
2128
Button button = findViewById(R.id.fromg);
2229
button.setOnClickListener(new View.OnClickListener() {
2330
@Override
2431
public void onClick(View view) {
2532

26-
ARouter.getInstance().build("/home/home2").navigation(MainActivity.this, new NavCallback() {
27-
@Override
28-
public void onArrival(Postcard postcard) {
33+
HashMap<String, Object> params = new HashMap<>();
34+
// params.put("phone", "18612991023");
35+
// params.put("pwd", RsaCoder.encryptByPublicKey("111111"));
36+
params.put("mobile", "18612991023");
37+
params.put("password", "222222");
2938

30-
}
39+
presenter.login(params);
3140

32-
@Override
33-
public void onInterrupt(Postcard postcard) {
34-
super.onInterrupt(postcard);
35-
}
36-
});
3741

3842
}
3943
});
44+
}
4045

41-
// Fragment fragmentHome = (Fragment) ARouter.getInstance().build(Apath.HOME_MAIN).navigation();
42-
//
43-
//
44-
//
45-
// getSupportFragmentManager().beginTransaction()
46-
// .add(R.id.fr_content, fragmentHome)
47-
//// .add(R.id.fl_Content, marketFragment)
48-
//// .add(R.id.fl_Content, messageFragment)
49-
//// .add(R.id.fl_Content, mineFragment)
50-
//// .add(R.id.fl_Content, walletFragment)
51-
// .show(fragmentHome)
52-
//// .hide(marketFragment)
53-
//// .hide(messageFragment)
54-
//// .hide(mineFragment)
55-
//// .hide(walletFragment)
56-
// .commit();
57-
58-
46+
@Override
47+
protected int bindLayoutId() {
48+
return R.layout.activity_main;
5949
}
6050

6151
public void home(View view) {
@@ -64,4 +54,31 @@ public void home(View view) {
6454
// startActivity(new Intent(this, PushActivity.class));
6555

6656
}
57+
58+
@Override
59+
public void success(UserEntity userEntity) {
60+
61+
System.out.println("userentity:" + userEntity.mobile);
62+
63+
}
64+
65+
@Override
66+
public BasePresenter initPresenter() {
67+
return new LoginPresenter();
68+
}
69+
70+
@Override
71+
public void showLoading() {
72+
73+
}
74+
75+
@Override
76+
public void hideLoading() {
77+
78+
}
79+
80+
@Override
81+
public void fail(String msg) {
82+
83+
}
6784
}

app/src/main/java/com/example/kson/moduledemo/MyApp.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33
import android.app.Application;
44

55
import com.alibaba.android.arouter.launcher.ARouter;
6+
import com.example.kson.lib_net.NetApp;
7+
import com.example.kson.lib_net.network.http.HttpRequestPresenter;
8+
import com.example.kson.lib_net.network.http.RetrofitHttpRequest;
9+
import com.example.kson.lib_net.network.rx.RxManager;
10+
import com.example.kson.moduledemo.common.Constants;
611

712
/**
813
* Author:kson
@@ -12,12 +17,16 @@
1217
*/
1318
public class MyApp extends Application {
1419

20+
1521
@Override
1622
public void onCreate() {
1723
super.onCreate();
1824
// 这两行必须写在init之前,否则这些配置在init过程中将无效
1925
ARouter.openLog(); // 打印日志
2026
ARouter.openDebug(); // 开启调试模式(如果在InstantRun模式下运行,必须开启调试模式!线上版本需要关闭,否则有安全风险) }
2127
ARouter.init(this);
28+
NetApp.init(this, Constants.BASE_URL);
29+
HttpRequestPresenter.init(new RetrofitHttpRequest());
30+
// HttpRequestPresenter.init(new RetrofitHttpRequest());
2231
}
2332
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.example.kson.moduledemo;
2+
3+
4+
import java.util.HashMap;
5+
6+
import io.reactivex.Observable;
7+
import okhttp3.ResponseBody;
8+
import retrofit2.http.FieldMap;
9+
import retrofit2.http.FormUrlEncoded;
10+
import retrofit2.http.POST;
11+
12+
/**
13+
* Author:kson
14+
* E-mail:19655910@qq.com
15+
* Time:2018/10/31
16+
* Description:
17+
*/
18+
public interface UserApi {
19+
@POST("user/login")
20+
@FormUrlEncoded
21+
Observable<ResponseBody> login(@FieldMap HashMap<String,String> params);
22+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.example.kson.moduledemo.common;
2+
3+
import com.example.kson.moduledemo.BuildConfig;
4+
5+
/**
6+
* Author:kson
7+
* E-mail:19655910@qq.com
8+
* Time:2018/11/01
9+
* Description:
10+
*/
11+
public class Constants {
12+
public static String BASE_URL = BuildConfig.DEBUG?"http://www.zhaoapi.cn/":"http://www.zhaoapi.cn/";
13+
public static String LOGIN_URL = "user/login";
14+
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package com.example.kson.moduledemo.contract;
2+
3+
import com.example.kson.lib_core.base.mvp.BasePresenter;
4+
import com.example.kson.lib_core.base.mvp.IBaseModel;
5+
import com.example.kson.lib_core.base.mvp.IBaseView;
6+
import com.example.kson.lib_net.network.rx.RxManager;
7+
import com.example.kson.moduledemo.entity.UserEntity;
8+
import com.example.kson.moduledemo.model.LoginModel;
9+
10+
import java.io.File;
11+
import java.util.HashMap;
12+
import java.util.Map;
13+
14+
import io.reactivex.Observable;
15+
16+
/**
17+
* Author:kson
18+
* E-mail:19655910@qq.com
19+
* Time:2018/10/31
20+
* Description:
21+
*/
22+
public interface LoginContract {
23+
24+
abstract class LoginPresenter extends BasePresenter<ILoginModel, ILoginView> {
25+
26+
@Override
27+
public ILoginModel getmModel() {
28+
return new LoginModel();
29+
}
30+
31+
public abstract void login(HashMap<String,Object> params);
32+
33+
}
34+
35+
/**
36+
* model层接口
37+
*/
38+
interface ILoginModel extends IBaseModel {
39+
40+
void login(HashMap<String,Object> params,RxManager rxManager);
41+
42+
}
43+
44+
/**
45+
* view层接口
46+
*/
47+
interface ILoginView extends IBaseView {
48+
49+
void success(UserEntity userEntity);
50+
51+
void fail(String msg);
52+
53+
}
54+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.example.kson.moduledemo.entity;
2+
3+
import com.example.kson.lib_net.network.BaseResponse;
4+
5+
/**
6+
* Author:kson
7+
* E-mail:19655910@qq.com
8+
* Time:2018/10/31
9+
* Description:
10+
*/
11+
public class UserEntity extends BaseResponse {
12+
13+
public String mobile;
14+
15+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package com.example.kson.moduledemo.model;
2+
3+
import com.example.kson.lib_net.network.http.HttpRequestPresenter;
4+
import com.example.kson.lib_net.network.http.ModelCallback;
5+
import com.example.kson.lib_net.network.rx.RxManager;
6+
import com.example.kson.moduledemo.common.Constants;
7+
import com.example.kson.moduledemo.contract.LoginContract;
8+
import com.example.kson.moduledemo.entity.UserEntity;
9+
10+
import java.util.HashMap;
11+
import java.util.Map;
12+
13+
/**
14+
* Author:kson
15+
* E-mail:19655910@qq.com
16+
* Time:2018/11/01
17+
* Description:
18+
*/
19+
public class LoginModel implements LoginContract.ILoginModel {
20+
21+
@Override
22+
public void login(HashMap<String, Object> params, final RxManager rxManager) {
23+
24+
HttpRequestPresenter.getInstance().post(Constants.LOGIN_URL, params, rxManager, new ModelCallback<UserEntity>(false,UserEntity.class) {
25+
@Override
26+
public void onErrorMsg(int code, String msg) {
27+
28+
System.out.println("msg:"+msg);
29+
rxManager.post("login",code +""+msg);
30+
31+
}
32+
33+
@Override
34+
public void onSuccess(UserEntity userEntity) {
35+
System.out.println("userEntity:"+userEntity.mobile);
36+
rxManager.post("login",userEntity);
37+
38+
}
39+
});
40+
}
41+
}

0 commit comments

Comments
 (0)