Android Open Source - android_volley_examples Gson Request






From Project

Back to project page android_volley_examples.

License

The source code is released under:

Apache License

If you think the Android project android_volley_examples 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

/**
 * Copyright 2013 Ognyan Bankov/*  w  w  w .j  ava  2s. com*/
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.github.volley_examples.toolbox;

import com.google.gson.Gson;
import com.google.gson.JsonSyntaxException;

import com.android.volley.NetworkResponse;
import com.android.volley.ParseError;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.Response.ErrorListener;
import com.android.volley.Response.Listener;
import com.android.volley.toolbox.HttpHeaderParser;

import java.io.UnsupportedEncodingException;


public class GsonRequest<T> extends Request<T> {
    private final Gson mGson;
    private final Class<T> mClazz;
    private final Listener<T> mListener;


    public GsonRequest(int method,
                       String url,
                       Class<T> clazz,
                       Listener<T> listener,
                       ErrorListener errorListener) {
        super(Method.GET, url, errorListener);
        this.mClazz = clazz;
        this.mListener = listener;
        mGson = new Gson();
    }


    public GsonRequest(int method,
                       String url,
                       Class<T> clazz,
                       Listener<T> listener,
                       ErrorListener errorListener,
                       Gson gson) {
        super(Method.GET, url, errorListener);
        this.mClazz = clazz;
        this.mListener = listener;
        mGson = gson;
    }


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


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




Java Source Code List

com.github.volley_examples.Act_Cookies.java
com.github.volley_examples.Act_GsonRequest.java
com.github.volley_examples.Act_ImageLoading.java
com.github.volley_examples.Act_JsonRequest.java
com.github.volley_examples.Act_Main.java
com.github.volley_examples.Act_NetworkListView.java
com.github.volley_examples.Act_NewHttpClient.java
com.github.volley_examples.Act_Params.java
com.github.volley_examples.Act_SimpleRequest.java
com.github.volley_examples.Act_SsSslHttpClient.java
com.github.volley_examples.app.App_VolleyExamples.java
com.github.volley_examples.app.MyVolley.java
com.github.volley_examples.misc.MyClass.java
com.github.volley_examples.misc.PicasaArrayAdapter.java
com.github.volley_examples.misc.PicasaEntry.java
com.github.volley_examples.toolbox.BitmapLruCache.java
com.github.volley_examples.toolbox.ExtHttpClientStack.java
com.github.volley_examples.toolbox.FakeImageCache.java
com.github.volley_examples.toolbox.GsonRequest.java
com.github.volley_examples.toolbox.SsX509TrustManager.java
com.github.volley_examples.toolbox.SslHttpClient.java
com.github.volley_examples.toolbox.SslSocketFactory.java