我有一个将文件存储在http://.mysite.com/content/videos的网络服务 现在我想在我的Android应用程序中实现的是下载用户可以在此服务器上传的每个视频,因此我可以从服务器获取一个json文件,以查看存储了多少视频并在本地下载所有列表,而不是在循环播放它。 请给我一些代码示例和想法。 这个想法是构建一个Signage android客户端。
答案 0 :(得分:0)
要从网址获取JSON,请参阅我的回答here。
之后您可以使用this库来下载视频。您也可以下载它们(逐个)或并行。
<强>用法:强> 在Application类中初始化下载器:
public XXApplication extends Application{
@Override
public void onCreate() {
super.onCreate();
FileDownloader.init(this);
}
}
然后像这样下载。
final FileDownloadListener queueTarget = new FileDownloadListener() {
@Override
protected void pending(BaseDownloadTask task, int soFarBytes, int totalBytes) {
}
@Override
protected void connected(BaseDownloadTask task, String etag, boolean isContinue, int soFarBytes, int totalBytes) {
}
@Override
protected void progress(BaseDownloadTask task, int soFarBytes, int totalBytes) {
}
@Override
protected void blockComplete(BaseDownloadTask task) {
}
@Override
protected void retry(final BaseDownloadTask task, final Throwable ex, final int retryingTimes, final int soFarBytes) {
}
@Override
protected void completed(BaseDownloadTask task) {
}
@Override
protected void paused(BaseDownloadTask task, int soFarBytes, int totalBytes) {
}
@Override
protected void error(BaseDownloadTask task, Throwable e) {
}
@Override
protected void warn(BaseDownloadTask task) {
}
};
for (String url : URLS) {
FileDownloader.getImpl().create(url)
.setCallbackProgressTimes(0)
.setListener(queueTarget)
.ready();
}
if(serial){
FileDownloader.getImpl().start(queueTarget, true);
}