日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 网络图片浏览器( ImageView )【网络访问、线程、handler(消息处理器)、Internet权限、Get请求、输入流转图片】

發布時間:2024/9/30 Android 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 网络图片浏览器( ImageView )【网络访问、线程、handler(消息处理器)、Internet权限、Get请求、输入流转图片】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

源碼 [工程文件]:https://gitee.com/lwx001/ImageView

目? ?錄

運行截圖

activity_main.xml

MainActivity.java

AndroidManifest.xml


運行截圖

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout 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:background="@drawable/bg"tools:context=".MainActivity"><LinearLayoutandroid:id="@+id/ll_text"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:layout_marginBottom="5dp"android:orientation="horizontal"><EditTextandroid:id="@+id/et_path"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_marginRight="3dp"android:layout_weight="1"android:background="#EBEBEB"android:hint="請輸入圖片路徑"android:inputType="textUri"android:paddingLeft="3dp"android:textColor="#696969"android:textSize="20sp" /><Buttonandroid:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="4"android:background="#EBEBEB"android:onClick="click"android:text="瀏覽"android:textColor="#696969"android:textSize="20sp" /></LinearLayout><ImageViewandroid:id="@+id/iv_pic"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_below="@+id/ll_text"android:scaleType="centerCrop" /> </RelativeLayout>

MainActivity.java

package cn.lwx.imageview;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Handler; import android.os.Message; import android.text.TextUtils; import android.view.View; import android.widget.EditText; import android.widget.ImageView; import android.widget.Toast;import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL;public class MainActivity extends AppCompatActivity {protected static final int CHANGE_UI = 1;protected static final int ERROR = 2;private EditText et_path;private ImageView ivPic;private Handler handler = new Handler() { // 主線程創建消息處理器@Overridepublic void handleMessage(android.os.Message msg) {if (msg.what == CHANGE_UI) {Bitmap bitmap = (Bitmap) msg.obj;ivPic.setImageBitmap(bitmap);} else if (msg.what == ERROR) {Toast.makeText(MainActivity.this, "顯示圖片錯誤 !", Toast.LENGTH_SHORT).show();}}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);et_path = (EditText) findViewById(R.id.et_path);ivPic = (ImageView) findViewById(R.id.iv_pic);//et_path.setText("http://www.photophoto.cn/m6/018/030/0180300388.jpg");//et_path.setText("圖片地址!!!");//https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=2834084951,2081126851&fm=11&gp=0.jpg}public void click(View view) {final String path = et_path.getText().toString().trim();if (TextUtils.isEmpty(path)) { //判斷是否為空串Toast.makeText(this, "圖片路徑不能為空 !", Toast.LENGTH_SHORT).show();} else {//子線程請求網絡,Android4.0以后訪問網絡不能放在主線程中new Thread() { //開啟一個線程private HttpURLConnection conn;private Bitmap bitmap;public void run() { //聯網操作// 連接服務器 get 請求 獲取圖片try {// 創建URL對象URL url = new URL(path);// 根據url, 發送http的請求conn = (HttpURLConnection) url.openConnection();// 設置請求的方式conn.setRequestMethod("GET");// 設置超時時間conn.setConnectTimeout(5000);// 得到服務器返回的響應碼int code = conn.getResponseCode();// 請求網絡成功后, 返回碼是200if (code == 200) {//獲取輸入流InputStream is = conn.getInputStream();//將流轉換成Bitmap對象bitmap = BitmapFactory.decodeStream(is);//強制規定:必須在主線程中 更改圖片//將更改主界面的消息發送給主線程Message msg = new Message();msg.what = CHANGE_UI;//int型常量,區分不同的消息msg.obj = bitmap;//通過消息攜帶對應的圖片(object類型)handler.sendMessage(msg);//發送消息} else {//返回碼不等于200 請求服務器失敗Message msg = new Message();msg.what = ERROR;handler.sendMessage(msg);}} catch (Exception e) {e.printStackTrace();Message msg = new Message();msg.what = ERROR;handler.sendMessage(msg);}//關閉連接conn.disconnect();}}.start();}}}

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"package="cn.lwx.imageview"><uses-permission android:name="android.permission.INTERNET"/><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/AppTheme"><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>

為善者,福雖未至,禍已遠離~? ?嘻嘻(●'?'●)

總結

以上是生活随笔為你收集整理的Android 网络图片浏览器( ImageView )【网络访问、线程、handler(消息处理器)、Internet权限、Get请求、输入流转图片】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。