我正在尝试从具有公共共享链接的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但是对于编程不熟悉我不太清楚如何实现并使其工作。
如果有人能提供帮助我真的很感激。提前致谢。如果我的问题不明确,请告诉我,我会尝试更好地解释。
答案 0 :(得分:5)
我在GitHub上放置here一个实现你所描述的场景的示例项目(我还在Dropbox上放了一个你报告here结构的公共文件。在项目内部,您将找到以下主要组件:
RecyclerView
,其中将填充文件内容行。为了获取文件内容,活动依赖于保留的片段,允许在屏幕旋转的情况下保留下载任务(有关配置更改的详细信息,请参阅here)。创建活动后会立即自动下载文件,但您可以使用操作栏上的 SYNC 按钮强制重新下载。 AsyncTask
。它提供了由Callback
实现的MainActivity
来处理下载期间发生的特定事件(例如onPrepare,onProgress,onDownloadCompleted,onDownloadFailed)。例如,您可以使用它们向用户显示进度条或其他反馈。RecyclerView
内显示文件内容的适配器。一些限制
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];
}
}