Android从网上获取图片的简单示例
16lz
2021-12-04
其实我也是个Android新手,有什么写的不对的地方,大家可以提出来。这里主要写的是Android从网上获取图片的几种写法。
- 首先是布局文件,新建一个pic.xml文件:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ImageView android:id="@+id/iv" android:layout_width="match_parent" android:layout_height="match_parent" /></LinearLayout>
2 . 然后是AndroidMainFest.xml文件:
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.test001" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="19" /> <!--主要是这里加一个上网权限--> <uses-permission android:name="android.permission.INTERNET"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.test001.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application></manifest>
3 .然后就是MainActivity文件了:
package com.example.test;import java.io.BufferedInputStream;import java.io.IOException;import java.io.InputStream;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.drawable.Drawable;import android.os.Bundle;import android.widget.ImageView;public class MainActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.pic); new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub //找到控件 ImageView iv = (ImageView) findViewById(R.id.iv);// /* // * 方法一: try { //声明并实例化url,http://...是网上图片地址 URL url = new URL("http://img2.imgtn.bdimg.com/it/u=1985131349,3596986963&fm=23&gp=0.jpg"); /*在android.graphics包中有一个Drawable类, * 它是所有可见对象的描述,可以理解为素材类 * createFromStream的第一个参数是InputStream:输入流 * 第二个参数是本地路径,该方法首先是查看本地是否有该图 * 片,若没有则从InputStream输入,可以设置为null。 * * */ Drawable drawable = Drawable.createFromStream(url.openStream(), "img.png"); //在ImageView上显示图片 iv.setImageDrawable(drawable); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }// */ /* * 方法二: try { //声明并实例化url,http://...是网上图片地址 URL url = new URL("http://img3.imgtn.bdimg.com/it/u=1219545299,4180981016&fm=23&gp=0.jpg"); //URLConnection使用的是java.net中的类,属于标准的java接口。 //打开和URL之间的连接 URLConnection connection = url.openConnection(); //建立实际的连接 connection.connect(); //创建输入流对象 InputStream is = connection.getInputStream(); //建立Bitmap对象 Bitmap bm = BitmapFactory.decodeStream(is); //显示图片 iv.setImageBitmap(bm); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } */ //方法三: /* try { //声明并实例化url,http://...是网上图片地址 URL url = new URL("http://img3.imgtn.bdimg.com/it/u=1219545299,4180981016&fm=23&gp=0.jpg"); //创建输入流对象 InputStream is = url.openConnection().getInputStream(); //BufferedInputStream是带缓冲区的输入流,默认缓冲区大小是8M,能够减少访问磁盘的次数,提高文件读取性能 BufferedInputStream bis = new BufferedInputStream(is); //建立Bitmap对象 Bitmap bitmap = BitmapFactory.decodeStream(bis); //显示图片 iv.setImageBitmap(bitmap); //刷新imageview iv.invalidate(); //关闭缓冲输入流 bis.close(); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } */ } }).start(); }}
在这里就不截图了,当然,肯定还有其他的方法,本例的源码地址:
http://download.csdn.net/detail/u013293125/9454939
更多相关文章
- 转2:EditView:inputType常用取值
- android背景选择器selector用法汇总
- Android图片的固定大小显示
- android背景选择器selector用法汇总
- Android(安卓)实现json网络数据通过BaseAdapter加载到ListView中
- Android多媒体播放器源码解析(stagefright框架)
- android:使用Gon解析解析json
- Android中对Handler用法的总结
- Android:为控件绑定监听器