Android 从云服务器获取图像下载链接
对于新手来说,拥有云的信息并不多。。甚至在Stack Overflow中也没有提到,关于我试图实现的目标的一点背景是: -已经通过Gradle将我的项目同步到owncloud库。 -所提供的例子对我没有多大帮助,你会明白原因的 我使用这个库将图像URL流式传输到我应用程序中的一些ImageView,因为我在一个web服务器上,没有问题,但现在我移动到了owncloud,如果我为我的应用程序提供存储图像的“下载链接”,我也可以这样做 也就是说,我需要的是了解如何能够按名称选择自己的云存储图像(访问共享文件夹并下载),或者从存储的位置读取下载链接 下面是在我的项目中使用glide库的方法Android 从云服务器获取图像下载链接,android,android-recyclerview,owncloud,Android,Android Recyclerview,Owncloud,对于新手来说,拥有云的信息并不多。。甚至在Stack Overflow中也没有提到,关于我试图实现的目标的一点背景是: -已经通过Gradle将我的项目同步到owncloud库。 -所提供的例子对我没有多大帮助,你会明白原因的 我使用这个库将图像URL流式传输到我应用程序中的一些ImageView,因为我在一个web服务器上,没有问题,但现在我移动到了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);
当我调用startdownload方法时,应用程序在此崩溃
出现错误java.lang.ClassCastException:com.eidotab.eidotab.main无法将活动强制转换为com.owncloud.android.lib.common.network.OnDatatransferProgressListener
另一个相关信息是,我正在实现ownclod方法来
回收视图的视图持有者
public class VH extends RecyclerView.ViewHolder implements OnRemoteOperationListener, OnDatatransferProgressListener
但是如果需要的话,我可以切换到主要活动,可能会从那里开始工作,但即使它成功了,也不知道从哪里或如何获得下载链接,就像我说的,我需要从服务器中存储的每个图像中获得下载链接
这可能吗
提前感谢我将owncloud库的实现更改为建议的主要活动(这是合乎逻辑的举动),一切都进展顺利。。在第一次尝试时工作,我知道它会,问题是我不想将图像存储在设备内存中,我想捕获下载链接,这是我主要关心的问题,但现在它正在工作,因为我直接从本地sd流图像到imageview,这应该给我更多的时间来进一步调查的问题与URL的事情
感谢cricket的评论我将owncloud库的实现更改为建议的主要活动(这是合乎逻辑的举动),一切都进展顺利。。在第一次尝试时工作,我知道它会,问题是我不想将图像存储在设备内存中,我想捕获下载链接,这是我主要关心的问题,但现在它正在工作,因为我直接从本地sd流图像到imageview,这应该给我更多的时间来进一步调查的问题与URL的事情
感谢cricket的评论
main无法播放活动
。因此,在那里实现接口是的,我说过。。我可以在那里实现这些方法,但我担心的是如何获得链接。MainActivity无法强制转换
。因此,在那里实现接口是的,我说过。。我可以在那里实现这些方法,但我担心的是如何获得链接。