java安卓开发异步任务_java – 如何从android中的任何异步操作中获...
要从异步操作中获取值,可以在方法中定义自己的回调,以便在从这些操作返回时使用这些值.
这是Java的方法
首先定义一个接口:
interface Callback {
void myResponseCallback(YourReturnType result);//whatever your return type is: string, integer, etc.
}
接下来,将您的方法签名更改为:
public void foo(Callback callback) { // make your method, which was previously returning something, return void, and add in the new callback interface.
接下来,无论您以前想要使用这些值,请添加以下行:
callback.myResponseCallback(yourResponseObject);
举个例子 :
@Override
public void onSuccess(QuerySnapshot documentSnapshots) {
// create your object you want to return here
String bar = document.get("something").toString();
callback.myResponseCallback(bar);
})
现在,您之前调用的方法称为foo:
foo(new Callback() {
@Override
public void myResponseCallback(YourReturnType result) {
//here, this result parameter that comes through is your api call result to use, so use this result right here to do any operation you previously wanted to do.
}
});
}
你是怎么为Kotlin做的?
(作为您只关心单个结果的基本示例)
首先将方法签名更改为以下内容:
fun foo(callback:(YourReturnType) -> Unit) {
.....
然后,在异步操作的结果中:
firestore.collection("something").document("document").get().addOnSuccessListener {
val bar = it.get("something").toString()
callback.invoke(bar)
}
那么,你以前称之为foo的方法,你现在这样做:
foo { result->
here, this result parameter that comes through is your api call result to use, so use this result right here to do any operation you previously wanted to do.
}
如果你的foo方法以前参数:
fun foo(value:SomeType, callback:(YourType) -> Unit)
你只需将其更改为:
foo(yourValueHere) { result ->
here, this result parameter that comes through is your api call result to use, so use this result right here to do any operation you previously wanted to do.
}
java安卓开发异步任务_java – 如何从android中的任何异步操作中获...相关推荐
- android 界面组件,安卓开发学习周第三篇——Android中的UI组件
原标题:安卓开发学习周第三篇--Android中的UI组件 在Android APP中,所有的用户界面元素都是由View和ViewGroup的对象构成的.View是绘制在屏幕上的用户能与之交互的一个对 ...
- 如何轻松搭建Java安卓开发环境
一.Java安卓开发环境的搭建 1.解压下面这个文件夹. 2.双击进入解压好的文件夹,并继续双击进去入"eclipse"文件夹. 3.找到eclipse.exe这个程序,并将这个程 ...
- Android中的AsyncTask异步任务的简单实例
在 Android中的AsyncTask异步任务的简单介绍 一文中,已经对 安卓 异步任务操作做了简单的介绍,这里,直接将上文中的异步任务做了一个实例,实现异步操作更新UI线程,相比开启子线程更新来 ...
- Android中的AsyncTask异步任务的简单介绍
事件原由: 很多耗时的资源在安卓客户端加载时,必须要开启一个新的线程去操作维护,而如果直接在主线程中加载的话,客户端会直接报出异常,导致程序不能正常使用,而子线程无法直接更新UI,因此客户端提供了 ...
- 【Kotlin 协程】Flow 异步流 ② ( 使用 Flow 异步流持续获取不同返回值 | Flow 异步流获取返回值方式与其它方式对比 | 在 Android 中使用 Flow 异步流下载文件 )
文章目录 一.使用 Flow 异步流持续获取不同返回值 二.Flow 异步流获取返回值方式与其它方式对比 三.在 Android 中 使用 Flow 异步流下载文件 一.使用 Flow 异步流持续获取 ...
- java安卓开发 快速入门_安卓程序员如何快速入门后端开发常识
首先,对于安卓开发人员来说,学习一下后端开发知识是有必要的,一方面可以拓展自身的知识面,另一方面也可以推动自己走向全栈程序员发展路线,在云计算时代,全栈程序员的发展空间会更大一些. 相对来说,安卓程序 ...
- java程序开发个人笔记_Java程序开发入门笔记
Java程序开发入门笔记 如果你是这一个错误的话:错误:编码GBK的不可映射字符 这是因为我们编写的代码一般都是utf-8的格式而控制台用的不是utf-8格式所以就会出现中文输出的错误.这个时候我们可 ...
- java如何开发游戏大厅_java仿qq游戏大厅的设计与实现
摘要:由于生活节奏的越来越快,人们越来越少的外出游玩.现在的人们为了生活,为了工作,为了家庭无时无刻不在紧张的环境中度过.而一些简单的小游戏则成为了人们放松的主要方式,本文用java语言开发了客户端/ ...
- java目前开发的背景_Java web 开发构想[一] 背景和形势
[Java web 开发构想系列 转自JavaEye社区,在此申明] 1.背景.形势 能够进行Web开发的编程语言和技术很多 (1) 动态解释语言 PHP; Perl; Python (Zope, P ...
- java安卓开发工具_Android开发必备那些工具
工欲善其事,必先利其器,在Android项目的开发中,借助工具能使开发效率大幅提升,下面分享我经常使用的工具,欢迎各位同学补充. 1.Android Studio Android程序员的吃饭工具,可以 ...
最新文章
- 微信小程序模板template
- 全球及中国冷冻玉米粒行业盈利分析与投资机会评估报告2022-2028年版
- boost::grid_graph用法的测试程序
- python求和_Python程序查找特殊求和系列的解决方案
- i=i+1,i+=1与i++的区别
- [BZOJ1030] [JSOI2007] 文本生成器 (AC自动机 dp)
- The Reactive Manifesto(响应式宣言)
- Android---------------Handler的学习
- 国家计算机考试一级难不难,国家计算机一级考试难不难?
- 什么是计算机在自动控制中的应用,计算机在自动控制中的应用
- SIP账号注册的SIP软电话的使用和常见问题
- Air202入坑指南2---LED闪烁
- 尚硅谷2021新版spring5课堂笔记
- GoogleMap获取地图中心点位置信息
- jQuery的addClass、siblings、removeClass、each、html、eq、show/hide用法
- 浅谈Java反射的实现原理
- 矩阵论极简笔记(2):列空间、正交补、零空间、行空间
- HZNUOJ 1157 有假币
- ftl模板生成的word文档打不开
- MakeItTalk用一段语音让一张照片动起来