package com.example.http; import java.util.ArrayList; import java.util.List; import org.apache.http.Header; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import android.content.Context; import android.os.Handler; import android.os.Message; import com.example.domain.Curriculum; import com.example.dremone.R; import com.loopj.android.http.AsyncHttpClient; import com.loopj.android.http.AsyncHttpResponseHandler; /** * 课程HTTP * @author Administrator * */ public class CurriculumHttp { /** * 获得课程推荐信息 */ public static void CurriculumInfo(Context context,final Handler handle) { final List<Curriculum> lists = new ArrayList<Curriculum>(); AsyncHttpClient client = new AsyncHttpClient(); client.post(context.getResources().getString(R.string.servicename) + "curriculum.html?mt=findRandomCurriculum", null, new AsyncHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) { String result = new String(responseBody); if (!result.equals("201")) { try { JSONArray array = new JSONArray(result); Curriculum curriculum; for (int i = 0; i < array.length(); i++) { JSONObject obj = array.getJSONObject(i); curriculum = new Curriculum(obj .getInt("id"), obj .getString("title"), obj .getInt("durationCount"), obj .getString("url"), obj .getString("briefIntroduction"), obj.getInt("useFlag")); lists.add(curriculum); } } catch (JSONException e) { System.err.println("服务端返回数据错误"); } Message msg=handle.obtainMessage(); msg.obj=lists; msg.what=0; handle.sendMessage(msg); } else { System.err.println("服务端空数据"); } } @Override public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { System.out.println("最新推荐课程信息获取失败"); } }); } }