Skip to content

Instantly share code, notes, and snippets.

@myaaaaa-chan
Created August 1, 2013 07:07
Show Gist options
  • Select an option

  • Save myaaaaa-chan/6129071 to your computer and use it in GitHub Desktop.

Select an option

Save myaaaaa-chan/6129071 to your computer and use it in GitHub Desktop.
Volley Gson Request Wrapper
import java.util.HashMap;
import android.app.ProgressDialog;
import com.android.volley.Request.Method;
import com.android.volley.RequestQueue;
import com.android.volley.VolleyError;
/**
* The Class VolleyGsonRequest.
*
* @param <Response>
* the generic type
*/
public class VolleyGsonRequest<Response> {
/** Load complete Listener. */
private OnLoadCompleteListener<Response> mOnLoadCompleteListener;
/** progress dialog. */
private ProgressDialog mProgressDialog;
/**
* send request to server.
*
* @param url server url
* @param responceClass class type of response
* @param params request paramter
*/
public void startLoad(String url, Class<Response> responceClass, HashMap<String, String> params) {
if (mOnLoadCompleteListener == null) {
throw new IllegalArgumentException(
"OnLoadCompleteListener is null. You must call setOnLoadCompleteListener before.");
}
if (mProgressDialog != null) {
mProgressDialog.show();
}
// send request to server
GsonRequest<Response> request = new GsonRequest<Response>(Method.POST, url, responceClass, params,
successListener, errorListener);
RequestQueue queue = VolleyRequestQueue.getInstance().getRequestQueue();
queue.add(request);
}
/**
* on success. (receive response from server)
*/
private com.android.volley.Response.Listener<Response> successListener = new com.android.volley.Response.Listener<Response>() {
@Override
public void onResponse(Response response) {
if (mOnLoadCompleteListener != null) {
mOnLoadCompleteListener.onLoadComplete(response);
}
if (mProgressDialog != null) {
mProgressDialog.dismiss();
}
}
};
/**
* on error. (ex)can't connect to server)
*/
private com.android.volley.Response.ErrorListener errorListener = new com.android.volley.Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
if (mOnLoadCompleteListener != null) {
mOnLoadCompleteListener.onLoadComplete(null);
}
if (mProgressDialog != null) {
mProgressDialog.dismiss();
}
}
};
/**
* The listener interface for receiving onLoadComplete events.
* The class that is interested in processing a onLoadComplete
* event implements this interface, and the object created
* with that class is registered with a component using the
* component's <code>addOnLoadCompleteListener<code> method. When
* the onLoadComplete event occurs, that object's appropriate
* method is invoked.
*
* @param <Response> the generic type
* @see OnLoadCompleteEvent
*/
public interface OnLoadCompleteListener<Response> {
/**
* On load complete.
*
* @param response the response
*/
void onLoadComplete(Response response);
}
/**
* Gets the on load complete listener.
*
* @return the on load complete listener
*/
public OnLoadCompleteListener<Response> getOnLoadCompleteListener() {
return mOnLoadCompleteListener;
}
/**
* Sets the on load complete listener.
*
* @param onLoadCompleteListener
* the new on load complete listener
*/
public void setOnLoadCompleteListener(OnLoadCompleteListener<Response> onLoadCompleteListener) {
mOnLoadCompleteListener = onLoadCompleteListener;
}
/**
* Gets the progress dialog.
*
* @return the progress dialog
*/
public ProgressDialog getProgressDialog() {
return mProgressDialog;
}
/**
* Sets the progress dialog.
*
* @param progressDialog
* the new progress dialog
*/
public void setProgressDialog(ProgressDialog progressDialog) {
mProgressDialog = progressDialog;
}
}
@LOG-TAG

LOG-TAG commented Aug 19, 2013

Copy link
Copy Markdown

can you share the VolleyRequestQueue class?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment