对于新手来说,没有太多信息可以拥有云...在Stack Overflow中甚至没有,有关我想要实现的目标的背景是:
- 已经设法通过gradlle将我的项目同步到owncloud库。 - 提供的例子对我没什么帮助,你会明白为什么。
我使用这个库https://github.com/bumptech/glide将图片网址流式传输到我的应用中的某些图片视图,因为我在网络服务器上我没有任何问题,但现在我转移到了owncloud,如果我提供的话,我也可以这样做我的应用程序使用存储图像中的“下载链接”。
那就是说,我需要的是如何能够通过名称选择自己的云存储图像(访问共享文件夹并下载),或者从存储的地方读取下载链接。
这是在我的项目中使用滑动库
String url = null;
if (plato.getFoto_movil().equals("churrasco.jpg"))
{
url = "http://192.168.0.20/owncloud/index.php/s/EqX7LxLpUeBCzF4/download";
}
if (plato.getFoto_movil().equals("pizza.jpg"))
{
url = "http://192.168.0.20/owncloud/index.php/s/VGQJh6ii36PLGsN/download";
}
if (plato.getFoto_movil().equals("torta_chocolate.jpg"))
{
url = "http://192.168.0.20/owncloud/index.php/s/K0TaHRMPuMrs0Fx/download";
}
Glide.with(mContext).load(url).into(imageView);
这很可悲,因为我不得不从我的浏览器手动获取这些URL,而且它不适用于来自任何其他设备的新添加的图像,所以我需要能够获取任何新图像并显示它。
我已经安装了100%的库并实现了
private void startDownload(String filePath, File targetDirectory) {
DownloadRemoteFileOperation downloadOperation = new DownloadRemoteFileOperation(filePath, targetDirectory.getAbsolutePath());
downloadOperation.addDatatransferProgressListener((OnDatatransferProgressListener) mContext);
downloadOperation.execute( mClient, (OnRemoteOperationListener) mContext, mHandler);
}
@Override
public void onTransferProgress(long l, long l1, long l2, String s) {
mHandler.post( new Runnable() {
@Override
public void run() {
// do your UI updates about progress here
}
});
}
@Override
public void onRemoteOperationFinish(RemoteOperation remoteOperation, RemoteOperationResult remoteOperationResult) {
if (remoteOperation instanceof DownloadRemoteFileOperation) {
if (remoteOperationResult.isSuccess()) {
}
}
}
got those and
got also this two
mClient = OwnCloudClientFactory.createOwnCloudClient(serverUri,mContext,true);
mClient.setCredentials(OwnCloudCredentialsFactory.newBasicCredentials(username,password));
然后我调用方法
startDownload(plato.getFoto_movil(),downloadfolder);
当我调用startdowonload方法时,应用程序崩溃了 错误java.lang.ClassCastException:com.eidotab.eidotab.MainActivity无法强制转换为com.owncloud.android.lib.common.network.OnDatatransferProgressListener
另一个相关信息是我实现了ownclod方法 Recyclerview的观察者
public class VH extends RecyclerView.ViewHolder implements OnRemoteOperationListener, OnDatatransferProgressListener
但是我可以根据需要更改主要活动,可能会让它从那里起作用,但即使它确实有效,也不知道在哪里或如何获得下载链接,就像我说的,我需要下载链接从存储在服务器中的每个图像..
这可能吗?
提前致谢
答案 0 :(得分:0)
我按照建议将自己的云库的实现更改为主要活动(并且是合乎逻辑的举措)并且一切顺利...首先尝试工作,我知道它会发生,事情是我不想将图像存储在设备内存中,我想捕获下载链接,这是我主要关心的问题但是现在它正在工作,因为我将图像直接从本地sd流式传输到imageview,这应该给我更多时间进一步调查在这个问题上,URLS是什么......
感谢板球的评论