1
1
package york .com .retrofit2rxjavademo .activity ;
2
2
3
+ import android .content .Context ;
3
4
import android .os .Bundle ;
4
5
import android .support .v7 .app .AppCompatActivity ;
5
6
import android .util .Log ;
14
15
import butterknife .ButterKnife ;
15
16
import butterknife .OnClick ;
16
17
import york .com .retrofit2rxjavademo .R ;
17
- import york .com .retrofit2rxjavademo .entity .ContentBean ;
18
+ import york .com .retrofit2rxjavademo .entity .MockBean ;
18
19
import york .com .retrofit2rxjavademo .http .ServiceFactory ;
19
20
import york .com .retrofit2rxjavademo .http .exception .ApiException ;
20
21
import york .com .retrofit2rxjavademo .subscribers .CommonSubscriber ;
21
22
import york .com .retrofit2rxjavademo .subscribers .RxSubscriber ;
22
23
import york .com .retrofit2rxjavademo .transformer .DefaultTransformer ;
23
24
24
25
public class MainActivity extends AppCompatActivity {
25
-
26
+ private static String TAG = "MainActivity" ;
26
27
@ Bind (R .id .tv_result_one )
27
28
TextView resultOne ;
28
-
29
29
@ Bind (R .id .tv_result_two )
30
30
TextView resultTwo ;
31
31
@ Bind (R .id .btn_rxsubscriber )
@@ -34,17 +34,17 @@ public class MainActivity extends AppCompatActivity {
34
34
Button mBtnCommon ;
35
35
@ Bind (R .id .btn_converter )
36
36
Button mBtnConverter ;
37
-
37
+ private Context mContext ;
38
38
@ Override
39
39
protected void onCreate (Bundle savedInstanceState ) {
40
40
super .onCreate (savedInstanceState );
41
41
setContentView (R .layout .activity_main );
42
42
ButterKnife .bind (this );
43
+ mContext = this ;
44
+ Log .w (TAG , "onCreate: aa" );
43
45
}
44
46
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 })
48
48
public void onClick (View view ) {
49
49
switch (view .getId ()) {
50
50
case R .id .btn_rxsubscriber :
@@ -56,69 +56,65 @@ public void onClick(View view) {
56
56
case R .id .btn_converter :
57
57
MockDataActivity .start (this );
58
58
break ;
59
+ case R .id .btn_error :
60
+ showError ();
61
+ break ;
59
62
}
60
63
}
61
-
64
+ // Example use with CommonSubscriber which does not contain progress bar
62
65
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 ) {
67
70
// 必须重写
68
71
@ 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 );
74
76
}
75
77
76
-
77
- // 无需设置可以不用重写
78
- // !!!!注意参数为ApiException 类型,要不要写在Throwable那个了
78
+ // 若无自定义的需求可以不用重写
79
+ // !!!!注意参数为ApiException 类型
79
80
@ Override
80
81
protected void onError (ApiException ex ) {
81
82
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 ();
83
84
}
84
85
85
- // 无需设置可以不用重写
86
+ // 若无自定义的需求可以不用重写
86
87
@ Override
87
88
public void onCompleted () {
88
89
super .onCompleted ();
89
- Toast .makeText (MainActivity . this , "onCompleted" , Toast .LENGTH_SHORT ).show ();
90
+ Toast .makeText (mContext , "onCompleted" , Toast .LENGTH_SHORT ).show ();
90
91
}
91
92
});
92
93
}
93
-
94
+ // Example use with RxSubscriber which contains progress bar
94
95
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 ) {
99
100
// 必须重写
100
101
@ 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 );
115
106
}
107
+ });
108
+ }
116
109
117
- // 无需设置可以不用重写
110
+ private void showError () {
111
+ ServiceFactory .mockApi ()
112
+ .getMock2 ()
113
+ .compose (new DefaultTransformer <MockBean >())
114
+ .subscribe (new CommonSubscriber <MockBean >(mContext ) {
118
115
@ 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 );
122
118
}
123
119
});
124
120
}
0 commit comments