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