使用Volley

时间:2016-12-28 11:04:14

标签: android android-volley

我在我的程序中使用了getConnection方法,我希望在“String result”之类的变量中恢复响应,以便在另一个类中使用,但我不知道如何更改方法。有没有人有想法?。

public class Webservice {
 public static void getConnection(Context context, String url){

    RequestQueue queue = Volley.newRequestQueue(context);
    StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    Log.i("TEST", "Response is: "+ response);
                }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Log.i("TEST","That didn't work!");
        }
    });
    queue.add(stringRequest);

 }
}

2 个答案:

答案 0 :(得分:0)

您可以在Application类中创建一个变量,并在整个应用程序中使用它,如

public class App extends android.app.Application {


   private static App instance;
   public static String resultResponse;

   public static App getInstance() {
    return instance;
   }



   @Override
   public void onCreate() {
    super.onCreate();

    instance = this;
   }  
}

然后当你得到响应时,保存它就像这样

 public class Webservice {
   public static void getConnection(Context context, String url){

   RequestQueue queue = Volley.newRequestQueue(context);
   StringRequest stringRequest = new StringRequest(Request.Method.GET,    
   url,
        new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                Log.i("TEST", "Response is: "+ response);
                App.getInstance().resultResponse = response;
            }
        }, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
        Log.i("TEST","That didn't work!");
     }
  });
    queue.add(stringRequest);

 }
 }

添加

android:name = ".App" 

在清单中的应用程序中。

现在使用

     App.getInstance().resultResponse 

您想要完整的应用程序。

答案 1 :(得分:0)

您可以在onResponse方法中使用具有返回类型String的接口,并在所需的类get String响应中实现此接口。