Skip to content

Commit 51f9fc6

Browse files
committed
优化HttpResult内容,修复api接口
1 parent 9f27ff6 commit 51f9fc6

File tree

9 files changed

+211
-286
lines changed

9 files changed

+211
-286
lines changed

app/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,6 @@ dependencies {
4747
compile 'com.jakewharton.rxbinding:rxbinding-appcompat-v7:0.4.0'
4848
compile 'com.jakewharton.rxbinding:rxbinding-design:0.4.0'
4949
compile 'com.jakewharton.rxbinding:rxbinding-recyclerview-v7:0.4.0'
50-
compile 'com.android.support.constraint:constraint-layout:1.0.1'
50+
compile 'com.android.support.constraint:constraint-layout:1.0.2'
5151
testCompile 'junit:junit:4.12'
5252
}

app/src/main/AndroidManifest.xml

-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
88

99
<application
10-
android:name=".MyApplication"
1110
android:allowBackup="true"
1211
android:icon="@mipmap/ic_launcher"
1312
android:label="@string/app_name"

app/src/main/java/york/com/retrofit2rxjavademo/activity/MainActivity.java

+42-46
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package york.com.retrofit2rxjavademo.activity;
22

3+
import android.content.Context;
34
import android.os.Bundle;
45
import android.support.v7.app.AppCompatActivity;
56
import android.util.Log;
@@ -14,18 +15,17 @@
1415
import butterknife.ButterKnife;
1516
import butterknife.OnClick;
1617
import york.com.retrofit2rxjavademo.R;
17-
import york.com.retrofit2rxjavademo.entity.ContentBean;
18+
import york.com.retrofit2rxjavademo.entity.MockBean;
1819
import york.com.retrofit2rxjavademo.http.ServiceFactory;
1920
import york.com.retrofit2rxjavademo.http.exception.ApiException;
2021
import york.com.retrofit2rxjavademo.subscribers.CommonSubscriber;
2122
import york.com.retrofit2rxjavademo.subscribers.RxSubscriber;
2223
import york.com.retrofit2rxjavademo.transformer.DefaultTransformer;
2324

2425
public class MainActivity extends AppCompatActivity {
25-
26+
private static String TAG = "MainActivity";
2627
@Bind(R.id.tv_result_one)
2728
TextView resultOne;
28-
2929
@Bind(R.id.tv_result_two)
3030
TextView resultTwo;
3131
@Bind(R.id.btn_rxsubscriber)
@@ -34,17 +34,17 @@ public class MainActivity extends AppCompatActivity {
3434
Button mBtnCommon;
3535
@Bind(R.id.btn_converter)
3636
Button mBtnConverter;
37-
37+
private Context mContext;
3838
@Override
3939
protected void onCreate(Bundle savedInstanceState) {
4040
super.onCreate(savedInstanceState);
4141
setContentView(R.layout.activity_main);
4242
ButterKnife.bind(this);
43+
mContext = this;
44+
Log.w(TAG, "onCreate: aa" );
4345
}
4446

45-
46-
47-
@OnClick({R.id.btn_rxsubscriber, R.id.btn_common, R.id.btn_converter})
47+
@OnClick({R.id.btn_rxsubscriber, R.id.btn_common, R.id.btn_converter, R.id.btn_error})
4848
public void onClick(View view) {
4949
switch (view.getId()) {
5050
case R.id.btn_rxsubscriber:
@@ -56,69 +56,65 @@ public void onClick(View view) {
5656
case R.id.btn_converter:
5757
MockDataActivity.start(this);
5858
break;
59+
case R.id.btn_error:
60+
showError();
61+
break;
5962
}
6063
}
61-
64+
// Example use with CommonSubscriber which does not contain progress bar
6265
private void withoutDialog() {
63-
ServiceFactory.movieApi()
64-
.getTopMovie(1, 10)
65-
.compose(new DefaultTransformer<List<ContentBean>>())
66-
.subscribe(new CommonSubscriber<List<ContentBean>>(this) {
66+
ServiceFactory.mockApi()
67+
.getMock1()
68+
.compose(new DefaultTransformer<List<MockBean>>())
69+
.subscribe(new CommonSubscriber<List<MockBean>>(mContext) {
6770
// 必须重写
6871
@Override
69-
public void onNext(List<ContentBean> contentBeen) {
70-
Toast.makeText(MainActivity.this, "onNext", Toast.LENGTH_SHORT).show();
71-
resultTwo.setText("begin >>>>>>>>>>>>>>>>." + contentBeen);
72-
Log.d("main", "onNext: " + contentBeen);
73-
Toast.makeText(MainActivity.this, "onNext content = " + contentBeen, Toast.LENGTH_SHORT).show();
72+
public void onNext(List<MockBean> mockBeen) {
73+
Toast.makeText(mContext, "onNext", Toast.LENGTH_SHORT).show();
74+
resultTwo.setText("begin >>>>>>>>>>>>>>>>.\n" + mockBeen);
75+
Log.d("main", "onNext: " + mockBeen);
7476
}
7577

76-
77-
// 无需设置可以不用重写
78-
// !!!!注意参数为ApiException 类型,要不要写在Throwable那个了
78+
// 若无自定义的需求可以不用重写
79+
// !!!!注意参数为ApiException 类型
7980
@Override
8081
protected void onError(ApiException ex) {
8182
super.onError(ex);
82-
Toast.makeText(MainActivity.this, "onError " + " exception code =" + ex.code + "exception message = " + ex.message, Toast.LENGTH_SHORT).show();
83+
Toast.makeText(mContext, "onError " + " exception code =" + ex.code + "exception message = " + ex.message, Toast.LENGTH_SHORT).show();
8384
}
8485

85-
// 无需设置可以不用重写
86+
// 若无自定义的需求可以不用重写
8687
@Override
8788
public void onCompleted() {
8889
super.onCompleted();
89-
Toast.makeText(MainActivity.this, "onCompleted", Toast.LENGTH_SHORT).show();
90+
Toast.makeText(mContext, "onCompleted", Toast.LENGTH_SHORT).show();
9091
}
9192
});
9293
}
93-
94+
// Example use with RxSubscriber which contains progress bar
9495
private void withDialog() {
95-
ServiceFactory.movieApi()
96-
.getTopMovie(0, 10)
97-
.compose(new DefaultTransformer<List<ContentBean>>())
98-
.subscribe(new RxSubscriber<List<ContentBean>>(this) {
96+
ServiceFactory.mockApi()
97+
.getMock4()
98+
.compose(new DefaultTransformer<MockBean>())
99+
.subscribe(new RxSubscriber<MockBean>(mContext) {
99100
// 必须重写
100101
@Override
101-
public void onNext(List<ContentBean> contentBeen) {
102-
Toast.makeText(MainActivity.this, "onNext", Toast.LENGTH_SHORT).show();
103-
resultOne.setText("begin >>>>>>>>>>>>>>>>." + contentBeen);
104-
Log.d("main", "onNext: " + contentBeen);
105-
Toast.makeText(MainActivity.this, "onNext content = " + contentBeen, Toast.LENGTH_SHORT).show();
106-
}
107-
108-
109-
// 无需设置可以不用重写
110-
// !!!!注意参数为ApiException 类型,要不要写在Throwable那个了
111-
@Override
112-
protected void onError(ApiException ex) {
113-
super.onError(ex);
114-
Toast.makeText(MainActivity.this, "onError " + " exception code =" + ex.code + "exception message = " + ex.message, Toast.LENGTH_SHORT).show();
102+
public void onNext(MockBean mockBean) {
103+
Toast.makeText(mContext, "onNext", Toast.LENGTH_SHORT).show();
104+
resultOne.setText("Single bean begin >>>>>>>>>>>>>>>>." + mockBean);
105+
Log.d("main", "onNext: " + mockBean);
115106
}
107+
});
108+
}
116109

117-
// 无需设置可以不用重写
110+
private void showError() {
111+
ServiceFactory.mockApi()
112+
.getMock2()
113+
.compose(new DefaultTransformer<MockBean>())
114+
.subscribe(new CommonSubscriber<MockBean>(mContext) {
118115
@Override
119-
public void onCompleted() {
120-
super.onCompleted();
121-
Toast.makeText(MainActivity.this, "onCompleted", Toast.LENGTH_SHORT).show();
116+
public void onNext(MockBean mockBean) {
117+
resultOne.setText("Single bean begin >>>>>>>>>>>>>>>>." + mockBean);
122118
}
123119
});
124120
}

app/src/main/java/york/com/retrofit2rxjavademo/entity/HttpResult.java

+5-60
Original file line numberDiff line numberDiff line change
@@ -8,68 +8,23 @@
88
public class HttpResult<T> {
99

1010
// code 为返回的状态码, message 为返回的消息, 演示的没有这两个字段,考虑到真实的环境中基本包含就在这里写定值
11-
private int code = 0;
12-
private String message = "OK";
11+
private int code;
12+
// this will receive message or status, msg as message field
13+
@SerializedName(value = "message", alternate = {"status", "msg"})
14+
private String message;
1315

1416
public int getCode() {
1517
return code;
1618
}
1719

18-
public void setCode(int code) {
19-
this.code = code;
20-
}
21-
2220
public String getMessage() {
2321
return message;
2422
}
2523

26-
public void setMessage(String message) {
27-
this.message = message;
28-
}
29-
30-
private int count;
31-
private int start;
32-
private int total;
33-
private String title;
34-
3524
//用来模仿Data
36-
@SerializedName(value = "data", alternate = {"subjects"})
25+
@SerializedName(value = "data", alternate = {"subjects", "result"})
3726
private T data;
3827

39-
40-
public int getCount() {
41-
return count;
42-
}
43-
44-
public void setCount(int count) {
45-
this.count = count;
46-
}
47-
48-
public int getStart() {
49-
return start;
50-
}
51-
52-
public void setStart(int start) {
53-
this.start = start;
54-
}
55-
56-
public int getTotal() {
57-
return total;
58-
}
59-
60-
public void setTotal(int total) {
61-
this.total = total;
62-
}
63-
64-
public String getTitle() {
65-
return title;
66-
}
67-
68-
public void setTitle(String title) {
69-
this.title = title;
70-
}
71-
72-
7328
public T getData() {
7429
return data;
7530
}
@@ -78,14 +33,4 @@ public void setData(T data) {
7833
this.data = data;
7934
}
8035

81-
82-
@Override
83-
public String toString() {
84-
StringBuffer sb = new StringBuffer();
85-
sb.append("title=" + title + " count=" + count + " start=" + start);
86-
if (null != data) {
87-
sb.append(" data:" + data.toString());
88-
}
89-
return sb.toString();
90-
}
9136
}

0 commit comments

Comments
 (0)