Android 通過網(wǎng)絡圖片路徑查看圖片實例詳解
更新時間:2017年06月02日 16:09:41 作者:lht0211
這篇文章主要介紹了Android 通過網(wǎng)絡圖片路徑查看圖片實例詳解的相關資料,需要的朋友可以參考下
Android 通過網(wǎng)絡圖片路徑查看圖片實例詳解
1.在項目清單中添加網(wǎng)絡訪問權限
<!--訪問網(wǎng)絡的權限--> <uses-permission android:name="android.permission.INTERNET"/>
2.獲取網(wǎng)絡圖片數(shù)據(jù)
/**
* 獲取網(wǎng)絡圖片的數(shù)據(jù)
* @param path 網(wǎng)絡圖片路徑
* @return
* @throws Exception
*/
public static byte[] getImage(String path) throws Exception {
URL url=new URL(path);
HttpURLConnection conn=(HttpURLConnection)url.openConnection();//得到基于HTTP協(xié)議的連接對象
conn.setConnectTimeout(5000);//設置超時時間
conn.setRequestMethod("GET");//請求方式
if(conn.getResponseCode()==200){//判斷是否請求成功
InputStream inputStream=conn.getInputStream();
return read(inputStream);
}
return null;
}
/**
* 讀取流中的數(shù)據(jù)
*/
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 {
//獲取圖片數(shù)據(jù)
byte[] data=ImageService.getImage(path);
//使用數(shù)組的所有數(shù)據(jù)構建位圖對象
Bitmap bitmap=BitmapFactory.decodeByteArray(data, 0, data.length);
imageView.setImageBitmap(bitmap);//顯示圖片
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), R.string.error, 1).show();
}
}
}
}
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
ListView實現(xiàn)聊天列表之處理不同數(shù)據(jù)項
這篇文章主要為大家詳細介紹了ListView實現(xiàn)聊天列表之處理不同數(shù)據(jù)項,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11
Android 深入探究自定義view之流式布局FlowLayout的使用
FlowLayout(int align, int hgap, int vgap)創(chuàng)建一個新的流布局管理器,它具有指定的對齊方式以及指定的水平和垂直間隙,意思就是說從左上角開始添加原件,依次往后排,第一行擠滿了就換一行接著排2021-11-11
Android提高之SurfaceView的基本用法實例分析
這篇文章主要介紹了Android提高之SurfaceView的基本用法,非常實用的功能,需要的朋友可以參考下2014-08-08
Android AsyncTask 后監(jiān)聽異步加載完畢的動作詳解
這篇文章主要介紹了Android 使用AsyncTask 后監(jiān)聽異步加載完畢的動作的相關資料,需要的朋友可以參考下2016-11-11
Android仿Iphone屏幕底部彈出半透明PopupWindow效果
這篇文章主要為大家詳細介紹了Android仿Iphone屏幕底部彈出半透明PopupWindow效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07
Android 根據(jù)EditText搜索框ListView動態(tài)顯示數(shù)據(jù)
這篇文章主要介紹了Android 根據(jù)EditText搜索框ListView動態(tài)顯示數(shù)據(jù)的相關資料,需要的朋友可以參考下2016-09-09

