2017-03-20 161 views
0

沒有太多的信息,在那裏爲新手到owncloud ..甚至沒有在這裏堆棧溢出,在什麼即時試圖達到一個小背景是:獲取圖像的下載鏈接

-Already設法通過gradlle將我的項目同步到owncloud庫。 - 提供的例子對我來說幫助不大,你會明白爲什麼。

我使用這個庫https://github.com/bumptech/glide以流圖像的URL一些imageviews在我的應用程序,因爲我是一個web服務器我沒有問題的,但現在,我搬到owncloud,我可以這樣做,如果我提供我的應用程序從存儲的圖像中「下載鏈接」。

這就是說,我需要的是一些如何能夠選擇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); 

滑翔庫,很傷心,因爲我不得不手動從我的瀏覽器的網址,它不會與任何othere設備新添加的圖像工作,所以我需要能夠得到任何新的圖像,並顯示它。

我有庫安裝了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 

的viewholder,但我可以改變的主要活動如果需要的話,可能使其從那裏,即使它確實有成功的工作,但,不知道在哪裏或如何獲得下載鏈接,就像我說的,我需要從服務器中存儲的每張圖片的下載鏈接。

這是可能的嗎?

在此先感謝

+1

'無法投射MainActivity'。所以在那裏實現那個接口 –

+0

是的,我說..我可以在那裏實現這些方法,但是我擔心的是如何獲得鏈接。 –

回答

0

我改變了owncloud庫的實現的主要活動的建議(並且是合乎邏輯的行動),一切都順利..在第一次嘗試的工作,我知道這是要,問題是我不想將圖像存儲在設備內存中,我想捕獲下載鏈接,這是我主要關心的問題,但現在它正在工作,因爲im直接將圖像從本地sd流式傳輸到imageview,應該給我更多的時間來進一步調查此事什麼與URLS ...

感謝板球您的意見