qq_34563651 2017-04-04 10:34 采纳率: 0%
浏览 2532

getInputStream()出了问题

package com.example.imagelooker;

import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.UnknownServiceException;

import org.apache.http.conn.ConnectTimeoutException;
import org.xml.sax.InputSource;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends Activity {

private EditText et_path;
private ImageView iv;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    et_path = (EditText) findViewById(R.id.et_path);
    iv = (ImageView) findViewById(R.id.IV);
}
public void look(View v){
    String path=et_path.getText().toString();
    if(path.equals("")){
        Toast.makeText(getApplicationContext(), "路径为空", Toast.LENGTH_SHORT).show();
    }else {
        try {
            //构建路径
            URL url=new URL(path);
            //打开连接
            HttpURLConnection conn=(HttpURLConnection) url.openConnection();
            //请求方式
            conn.setRequestMethod("GET");
            //超时时间
            conn.setConnectTimeout(5000);

// if(conn.getResponseCode()==200){
InputStream is = conn.getInputStream();

                //把流转化为图片
                Bitmap bitmap=BitmapFactory.decodeStream(is);
                if (bitmap==null) {
                    Toast.makeText(getApplicationContext(), "获得的图片流为空", Toast.LENGTH_SHORT).show();
                }else {
                    iv.setImageBitmap(bitmap);
                }
        /*  }else {
                Toast.makeText(getApplicationContext(), "输入的路径不存在", Toast.LENGTH_SHORT).show();
            }*/


        } catch (Exception e) {
            e.printStackTrace();
            if(e instanceof MalformedURLException){
                Toast.makeText(getApplicationContext(), "输入的路径格式异常", Toast.LENGTH_SHORT).show();
            }else if (e instanceof ConnectTimeoutException) {
                Toast.makeText(getApplicationContext(), "连接超时错误", Toast.LENGTH_SHORT).show();
            }else if (e instanceof IOException) {
                Toast.makeText(getApplicationContext(), "获取数据错误", Toast.LENGTH_SHORT).show();

            }else if (e instanceof UnknownServiceException) {
                Toast.makeText(getApplicationContext(), "协议不支持", Toast.LENGTH_SHORT).show();
            }
            else {
                Toast.makeText(getApplicationContext(), "未知错误", Toast.LENGTH_SHORT).show();
            }
        }
    }
}

}


logcat 如下
图片说明

  • 写回答

1条回答

  • SunnyZhou-1024 2017-04-04 11:34
    关注

    一般是网上资源的URL是:[协议]+[主机]+[资源路径],你协议错了,是http://而不是你的http:,例如http://imsk.csdn.net/upload/201704/04/1491302038_238674.png.
    其实问题都已经已经很明确告诉你了,UnknownHostException,以后自己学会定位问题就行了

    评论

报告相同问题?

问题事件

  • 提问应符合社区要求 4月8日

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。