1

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

4

2 回答 2

1

我通过更换让它工作

context.getCacheDir().getAbsolutePath()

context.getExternalCacheDir().getAbsolutePath()
于 2015-07-02T20:57:58.907 回答
0

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

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

例如

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

会成为

native_sync(databasePath, encryptionKey, serverURL, dbFile, authScheme, 
            username, password, myCacheDir);
于 2015-07-02T14:39:56.167 回答