我已从此处下载并安装了适用于Android的Dropbox Sync API:https://www.dropbox.com/developers/sync
我无法理解他们的教程。它缺少很多关键变量,所以我必须自己找出它们。我现在有一个非常混乱的代码,很多东西都没有。
private DbxAccountManager mDbxAcctMgr;
static final int REQUEST_LINK_TO_DBX = 0; // This value is up to you // thanks for telling what it actually does, Dropbox!
DbxPath path = new DbxPath("/test.pdf");
public void onClickLinkToDropbox(View view) {
mDbxAcctMgr.startLink((Activity)this, REQUEST_LINK_TO_DBX);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_LINK_TO_DBX) {
if (resultCode == Activity.RESULT_OK) {
DbxFileSystem dbxFs = DbxFileSystem.forAccount(mDbxAcctMgr.getLinkedAccount()); // try /catch error
DbxFile testFile = dbxFs.open(path); //try/catch error
String contents = testFile.readString();
Log.d("Dropbox Test", "File contents: " + contents); // try / catch error
} else {
// ... Link failed or was cancelled by the user.
}
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
这给了我3行的错误,说我需要添加try / catch。 但是当我添加try / catch时,Eclipse告诉我将变量置空,这意味着所有函数只读取空值,因此不会读取任何内容。
任何人都可以帮助我吗? Dropbox只是通过提供错误的指令等让我更加困惑。我确信即使我没有3次尝试/捕获错误,它仍然无法正常工作。
此处有使用Dropbox Sync API经验的人可以在用户的Dropbox文件夹中共享读取txt文件的示例程序吗?
巴特
答案 0 :(得分:0)
有关REQUEST_LINK_TO_DBX
的更多信息,请查看onActivityResult
的Android文档:https://developer.android.com/reference/android/app/Activity.html#onActivityResult(int,int,android.content.Intent)。它可以帮助您区分不同的活动。
对于一个工作示例,我建议查看SDK附带的HelloDropbox
示例。除此之外,它还从Dropbox中的文件中读取一个字符串。
以下是HelloDropboxActivity.java
的相关代码:
try {
// ...
DbxFileSystem dbxFs = DbxFileSystem.forAccount(mDbxAcctMgr.getLinkedAccount());
// ...
String resultData;
DbxFile testFile = dbxFs.open(testPath);
try {
resultData = testFile.readString();
} finally {
testFile.close();
}
} catch (IOException e) {
// ...
}