1 public class MainActivity extends Activity {
2
3 private String PATH = "https://www.baidu.com/";
4
5 public static final String BAIKEPATH = "http://sns.maimaicha.com/api?apikey=b4f4ee31a8b9acc866ef2afb754c33e6&format=json&method=news.getListByType";
6
7 public static final String TOUTIAO = "http://sns.maimaicha.com/api?apikey=b4f4ee31a8b9acc866ef2afb754c33e6&format=json&method=news.getHeadlines";
8
9 private TextView mTv;
10
11 private HttpUtils mHttpUtils;
12
13 private HttpHandler<String> mHttpHandler;
14
15 @Override
16 protected void onCreate(Bundle savedInstanceState) {
17 super.onCreate(savedInstanceState);
18 setContentView(R.layout.activity_main);
19
20 mTv = (TextView) findViewById(R.id.tv);
21
22 mHttpUtils = new HttpUtils();
23
24 // 设置当前HttpUtils实例缓存超时的时间,以毫秒为单位
25 mHttpUtils.configCurrentHttpCacheExpiry(1);
26 }
27
28 public void request(View view) {
29 mHttpHandler = mHttpUtils.send(HttpMethod.GET, TOUTIAO, new RequestCallBackEx<DataBean>(DataBean.class) {
30
31 @Override
32 public void onSuccess(DataBean obj) {
33 Log.i("bm", obj.errorMessage);
34 Log.i("bm", obj.data.toString());
35 }
36
37 /**
38 * 请求失败的时候会回调,并且将失败的原因返回
39 */
40 @Override
41 public void onFailure(HttpException arg0, String arg1) {
42 arg0.printStackTrace();
43 Log.i("bm", arg0.toString());
44 Log.i("bm", arg1);
45 }
46 });
47 }
48
49 public void cancel(View view) {
50 mHttpHandler.cancel();
51 }
52 }
1 public abstract class RequestCallBackEx<T> extends RequestCallBack<String> {
2
3 private Class<T> mClass;
4
5 public RequestCallBackEx(Class<T> cls) {
6 mClass = cls;
7 }
8
9 @Override
10 public void onSuccess(ResponseInfo<String> arg0) {
11 try {
12 String data = arg0.result;
13
14 if (data != null) {
15 T obj = JSON.parseObject(data, mClass);
16 onSuccess(obj);
17 }
18 } catch (Exception e) {
19 onFailure(new HttpException(e), e.toString());
20 }
21 }
22
23 public abstract void onSuccess(T obj);
24 }
1 public class DataBean {
2 public List<Item> data;
3 public String errorMessage;
4
5 public static class Item {
6 public String id;
7 public String title;
8 public String source;
9 public String description;
10 public String wap_thumb;
11 public String create_time;
12 public String nickname;
13
14 @Override
15 public String toString() {
16 return "Item [title=" + title + "]";
17 }
18 }
19 }