使用Zumero同步android应用程序,更改缓存文件的位置

时间:2015-07-02 14:04:20

标签: android sqlite caching zumero

我正在使用Zumero与我的Android应用程序同步到MS SQL服务器,我将我的SQLite数据库存储在SD卡上。当我运行同步时,它会在更新SQLite数据库之前在内部存储中创建一个缓存文件。这导致内部存储问题,并且由于存储空间不足,操作系统在更新数据库之前删除缓存文件。如何强制应用程序将SD卡用于缓存文件?

2 个答案:

答案 0 :(得分:1)

我通过替换

来实现它
context.getCacheDir().getAbsolutePath()

context.getExternalCacheDir().getAbsolutePath()

答案 1 :(得分:0)

您需要直接使用Zumero Java文件作为应用程序的一部分(在SDK中查找ZumeroClient.java等),并编辑正在使用的临时路径。将这些内容编译到您的应用中而不是使用zumero.jar(您仍然需要相应的.so库)。

开箱即用,Zumero使用Android上下文提供的缓存路径。您需要编辑对native_sync()的调用,并将最后一个参数替换为SD卡上的路径。

e.g。

native_sync(databasePath, encryptionKey, serverURL, dbFile, authScheme,
            username, password, context.getCacheDir().getAbsolutePath());

会变成

native_sync(databasePath, encryptionKey, serverURL, dbFile, authScheme, 
            username, password, myCacheDir);