Android 網路圖片檢視顯示的實現方法
本篇文章小編為大家介紹,Android 網路圖片檢視顯示的實現方法,需要的朋友參考下。
我們的應用或多或少都會從網路獲取圖片資料然後進行顯示,下面就將實現一個這樣的例子,獲取網路中的圖片!
首先:我們來看一下效果圖
介面中有三個控制元件,一個EditText,一個Button,一個ImageView
1、下面是具體佈局檔案
<EditText android:id="@+id/picturepagh" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello_world" /> <Button android:id="@+id/btn" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="檢視" /> <ImageButton android:id="@+id/imageView" android:layout_width="fill_parent" android:layout_height="200px" />
2、在MainActivity中進行圖片圖示程式碼編寫
public class MainActivity extends Activity { private Button btn; private EditText path; private ImageView imgview; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn = (Button) findViewById(R.id.btn); path = (EditText) findViewById(R.id.picturepagh); imgview = (ImageView) findViewById(R.id.imageView); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Log.i("CLICK", ((Button) v).getText().toString()); new Thread(runa).start(); } }); } public void setView() { String picturepath = path.getText().toString(); byte[] data = null; try { data = ImageService.getImage(picturepath); Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);// BitmapFactory:圖片工廠! Looper.prepare();// 必須呼叫此方法,要不然會報錯 Message msg = new Message(); msg.what = 0; msg.obj = bitmap; handler.sendMessage(msg); } catch (Exception e) { Toast.makeText(getApplicationContext(), "獲取圖片錯誤", 1).show(); } } private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { if (msg.what == 0) { updateImageView((Bitmap) msg.obj); } } }; private Runnable runa = new Runnable() { @Override public void run() { setView(); } }; private void updateImageView(Bitmap bm) { imgview.setImageBitmap(bm); } }
3、新增一個ImageService圖片服務類,裡面包含一個獲取網路資料的方法;
public class ImageService { // 獲取網路圖片的資料 public static byte[] getImage(String picturepath) throws Exception { URL url = new URL(picturepath); HttpURLConnection conn = (HttpURLConnection) url.openConnection();// 基於http協議的連線物件 conn.setConnectTimeout(10);// 10秒; conn.setRequestMethod("GET");// 大寫 if (conn.getResponseCode() == 200) { InputStream ins = conn.getInputStream(); return StreamTool.read(ins); } return null; } }
4、新增一個流處理工作類StreamTool
public class StreamTool { public static byte[] read(InputStream ins) throws Exception { ByteArrayOutputStream outstream = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int length = 0; while ((length = ins.read(buffer)) > -1) { outstream.write(buffer, 0, length); } outstream.close(); return outstream.toByteArray(); } }
5、大功告成?NO,還要新增網路訪問許可權: <uses-permission android:name=”android.permission.INTERNET” />
OK,執行程式!
相關文章
- android網路圖片檢視器Android
- 前端通過background實現圖片裁剪顯示的方法前端
- 顯示網路圖片變形的處理
- 安卓圖片顯示與網路訪問安卓
- ImageView顯示網路上的圖片View
- Android用ImageView顯示本地和網上的圖片AndroidView
- 網頁圖片不能顯示 網頁圖片顯示不出來的解決辦法網頁
- Android 載入網路圖片 以及實現圓角圖片效果Android
- ScrollView 之 實現檢視的迴圈顯示View
- 原生JS實現類似《掘金》網站的圖片檢視器JS網站
- QLabel顯示圖片 ,並實現縮放
- django 實現圖片上傳和顯示操作Django
- WIN10網站圖片顯示不了怎麼辦 win10網站圖片無法顯示恢復方法Win10網站
- Android 開源圖片裁剪工具、圖片顯示工具分享Android
- windows10照片檢視器無法顯示圖片記憶體不足處理方法Windows記憶體
- CoordinatorLayout、AppBarLayout實現上滑隱藏圖片,下滑顯示圖片APP
- 使用jpeg圖片庫,顯示圖片並簡單實現LCD的觸屏功能
- 使用 PyQt5 實現圖片檢視器QT
- android imageview 縮放檢視圖片AndroidView
- VS+Qt+Halcon——顯示圖片,實現滑鼠縮放、移動圖片QT
- Django實現圖片上傳並前端頁面顯示Django前端
- IE10與IMG圖片PNG顯示不了 WP中的WebBrowser中無法檢視PNG格式的圖片IE10Web
- img圖片無法顯示利用onerror事件顯示替代圖片Error事件
- 載入網路圖片所顯示的轉圈效果及載入成功前與失敗後所顯示的圖示
- vue專案中顯示 網路路徑的圖片,報控制檯報undefinedVueUndefined
- Overleaf中插入pdf圖片只顯示圖片路徑的解決方式
- [Android開源]:EasyImageGetter幫你實現帶網路圖片的html圖文混排!AndroidHTML
- Swift 開屏廣告的實現 (支援本地與網路的圖片,動態圖,視訊)Swift
- Android顯示框架:Android應用檢視的載體ViewAndroid框架View
- win10網路圖示灰色怎麼解決_win10不顯示網路圖示灰色修復方法Win10
- CSS圖片的灰色顯示效果CSS
- ImageView顯示圖片資源的兩種方法(background/src)View
- 使用Jsoup解析Html == TextView顯示html圖片的方法JSHTMLTextView
- Android中顯示html標籤或者帶圖片AndroidHTML
- Geoserver + MySQL實現圖層顯示和文字顯示ServerMySql
- 簡單圖片檢視器小程式原始碼實現原始碼
- Android顯示框架:Android應用檢視的管理者WindowAndroid框架
- ReactNative IOS下Image標籤載入網路圖片不顯示ReactiOS