我正在使用Android的twitter API。 从呼叫中,返回“ Tweet”对象的列表。我想在需要时将此列表保存到我的savedInstanceBundle中,因此不必再次进行大的http调用。问题在于“ Tweet”没有实现可仿造或可序列化的功能,因此我无法将其输入到捆绑软件中。
我有什么选择?
Call<List<Tweet>> lookup = apiclient.getStatusesService().lookup(ids, true, false, false);
lookup.enqueue(new Callback<List<Tweet>>() {
@Override
public void success(Result<List<Tweet>> result) {
Response response = result.response;
List<Tweet> tweets = result.data; //what I'd like to save
}
答案 0 :(得分:2)
您也不能执行doc中提到的操作。通过之前,您可以使用Serializable
或parcelable
使物体成为元帅。
另一种可以使用数据交换格式,例如JSON
或XML
或任何其他格式的方法。但是这样一来,为元帅和非元帅写的就更多了。因此,最好使用Bundle.putParcelable/Bundle.getParcelable
或Bundle.putSerializable/Bundle.getSerializable
。
这还取决于您将Object传递到的确切位置。您应该看看Be Careful Where You Use Custom Parcelables。 Scholar Commansware的博客之一。
如果在前台应用程序时需要在对象之间传递对象之间的距离,那么Parcelables
是最好的方法。
答案 1 :(得分:1)
不能。您所能做的就是从中获取信息,创建自己的可打包或可序列化的对象,然后发送该对象。