Android Open Source - FeedListViewDemo Gson Request






From Project

Back to project page FeedListViewDemo.

License

The source code is released under:

MIT License

If you think the Android project FeedListViewDemo listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package io.bxbxbai.androiddemos.utils;
// w w  w . j a va 2 s .  c om
import com.android.volley.AuthFailureError;
import com.android.volley.NetworkResponse;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.toolbox.HttpHeaderParser;
import com.google.gson.Gson;
import com.google.gson.JsonParseException;

import java.io.UnsupportedEncodingException;
import java.util.Map;

/**
 * Created by baia on 14-9-14.
 */
public class GsonRequest<T> extends Request<T> {

    private final Gson gson = new Gson();
    private Class<T> mClazz;
    private Response.Listener<T> mListener;
    private Map<String, String> mHeader;

    public GsonRequest(String url, Class<T> clazz, Response.Listener<T> listener, Response.ErrorListener errorListener) {
        this(Method.GET, url, clazz, null, listener, errorListener);
    }

    public GsonRequest(int method, String url, Class<T> clazz, Map<String, String> header,
                       Response.Listener<T> listener, Response.ErrorListener errorListener) {
        super(method, url, errorListener);
        mClazz = clazz;
        mHeader = header;
        mListener = listener;
    }

    @Override
    public Map<String, String> getHeaders() throws AuthFailureError {
        return mHeader != null ? mHeader : super.getHeaders();
    }

    @Override
    protected Response<T> parseNetworkResponse(NetworkResponse response) {
        try {
            String json = new String(response.data, HttpHeaderParser.parseCharset(response.headers));
            return Response.success(gson.fromJson(json, mClazz), HttpHeaderParser.parseCacheHeaders(response));
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (JsonParseException e) {
            e.printStackTrace();
        }
        return null;
    }

    @Override
    protected void deliverResponse(T response) {
        mListener.onResponse(response);
    }
}




Java Source Code List

com.android.volley.AuthFailureError.java
com.android.volley.CacheDispatcher.java
com.android.volley.Cache.java
com.android.volley.DefaultRetryPolicy.java
com.android.volley.ExecutorDelivery.java
com.android.volley.NetworkDispatcher.java
com.android.volley.NetworkError.java
com.android.volley.NetworkResponse.java
com.android.volley.Network.java
com.android.volley.NoConnectionError.java
com.android.volley.ParseError.java
com.android.volley.RequestQueue.java
com.android.volley.Request.java
com.android.volley.ResponseDelivery.java
com.android.volley.Response.java
com.android.volley.RetryPolicy.java
com.android.volley.ServerError.java
com.android.volley.TimeoutError.java
com.android.volley.VolleyError.java
com.android.volley.VolleyLog.java
com.android.volley.toolbox.AndroidAuthenticator.java
com.android.volley.toolbox.Authenticator.java
com.android.volley.toolbox.BasicNetwork.java
com.android.volley.toolbox.ByteArrayPool.java
com.android.volley.toolbox.ClearCacheRequest.java
com.android.volley.toolbox.DiskBasedCache.java
com.android.volley.toolbox.HttpClientStack.java
com.android.volley.toolbox.HttpHeaderParser.java
com.android.volley.toolbox.HttpStack.java
com.android.volley.toolbox.HurlStack.java
com.android.volley.toolbox.ImageLoader.java
com.android.volley.toolbox.ImageRequest.java
com.android.volley.toolbox.JsonArrayRequest.java
com.android.volley.toolbox.JsonObjectRequest.java
com.android.volley.toolbox.JsonRequest.java
com.android.volley.toolbox.NetworkImageView.java
com.android.volley.toolbox.NoCache.java
com.android.volley.toolbox.PoolingByteArrayOutputStream.java
com.android.volley.toolbox.RequestFuture.java
com.android.volley.toolbox.StringRequest.java
com.android.volley.toolbox.Volley.java
io.bxbxbai.androiddemos.AppController.java
io.bxbxbai.androiddemos.ApplicationTest.java
io.bxbxbai.androiddemos.MainActivity.java
io.bxbxbai.androiddemos.activity.BaseActivity.java
io.bxbxbai.androiddemos.activity.FeedListActivity.java
io.bxbxbai.androiddemos.adapter.FeedListAdapter.java
io.bxbxbai.androiddemos.adapter.SimpleBaseAdapter.java
io.bxbxbai.androiddemos.data.FeedItem.java
io.bxbxbai.androiddemos.data.FeedResult.java
io.bxbxbai.androiddemos.utils.BitmapUtils.java
io.bxbxbai.androiddemos.utils.GsonRequest.java
io.bxbxbai.androiddemos.utils.ListViewUtils.java
io.bxbxbai.androiddemos.utils.LruBitmapCache.java
io.bxbxbai.androiddemos.utils.RequestManager.java
io.bxbxbai.androiddemos.utils.TaskUtils.java
io.bxbxbai.androiddemos.utils.ToastUtils.java
io.bxbxbai.androiddemos.utils.VersionUtils.java
io.bxbxbai.androiddemos.utils.ViewFinder.java
io.bxbxbai.androiddemos.view.FeedImageView.java