从服务器获取图像并在Android中将其显示为横幅

时间:2012-06-20 05:14:57

标签: android android-layout android-intent android-emulator android-widget

  • application加载时,服务器正在发送图像网址列表。

  • 解析网址后,应用程序将被要求从服务器获取这些图像,并在其标题上将这些图像显示为 MARQUEE 作为 BANNER

  • 点击banner ... link将被打开(比如说任何WebSite的链接)。

    任何人都可以告诉我如何从网址和Save it temporarily以及Display them获取此图片作为横幅广告。

    问候。

3 个答案:

答案 0 :(得分:2)

  • 使用AsyncTask从服务器下载图像(将其存储在外部存储设备中)。
  • 完成下载后,Gallery视图中的图像显示为 旗帜。 (将画廊视图放在横幅中)。
  • 由于Android图库不支持Marquee ,请使用动画作为图库 查看(Like Marquee)。

答案 1 :(得分:2)

我使用此代码从url

加载图片
ImageView v_thumburl = (ImageView) rowView
                .findViewById(R.id.v_thumb_url);
        thumburl = temp.getString(temp.getColumnIndex("thumburl"));
        Drawable drawable = LoadImageFromWebOperations(thumburl);
        v_thumburl.setImageDrawable(drawable);

private Drawable LoadImageFromWebOperations(String url) {
    try {
        InputStream is = (InputStream) new URL(url).getContent();
        Drawable d = Drawable.createFromStream(is, "src name");
        return d;
    } catch (Exception e) {
        System.out.println("Exc=" + e);
        return null;
    }
}

尝试这个我希望它可以帮助你

答案 2 :(得分:1)

要从服务器加载图像,您可以使用LasyList从服务器获取图像并将其存储到SD卡中。

SlideShow会比Marquee更好,所以如果你想要SlideShow,请看this

如果你想要选框,那么你可以拥有和HorizontalListView

在Horizo​​ntalListView类中添加一个公共方法,如下所示

public void getScrollWidth() {
        return mMaxX;
    }

public void getCurrentScrollX() {
      return mNextX;
}

和For Marquee在你的班级中有一个主题和一个Handler

new Thread(new Runnable() {

                @Override
                public void run() {
                    try {
                        handler.post(new Runnable() {
                            @Override
                            public void run() {

                                if((horizontalListView.getCurrentScrollX() + 50) < horizontalListView.getScrollWidth())
                                {
                                    horizontalListView.scrollTo(horizontalListView.getCurrentScrollX() + 50);
                                }
                                else
                                {
                                    horizontalListView.scrollTo(0);
                                }
                            }
                        });

                        Thread.sleep(1000);

                    } catch (Exception e) {

                    }

                }
            }).start();