【问题标题】:can i use android AsyncTask in sencha application (Android)我可以在 sencha 应用程序(Android)中使用 android AsyncTask
【发布时间】:2013-01-04 08:39:48
【问题描述】:

在我之前的question 中,我问过“如何下载 Facebook 头像”,我得到的答案是“使用 AsyncTask 下载并保存到应用程序的磁盘空间”。

我正在使用 sencha touch(它全部关于 java 脚本和 html)来创建带有 phonegap 的视图。我需要从网上下载图片(来自这个网址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;
     });

【问题讨论】:

    标签: android android-asynctask sencha-touch sencha-touch-2


    【解决方案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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 感谢@ThinkFloyd,但我想下载(并将其保存在数据库中)个人资料图片,而不仅仅是显示。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-27
      • 2012-07-03
      • 2015-06-20
      • 1970-01-01
      • 2023-01-19
      相关资源
      最近更新 更多