从活动中返回大量数据的“Android”方式是什么?

时间:2012-08-01 03:28:30

标签: android

我有一个库,它公开了Activity,意味着要用startActivityForResult()调用,但结果将是数千行数据。远远超过我很乐意回复活动的回应。公开这些数据的恰当方式是什么?

Activity也可以用于我不了解/不信任的其他应用程序,因此我不能依赖它们进行任何清理操作。

3 个答案:

答案 0 :(得分:1)

在返回之前,请考虑将数据放入ContentProvider中。然后在您的响应中传回一个URI,该URI标识数据在ContentProvider中的位置。

然后,调用者可以在完成使用后从ContentProvider中删除数据(如果适用)

答案 1 :(得分:0)

如果活动没有UI,则使用ContentResolver而不是Activity。或者你可以在数据上返回一个Cursor。数千行来自哪里?如果来自SQL lite中的数据库查询,那么我会说Cursor是最好的。

答案 2 :(得分:0)

将数据存储在SQLite数据库中。您永远不应该在内存中存储“数千行数据”...始终将持久数据存储在磁盘上。