Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用Dropbox同步API的writeFromExistingFile(File,boolean)方法?_Android_Dropbox_Dropbox Api - Fatal编程技术网

Android 如何使用Dropbox同步API的writeFromExistingFile(File,boolean)方法?

Android 如何使用Dropbox同步API的writeFromExistingFile(File,boolean)方法?,android,dropbox,dropbox-api,Android,Dropbox,Dropbox Api,我正在使用writeFromExistingFile(file,boolean)方法从SD卡文件写入DBX文件。但它不起作用,并出现交叉链接错误,指出它无法从SD卡写入DBX文件系统缓存。有人能详细说明这种方法的正确用法吗?由于我不想使用数据存储API,我还可以将.db文件从SD卡复制到DbxFile系统吗? 我在编写时遇到的错误是-E/libDropboxSync.so(ERR)(11250):DROPBOX\u Error\u SYSTEM:file.cpp:737:将/storage/si

我正在使用writeFromExistingFile(file,boolean)方法从SD卡文件写入DBX文件。但它不起作用,并出现交叉链接错误,指出它无法从SD卡写入DBX文件系统缓存。有人能详细说明这种方法的正确用法吗?由于我不想使用数据存储API,我还可以将.db文件从SD卡复制到DbxFile系统吗?
我在编写时遇到的错误是-E/libDropboxSync.so(ERR)(11250):DROPBOX\u Error\u SYSTEM:file.cpp:737:将/storage/simulated/0/sync\u sdk.txt移动到缓存:跨设备链接

调用rename()后,该消息指示errno==EXDEV。这似乎表明源文件是一个链接,不能跨卷工作(例如SD卡和内部存储之间)。这里是这样吗?有一个事先检查会拒绝符号链接,但它可能是一个硬链接。或者这些文档可能只是误导,这可能只是在卷之间移动文件的问题


通常,使用shouldSteal选项将链接移动到API缓存中会导致问题,因为缓存希望文件具有唯一的所有权。您可能应该设置shouldSteal=false,这将导致DbxFile生成输入文件的副本(之后,如果愿意,可以删除它)。无论输入是链接还是输入在何处,只要可读,这都应该有效。

我已成功使用以下方法将SD卡和图像(jpg)复制到Dropbox:

DbxFileSystem dbxFiles = DbxFileSystem.forAccount(accountManager.getLinkedAccount());
    //Get the Source
File pictureFile = new File("/sdcard/<Your SD Path>/<Your SD File>");
    //Tell it were you want it
DbxFile bitMap = dbxFiles.create(new DbxPath("<Dbx Path>/<Dbx File>"));
    //write it there
bitMap.writeFromExistingFile(pictureFile, false);
DbxFileSystem dbxFiles=DbxFileSystem.forAccount(accountManager.getLinkedAccount());
//获取来源
File pictureFile=新文件(“/sdcard/”);
//告诉他你想要它
DbxFile bitMap=dbxFiles.create(新的DbxPath(“/”);
//写在那里
bitMap.WriteFromexisting文件(pictureFile,false);

将中的内容替换为您的信息

询问此问题的一个良好开端是告诉我们您得到的实际错误(如完整的异常跟踪)。“交叉链接错误”很模糊。@smarx-我也在这里发布了错误。请参考。