需要在Activity间传递大量的数据,能有哪些方法?

这篇具有很好参考价值的文章主要介绍了需要在Activity间传递大量的数据,能有哪些方法?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在Activity间传递的数据一般比较简单,可是有时分实践开发中也会传一些比较复杂的数据,尤其是面试问道当遇到需求在Activity间传递很多的数据怎么办?

Intent 传递数据的巨细是有约束的,它大约能传的数据是1M-8K,原因是Binder锁映射的内存巨细便是1M-8K.一般activity间传递数据会要运用到binder,因此这个就成为了数据传递的巨细的约束。那么当activity间要传递大数据选用什么方法呢?其实方法很多,咱们就举几个比方给咱们说明一下:

  • 使用Intent传递数据: Intent是在Android中用于在组件之间传递数据的机制。你可以将数据放入Intent的extras中,然后在目标Activity中从Intent中获取这些数据。
  • 使用Parcelable或Serializable: 如果需要在Intent中传递自定义对象,你可以让这些对象实现Parcelable接口或Serializable接口,以便将它们序列化为字节流并传递给其他Activity。
  • 使用全局单例: 你可以创建一个单例类来存储需要在多个Activity之间共享的数据。
  • 使用数据库: 如果数据量较大且需要长时间存储,可以考虑使用SQLite数据库或其他持久化解决方案。
  • 使用ViewModel和LiveData: Android架构组件中的ViewModel和LiveData可以帮助在Activity之间共享数据,并且可以在屏幕旋转等情况下保持数据的一致性。
  • 使用文件存储: 如果数据量非常大,可以将数据写入文件,然后在另一个Activity中读取。
  • 使用网络请求: 如果数据可以从服务器获取,可以考虑使用网络请求在Activity之间共享数据。
  • 使用依赖注入: 通过依赖注入框架,你可以在多个Activity之间注入共享的数据实例,从而避免数据冗余和一致性问题。

本篇主要内容讲一下第一种使用Intent传递数据。

使用Intent传递数据

什么是intent?

intent就是起到一个中间媒介的作用,可以在activity之间传递数据,也可以进行进行一些基本的action。比如startactivity()之类。

利用intent在两个activity之间传递数据

首先我们创建两个activity,分别叫MainActivity以及OtherActivity。在MainActivity的布局文件中,添加一个button,用于页面之间的转跳,以及相关数据的传输。在OtherActivity的布局文件中,我们添加一个TextView,用于接受数据。

MainActivity中的代码:

需要在Activity间传递大量的数据,能有哪些方法?,android开发,android,Android开发,程序员,移动开发,activity

编辑切换为居中

添加图片注释,不超过 140 字(可选)

这些代码,相信大家都很熟悉,应该不难。我们主要来说说putExtra();

putExtra(“A”,B)中,AB为键值对,第一个参数为键名,第二个参数为键对应的值。顺便提一下,如果想取出Intent对象中的这些值,需要在你的另一个Activity中用getXXXXXExtra方法,注意需要使用对应类型的方法,参数为键名

贴出OtherActivity的代码:

需要在Activity间传递大量的数据,能有哪些方法?,android开发,android,Android开发,程序员,移动开发,activity

编辑切换为居中

添加图片注释,不超过 140 字(可选)

因为我们之前传入的是一个字符串,所以调用getStringExtra这个方法。

这样我们就简单的在两个activity之间传递数据啦~

利用intent在两个activity之间传递数据包

传递数据包,我们主要使用bundle这个类。

首先看MainActivity中的代码:

需要在Activity间传递大量的数据,能有哪些方法?,android开发,android,Android开发,程序员,移动开发,activity

编辑切换为居中

添加图片注释,不超过 140 字(可选)

首先我们创建一个bundle类。当传递字符串时,使用putString方法;传递整数时,用putInt方法。 最后再用putExtras 将数据包传递到另一个activiity。

OtherActivity中的代码:

需要在Activity间传递大量的数据,能有哪些方法?,android开发,android,Android开发,程序员,移动开发,activity

编辑切换为居中

添加图片注释,不超过 140 字(可选)

首先我们创建一个bundle对象,接收MainActivity传递过来的数据。最后用setText方法,将其展现出来。这样一个数据包就传递完成了。

利用intent获取到返回数据

我们继续创建两个Activity,分别叫MainActivity和OtherActivity。但是这次不同的是,我们在MainActivity的xml文件中,创建一个按钮和一个TextView,用于接收返回的数据。在OtherActivity的xml的文件中,我们创建一个EditText和一个button,用于返回数据。 (这两个Xml文件的代码,我也不不一一展示了)

OtherActivity的代码:

需要在Activity间传递大量的数据,能有哪些方法?,android开发,android,Android开发,程序员,移动开发,activity

都比较基础,我们主要看setResult()这个方法。

它的第一个参数是一个返回码,主要用于设置返回状态,你也可以自行进行定义。第二个参数是一个intent对象。

MainActivity的代码:

需要在Activity间传递大量的数据,能有哪些方法?,android开发,android,Android开发,程序员,移动开发,activity

关于Android开发中需要在Activity间传递大量的数据,怎么去解决?其实有很多方法,上方也举例了一个实际案例。更多有关Android开发技术可以参考[《Android核心技术手册》]学习更多Android进阶技巧。

需要在Activity间传递大量的数据,能有哪些方法?,android开发,android,Android开发,程序员,移动开发,activity文章来源地址https://www.toymoban.com/news/detail-678244.html

到了这里,关于需要在Activity间传递大量的数据,能有哪些方法?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android之Activity使用方法

    【 Activity 】 一个Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务,例如拨号、拍照、发送email、看地图。每一个activity被给予一个窗口,在上面可以绘制用户接口。窗口通常充满屏幕,但也可以小于屏幕而浮于其它窗口之上。 一个应用程序通

    2024年02月07日
    浏览(37)
  • Android Fragment跳转到Activity的方法

    一开始我直接按照Activity页面之间跳转的方法进行的跳转,就是在xml文件中给相应的组件onClick 在网上查询到的好像都是下面这种 但是我在Fragment的Java文件中用到这个并不能实现预想的效果。 在多次尝试后我直接在Fragment所嵌入的Activity的Java文件中添加了以下代码,实现了跳

    2023年04月25日
    浏览(58)
  • 企业数字化转型中,VR数字展厅能有哪些体验?

    在数字化转型的浪潮下,企业纷纷开始注重数字展厅的开展,VR虚拟展厅结合VR全景技术,可以创造出许多有趣的玩法和体验,无论是虚拟参观、互动体验还是VR云会议对接,都为企业客户带来了全新的感知方式。 同传统展厅相比,VR数字展厅可以让参观者随时随地进行虚拟参

    2024年02月11日
    浏览(50)
  • Activity之间数据回传【Android、activity回传、结合实例】

    在Android应用中,有时需要从一个Activity向另一个Activity传递数据,并在第二个Activity处理后将结果传递回第一个Activity。 这种情况下,我们可以使用 startActivityForResult() 和 onActivityResult() 方法来实现数据回传。 创建新的Android项目: 打开Android Studio并创建一个新的Android项目,确

    2024年02月08日
    浏览(43)
  • Android Activity重写dump方法实现通过adb调试代码

    android为我们提供了dump方法。注释中声明该方法会将活动的状态打印到给定流中,当cmd运行“adb shell dumpsys activity”时会调用此函数。所以当我们要做一些测试,就可以在activity重写dump函数编写我们的测试逻辑。 args是adb传进来的命令参数 调用 writer.println 即可将想要打印的东

    2024年02月06日
    浏览(40)
  • 【Android从零单排系列四十八】《Android中自定义activity的实现方法》

    目录 前言 一  activity介绍 二  activity的缺点 三  自定义activity的步骤 四 自定义activity的demo 小伙伴们,在前面的文章中,我们谈到了Android开发中的自定义view的基本概念及方法等,本文我们实际举例自定义一个activity。 Activity(活动)是Android应用程序中的核心组件之一,它代

    2024年02月15日
    浏览(38)
  • NFT七大种类介绍,除了艺术收藏品及游戏道具外,还能有哪些用途?

    1.艺术 此种类包含 CryptoPunks 及无聊猿 (BAYC) 等的收藏品,或是 Foundation 及 SuperRare 平台上的 1/1 数位艺术品。人们喜爱收集数位艺术品的原因与喜爱实体艺术品、时尚精品及棒球卡的原因相同 ── NFT 艺术品是美学、赞助、地位、收藏及社交的混合体。 2.音乐 音乐在 NFT 领域来

    2024年02月05日
    浏览(39)
  • 组建“家庭网络”需要哪些条件及具体步骤和方法

    我们一般要组建自己的家庭小型局域网,一般需要的硬件设备有AFDSL Modem,路由器,电脑,网线。下面是如何设置路由器,组建家庭小型局域网 的具体步骤和方法,希望对您有所帮助! 首先准备工具! 猫一个!!随便你们自已买了!!不过华为的不错的说! 路由一个!我这里以TP-LINK

    2024年02月06日
    浏览(41)
  • 【Android开发】不同Activity之间的数据回传实例(一)摘桃子游戏

    该项目实现的功能主要有: 在首页显示一个按钮点击该按钮跳转到桃园页面 在桃园页面,点击桃子会弹窗显示摘到几个桃子,同时被点击桃子消失,总桃子数+1 点击退出桃园会返回首页,首页桃子数会根据点击的桃子数动态增加 将项目所需要的图片bg.png、monkey.png、btn_peac

    2024年01月23日
    浏览(47)
  • 百度二面是什么级别的,Unity进阶技巧 - RectTransform详解,android开发需要哪些基础

    三、Pivot和Anchor的结合 在了解了Pivot和Anchor分别是什么后,我们就来看看Unity是如何使用这个两个东西来控制UI的布局 第1种情况:两个锚点重合时我们先来看看两个锚点重合时的情况,这种情况是我们最常用也是最容易理解的方式 我们将Anchor锚点放在黑框的正中间,然后将

    2024年04月12日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包