Android 如何将启动屏幕活动中获取的数据发送到Kotlin中的其他活动?

Android 如何将启动屏幕活动中获取的数据发送到Kotlin中的其他活动?,android,kotlin,Android,Kotlin,获取的数据是用户的JSON字符串列表。假设它有5个字符串值属性,并且少于30个用户。我想我可以把它放在意图中,但是: 这真的是最好的方法吗 如果有数百名用户,最好的方法是什么 仅供参考,我正在使用它获取数据,它可以异步请求。根据您的问题,您正在启动屏幕(活动)上获取数据。此外,还可以确认可以异步获取数据 我建议,不要在启动屏幕上获取数据,而是直接在需要数据的活动中获取数据 但是,可以有几种方法来存储数据,而不是使用意图在活动之间传递数据。其中一些方法如下: 数据库(房间)-用于存储数据并进行相应

获取的数据是用户的JSON字符串列表。假设它有5个字符串值属性,并且少于30个用户。我想我可以把它放在意图中,但是:

  • 这真的是最好的方法吗
  • 如果有数百名用户,最好的方法是什么

  • 仅供参考,我正在使用它获取数据,它可以异步请求。

    根据您的问题,您正在启动屏幕(活动)上获取数据。此外,还可以确认可以异步获取数据

    我建议,不要在启动屏幕上获取数据,而是直接在需要数据的活动中获取数据

    但是,可以有几种方法来存储数据,而不是使用意图在活动之间传递数据。其中一些方法如下:

  • 数据库(房间)-用于存储数据并进行相应的查询。您也可以根据需要将数据保存在多个表中
  • SharedReferences-最好用于存储频繁访问的数据。这也可用于保存JSON响应
  • 文件存储-您还可以将数据保存到文件以供访问

  • 您可以阅读有关在Android中存储数据的详细信息,以便更好地选择保存和传递数据的方式。

    有关提示,请参阅@EpicPandaForce ty,但两个活动是否不能拥有相同的ViewModel实例?@rifqimf127您可以使用sharedViewModel为多个活动使用相同的ViewModel。感谢您的回答,我已经在activity Who required中直接获取了它,但问题是获取它需要3-5秒,这就是我尝试在splash screen中获取它的原因。你提到的三种方式都是持续存储的吗?数据可能变化很大,所以我不知道如何同步。是的。存储的数据是持久的,除非被篡改。然而,每种方法都有其优缺点。如果您确信数据更新非常频繁,我建议您使用DB作为存储介质。此外,在服务器和应用程序上实现一项功能,只更新修改后的数据,而不是每次都再次下载整个数据。您还可以阅读有关在应用程序和服务器之间缓存和同步数据的内容。