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