[英]Sending an ArrayList<float[]> between activities (android)
在活動之間發送ArrayList<float[]>
的最簡單方法是什么?
是否可以使用SharedPreferences
或putExtra
發送?
我只看到了發送ArrayList<String>
或ArrayList<Int>
示例,並且這些選項是通過內置的。 putStringArrayList
等。
最好的方法是將其作為附加添加到Intent's Bundle中。 這是因為Intent Extras是專門為在Activity之間傳遞參數而創建的。
放額外
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
,因為它旨在存儲標志,令牌,應用程序設置等。
更新
如果您想傳遞一個Intent附加功能不支持的參數,並且該參數不是本地可Serializable
,請查看Parcelable
。 您可以在任何POJO中實現Parcelable
,以允許將它們添加到Bundle
。 可打包也比可序列化更快。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.