0
在活动之间发送ArrayList<float[]>
最简单的方法是什么?在活动之间发送ArrayList <float[]>(android)
是否可以使用SharedPreferences
或putExtra
发送?
我只看到发送ArrayList<String>
或ArrayList<Int>
的示例,并且这些选项是通过内置的。 putStringArrayList
等
在活动之间发送ArrayList<float[]>
最简单的方法是什么?在活动之间发送ArrayList <float[]>(android)
是否可以使用SharedPreferences
或putExtra
发送?
我只看到发送ArrayList<String>
或ArrayList<Int>
的示例,并且这些选项是通过内置的。 putStringArrayList
等
最好的方法是将它作为一个额外的添加到意图的捆绑。这是因为Intent extras是专门为在活动之间传递参数而创建的。
投入额外
ArrayList<float[]> list = new ArrayList<>();
Intent i = new Intent(FirstActivity.this, SecondActivity.class);
i.putExtra("arg_key", list);
得到额外
ArrayList<float[]> list = (ArrayList<float[]>) getIntent().getSerializableExtra("arg_key");
这就是说,如果数据是在数据库反正是持久的,你只需从数据库中检索。因为它是用于存储标志,标记,应用程序设置等。我不会为此使用SharedPreferences
UPDATE
如果你想通过不是由一个Intent的额外支持,是一个参数不是本地Serializable
,看看Parcelable
。您可以在任何POJO中实施Parcelable
以允许将它们添加到Bundle
。 Parcelable也比Serializable更快。
谢谢你的回答。但是,这解释了如何发送浮点数组,但不是浮点数组的ArrayList? – sonnert
我已经更新了我的答案。因为'ArrayList'和'float []'都是'Serializable',所以使用serializable应该可以工作。 – Kevin
谢谢!它像一个魅力。 – sonnert