2016-12-28 3 views
0

私のプログラムでgetConnectionメソッドを使用していますが、別のクラスで使用するために "String result"のような変数でレスポンスを復元したいのですが、メソッドを変更する必要があります。誰にもアイデアはありますか?ボレーを使用したgetConnectionメソッドの変更

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); 

} 
} 
+0

更新された応答を試してください –

答えて

0

は、Applicationクラスの変数を作成し、この

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); 

} 
} 

のような、それ保存応答を得るとき

を追加します。そして、この

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; 
    } 
} 

のようなアプリケーション全体でそれを使用することができます

android:name = ".App" 

Aあなたのマニフェストに賛成です。

今、あなたはあなたのアプリケーション全体を通してほしいと思う

 App.getInstance().resultResponse 

を使用してください。

+0

ありがとう、私はMainActivity.javaで応答を使用したいと考えています。私はこのように書く:Webservice.readUrl(this、 "http://192.168.1.36/note-server/");.私のメソッドはvoidを返すので、変数に格納することはできません。私は何をすべきか教えていただけますか? @Abhishek Jaiswal – MarAnd

+0

これで問題は解決しましたか? –

+0

sryですが、応答はどこですか? @Abhishek Jaiswal私は結果のような変数にそれを保存したい。 – MarAnd

0

戻り値の型Stringを持つインタフェースをonResponseメソッドで使用し、必要なclass get String応答でこのインタフェースを実装できます。

関連する問題