2013-03-28 30 views
0

我是Android開發的新手,我在理解如何處理Android中的普通Java對象/變量/容器時遇到了一些問題。在完成AsyncTask或離開活動後,它們似乎不再可用。讓ArrayList在離開AsyncTask後可用於其他類/活動

例如:通過AsyncTask我得到一些數據,將它從另一個類推入ArrayList(工作很好 - 我可以在我的mapview上看到結果;-)),並希望使其可用於其他類/活動。

我該如何處理這個問題/在Android中有什麼好的做法呢?

預先感謝您。

+0

您可以隨時使用全局變量。 – vorrtex

回答

0

我該如何處理這種/什麼是一個很好的做法Android爲那個 的事?

如果你想通過活動傳遞原始類型和對象,你有幾個選擇:

  • IntentputExtra()方法的使用 - 你可以通過基本數據類型和對象以及

  • 裹原始數據類型和對象到Bundle,並傳遞給Intent

但是,如果您想要通過活動傳遞對象,則必須執行SerializableParcelable接口。

他們似乎是在完成一個或的AsyncTask離開 一個活動後不再可用。

是的。如果你有變量,那麼在Activity類中定義和初始化的對象只要Activity存在,它們就會一直存在。所以,如果你想堅持的一些數據,你再次有幾個選項:

  • 你能堅持原始和引用類型(int,雙,字符串 等),它們作爲鍵值對工作SharedPreferences

  • 對於SQLite其中 對象會以表格,其中對象的屬性是相等 在數據庫列存儲,您可以創建自己的「複製」對象。

  • 如果您的對象實現Serializable接口,則可以將它們序列化爲 二進制文件,以及何時將其反序列化以供使用。
+0

感謝您的幫助和詳細的解釋:-)我想我會通過SQLite解決這個問題,這似乎是解決方案,意味着持久性問題的可擴展性。 – Kody

+0

@Kody歡迎您:) – Sajmon