java - 如何从android中的执行函数中获取返回值?
问题描述
在android中,是否可以从执行中运行的函数获取返回值?
调用文件
Connector connector = new Connector();
connector.execute("login", ipPop.getText().toString(), username.getText().toString(), password.getText().toString());
函数文件
public class Connector extends AsyncTask<String,Void,Void>{
@Override
protected Void doInBackground(String... voids) {
return false;
}
}
解决方案
您在 Android 中使用 AsyncTask。当您的类扩展它时,您可以覆盖另外 3 个方法。在这里,您可以覆盖onPostExecute
从 doInBackground 返回的数据传递的内容。由于 onPostExecute 在 UI 线程上运行,您可以从那里更新 UI,例如取消进度条。
@Override
protected void onPostExecute(String result) {
// "result" is data return from doInBackground method
// execution of result of Long time consuming operation
}
根据最新的 android 版本,不推荐使用 AsyncTask 避免使用它。检查替代品
推荐阅读
- git - Github 推送不影响当前 repo 状态的更改
- ruby-on-rails-4 - Rspec 测试是否在 activeadmin 中删除了新操作
- dialogflow-es - 如何使用nodejs在diagflow中根据用户查询向用户发送响应
- css - 如何以声明方式注入基于主机的 css 内容脚本?
- android - 如何复制二维数组以使内容指向相同的位置;java.lang.NullPointerException:尝试写入空数组
- laravel - Laravel Passport Personal Access Token Expiration for some specific Token
- docker - 在 Docker 安装和卸载后让 Vagrant Homstead 恢复生机
- alarmmanager - 公共类 AlarmManager 时间间隔执行少于 15 分钟(例如 2 分钟、5 分钟、7 分钟或 10 分钟)
- mysql - 根据数据组合两个具有不同日期值的表
- apache-flink - 得到“pyflink.util.exceptions.TableException:findAndCreateTableSource 失败。” 运行 PyFlink 示例时