从Dropbox Android studio共享链接中读取.txt文件

时间:2016-01-21 15:46:02

标签: android listview dropbox dropbox-api readfile

我正在尝试从具有公共共享链接的Dropbox读取.txt文件。我想要做的是读取这个.txt并在android中的listview上显示该文件中的所有数据。

http://txt.do/5zflt(我无权访问当前的计算机,因此我想以此链接为例)

该文件名为PersonStatus,其中包含类似于

的文本
Online
Offline
Active
Holidays
….
….
…
…
…
…

基本上我想要做的是使用共享的dropbox链接来阅读这个文本并在我的listview上显示它在android上,但我不知道如何处理这个问题。我已经在网上搜索了教程和指南,但是对于android我是新手还没有找到一些有用的东西;

例如,我发现了这个链接:Read a file from dropbox OP提出了类似的问题,但没有提供足够的代码让我理解如何处理这个问题。另外通过我的研究,我发现dropbox有Android Sync API:https://www.dropbox.com/developers-v1/sync/start/android但是对于编程不熟悉我不太清楚如何实现并使其工作。

如果有人能提供帮助我真的很感激。提前致谢。如果我的问题不明确,请告诉我,我会尝试更好地解释。

2 个答案:

答案 0 :(得分:5)

我在GitHub上放置here一个实现你所描述的场景的示例项目(我还在Dropbox上放了一个你报告here结构的公共文件。在项目内部,您将找到以下主要组件:

  1. MainActivity - 包含一个RecyclerView,其中将填充文件内容行。为了获取文件内容,活动依赖于保留的片段,允许在屏幕旋转的情况下保留下载任务(有关配置更改的详细信息,请参阅here)。创建活动后会立即自动下载文件,但您可以使用操作栏上的 SYNC 按钮强制重新下载。
  2. DownloadFragment - 这是一个保留的片段,用于包装用于下载文件的AsyncTask。它提供了由Callback实现的MainActivity来处理下载期间发生的特定事件(例如onPrepare,onProgress,onDownloadCompleted,onDownloadFailed)。例如,您可以使用它们向用户显示进度条或其他反馈。
  3. FileContentAdapter - 这是用于在RecyclerView内显示文件内容的适配器。
  4. 一些限制

    • 此应用程序不专注于Dropbox。如果文件在互联网上公开,您可以下载它,无论谁托管它。如果您的目的是让活动自动与Dropbox上的文件同步,那么利用Dropbox SDK可能会更好,特别是如果您计划访问Dropbox上的私人文件。
    • 应该改进
    • AsyncTask实施,例如通过实施WakeLock管理。

答案 1 :(得分:2)

在我的应用中,我使用此代码获取共享保管箱文件的内容。我在AsyncTask中调用了这段代码。

已修改:以下为示例

    PFQuery *query = [PFQuery queryWithClassName:@"Memories"];
    [query whereKey:@"senderName" equalTo:[[PFUser currentUser] username]];
    [query countObjectsInBackgroundWithBlock:^(int count, NSError *error) {
        if (!error) {
          NSLog (@"You have %d Memories Saved", count);
          self.label.text = [NSString stringWithFormat:@"You have %d Memories Saved", count];
        }

}