离开AsyncTask后,使ArrayList可用于其他类/活动

时间:2013-03-28 17:26:48

标签: android android-asynctask

我是Android开发的新手,我在理解如何在Android中处理普通的旧java对象/变量/容器时遇到了一些麻烦。完成AsyncTask或离开活动后,它们似乎不再可用。

例如:通过AsyncTask我得到一些数据,将它从另一个类推入一个ArrayList(工作得很好 - 我可以在我的mapview上看到结果;-))并希望它可用于其他类/活动。

我如何处理这个问题/ Android中的一个好习惯是什么?

提前谢谢。

2 个答案:

答案 0 :(得分:0)

请参阅此处了解存储数据的方法 http://developer.android.com/guide/topics/data/data-storage.html

第一个答案显示了如何在活动之间传递数据的示例 How do I pass data between Activities in Android application?

答案 1 :(得分:0)

  

我如何处理这个/ Android中的一个好习惯   重要?

如果要通过“活动”传递基本类型和对象,可以选择以下几种方法:

  • 使用putExtra()Intent方法 - 您也可以传递原始数据类型和对象

  • 将原始数据类型和对象包装到Bundle并传递给Intent

但是如果你想通过活动传递对象,他们必须实现SerializableParcelable接口。

  

完成AsyncTask后,它们似乎不再可用   离开活动。

是。如果你有变量,在Activity类中定义和初始化的对象只要Activity活着就会存在。因此,如果您想要保留一些数据,您又可以选择几个选项:

  • 您可以持久化原始类型和引用类型(int,double,String 等等SharedPreferences,它们作为键值对。

  • 对于存储对象,您可以在SQLite中创建“副本” 对象表示为对象属性相等的表 到数据库中的列。

  • 如果您的对象实现了Serializable接口,您可以将它们序列化为 二进制文件以及何时需要反序列化它们以供使用。