当前位置: 首页 > 面试题库 >

问题:将大量数据传递给第二个活动

荀博
2023-03-14
问题内容

我有一个奇怪的问题。我正在网上浏览,但没有找到答案。我仍然是android编程的初学者。让我们开始吧:

我要做的就是用一些数据调用第二个Activity。它适用于较小的数据,但是如果数据变大,则第二个活动将不会显示,第一个活动将结束。这是调用方法的代码:

Intent intent = new Intent(ActivitySearch.this,ActivityResults.class);
Bundle bundle = new Bundle();
bundle.putParcelableArrayList("data", searchList);
intent.putExtras(bundle);
startActivity(intent);

接收数据的部分并不重要。即使我不尝试阅读捆绑软件,也不会调用该活动。我用以下几行进行了测试:

@Override
public void onCreate(Bundle savedInstanceState) {
Log.d("DEBUG","ActivityResult::onCreate()");
super.onCreate(savedInstanceState);

OnCreate() 永远不会被调用。

也许您有一个主意…谢谢您的帮助!

编辑:至少我忘记了:这仅在ICS下发生。该应用程序的工作原理类似于带有姜饼和果冻的软糖。

Edit2:Logcat

10-10 14:49:46.951: D/OpenGLRenderer(21696): Flushing caches (mode 0)
10-10 14:49:47.011: V/ActivityThread(22429): com.example.amazonsearch white listed for hwui
10-10 14:49:50.821: W/IInputConnectionWrapper(21696): showStatusIcon on inactive InputConnection

问题答案:

您可能会收到TransactionTooLargeException

根据google android
guide的
建议,您可以使用静态字段或单例在活动之间共享数据。

他们建议它“用于在短时间内共享复杂的非持久性用户定义对象”

从您的代码看来,这正是您所需要的。

因此,您在ActivitySearch.class中的代码可能如下所示:

ActivityResults.data = searchList;
Intent intent = new Intent(ActivitySearch.this,ActivityResults.class);
startActivity(intent);

然后,您可以在启动后从ActivityResults活动中的任何位置访问ActivityResults.data。

对于需要在用户会话之间共享的数据,建议不要使用静态字段,因为应用程序可能会在应用程序在后台运行时被android框架杀死并重启(如果框架需要释放资源)。在这种情况下,所有静态字段都将重新初始化。



 类似资料:
  • 类BookDescription:AppCompatActivity(){override fun onCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)setContentView(R.Layout.Activity_Book_Description) 类适配器(private val Context:Con

  • 问题内容: 将变量数据从传递到类的最佳方法是什么?数据是在第一个类中创建的,我需要将该数据传递给第二个类而不使用Intent。任何代码示例将不胜感激。 自从我开始工作以来,我就打算将其发布。就我而言,我已经有一个,而我正在做的事情我需要另一个相同的类型。因此,这里去: 班级活动 我的主要活动 请注意,我必须先创建主类的实例 问题答案: 如果您的班级名称是为此创建的,并将值作为参数传递,则下面是一个

  • 根据教程中的示例使用XamarinStudio和下面的代码。这里是问题。 null 谢谢

  • 我有三节课 1.菜单活动 2.LocationUpdateService 3.多重标记器 1.菜单活动 2、LocationUpdateService:(这是服务类) 3、多重标记(活动) 我的问题是:当我打开我的菜单活动我的Toast消息打印发送数据到广播接收器,然后点击按钮我调用MultipleMarker。我无法从服务中获取值。。。但当我按下后退按钮时,我重定向到MenuActivity,此

  • 我尝试使用 如有任何帮助,不胜感激,谢谢。

  • 问题内容: 我的类型为: 使用类型数组作为输入参数进行一些处理的过程如下: 最后,我查询该过程为: 在pgadmin中一切正常。稍后,当我尝试使用 Hibernate本机SQL查询Ka Boom 调用相同的代码时 !!! 显示以下内容: 最后一个问题:既与做同样的工作吗? 问题答案: 使用 数组文字 ( 数组的 文本表示形式),因为数组构造函数必须由Postgres求值: 甚至没有显式的强制转换: