android - 在 appwidget 中延迟加载图像

标签 android android-appwidget android-imageview remoteview android-lazyloading

有没有办法将互联网上的图像延迟加载到远程 View 中。

remoteView.setImageViewBitmap(R.id.image, UrlUtils.loadBitmap(bitmapUrl));

我使用此功能,但它会在短时间内阻止我的小部件。

public static Bitmap loadBitmap(String url) {
    Bitmap bitmap = null;
    InputStream in = null;
    BufferedOutputStream out = null;

    try {

        in = new BufferedInputStream(getPageInputStream(url));

        final ByteArrayOutputStream dataStream = new ByteArrayOutputStream();
        out = new BufferedOutputStream(dataStream);
        Utils.copy(in, out);
        out.flush();

        final byte[] data = dataStream.toByteArray();
        BitmapFactory.Options options = new BitmapFactory.Options();
        // options.inSampleSize = 1;

        bitmap = BitmapFactory.decodeByteArray(data, 0, data.length,
                options);

        in.close();
        out.close();

    } catch (IOException e) {
        e.printStackTrace();
    }

    return bitmap;
}

谢谢

最佳答案

绝对

  1. 以通常的方式绘制您的小部件,在图像旁边绘制所有文本部分等
  2. 创建一个加载图像的服务。 Here's good tutorial包括如何从 appwidget 创建和调用服务
  3. 更新您的小部件后调用该服务。传递小部件 ID 和图像 URL
  4. 从缓存中加载图像或在您的服务中远程加载图像,然后再次更新您的小部件。瞧,你现在有了

关于android - 在 appwidget 中延迟加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7349198/

相关文章:

java - Android AppWidget ListView 不会填充

android - 从 ImageView 获取可绘制对象

android - 有没有办法在不将其保存到 sdcard 的情况下获取位图的 URI?

android - Xamarin Forms 按钮 IsVisible 绑定(bind)在 Android 上不起作用

android - 如何制作可滚动的应用程序小部件?

没有 Java 的 Android 主屏幕小部件

Android如何在relativelayout中拖动imageview,然后将其拉回原位

android - 选择图库图像并转换为位图?

java - 使用非递归回溯算法生成迷宫的问题

android - 我如何在android中获取图像矩阵坐标?