Android从网络中获取图片
来源:互联网 发布:单片机开发板能做什么 编辑:程序博客网 时间:2024/04/26 06:38
Android从网络中获取图片
1. 首先要在AndroidManifest.xml文件中添加访问网络的权限:
<uses-permission android:name="android.permission.INTERNET"/>
2. 接着是界面:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="网络图片地址" /> <EditText android:id="@+id/edit_address" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="http://a.hiphotos.baidu.com/image/pic/item/b3b7d0a20cf431adb35c8e304936acaf2edd9829.jpg" /> <Button android:id="@+id/btn_get" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="获取图片" /> <ImageView android:id="@+id/imageview" android:layout_width="wrap_content" android:layout_height="wrap_content" /></LinearLayout>
3. 然后是Activity中的方法:
public class MainActivity extends Activity { private Button btn_get; private EditText edit_address; private ImageView imageview; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /*android 2.3版本之后不允许在主线程中进行http请求防止界面假死,此法不推荐使用。 * 建议方法为新建线程操作。 */ if (android.os.Build.VERSION.SDK_INT > 9) { StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); } btn_get = (Button) findViewById(R.id.btn_get); edit_address = (EditText) findViewById(R.id.edit_address); imageview = (ImageView) findViewById(R.id.imageview); btn_get.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub String path = edit_address.getText().toString(); ImageService imageService = new ImageService(); try { byte[] data = imageService.getImage(path); Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length); imageview.setImageBitmap(bitmap); } catch (Exception e) { Toast.makeText(MainActivity.this, "获取失败", 1000).show(); Log.e("ImageError", e.toString()); } } }); } public class ImageService { public byte[] getImage(String path) throws Exception{ URL url = new URL(path); HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("GET"); conn.setConnectTimeout(5 * 1000); InputStream inputStream = conn.getInputStream();//通过输入流获取图片数据 byte[] data = readInputStream(inputStream);//得到图片的二进制数据 return data; } public byte[] readInputStream(InputStream inputStream) throws Exception { ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = 0; while((len = inputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, len);//写到内存 } inputStream.close(); return outputStream.toByteArray(); } }}
0 0
- android从网络中获取一张图片
- Android从网络中获取图片
- Android从网络中获取图片
- Android 从网络中获取图片
- Android--从网络获取图片
- android 从网络获取图片
- 从网络中获取图片
- Android程序如何实现从网络中获取一张图片
- Android 从网络获取图片保存到SD卡中
- 访问网络从网络中获取图片
- Android中获取网络图片
- Android从网络获取图片并放大
- android viewpager 动态从网络获取图片
- android 从网络上获取图片
- Android 从网络服务器获取图片
- android 如何从网络获取一张图片
- android从网络获取图片并显示
- Android保存从网络获取的图片
- 右键里面添加一个“打开终端”和更换gnome
- 《数据结构》第一章 知识点结构导图
- 线性表 第二章
- 2014.9.21
- js本地压缩图片,上传base64给后台,再给七牛
- Android从网络中获取图片
- 《数据结构》第2章 线性表 知识点总结导图
- 调用webservice
- 可靠性与系统性能评测基础知识
- zoj 1095 - Humble Numbers
- 两个栈共享同一存储空间
- 实现strcmp函数的功能代码和字符数组的运用
- 理解Linux系统中的load average
- windows下 scrapy 安装