加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Android 通过网络获取图片的代码

发布时间:2020-12-14 23:30:23 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 主activity package com.netimg;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import androi

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

主activity
package com.netimg;


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

public class AndroidnetimgActivity extends Activity {
    /** Called when the activity is first created. */
	//定义所使用的组件
	private Button button;
	private EditText editText;
	private ImageView imagesView;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //实例化用到的组件
        editText =(EditText)findViewById(R.id.EditText);
        imagesView = (ImageView)findViewById(R.id.ImageView);
        button = (Button)findViewById(R.id.Button);
        
        //为按钮添加监听事件
        button.setOnClickListener(new buttonListener());
        
    }
    
    
    private final class buttonListener implements OnClickListener{

		@Override
		public void onClick(View v) {
			String path = editText.getText().toString();
			
			System.out.println(path);
			
			//通过业务类ImageService的getImage方法得到数据
			try {
				byte[] data = ImageService.getImage(path);
				Bitmap bitmap = BitmapFactory.decodeByteArray(data,data.length);
				imagesView.setImageBitmap(bitmap);//显示图片
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				Toast.makeText(getApplicationContext(),"获取失败",1).show();
			}
			
			
		}
    	
    }
}
 
业务类
package com.netimg;

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;





public class ImageService {

	public static byte[] getImage(String path) throws Exception {
	
		URL url = new URL(path);
		//基于HTTP协议连接对象
		HttpURLConnection conn = (HttpURLConnection)url.openConnection();
		
		conn.setConnectTimeout(5000);
		conn.setRequestMethod("GET");
		
		if(conn.getResponseCode() == 200){
			InputStream inStream = conn.getInputStream();
			return StreamTool.read(inStream);
		}
		
		return null;
	}

}
 
工具类
package com.netimg;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;

public class StreamTool {

	public static byte[] read(InputStream inStream) throws IOException {
		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
		byte[] buffer = new byte[1024];
		int len = 0;
		while( (len = inStream.read(buffer)) != -1){
			outStream.write(buffer,len);
		}
		inStream.close();
		return outStream.toByteArray();
	}

} 
获取网络权限
<uses-permission android:name="android.permission.INTERNET"/>

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读