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

Android不同应用之间的数据传值

前言 不同应用之间的传值可以使用以下几种方式: Intent传值:使用隐式Intent,但需要确保接收方应用可以响应该Intent。...Content Provider 通过Content Provider可以在不同的应用之间共享数据。...怎样选择: 假如A是数据的提供方,B是数据的接收方, 如果B一定是A唤起的并且传值的可以使用Intent传值方式 如果B也能自己打开,还要获取A的值,就使用Content Provider方式。...Intent传值 使用Intent在不同的应用之间传递数据,可以通过Intent的putExtra()方法添加数据,并通过startActivity()或startActivityForResult()...} } Content Provider Content Provider:通过Content Provider可以在不同的应用之间共享数据。

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

    JetpackNote---基于Jetpack的学习笔记APP

    背景 在我的Jetpack_Note系列中,对每一篇的分析都有相对应的代码片段及使用,我把它做成了一个APP,目前功能还不完善,代码我也上传到了GitHub上,参考了官方的Demo以及目前网上的一些文章...Jetpack是什么想必大家对它都已经有了基本的了解了,官方介绍以及官方文档: https://developer.android.com/jetpack Jetpack 是一套库、工具和指南,可帮助开发者更轻松地编写优质应用...在Android Developers官网上,Jetpack作为一个Tab和Kotlin、Android Studio等一样的地位也同样占据了一个模块,Jetpack里目前包含的内容,未来想必也是谷歌大力维护和扩展的东西...4.3 LiveData 在LiveData模块,通过生命周期观察LiveData的值,并将它打印在控制台中,点击 开始观察数据 按钮,通过演示生命周期函数,返回桌面或者进入后台,查看LiveData对象的值...Map转换则演示通过转换存储在LiveData对象中的值,并向下传递转换后的数据。

    1K30

    Android 架构组件的最新进展 (上篇)

    Jetpack 项目正是为了解决这些问题而诞生的,Jetpack 是一系列助力您更容易打造优秀 Android 应用的工具和组件,这些组件能帮助您遵循最佳实践、免除编写繁复的样板代码并简化复杂任务,从而使您可以专注于最核心的代码逻辑...其中 androidx.* 库与 Framework API 解耦,这能够提供向后兼容的同时,也能更频繁地更新。 Android Jetpack 中的架构组件可帮助您设计稳健、可测试且易维护的应用。...但这个功能还停留在测试阶段,所以请在 Gradle 配置文件中使用如下代码手动打开: android.databinding.incremental = true 和 Android Studio 更紧密地集成...视图绑定 (View Binding) 给出 ID 即可自动生成绑定类代码且能保证编译安全,能做到一石 "三" 鸟的视图绑定可在 Android Studio 3.6 Canary 11 或更新版本中用得上...ViewModel 用于: 保留应用对网络、数据库的请求 当作大型对象的缓存 SavedState 用于: UI 的状态记录,比如选择区域和滚动距离等 导航状态键值记录 各取所长,联手打造流畅体验 //

    91340

    Android Jetpack - LiveData

    LiveData 概述 LiveData 是一个可观察数据包装类,与普通观察者不同,LiveData 具备生命周期感知能力,这意味着它遵循其它应用组件的生命周期(Activity、Fragment、Service...例如,后台活动在返回前台后立即接收最新数据 配置更改友好 如果由于配置更改(例如设备轮换)而重新创建活动或片段,则会立即接收最新的可用数据 资源共享 你可以使用单例模式扩展 LiveData 对象以包装系统服务...具体可以参考 Android Jetpack - Room 一文所提供的代码示例 转换 LiveData 您可能希望在将 LiveData 对象分派给观察者之前更改存储在 LiveData 对象中的值,...或者您可能需要根据另一个 LiveData对象的值返回不同的 LiveData 实例。...对象中的值,并将结果解包并调度到下游。

    2K30

    Android 架构组件 - 让天下没有难做的 App

    Google 为了帮助 Android 开发者更快更好地开发 App,推出了一系列组件,这些组件被打包成了一个整体,称作 Android Jetpack,它包含的组件如下图所示: ?...Android Studio 提供的迁移工具(Refactor > Migrate to AndroidX)可以将源码中的旧包名替换成新的,但是如果 Maven 依赖的产物还未迁移到 AndroidX...: LiveData = _waveCode 内部用 MutableLiveData ,可以修改值,对外暴露成 LiveData 类型,只能获取值,不能修改值。...至此,我们可以确定,无论数据来自 Remote 还是来自本地 DB,架构蓝图中的 Repository 对 ViewModel 提供的数据可以永远是 LiveData 类型,接下来我们看一下 ViewModel...Android 自身提供了很多方案来解决后台任务执行的问题,可以根据下图的决策路径选择不同的组件: ? WorkManager 整体上可分为四部分:任务类型、任务构建、任务监控和任务控制。

    1.2K20

    【译】LiveData三连

    When and why to use Android LiveData 差不多一年前(2017年5月的第一个alpha版本),谷歌发布了 "安卓架构组件",这是一个库的集合,旨在帮助安卓开发人员设计更强大...这个ViewModel(注意,基类属于Android架构组件)的伟大之处在于,它在Activity的生命周期中被保留下来,这意味着它将一直存在,直到Activity永久消失,也就是Activity销毁。...在我们的例子中,视图模型从UserRepository类中获得其返回值,该类保留了一个LiveData的实例,该实例包裹着一个数据持有者FollowStatus。...整个公共API是一个方法 contacts() 在这个例子中,我们为每个方法的调用创建了新的LiveData,为了避免这种情况,我们必须解决参数可能不同的问题。Lazy Map在这里可以提供帮助。...希望这篇文章能帮助你选择。编码愉快! When NOT to Use LiveData 如果你熟悉Android开发,我毫不怀疑你已经听说过架构组件,甚至可能在你的项目中使用了它们。

    1.7K20

    livedatabus详解,阿里是如何用他来做淘宝架构的?

    Google 为了帮助 Android 开发者更快更好地开发 App,推出了一系列组件,这些组件被打包成了一个整体,称作 Android Jetpack,它包含的组件如下图所示: ?...Android Studio 提供的迁移工具(Refactor > Migrate to AndroidX)可以将源码中的旧包名替换成新的,但是如果 Maven 依赖的产物还未迁移到 AndroidX...P,也可以做 UI 的数据适配,这一层可以实现数据驱动 UI;最后是 Repository 层,它作为 SSOC,是一个 Facade 模式,对上层屏蔽了数据的来源,可以来自 local,也是来自 remote...waveCode: LiveData = _waveCode 内部用MutableLiveData,可以修改值,对外暴露成LiveData类型,只能获取值,不能修改值。...至此,我们可以确定,无论数据来自 Remote 还是来自本地 DB,架构蓝图中的 Repository 对 ViewModel 提供的数据可以永远是 LiveData 类型,接下来我们看一下 ViewModel

    1.2K30

    从 LiveData 迁移到 Kotlin 数据流

    为此,架构组件团队打造了 LiveData: 一个专用于 Android 的具备自主生命周期感知能力的可观察的数据存储器类。...数据流: 把简单复杂化,又把复杂变简单 LiveData 就做了一件事并且做得不错: 它在 缓存最新的数据 和感知 Android 中的生命周期的同时将数据暴露了出来。...StateFlow 与 LiveData 是最接近的,因为: 它始终是有值的。 它的值是唯一的。 它允许被多个观察者共用 (因此是共享的数据流)。...#2: 把一次性操作的结果暴露出来 这个例子与上面代码片段的效果一致,只是这里暴露协程调用的结果而无需使用可变属性。...#3: 带参数的一次性数据加载 比方说您想要加载一些依赖用户 ID 的数据,而信息来自一个提供数据流的 AuthManager: △ 带参数的一次性数据加载 (LiveData) 使用 LiveData

    1.4K20

    Android room 的扩展SQL写法,进行连接查询

    而我们查询表一的结果时需要获取表二的favorite值。 @Query("SELECT table1....而现在Android Studio中支持了数据库实时调试。 我们app安装并启动后,我们可以通过Android Studio实时看到app中的sqlite数据库,以及数据库中的表和数据。...(如果没有该功能,那么代表我们的Android Studio比较老了。建议升级) 当我们启动设备调试后,可以通过选择不同的app。看到该app下的全部数据库。...直接通过Android Studio 查询app的数据 例如我搜索的结果: 5.2 开启Live updates 实时更新 我们如果调试的数据库数据,会不断变化刷新。...总的来说,database inspector就是一个专门的sqlite数据库管理工具。Android 帮我们实现了数据库的链接和通讯。 我们可以直接在studio中进行数据库的操作。

    1.2K20

    Android Dev Summit 21 精彩内容盘点

    Android12 遵循了 M3 的 Dynamic Color 设计原则,系统可以从用户的壁纸中抓取颜色,然后色阶化应用到你开发的应用中,应用跟随主题的不同和变换颜色,千人千面。...Material3 Compose.M3 通过 ColorScheme 来自定义配色方案,支持了 Material You 的 color scheme 设计规范。...UI 呈现对应的主题颜色 Android Studio ---- Android Studio Arctic Fox 正式版发布 Ancroid Studio Bumblebe 进入 Beta 阶段 而最新的...这近几个版本的迭代中 Android Studio 面向如何提高开发者的编码和调试效率增加了一系列新功能。...此外,Android Studio 对模拟器进行了不少强化,模拟器模拟更多真实设备的使用场景,例如重力感应等。

    1.7K20

    掌握 Android Compose:从基础到性能优化全面指南

    引言 本文介绍了 Android Compose 的基本概念,探讨其状态管理、列表处理以及性能优化的关键技术,帮助读者更好地理解和运用这一强大的 UI 框架。...可组合性: 通过组合不同的组件来构建复杂的 UI。 工具支持: 完美集成至 Android Studio,提供实时预览和代码完成等功能。...当 ViewModel 更新这些 LiveData 对象的值时,与之相关的 UI 自动更新,反映出最新的状态。...5.4 性能测试与优化 在开发过程中,使用 Android Studio 的 Profiler 工具来监控应用的 CPU 和内存使用情况,确保没有性能瓶颈。...组件化: 通过可重用的组件,Compose 使得 UI 设计更加模块化,易于测试和维护。 集成工具: Android Studio 集成提供了无缝的开发体验,包括实时预览和代码自动完成。

    59020

    谷歌官方Android应用架构库——LiveData

    架构库版本:1.0.0 Alpha 2 – June 2, 2017 LiveData 是一个数据持有者类,它持有一个值并允许观察该值。...不同于普通的可观察者,LiveData 遵守应用程序组件的生命周期,以便 Observer 可以指定一个其应该遵守的 Lifecycle。...LiveData 的转换 有时候可能会需要在将 LiveData 发送到观察者之前改变它的值,或者需要更具另一个 LiveData 返回一个不同的 LiveData 实例。...Lifecycle 包提供了一个 Transformations 类包含对这些操作的帮助方法。...ViewModel 可以轻松获取到 LiveData 并在它们上面定义转换规则。 创建新的转换 在应用程序中可能会用到十几种不同的特定转换,但是默认是不提供的。

    1.1K30

    LiveData beyond the ViewModel

    多年来,反应式架构一直是Android的一个热门话题。它一直是Android会议上的一个永恒主题,通常都是用RxJava的例子来进行演示的(见底部的Rx部分)。...反应式编程是一种关注数据「如何流动」以及「如何传播」的范式,它可以简化构建应用程序的代码,方便显示来自异步操作的数据。 实现一些反应式概念的一个工具是LiveData。...这篇博文将帮助你避免陷阱,并使用一些模式来帮助你使用LiveData构建一个更加「反应式」的架构。...img 使用MediatorLiveData来组合数据的方法是在不同的方法中添加来源和设置值。...例如,当从一个Activity的一个实例导航到另一个实例时,新的实例可能会暂时收到来自前一个实例的数据。请记住,LiveData会将最新的值分派给新的观察者。

    1.5K30

    正式发布 Android 架构组件 1.0 稳定版

    这意味着开发者需要根据生命周期的不同阶段,有针对性地管理组件状态,比如用于更新用户界面的可观察对象。...生命周期管理(Lifecycles)帮助开发者创建 “可感知生命周期的” 组件,让其自己管理自己的生命周期,从而减少内存泄露和崩溃的可能性。生命周期库是其他架构组件(如 LiveData)的基础。...了解更多 Lifecycles 相关内容: developer.android.google.cn/topic/libra… LiveData LiveData 是一款基于观察者模式的可感知生命周期的核心组件...直到关联的 Activity 或 Fragment 完全销毁时,ViewModel 才会随之消失,也就是说,即使在旋转屏幕导致 Fragment 被重新创建等事件中,视图数据依旧会被保留。...ViewModels 不仅消除了常见的生命周期问题,而且可以帮助构建更为模块化、更方便测试的用户界面。

    51420

    今天撸一波Jetpack下的Lifecycle、ViewModel和LiveData

    简而言之,这个库可以帮助开发者更好地处理生命周期事件和配置更改时的数据持久性,同时还能帮助开发者创建更好的体系结构应用程序,并避免难以维护和测试的膨胀类。...2.1 Event 一个Event代表当Android 生命周期的对象的生命周期发生改变时候,会触发的一个生命周期事件(例如一个activity正在被恢复)。...3.2 observe() 当调用的LiveData的observe(LifecycleOwner owner, Observer observer)方法时,根据情况会有不同的处理。...④ postValue(T value):在子线程中给LiveData设置值。...同时ViewModel会在configuration 更改时自动保留数据。 ? 官方给的建议是将LiveData和ViewModel配合来使用。

    1.6K10
    领券