首页
学习
活动
专区
圈层
工具
发布

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

在Android中,我们如果想在Activity之间双向传递数据,需要使用startActivityForResult启动,然后在onActivityResult中处理返回,另外申请权限也是类似的步骤。...所以如果我们自己的页面间通信,则自定义ActivityResultContract即可,与GetContent类似,根据自己的需求实现这两个函数即可,当然还可以直接使用jetpack提供的StartActivityForResult...(跟传统方式一样,这个bitmap只是一个图片预览,因为intent中不能传输过大的数据) 注意虽然输入是Void,但是执行ActivityResultLauncher的lanch函数是还需要传入一个null...但是实际上返回是在onActivityResult函数中,这里就需要关注mPendingResults,在ActivityResultRegistry中的doDispatch函数中为它赋予了数据,而doDispatch...在ComponentActivity的onActivityResult和onRequestPermissionsResult中都会调用dispatchResult函数。

1.5K30

在浏览器使用 MCP,纯边缘函数实现 MCP Client & Server

在支持 Streamable HTTP 的客户端使用下面是在 Cherry stdio 配置 Streamable HTTP MCP 的示例:基于 Stdio 的 MCP Server 现状与问题相信大多数开发者已经接触或体验过基于...,MCP 在各应用中的用户体验主要是一个工程化问题。...下面我们在 `functions/v1/chat/completions/index.ts` 中实现一个 MCP HOST,充当应用层来串联 MCP Client 和 MCP Server:该函数的主要功能包括...确保在完成后清理客户端资源 // ...省略详细实现...}/** * 边缘函数的主入口点 */export async function onRequest({ request, env }: any...边缘函数实现的 MCP Client 和 Server 为安全、便捷地使用 MCP 提供了新的可能性,相信这一技术将在未来获得更广泛的应用。

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

    ASP.NET Core 6框架揭秘实例演示:利用IHttpClientFactory工厂来创建HttpClient

    在一个采用依赖注入框架的应用中,我们一般不太推荐利用手工创建的HttpClient对象来进行HTTP调用,使用的HttpClient对象最好利用注入的IHttpClientFactory工厂来创建。...如果采用“Microsoft.NET.Sdk”这个SDK,需要添加该包的引用。...在如下所示的演示程序中,我们直接利用IServiceProvider对象来创提供HttpClient对象,它与上面演示的程序是等效的(S1204)。...在接下来演示的实例中,我们将设置两个HttpClient来调用指向“www.foo.com”和“www.bar.com”这两个域名的API。...为此我们需要在host文件中添加了如下的映射关系 127.0.0.1 www.foo.com 127.0.0.1 www.bar.com 在如下所示的演示实例中,我们为ASP.NET应用注册的终结点会返回包含请求的域名和路径

    97620

    如何利用状态同步开发一款联机游戏

    战斗计算都由服务端运算,然后以广播的方式下发游戏中各种状态,客户端收到状态后,更新自己本地的动作状态、Buff 状态、位置等。同步的是游戏中的各种状态,该方式多用于回合制游戏。...玩家在首页通过三种匹配方式(1V1、2V2、3V3)进入房间,玩家向实时服务器发送准备指令后会进入答题页,选择答案后提交到实时服务器,由实时服务器的逻辑判断答案的正误,并且下发新的游戏状态给每个玩家客户端...(2)onInitGameData 初始化游戏数据:游戏数据与房间生命周期一致,随房间销毁而销毁,可认为是对战式的游戏数据。 触发时机为在第一次收到玩家消息之前会调用一次。...[0]);//调用相应的处理函数 } catch (e) { SDK.sendData({ playerIdList: [], data: { err: " ERROR " + e + sender..., cmd: SER_PUSH_CMD.ERR, gameState: null } }); SDK.exitAction(); } return; }, • 处理函数逻辑在 msgHandler.ts

    4.2K20

    聊一聊C# 8.0中的await foreach

    微软多次尝试简化异步操作,因为 Async/Await 模式易于理解,所以在开发人员当中获得了良好的认可。...这个新功能为我们提供了一种很好的技术来解决拉异步延迟加载的问题,例如从网站下载数据或从文件或数据库中读取记录,与 IEnumerable 和 IEnumerator 类似,Async Streams 提供了两个新接口...线程5在请求下一个结果后,并没有等待结果返回,而是去了Main()函数中做了别的事情,等待请求的结果返回后,线程5又接着执行foreach中任务....同步调用 客户端向服务器端发送请求,客户端必须等待(客户端被阻塞),直到服务器端做出响应. ? 示例中Yield Return就是以这种方式执行的,所以整个过程只有一个线程即线程1在处理....最后一个示例就是以这种方式执行的,线程5询问下一个数据后并没有等待结果返回,而是去做了Main()函数中的别的事情,数据到达后,线程5又继续处理foreach中的任务.

    1.7K00

    有效的只读属性

    实现 Account 协议中的属性和下标时,可以提供与协议中相同或者更少的效果关键字。...有效属性定义很简单:在get中定义的code-block允许出现效果指,例如,抛出或者挂起try和await表达式被允许出现在代码块中。...其实我们始终可以确定某个属性是否具有此类async和try等效果,因为属性是静态声明的,如果我们在需要的地方疏忽了await、try等,编译器也会出现静态报错。...排除在这里引入新的标点符号,此处存在替代性。 C: 看起来还行。这个位置仅被mutating和nonmutating占用,但是这里放置效果说明符与函数的位置不一致,函数位于效果说明符之后了。...因为位置 D 被采用,D 比 C 使用更有意义。 D: 最终在本提案中采纳的位置。这个位置在语法中没有使用,把效果说明符放置在访问器上而不是变量或者类型上。

    2.2K60

    Swift 周报 第三十八期

    小组件和实时活动:小组件现在支持交互操作,并且可以在新的位置运行,例如 iPhone 上的待机界面、iPad 上的锁定屏幕、Mac 上的桌面以及 Apple Watch 上的智能叠放。...新的 Swift SDK Generator 应主要由 Swift SDK 作者使用,他们可以根据自己的需求对其进行自定义并发布自己的 Swift SDK 捆绑包。...我和我的同事最近几个月一直在致力于此工作,并取得了一些早期进展,我们很高兴与大家分享。...这个默认实现会让你遇到你提到的确切问题,但是如果你在 TCP 客户端类之外声明通道、处理程序、事件循环等,你可以处理处理程序类中发生的更改,例如断开连接或接收消息, 在客户端类的其他方法中。...14 中推出的新 Observation 框架。

    58730

    【Android】Broadcasts详解

    如果想要具体了解如何如何读取一个intent并且获取附加字段,参阅Intents and Intent Filters 参阅Android SDK中的BROADCAST_ACTIONS.TXT来了解所有系统广播的...ACTION_NEW_VIDEO 注册监听下列的广播,在程序清单中声明不再有效。...系统会创建一个新的BroadcastReceiver组件对象来处理接收到的广播。这个对象只在调用onReceive(Context, Intent)方法期间有效。...如果你需要执行一个耗时的操作,要小心使用子线程或者后台服务,因为当onReceive(Context, Intent)函数返回之后,系统随时会杀死你的进程。...要了解更多信息,参考对进程的影响小节,要执行耗时的操作,我们建议: 在receiver的onReceive()中调用goAsync(),然后将BroadcastReceiver.PendingResult

    99020

    E2B全面解析与实战:从入门到实战

    E2B技术架构示意图 轻量级虚拟化引擎 E2B的隔离基础建立在经过特殊优化的轻量级虚拟机(MicroVM)技术上,与传统虚拟机相比具有三个关键突破: 1....安全通信通道 // SDK与沙箱的通信加密流程 const secureChannel = new WebSocket(   `wss://${sandboxID}.e2b.dev/ws`,   {...sandbox.close() JavaScript版快速启动 浏览器或Node.js环境中的等效实现: import { Sandbox } from '@e2b/code-interpreter...e2b.Sandbox(     template="python3",     env_vars={"API_KEY": "sk-xxx", "DEBUG": "true"} ) JavaScript中的等效配置...通过Python SDK的install_package方法,开发者可以在沙箱运行过程中按需添加软件包,无需预构建完整环境。

    23710

    Broadcasts详解「建议收藏」

    完整的系统广播Action清单,请查看Android SDK中的BROADCAST_ACTIONS.TXT文件。每个广播Action都有一个与之相关联的常量字段。...一个常见现象:用户近期从未与应用交互过,如果这个进程中只运行了一个静态注册的Receiver,没有其它运行的组件,一旦代码从onReceive() return,系统就会认为这是个低优先级的进程并可能会杀死它...只有在其manifest中申请了权限许可的接收者(并且在危险的情况下被授予许可)才能接收广播。...b、 在Android4.0及以上系统上,发送广播时你可以用setPackage(String)指定包名。系统将广播限制为与包名匹配的应用程序集。...如果你想用更多时间在后台线程中处理广播,请用下面方法来完成: a、 在onReceive()中调用goAsync(),并且传入BroadcastReceiver.PendingResult。

    1K10

    云开发 For Web:一站式开发下一代 Serverless Web 应用

    云数据库 云开发提供了一个文档型的 NoSQL 数据库,与传统的云上数据库不同的是,云开发的数据库可以在各种客户端内使用 SDK 直接进行读写,比如 Web 应用、小程序内、Flutter 客户端等等。..., error) } }) 更多信息可以参考:数据库实时推送 | 云开发 Cloudbase 云函数 所谓的云函数,便是在云端运行的、事件驱动的一段代码,它可以被 SDK 调用,...使用调用云函数 使用云开发的客户端 SDK,可以轻而易举地在各个端上调用云函数,我们以 Web 应用为例: const cloudbase = require("tcb-js-sdk"); const...具体可以参考:https://docs.cloudbase.net/service/quick-start.html 在云函数内部使用服务端 SDK 在 Cloudbase 的云函数内,你可以直接使用...其实一张图就可以解决: [50d93c8fada886288df89acc4b6c6f85.png] 图中的客户端SDK包括: Web 小程序(已经内置在 wx.cloud 中) Flutter 安卓(

    2.2K32

    再见 onActivityResult!你好 Activity Results API

    首语 又忙了好一段时间,秋天是收获的季节啊。是时候总结一波咯。这次带来的是新API的使用。...背景 在项目开发中,发现startActivityForResult和onActivityResult方法已经被废弃了,这是为什么呢?有代码强迫症的我开始了研究。...它是一个抽象类,你需要继承它来创建自己的协议,每个 ActivityResultContract 都需要定义输入和输出类,如果您不需要任何输入,默认使用 Void(在 Kotlin 中,使用 Void?...预定义的Contract 在类ActivityResultContracts中,系统已经定义如下图所示的Contract,具体可查看源码说明。 StartActivityForResult()。...和Fragment基类实现了ActivityResultCaller 接口,在非Activity/Fragment中,如果我们想要接收Activity回传的数据,可以直接使用ActivityResultRegistry

    1.6K30

    OpenAI Agents SDK 中文文档 中文教程 (4)

    agents sdk, 跟踪,上下文管理,护栏 (4) Openai agents sdk, 编排多个代理,模型,配置SDK 编排多个代理 编排是指应用程序中的代理流。...模型 代理 SDK 提供对 OpenAI 模型的开箱即用支持,有两种风格: 推荐:OpenAIResponsesModel,它使用新的响应 API 调用 OpenAI API。...混合和匹配模型 在单个工作流程中,您可能希望为每个代理使用不同的模型。例如,您可以使用更小、更快的模型进行分类,而使用更大、功能更强大的模型进行复杂任务。...API 密钥和客户端 默认情况下,SDK 会在导入 LLM 请求和跟踪后立即查找环境变量。...或者,您也可以配置要使用的 OpenAI 客户端。默认情况下,SDK 使用环境变量中的 API 密钥或上面设置的默认密钥创建实例。

    1.1K10

    MCP协议从原理到开发:一文读懂大模型交互的标准化革命!

    本文系统介绍了MCP协议在大模型交互标准化中的创新应用,通过技术解析+实践案例的方式,阐述了MCP协议的架构设计、开发实现原理及实际应用效果。...实现多功能应用与创新体验的突破 MCP 的潜力不仅限于连接现有工具,它还在推动客户端应用向“万能应用”演进,并创造全新的用户体验。...更具创造力的是,在单一客户端中组合多个 MCP 服务器可以解锁复杂的新流程。例如,AI 代理可以一边生成前端界面代码,一边调用图像生成服务器为主页创作视觉元素。...Client(客户端):运行在Host内,mcp client 与 mcp server保持 1:1 连接,当用户在交互界面输入问题时,模型来决定使用1个或者多个工具,通过client来调用server...4.2 json-rpc 在我们用inspector调试我们的mcp-server时,请求参数里会有jsonrpc字段,在mcp中 client 和 server 之间的传输均采用了JSON-RPC 2.0

    4.7K33

    设计、开发一个 Flutter Plugin 的实践心得

    image.gif Future 表示一个异步的调用,类似 Javascript 的Promise;async/await 类似,在一个async 函数中,会类似同步地按顺序去执行 await 方法,...最终出于调研的目的,同时也是为了更加迎合 Flutter 一套代码,多平台通用的思想(理论上 SDK 就是一层设计完备的客户端逻辑,在 WebRTC 受良好支持的情况下,工作的内容就变为:如何使用 Dart...这些模块完成后,在此之上就可以实现类似声网 Web SDK 中的 Client 与 Stream 对象。...此外在应用层的开发过程中,风格非常接近于使用 React 进行 Web 开发,加上 Flutter 亚秒级的 Hot Reload 等特性,在开发体验与效率上相比原生开发确实有着不小的优势。...Web 开发者,还是追求更高的开发效率和更好的开发体验的原生开发者来说,Flutter 都是一个非常适宜的切入角度,值得在新的一年里加入自己的技术栈中。

    2.1K30
    领券