Android 使用截击更改getConnection方法
我在我的程序中使用getConnection方法,我想将响应恢复为一个变量,比如“stringresult”,以便在另一个类中使用,但我不知道我必须如何更改该方法。有人有主意吗Android 使用截击更改getConnection方法,android,android-volley,Android,Android Volley,我在我的程序中使用getConnection方法,我想将响应恢复为一个变量,比如“stringresult”,以便在另一个类中使用,但我不知道我必须如何更改该方法。有人有主意吗 public class Webservice { public static void getConnection(Context context, String url){ RequestQueue queue = Volley.newRequestQueue(context); StringRe
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);
}
}
公共类Web服务{
公共静态void getConnection(上下文、字符串url){
RequestQueue=Volley.newRequestQueue(上下文);
StringRequest StringRequest=新的StringRequest(Request.Method.GET,url,
新的Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
Log.i(“测试”,“响应为:”+响应);
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
Log.i(“TEST”,“那没用!”);
}
});
添加(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;
}
}
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;
}
}
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);
}
}
在您的舱单中应用
现在使用
App.getInstance().resultResponse
您希望通过您的应用程序。 您可以在响应方法中使用具有返回类型字符串的接口,并在所需的类获取字符串响应中实现此接口。谢谢,请考虑我想在MainActivity.java中使用响应。我这样写:Webservice.readUrl(this,“);。但是我的方法返回void,所以我不能将它存储在任何变量中。你能告诉我具体应该做什么吗?@Abhishek Jaiswalsry,但是响应在哪里?@Abhishek Jaiswal我想将它存储在一个变量中,比如result。这非常棒,但我想像这样调用getConnection方法:String result=Webservice.getConnection(this,”192.168.1.36”)。这可能吗?@Abhishek JaiswalSince该方法调用webservice您必须使用回调(接口)来实现。请尝试更新的答案