添加依赖:
compile ‘com.loopj.android:android-async-http:1.4.9’
代码实现:
public class AsyncHttpHelper extends AsyncHttpResponseHandle{
private List<User> userData;
private Context context;
private ListView listView;
private static AsyncHttpHelper instance;
//单例模式
private AsyncHttpHelper(){}
public static AsyncHttpHelper getInstance(Context context,ListView listView){
if(instance==null){
instance=new AsyncHttpHelper();
}
instance.context=context;
instance.listView=listView;
return instance;
}
public static AsyncHttpHelper getInstance(){
return instance;
}
public List<User> getUserData(){
return userData;
}
public void updateUserDate() {
if (userData == null) {
userData = new ArrayList<>();
}
userData.clear();
AsyncHttpClient client = AsyncHttpClientHelper.getInstance();
client.get(URL, this);
}
private void onSuccessReferenceView() {
if (context != null && listView != null) {
listView.setAdapter(newUserAdapter(context,userData));
}
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
String result = new String(responseBody);
Log.d("JokeHelper", result);
try {
JSONObject object = new JSONObject(result);
if (object.has("reason")) {
JSONObject objectJSONObject = object.getJSONObject("result");
JSONArray data = objectJSONObject.getJSONArray("data");
for (int i = 0; i < data.length(); i++) {
JSONObject ob = data.getJSONObject(i);
JokeBean joke = new JokeBean();
joke.setId(i);
joke.setTitle(ob.getString("content"));
jokeList.add(joke);
}
onSuccessReferenceView();
} else {
if (context != null) {
Toast.makeText(context, "请求失败", Toast.LENGTH_LONG).show();
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
if (context != null) {
Toast.makeText(context, "请求网络失败", Toast.LENGTH_SHORT).show();
}
}
}