QueryDoubanUtils.java
1.62 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
package com.gimi.common.cinema.model;
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.model.ThreadUtils;
import java.io.IOException;
/**
* Created by wugian on 2015/12/29
*/
public class QueryDoubanUtils {
private static final String SEARCH_BY_NAME_URL =
"https://api.douban.com/v2/movie/search?count=3&q=";
public static void getQueryBeanByName(
final String name, final AsyncCallback<QueryBean> callback) {
ThreadUtils.subThread(new ThreadUtils.DoSomeThing() {
@Override
public void doSomeThing() {
callback.onStart();
WrongMsg wrongMsg = new WrongMsg();
QueryBean result = null;
Gson gson = new Gson();
String s = "";
try {
s = OkHttpClientManager.getAsString(SEARCH_BY_NAME_URL + name);
wrongMsg = gson.fromJson(s, new TypeToken<WrongMsg>() {
}.getType());
if (wrongMsg.getCode() != 0) {
callback.onFailure(wrongMsg);
} else {
result = gson.fromJson(s, new TypeToken<QueryBean>() {
}.getType());
callback.onSuccess(result);
}
} catch (JsonSyntaxException | IOException e) {
e.printStackTrace();
}
callback.onDone();
}
});
}
}