gpt4 book ai didi

android - 在Android中实现方法回调

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:08:16 26 4
gpt4 key购买 nike

目前在我的项目中,我正在发出 Http 请求,我希望将不同的 http 响应发送到不同的回调方法。

我在下面写了一个快速示例来展示我想要做什么。我知道它可能无法按照我想要的方式实现,但是否有任何干净的解决方案来实现同样的目标?

示例:

Activity 类:

public class Main extends Activity{  
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Services service = new Services();
service.login("user", "password", **onLoginComplete()** );
}

public void onLoginComplete(String HTTPResponse){
// Do something with the response
}
}

服务等级:

public class Services{  

public void login(String user, String password, CALLBACK){
Request request = createLoginRequest(user, password);
sendRequest(request, CALLBACK);
}

public class sendRequest extends AsyncTask{
@Override
protected Object doInBackground(Object... params) {
// Do Http Request
// Get Response
CALLBACK(response);
}
}
}

最佳答案

interface OnLoginCompleteListener {
void onLoginComplete(String response);
}

然后

public void login(String user, String password, OnLoginComplete listener) {
mOnCompleteListener = listener;
}

protected Object doInBackground(Object... params) {
mOnCompleteListener.onLoginComplete(response);
}

最后

service.login("user", "password", new OnLoginCompleteListener() {
public void onLoginComplete(String response) {
// Handle your response
}
});

关于android - 在Android中实现方法回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12416075/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com