2016-04-13 4 views
0

Ich habe versucht, eine Util-Klasse zu tun, aber hat nicht funktioniert, wenn jemand weiß, was ich vermisse bitte "sagen Sie mir".Android NetworkManager Util Klasse

Obs: RestOfUrl und SiteUrl sind der Pfad zu der Site.

// Wer ich bin die util-Klasse aufrufen:

NetworkManager networkManager = new NetworkManager(getApplicationContext()); 
networkManager.requestStringVolley("/restOfTheUrl"); 

// Die util Klasse:

public class NetworkManager { 

String prefUrl = "siteUrl"; 
RequestQueue mRequestQueue; 
Context contextNet; 
private static final String TAG = NetworkManager.class.getSimpleName(); 

public NetworkManager(Context context){ 
    contextNet = context; 
} 
public void requestStringVolley(String posUrl){ 
    mRequestQueue = Volley.newRequestQueue(contextNet); 
    String url = prefUrl + posUrl; 

    Response.Listener<String> listener = new Response.Listener<String>(){ 
     @Override 
     public void onResponse(String response) { 
      sucessResponse(response); 
     } 
    }; 

    Response.ErrorListener listenerError = new Response.ErrorListener(){ 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      errorResponse(error); 
     } 
    }; 

    StringRequest stringRequest = new StringRequest(Request.Method.GET, url, listener, listenerError); 

    mRequestQueue.add(stringRequest); 
} 

public void sucessResponse(String response){ 
    Log.v(TAG, "Sucess"); 
} 

public void errorResponse(VolleyError errorResponse){ 
    Log.v(TAG, "Error"); 
} 
} 

// - ERROR:

04-13 19:18:45.096 23880-23880/com.dev.kamui.patrulhacomunitaria E/AndroidRuntime: FATAL EXCEPTION: main 
                       Process: com.dev.kamui.patrulhacomunitaria, PID: 23880 
                       java.lang.NullPointerException 
                        at com.android.volley.Request.<init>(Request.java:136) 
                        at com.android.volley.toolbox.StringRequest.<init>(StringRequest.java:43) 
                        at com.dev.kamui.patrulhacomunitaria.NetworkManager$override.requestStringVolley(NetworkManager.java:41) 
                        at com.dev.kamui.patrulhacomunitaria.NetworkManager$override.access$dispatch(NetworkManager.java) 
                        at com.dev.kamui.patrulhacomunitaria.NetworkManager.requestStringVolley(NetworkManager.java:0) 
                        at com.dev.kamui.patrulhacomunitaria.Pagina_Principal$1.onClick(Pagina_Principal.java:50) 
                        at android.view.View.performClick(View.java:4438) 
                        at android.view.View$PerformClick.run(View.java:18422) 
                        at android.os.Handler.handleCallback(Handler.java:733) 
                        at android.os.Handler.dispatchMessage(Handler.java:95) 
                        at android.os.Looper.loop(Looper.java:136) 
                        at android.app.ActivityThread.main(ActivityThread.java:5001) 
                        at java.lang.reflect.Method.invokeNative(Native Method) 
                        at java.lang.reflect.Method.invoke(Method.java:515) 
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
                        at dalvik.system.NativeStart.main(Native Method) 

Antwort

0

Lass es funktioniert mit:

sucessResponse(response.toString()); 

errorResponse(error); 

public void sucessResponse(String response){ 
    Log.v(TAG, response); 
} 

public void errorResponse(VolleyError errorResponse){ 
    Log.v(TAG, "Error: " + errorResponse.getMessage()); 
} 

Ich weiß nicht, warum ich auf diese Weise arbeiten muss ... aber für wissen, es funktioniert und es ist was ich brauche

Verwandte Themen