2013-01-21 72 views
0

在我以前question,我問:「如何下載Facebook的個人資料圖片」和我回答說:「使用的AsyncTask下載它,並把它保存到您的應用磁盤空間「。我可以使用Android的AsyncTask在煎茶應用(Android版)

我使用sencha touch(它的所有關於java腳本和html)創建視圖與phonegap。我需要從網站下載圖片(從此網址https://graph.facebook.com/username/picture)。

所以,當我學習的AsyncTask,我有一個疑問「我可以在煎茶的Android應用程序中使用的AsyncTask?」,因爲我沒有創建視圖(我的意思是按鈕,面板等)使用活動xml。

有沒有其他解決方案從sencha touch應用程序(Android)中的網站下載圖片?

更新解決

我用下面的Facebook API來獲取資料圖片URL和PhoneGap的文件API來下載圖片作爲@Lukas K說。

FB.api('/'+fbusername+'/picture?redirect=false', function(response) { 
     localStorage.fbpicurl = response.data.url; 
    }); 

回答

1

您可以將其轉換爲base64並將其存儲在localStorage中。 但是LocalStorage的空間限制爲5MB。達到限制後,設備將提示用戶提供更多空間。

除了Sencha Touch之外,您還使用phonegap嗎? Phonegap可以訪問手機的文件系統,您可以在其中存儲圖片。

的PhoneGap文件AP​​I:http://docs.phonegap.com/en/2.3.0/cordova_file_file.md.html#File

1

您可以使用煎茶的延遲任務是這樣的:

 var task = Ext.create(
       'Ext.util.DelayedTask', 
       function() { 
        Ext.getCmp("imageId").setSrc('https://graph.facebook.com/username/picture'); 
       } 
      ); 
     task.delay(100); 

這將啓動100毫秒後下載圖像。 我希望這是你想要做的,如果沒有,那麼做任何作爲延遲任務的功能。

+0

感謝@ThinkFloyd,但我想下載(並將其保存在數據庫中)資料圖片,而不僅僅是顯示。 – Viswa