这篇文章给大家介绍怎么在Android中对网络图片进行获取,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
工程文件结构:
布局文件中就一个 ImageView 用来显示图片,一个 Button 用来获取图片。
MainActivity.java
public class MainActivity extends AppCompatActivity { Button button; ImageView imageView; String url = "http://i4.buimg.com/dccba6282641a9e0.jpg"; //String textURL = "http://192.168.1.104:8080/add.jsp"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button) findViewById(R.id.button); imageView = (ImageView) findViewById(R.id.imageView); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new Thread(new Runnable() { @Override public void run() { Bitmap bmp = getURLimage(url); Message msg = new Message(); msg.what = 0; msg.obj = bmp; System.out.println("000"); handle.sendMessage(msg); } }).start(); } }); } //在消息队列中实现对控件的更改 private Handler handle = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case 0: System.out.println("111"); Bitmap bmp=(Bitmap)msg.obj; imageView.setImageBitmap(bmp); break; } }; }; //加载图片 public Bitmap getURLimage(String url) { Bitmap bmp = null; try { URL myurl = new URL(url); // 获得连接 HttpURLConnection conn = (HttpURLConnection) myurl.openConnection(); conn.setConnectTimeout(6000);//设置超时 conn.setDoInput(true); conn.setUseCaches(false);//不缓存 conn.connect(); InputStream is = conn.getInputStream();//获得图片的数据流 bmp = BitmapFactory.decodeStream(is);//读取图像数据 //读取文本数据 //byte[] buffer = new byte[100]; //inputStream.read(buffer); //text = new String(buffer); is.close(); } catch (Exception e) { e.printStackTrace(); } return bmp; } }
关于怎么在Android中对网络图片进行获取就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。