Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="https://i.stack.imgur.com/xqoqk.png" height="16" width="18" alt="" class="sponsor tag img">android studio 如何在方法内传递Java方法';s参数或不同的解决方案_<img Src="https://i.stack.imgur.com/xqoqk.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">android Studio_Java_Android_Http - Fatal编程技术网 android studio 如何在方法内传递Java方法';s参数或不同的解决方案,android-studio,java,android,http,android Studio,Java,Android,Http" /> android studio 如何在方法内传递Java方法';s参数或不同的解决方案,android-studio,java,android,http,android Studio,Java,Android,Http" />

android studio 如何在方法内传递Java方法';s参数或不同的解决方案

android studio 如何在方法内传递Java方法';s参数或不同的解决方案,android-studio,java,android,http,android Studio,Java,Android,Http,我正在使用创建一个移动应用程序。本申请的目的是复制现有网站上使用的流程(出于隐私原因,不能披露网站) 当使用参数为usr(用户名)和pwd(密码)的请求时,网站当前返回一个JSON对象。例如: www.website.com/checkLogin.php?usr=username&pwd=password 当前工作系统是应用程序主活动类中的一个函数: public void SimpleGetRequest(String url){ // Instantiate the Re

我正在使用创建一个移动应用程序。本申请的目的是复制现有网站上使用的流程(出于隐私原因,不能披露网站)

当使用参数为
usr
(用户名)和
pwd
(密码)的请求时,网站当前返回一个JSON对象。例如:

www.website.com/checkLogin.php?usr=username&pwd=password
当前工作系统是应用程序主活动类中的一个函数:

public void SimpleGetRequest(String url){

    // Instantiate the RequestQueue.
    RequestQueue queue = Volley.newRequestQueue(this);

    // Request a string response from the provided URL.
    StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {

                    // display the response for bug testing
                    Log.d("CREATION", "Response: " + response);

                    //ChangeText(response);

                    //Validate the JSON oBject that should be returned
                    if(ValidateLogin(response)){
                        // change the temp username and password in globals on static method
                        setUsernameAndPassword();

                        // change text to show success
                        ChangeText("Login Success");

                        // change ethe activity to the home page on the login screen
                        ChangeActivity();
                    }
                }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            ChangeText("Couldn't Connect to Server");
            Log.d("CREATION", "Request Failed");
        }
    });

    // Add the request to the RequestQueue.
    queue.add(stringRequest);
}
public void SimpleGetRequest(字符串url){
//实例化RequestQueue。
RequestQueue=Volley.newRequestQueue(this);
//从提供的URL请求字符串响应。
StringRequest StringRequest=新的StringRequest(Request.Method.GET,url,
新的Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
//显示错误测试的响应
Log.d(“创建”,“响应:”+响应);
//更改文本(响应);
//验证应返回的JSON对象
if(验证登录(响应)){
//在globals on static方法中更改临时用户名和密码
setUserName和Password();
//更改文本以显示成功
ChangeText(“登录成功”);
//将活动更改为登录屏幕上的主页
改变活动();
}
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
ChangeText(“无法连接到服务器”);
Log.d(“创建”、“请求失败”);
}
});
//将请求添加到RequestQueue。
添加(stringRequest);
}
此方法接受url输入并运行一个简单的请求,然后在它自己内部创建的
onResponse()
函数中返回响应。这对我来说很好,但是我想在其他活动中使用此方法,这需要我复制并粘贴到其他活动中。相反,我想创建一个静态类,让活动引用这个方法。但是,由于响应驻留在方法内部的回调函数中,因此我无法使用该方法返回任何内容

我认为可能的解决方案是使用
SimpleRequest()
方法从活动传递函数,这样当调用回调函数时,它会将结果发送回活动,这样就可以使用它,而不是将功能直接放入回调函数中


是否可能,或者此方法有缺陷?

我不确定您到底想要什么,但似乎您想要使用lambda或方法引用来代替匿名内部类。我说的对吗?是的,本质上我只是希望能够设置一个指向方法的指针,让它运行,以便响应返回到调用请求的活动。这可能会帮助您。这对我的目标没有帮助。我想做的是将这个方法移动到它的on static类,作为一个静态类,我不能用它来调用应用程序的非静态类中的方法,所以我想做的是以某种方式在SimpleRequest(final method())中传递一个方法,然后我可以在内部方法onResponse()中引用该方法将响应发送到中是否可能/是否有其他类似的方法可以工作?