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