Android Dropbox Core API ...读取文本文件的内容

时间:2014-08-07 22:13:53

标签: android file dropbox

这是我在这里的第一篇文章,我希望下一篇文章是帮助某人并提出问题......

我遇到了Dropbox核心API的问题。 我正在开发一个应用程序,用户可以选择文本文件,应用程序获取文件的内容并使用它... 任何人都可以帮助我并告诉我如何获取内容?我搜索了很多,但仍然无法找到任何东西......

首先,应用会对用户进行身份验证并请求权限:

protected void onResume() {
super.onResume();

if (mDBApi.getSession().authenticationSuccessful()) {
    try {
        // Required to complete auth, sets the access token on the session
        mDBApi.getSession().finishAuthentication();

        String accessToken = mDBApi.getSession().getOAuth2AccessToken();
    } catch (IllegalStateException e) {
        Log.i("DbAuthLog", "Error authenticating", e);
    }
}

然后程序使用Dropbox选择器提示用户选择文件:

    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import com.dropbox.chooser.android.DbxChooser;

    static final int DBX_CHOOSER_REQUEST = 0;  // You can change this if needed

    private Button mChooserButton;
    private DbxChooser mChooser;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mChooser = new DbxChooser(APP_KEY);

        mChooserButton = (Button) findViewById(R.id.chooser_button);
        mChooserButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                mChooser.forResultType(DbxChooser.ResultType.PREVIEW_LINK)
                        .launch(MainActivity.this, DBX_CHOOSER_REQUEST);
            }
        });
    }
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == DBX_CHOOSER_REQUEST) {
        if (resultCode == Activity.RESULT_OK) {
            DbxChooser.Result result = new DbxChooser.Result(data);
            Log.d("main", "Link to selected file: " + result.getLink());

            // Handle the result
        } else {
            // Failed or was cancelled by the user.
        }
    } else {
        super.onActivityResult(requestCode, resultCode, data);
    }
}

该应用获取文件名并正确链接。如何复制内容并将其保存为字符串变量?

提前谢谢你:)

1 个答案:

答案 0 :(得分:0)

您似乎正在使用Core API和Chooser的混合体。您正在对用户进行身份验证,但我根本没有看到对Core API的任何调用。看起来你到目前为止只使用了选配器。获得URL后,您可以像获取任何URL的内容一样下载内容。

Chooser的想法是你根本不需要对用户进行身份验证,所以如果这就是你需要做的全部,你就可以摆脱验证用户身份的代码(并停止链接您应用中的核心SDK。)

如果您想使用Core API,请查看教程:https://www.dropbox.com/developers/core/start/android