java - 如何在不显示的情况下使用 Universal ImageLoader 加载图像

标签 java android google-maps-api-2 universal-image-loader

我正在尝试做这样的事情: Android Map api v2 Custom marker with ImageView 但我坚持使用图像加载器。

尝试:

Bitmap bmImg = imageLoader.loadImageSync(url);

LogCat 给我

 04-13 14:11:44.953: E/ImageLoader(18542): android.os.NetworkOnMainThreadException

这是我的代码。我有一个 ArrayList 相机,其中包含所有需要的信息(标题、位置、网址等)。

public void drawPicsOnMap()
{                       
    String title = null;
    String place = null;        
    for (int i = 0; i<camera.size(); i++)
    {
        Bitmap.Config conf = Bitmap.Config.ARGB_8888;
        Bitmap bmp = Bitmap.createBitmap(80, 80, conf);
        Canvas canvas = new Canvas(bmp);

        // paint defines the text color,
        // stroke width, size
        Paint color = new Paint();
        color.setTextSize(35);
        color.setColor(Color.BLACK);

        Camera cam = camera.get(i);
        LatLng coord = new LatLng(cam.lat, cam.lon);

        title = Integer.toString(cam.id);
        place = cam.place;                                  

        String url = cam.img;
        Bitmap bmImg = imageLoader.loadImageSync(url);

        //modify canvas
        canvas.drawBitmap(bmImg, 0,0, color);
        canvas.drawText(title, 30, 40, color);

        Marker mark = map.addMarker(new MarkerOptions()
        .position(coord)
        .title(title)
        .snippet(place)
        .icon(BitmapDescriptorFactory
                .fromBitmap(bmp)));

        markers.put(mark.getId(), url);
    }
}

最佳答案

试试这个:

imageLoader.loadImage(url, new SimpleImageLoadingListener(){

                    @Override
                    public void onLoadingComplete(String imageUri, View view,
                            Bitmap loadedImage) {
                    super.onLoadingComplete(imageUri, view, loadedImage);

                        //write your code here to use loadedImage
                    }

                });

在这里 onLoadingComplete 将在 UI 线程上调用,这使其线程安全

关于java - 如何在不显示的情况下使用 Universal ImageLoader 加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23042163/

相关文章:

MongoDB 选择查询的 Java 等效项

java - 无法使用相机 Intent 启动 ActivityForResult()

java - TimePickerDialog 和时区

android - react native : android emulator won't show up developer menu

android - Android : Google GCM vs. Amazon SNS 上的推送通知?

android - 谷歌地图 v2 实时路线?

java - Hadoop 中的默认 Record Reader,全局或本地字节偏移量

java - 我该如何修复 'android.os.NetworkOnMainThreadException' ?

java - 创建 Google Maps API V2 标记后,将其可拖动属性设置为 false 吗?

android - 获取两点(LatLng)与垂直轴(北轴)之间的角度