首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Jetpack:使用 ActivityResult 处理 Activity 之间的数据通信

在Android中,我们如果想在Activity之间双向传递数据,需要使用startActivityForResult启动,然后在onActivityResult中处理返回,另外申请权限也是类似的步骤。...ActivityResult使用 使用ActivityResult先添加依赖: dependencies { // 在 https://developer.android.google.cn/jetpack...所以如果我们自己的页面间通信,则自定义ActivityResultContract即可,与GetContent类似,根据自己的需求实现这两个函数即可,当然还可以直接使用jetpack提供的StartActivityForResult...往下可以看到是通过lifecycle这个功能实现的,为启动的context(如activity)添加一个Observer,在Observer中发现是在onStart这个事件里处理的返回。...但是实际上返回是在onActivityResult函数中,这里就需要关注mPendingResults,在ActivityResultRegistry中的doDispatch函数中为它赋予了数据,而doDispatch

1.3K30

startActivityForResult被标记为弃用后,如何优雅的启动Activity?

二、ActivityResultContract 该如何使用? 三、但是……我就想简单的使用startActivityForResult怎么办?...可以明显的看到,在androidx.activity1.2.0-alpha04时开始,Android中这位你调用过无数次的startActivityForResult和onActivityResult,...ActivityResultContract 是用来协定所需的输入类型以及结果的输出类型,Android默认提供了一些常用的定义,例如上面所使用到到ActivityResultContracts.StartActivityForResult...二、ActivityResultContract 该如何使用?...刚才的例子中,其实已经简单的使用到Android提供的一个默认协定ActivityResultContracts.StartActivityForResult()来启动了一个Activity并获得想要的返回值

3.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?

    题目部分 如何在Oracle中写操作系统文件,如写日志? 答案部分 可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。...若想普通用户使用该包,则需要在SYS用户下执行“GRANT EXECUTE ON DBMS_LOCK TO USER_XXX;”命令。 Oracle使用哪个包可以生成并传递数据库告警信息?...在CLIENT_INFO列中存放程序的客户端信息;MODULE列存放主程序名,如包的名称;ACTION列存放程序包中的过程名。该包不仅提供了设置这些列值的过程,还提供了返回这些列值的过程。...如何在存储过程中暂停指定时间? DBMS_LOCK包的SLEEP过程。例如:“DBMS_LOCK.SLEEP(5);”表示暂停5秒。 DBMS_OUTPUT提示缓冲区不够,怎么增加?...如何在Oracle中写操作系统文件,如写日志? 可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。

    28.8K30

    再见 onActivityResult!你好 Activity Results API

    这次带来的是新API的使用。 PS: 关于Android的博客文章,以后都会使用Kotlin来进行展示,还没有学习Kotlin的小伙伴抓紧学习波咯,这是Android的趋势。...它是一个抽象类,你需要继承它来创建自己的协议,每个 ActivityResultContract 都需要定义输入和输出类,如果您不需要任何输入,默认使用 Void(在 Kotlin 中,使用 Void?...启动器,调用ActivityResultLauncher的launch方法来启动页面跳转,作用相当于原来的startActivity() 使用 定义ActivityResultContract 新建一个...Google也考虑到了这个问题,已经自定义了很多Contract,覆盖了开发中的使用场景。...非Activity/Fragment中接收数据 在Activity和Fragment中,我们能直接使用registerForActivityResult方法 ,那是因为ConponentActivity

    1.4K30

    MAUI 移植 Xamarin.Forms 自定义渲染器

    以下文章来源于CodeShare ,作者痕迹gg 简介 众所周知, .NET MAUI使用的是Handler处理程序, 而Xamarin使用的则是Render渲染器模式。...尽管MAUI中使用了新的渲染模式, 但是仍然Xamarin中的支持Render渲染器, 这意味着如果你的项目是从Xamarin移植到MAUI当中, 大部分代码能够可以重用, 本篇文章介绍如何将Xamarin...) IDE 模块:安装Xamarin移动端开发环境及MAUI预览版环境 创建Xamarin渲染器 第一步: 首先创建一个Xamarin.Forms项目, 在Android项目中创建CustomRender...第二步: 然后, 我们把Xamarin中创建的MyButton与MyButtonRender直接复制到MAUI的项目中, 如下所示: MyButtonRender类修改如下: using App2;...下一篇, 主要给大家介绍, 如何在MAUI当中使用新的Handler体系来实现自定义平台控件。

    2.5K20

    Android数据库高手秘籍(十),如何在Kotlin中更好地使用LitePal

    如果你使用的是Java,那么就在build.gradle中引入如下配置: dependencies { implementation 'org.litepal.android:java:3.0.0...' } 而如果你使用的是Kotlin,那么就在build.gradle中引入如下配置: dependencies { implementation 'org.litepal.android:kotlin...T.class这样的语法在Java中是不可能的,而在Kotlin中借助泛型实化功能就可以使用T::class.java这样的语法了。...而通过刚才泛型实化部分的讲解,我们知道Kotlin中是可以使用T::class.java这样的语法的,因此我在LitePal 3.0.0中扩展了这部分特性,允许通过指定泛型来声明查询哪张表中的内容。...另外也可以阅读我写的专栏《Android数据库高手秘籍》,同样对LitePal的各种使用方法进行了详细地剖析。

    3.1K30

    dotnet Multi-platform App UI 多平台应用 UI 框架简介

    在 .NET 5 微软统一了整个 .NET 平台,将 .NET Core 和 Mono 以及基于 Mono 的 Xamarin 放在一起,于是就可以使用相同的一个 BCL 基础库和 SDK 工具链 当咱在考虑如何在...很多年以来,都有很多商业公司,如这个链接 https://dotnet.microsoft.com/apps/xamarin/customers 列举出来的公司,都在使用 Xamarin 用 .NET....NET 开发人员的技术选择,提供了一个技术栈来支持所有现代工作开发如:Android,iOS,macOS和Windows平台的开发。...无论是使用哪个版本的 IDE 如 Visual Studio 2019,Visual Studio for Mac甚至是 Visual Studio Code 工具,.NET MAUI 将在所有这些版本中可用...,Xamarin.iOS和 Xamarin.Android 将作为.NET for iOS和.NET for Android成为.NET 6的一部分。

    5.2K20

    译 | .NET Multi-platform App UI 多平台应用 UI 框架简介

    在 .NET 5 微软统一了整个 .NET 平台,将 .NET Core 和 Mono 以及基于 Mono 的 Xamarin 放在一起,于是就可以使用相同的一个 BCL 基础库和 SDK 工具链 当咱在考虑如何在...很多年以来,都有很多商业公司,如这个链接 https://dotnet.microsoft.com/apps/xamarin/customers 列举出来的公司,都在使用 Xamarin 用 .NET....NET 开发人员的技术选择,提供了一个技术栈来支持所有现代工作开发如:Android,iOS,macOS和Windows平台的开发。...无论是使用哪个版本的 IDE 如 Visual Studio 2019,Visual Studio for Mac甚至是 Visual Studio Code 工具,.NET MAUI 将在所有这些版本中可用...,Xamarin.iOS和 Xamarin.Android 将作为.NET for iOS和.NET for Android成为.NET 6的一部分。

    4.9K10

    Android中AsyncTask的使用

    原文 https://blog.csdn.net/liuhe688/article/details/6532519 在Android中实现异步任务机制有两种方式,Handler和AsyncTask。...在特定场合下,并不是所有类型都被使用,如果没有被使用,可以用java.lang.Void类型代替。...在使用的时候,有几点需要格外注意: 1.异步任务的实例必须在UI线程中创建。 2.execute(Params... params)方法必须在UI线程中调用。...接下来,我们来看看如何使用AsyncTask执行异步任务操作,我们先建立一个项目,结构如下: ?...mFuture对象的done()方法里,构建一个消息时,这个消息包含了一个AsyncTaskResult类型的对象,然后在sHandler实例对象的handleMessage(Message msg)方法里,使用下面这种方式取得消息中附带的对象

    46320

    Android 中 RxJava 的使用

    前言 Android原生的多线程和异步处理简直糟透了,反复的嵌套让代码看起来十分不明了,多线程上也没有iOS的dispatch好用,但是用了Rxjava后就会有所改善,虽然代码量看起来会多一点,但是逻辑就清晰多了...在一个正确运行的事件序列中, onCompleted() 和 onError() 有且只有一个,并且是事件序列中的最后一个。...但是不能就都用Flowable 因为Observable的性能较高 Single: 和Observable,Flowable一样会发送数据,不同的是订阅后只能接受到一次 普通Observable可以使用...,主线程中使用数据生成页面 Observable .create(new ObservableOnSubscribe() { @Override...那我们只会接受到错误 而不是错误的前一个事件 ​ Android中应用 添加依赖 implementation 'io.reactivex.rxjava2:rxandroid:2.0.2' implementation

    2.2K30

    .NET MAUI 性能提升(上)

    在.NET 6版本中,这是完全有意义的默认选项。在过去,使用Xamarin.Android进行任何类型的AOT都需要Android NDK(下载多个gb)。...对于如何在未来的.NET版本中重新构建它,我们有一些想法。 除了.NET 6之外,针对当前客户Xamarin. Android的最新版本也附带了这一更改。...我们正在研究如何在未来的.NET版本中改进这一点。 查看xamarin-android#6657和xamarin-android#6707了解这个改进的详细信息。...当在构建时为Java方法生成c#绑定时,默认使用更新/更快的方法—在Xamarin.Android中已经有一段时间了。...: https://github.com/xamarin/xamarin-android/pull/6940 ▌删除System.Uri中未使用的编码对象 一个MAUI应用程序的dotnet跟踪输出,显示大约

    8.6K20
    领券