如何在Android应用程序中实现REST API结果的缓存?

Tho*_*key 16 android caching android-sdk-2.3

我的Android应用程序使用REST API获取其数据.我希望实现客户端缓存.我们有没有内置的课程?

如果没有,这些代码是否可以重复使用?我记得有时会遇到这样的代码.但是我找不到它.

如果没有别的办法,我会写自己的.以下是基本结构

public class MyCacheManager {

static Map<String, Object> mycache;

public static Object getData(String cacheid) {
    return mycache.get(cacheid);
}

public static void putData(String cacheid, Object obj, int time) {
    mycache.put(cacheid, obj);
}

}
Run Code Online (Sandbox Code Playgroud)

如何为缓存对象启用时间?还 - 最新的序列化方式是什么?即使应用程序已关闭并稍后重新打开(如果时间尚未过期),缓存也应保持不变.

谢谢Ajay

LOG*_*TAG 10

现在,Google I/O 2013上发布了令人敬畏的图书馆Volley,它有助于改进调用REST API的所有问题:

Volley是一个图书馆,它是来自Android开发团队的名为Volley的图书馆.这使得Android应用程序的网络更容易,最重要的是,更快.它管理网络请求的处理和缓存,并为开发人员一次又一次地编写相同的网络调用/缓存代码节省了宝贵的时间.拥有更少代码的另一个好处是错误数量减少,这是所有开发人员想要和瞄准的目标.

齐射示例:technotalkative


pet*_*tey 4

最好的方法之一是使用 Matthias K\xc3\xa4ppler\ 的 ignited 库发出 http 请求,将响应缓存在内存(弱引用)和文件中。它确实可以配置为执行其中一项或两项或两者。

\n\n

该库位于此处: https: //github.com/mttkay/ignition示例位于此处:https://github.com/mttkay/ignition/wiki/Sample-applications

\n\n

就我个人而言,我很喜欢这个库,从它被称为 Droidfu 开始

\n\n

希望这对你有帮助,就像对我一样,Ajay!

\n