我是 Android 开发的新手,在理解如何在 Android 中处理普通的旧 java 对象/变量/容器时遇到了一些麻烦。在完成 AsyncTask 或离开 Activity 后,它们似乎不再可用。
例如:通过 AsyncTask 我获取了一些数据,将其从另一个类推送到 ArrayList 中(工作得很好 - 我可以在我的地图视图上看到结果;-))并希望它可用于其他类/活动。
我该如何处理这个问题/在 Android 中有什么好的做法?
先感谢您。
我是 Android 开发的新手,在理解如何在 Android 中处理普通的旧 java 对象/变量/容器时遇到了一些麻烦。在完成 AsyncTask 或离开 Activity 后,它们似乎不再可用。
例如:通过 AsyncTask 我获取了一些数据,将其从另一个类推送到 ArrayList 中(工作得很好 - 我可以在我的地图视图上看到结果;-))并希望它可用于其他类/活动。
我该如何处理这个问题/在 Android 中有什么好的做法?
先感谢您。
有关存储数据的方法,请参见此处 http://developer.android.com/guide/topics/data/data-storage.html
第一个答案显示了如何在活动之间传递数据的示例如何 在 Android 应用程序中的活动之间传递数据?
我该如何处理这个问题/在 Android 中有什么好的做法?
如果你想通过活动传递原始类型和对象,你有几个选择:
putExtra()
方法的用法Intent
- 您也可以传递原始数据类型和对象
但是,如果您想通过活动传递对象,则它们必须实现Serializable
或Parcelable
接口。
在完成 AsyncTask 或离开 Activity 后,它们似乎不再可用。
是的。如果您在 Activity 类中定义和初始化了变量、对象,它们将与 Activity 一样存在。因此,如果您想保留一些数据,您还有几个选择:
您可以使用SharedPreferences持久化原始类型和引用类型(int、double、String 等),它们作为键值对工作。
为了存储对象,您可以创建它们的“副本”,SQLite
其中对象显示为表,其中对象的属性等于数据库中的列。
Serializable
接口,您可以将它们序列化为二进制文件,并在您想要反序列化它们以供使用时。