【问题标题】:How can I load an image from URL without extension android如何从没有扩展名 android 的 URL 加载图像
【发布时间】:2014-11-10 17:04:36
【问题描述】:

我想从 URL 加载图像,但它不起作用,因为链接没有扩展名

这能解决吗???

网址示例: http://t0.gstatic.com/images?q=tbn:ANd9GcRf1EqE2kyW12HSb9gZZ8eTIPqNgVkjFis4GkTTYONIpoQtkIde4zybZ4iAqGlIHQ_pnEX499Oa

如何做到这一点??

public class MainActivity extends ActionBarActivity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ImageView img = (ImageView)findViewById(R.id.imageView1);
    Bitmap bitImg = getBitmapFromURL("http://t0.gstatic.com/images?q=tbn:ANd9GcRf1EqE2kyW12HSb9gZZ8eTIPqNgVkjFis4GkTTYONIpoQtkIde4zybZ4iAqGlIHQ_pnEX499Oa");
    img.setImageBitmap(bitImg);



}

public Bitmap getBitmapFromURL(String imageUrl) {
    try {
        URL url = new URL(imageUrl);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setDoInput(true);
        connection.connect();
        InputStream input = connection.getInputStream();
        Bitmap myBitmap = BitmapFactory.decodeStream(input);
        return myBitmap;
    } catch (IOException e) {
        e.printStackTrace();
        return null;
    }
}

【问题讨论】:

标签: android image url imageview


【解决方案1】:

load an image from a URL but it doesn't work because the link doesn't have an extension。废话。 Url.openconnection 不查看扩展名。它不起作用,因为您在 LogCat 中有一个清晰可见的NetworkOnMainThreadException。从未在 LogCat 中见过?请去寻找它。将您的网络代码放在 AsyncTask 或线程中以防止这种情况发生。

【讨论】:

    【解决方案2】:

    看看这篇文章,我没有看到他的 URL,但我认为 Android 库会根据数据和标题来解决这个问题:

    BitmapFactory.decodeStream returning null when options are set

    另外,不要在 URL 中添加扩展名,它会更改 URL!

    http://www.google.com与http://www.google.com.html不一样

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-12
      • 1970-01-01
      • 2017-07-17
      • 2014-11-24
      • 2013-06-28
      相关资源
      最近更新 更多