0

在我之前的问题中,我问“如何下载 Facebook 个人资料图片”,我得到的答案是“使用 AsyncTask 下载它并将其保存到应用程序的磁盘空间”。

我正在使用 sencha touch(它全部关于 java 脚本和 html)来创建带有 phonegap 的视图。我需要从网上下载图片(来自这个 url https://graph.facebook.com/username/picture)。

所以,当我学习 AsyncTask 时,我怀疑“我可以在 sencha 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;
     });
4

2 回答 2

1

您可以像这样使用 sencha 的延迟任务:

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

这将在 100 毫秒后开始下载图像。我希望这是你想要做的,如果不是,那么在函数中做任何延迟任务。

于 2013-01-21T14:51:56.767 回答
1

您可以将其转换为 base64 并将其存储在 localStorage 中。但是 LocalStorage 的空间限制为 5MB。达到限制后,设备将提示用户提供更多空间。

除了 Sencha Touch,你还使用 phonegap 吗?Phonegap 提供对手机文件系统的访问,您可以在其中存储图片。

Phonegap 文件 API:http ://docs.phonegap.com/en/2.3.0/cordova_file_file.md.html#File

于 2013-01-22T13:06:06.597 回答