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

使用Zumero同步android应用程序,更改缓存文件的位置,android,sqlite,caching,zumero,Android,Sqlite,Caching,Zumero,我使用Zumero与我的Android应用程序同步到MS SQL server,我的SQLite db存储在SD卡上。当我运行同步时,它会在更新SQLite db之前在内部存储器中创建一个缓存文件。这会导致内部存储问题,并且由于存储空间不足,操作系统会在更新数据库之前删除缓存文件。如何强制应用程序将SD卡用于缓存文件 您需要将ZumeroJava文件直接作为应用程序的一部分使用(在SDK中查找ZumeroClient.Java等),并编辑正在使用的临时路径。将它们编译到应用程序中,而不是使用zu

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

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

Zumero使用Android上下文提供的缓存路径。您需要编辑对
native\u sync()
的调用,并用SD卡上的路径替换最后一个参数

e、 g

将成为

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

我把它换了

context.getCacheDir().getAbsolutePath()


我正在使用'code'公共文件getCacheFolder(上下文){File cacheDir=null;if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){cacheDir=new File(Environment.getExternalStorageDirectory(),“cachefolder”);if(!cacheDir.isDirectory()){cacheDir.mkdirs();}if(!cachedirectory.isDirectory()){cacheDir=context.getCacheDir();//获取系统缓存文件夹}返回cacheDir;}获取目录的“代码”。如何将其获取到同步函数中?
context.getCacheDir().getAbsolutePath()
context.getExternalCacheDir().getAbsolutePath()