M1905ModelImpl.java
4.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
/*
* Copyright (c) 2016 wugian
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.xgimi.gimicinema.model;
import android.os.Handler;
import android.text.TextUtils;
import com.gimi.common.cinema.model.WrongMsg;
import com.gimi.common.cinema.utils.OkHttpClientManager;
import com.google.gson.Gson;
import com.google.gson.JsonSyntaxException;
import com.google.gson.reflect.TypeToken;
import com.xgimi.gimicinema.cctvsix.model.BarMovieData;
import com.xgimi.gimicinema.cctvsix.model.DataListEntity;
import com.xgimi.gimicinema.cctvsix.model.QueryData;
import com.xgimi.gimicinema.cctvsix.model.UrlContans;
import java.io.IOException;
import java.util.List;
/**
* Created by wugian on 2016/9/28
*/
public class M1905ModelImpl implements IM1905MovieModel {
private Handler handler = new Handler();
@Override
public void getAllM1905Movies(final String ip,
final OnGetM1905MovieListener l) {
new Thread() {
@Override
public void run() {
super.run();
QueryData queryData = new QueryData();
String listUrl = "http://" + ip + UrlContans.GET_M1905_LIST;
queryData.setPage(1);
queryData.setPage_size(10000);
String s = new Gson().toJson(queryData);
listUrl = listUrl + "¶ms=" + s;
String httpEntity = null;
try {
httpEntity = OkHttpClientManager.getAsString(listUrl);
} catch (final IOException e) {
e.printStackTrace();
handler.post(new Runnable() {
@Override
public void run() {
WrongMsg wrongMsg = new WrongMsg();
wrongMsg.setMsg("获取数据库失败 " + e.getMessage());
l.onGetM1905Failure(wrongMsg);
}
});
}
try {
if (!TextUtils.isEmpty(httpEntity)) {
final BarMovieData o = new Gson().fromJson(httpEntity,
new TypeToken<BarMovieData>() {
}.getType());
handler.post(new Runnable() {
@Override
public void run() {
l.onGetM1905Success(o.getData().getData_list());
}
});
} else {
handler.post(new Runnable() {
@Override
public void run() {
WrongMsg wrongMsg = new WrongMsg();
wrongMsg.setMsg("获取数据为空,检测是否配置相关服务器");
l.onGetM1905Failure(wrongMsg);
}
});
}
} catch (final JsonSyntaxException e) {
handler.post(new Runnable() {
@Override
public void run() {
WrongMsg wrongMsg = new WrongMsg();
wrongMsg.setMsg("数据解析出错 " + e.getMessage());
l.onGetM1905Failure(wrongMsg);
e.printStackTrace();
}
});
}
}
}.start();
}
public interface OnGetM1905MovieListener {
void onGetM1905Success(List<DataListEntity> list);
void onGetM1905Failure(WrongMsg wrongMsg);
}
}