package im.amomo.volley.sample.fragment; import android.os.Bundle; import android.support.v4.app.ListFragment; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; import com.android.volley.Request; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.ServerError; import com.android.volley.VolleyError; import org.json.JSONObject; import java.nio.charset.Charset; import im.amomo.volley.OkRequest; import im.amomo.volley.sample.BaseRequest; import im.amomo.volley.sample.R; import im.amomo.volley.toolbox.OkVolley; /** * Created by GoogolMo on 12/31/13. */ public class RequestFragment extends ListFragment { @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); getListView().setAdapter( new ArrayAdapter<String>(getActivity(), R.layout.list_item, R.id.title, new String[]{"Request GoogolMo's Profile", "post"})); } @Override public void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); if (position == 0) { load(); } else if (position == 1) { post(); } } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); setListShown(true); } private void load() { OkRequest request = new BaseRequest(Request.Method.GET, "https://api.douban.com/v2/user/googolmo", new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject jsonObject) { Toast.makeText(getActivity(), jsonObject.toString(), Toast.LENGTH_SHORT).show(); Toast.makeText(getActivity(), jsonObject.optString("name"), Toast.LENGTH_SHORT).show(); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Toast.makeText(getActivity(), error.getMessage(), Toast.LENGTH_SHORT).show(); } } ); request.setTag("request"); OkVolley.getInstance().getRequestQueue().add(request); } private void post() { BaseRequest request = new BaseRequest(Request.Method.POST, "http://192.168.2.19:5000/test1", new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject jsonObject) { Toast.makeText(getActivity(), jsonObject.toString(), Toast.LENGTH_SHORT).show(); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { if (error instanceof ServerError) { Toast.makeText(getActivity(), new String(((ServerError) error).networkResponse.data, Charset.defaultCharset()), Toast.LENGTH_SHORT) .show(); } else { Toast.makeText(getActivity(), error.getMessage(), Toast.LENGTH_SHORT).show(); } } } ); // request.form("text", "test " + SystemClock.elapsedRealtime()); request.setTag("request"); OkVolley.getInstance().getRequestQueue().add(request); } @Override public void onDestroy() { OkVolley.getInstance().getRequestQueue().cancelAll(new RequestQueue.RequestFilter() { @Override public boolean apply(Request<?> request) { return request.getTag() != null && request.getTag().equals("request"); } }); super.onDestroy(); } }