这里有新鲜出炉的精品教程,程序狗速度看过来!
Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由 Google 公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用 "安卓" 或 "安致"。
这篇文章主要介绍了 Android 通过网络图片路径查看图片实例详解的相关资料, 需要的朋友可以参考下
Android 通过网络图片路径查看图片实例详解
1. 在项目清单中添加网络访问权限
- <!--访问网络的权限-->
- <uses-permission android:name="android.permission.INTERNET" />
2. 获取网络图片数据
- /**
- * 获取网络图片的数据
- * @param path 网络图片路径
- * @return
- * @throws Exception
- */
- public static byte[] getImage(String path) throws Exception {
- URL url = new URL(path);
- HttpURLConnection conn = (HttpURLConnection) url.openConnection(); //得到基于HTTP协议的连接对象
- conn.setConnectTimeout(5000); //设置超时时间
- conn.setRequestMethod("GET"); //请求方式
- if (conn.getResponseCode() == 200) { //判断是否请求成功
- InputStream inputStream = conn.getInputStream();
- return read(inputStream);
- }
- return null;
- }
- /**
- * 读取流中的数据
- */
- public static byte[] read(InputStream inputStream) throws IOException {
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
- byte[] b = new byte[1024];
- int len = 0;
- while ((len = inputStream.read(b)) != -1) {
- outputStream.write(b);
- }
- inputStream.close();
- return outputStream.toByteArray();
- }
3. 处理查看图片的控制
- public class NetimageActivity extends Activity {
- private EditText pathText;
- private ImageView imageView;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- pathText=(EditText)this.findViewById(R.id.imagepath);//图片路径
- imageView=(ImageView)this.findViewById(R.id.imageView);//显示图片控件
- Button button=(Button)this.findViewById(R.id.button);//查看图片按钮
- button.setOnClickListener(new ButtonClickListener());//注册查看图片按钮事件
- }
- /**
- * 处理查看图片按钮事件
- */
- private final class ButtonClickListener implements View.OnClickListener{
- @Override
- public void onClick(View v) {
- //取得图片路径
- String path=pathText.getText().toString();
- try {
- //获取图片数据
- byte[] data=ImageService.getImage(path);
- //使用数组的所有数据构建位图对象
- Bitmap bitmap=BitmapFactory.decodeByteArray(data, 0, data.length);
- imageView.setImageBitmap(bitmap);//显示图片
- } catch (Exception e) {
- e.printStackTrace();
- Toast.makeText(getApplicationContext(), R.string.error, 1).show();
- }
- }
- }
- }
来源: http://www.phperz.com/article/17/0821/337556.html