From f8c4ca9a2fbc17af1a4ad9403418580c5a0da569 Mon Sep 17 00:00:00 2001 From: pyowf4gx3 <527452609@qq.com> Date: Sun, 10 Oct 2021 12:41:30 +0800 Subject: [PATCH] ADD file via upload --- BS体系结构-图片浏览系统/web.java | 154 +++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 BS体系结构-图片浏览系统/web.java diff --git a/BS体系结构-图片浏览系统/web.java b/BS体系结构-图片浏览系统/web.java new file mode 100644 index 0000000..08b6a12 --- /dev/null +++ b/BS体系结构-图片浏览系统/web.java @@ -0,0 +1,154 @@ +package com.example.account_book; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; +import androidx.core.content.FileProvider; + +import android.Manifest; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.net.Uri; +import android.os.Build; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.provider.MediaStore; +import android.view.View; +import android.widget.ImageView; +import android.widget.Toast; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.net.HttpURLConnection; +import java.net.URL; + +import static android.Manifest.*; + +public class web extends AppCompatActivity { + protected static final int CHANGE_UI = 1; + protected static final int ERROR = 2; + private int REQUEST_CODE_TAKE=1; + private Uri imageUri; + private ImageView pc; + private Handler handler = new Handler() { + public void handleMessage(android.os.Message msg) { + if (msg.what == CHANGE_UI) { + Bitmap bitmap = (Bitmap) msg.obj; + pc.setImageBitmap(bitmap); + } else if (msg.what == ERROR) { + Toast.makeText(web.this, "显示错误", Toast.LENGTH_SHORT).show(); + } + } + }; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_web); + pc = (ImageView) findViewById(R.id.wangluo); + } + + public void click(View view) { + new Thread() { + private HttpURLConnection conn; + private Bitmap bitmap; + + public void run() { + try { + URL url = new URL("https://w.wallhaven.cc/full/rd/wallhaven-rddgwm.jpg"); + conn = (HttpURLConnection) url.openConnection(); + conn.setRequestMethod("GET"); + conn.setConnectTimeout(5000); + int code = conn.getResponseCode(); + if (code == 200) { + InputStream is = conn.getInputStream(); + bitmap = BitmapFactory.decodeStream(is); + Message msg = new Message(); + msg.what = CHANGE_UI; + msg.obj = bitmap; + handler.sendMessage(msg); + }else{ + 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(); + } + public void takephoto(View view) { + if (ContextCompat.checkSelfPermission(this, permission.CAMERA) == PackageManager.PERMISSION_GRANTED) { + doTake(); + } else { + ActivityCompat.requestPermissions(this, new String[]{permission.CAMERA}, 1); + } + } + + @Override + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + if (requestCode == 1) { + if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { + doTake(); + } else { + Toast.makeText(this, "你没有获得摄像头权限~", Toast.LENGTH_SHORT).show(); + } + } + + } + + private void doTake() { + File imageTemp = new File(getExternalCacheDir(), "imageOut.jpeg"); + if (imageTemp.exists()) { + imageTemp.delete(); + } + try { + imageTemp.createNewFile(); + } catch (IOException e) { + e.printStackTrace(); + } + + if (Build.VERSION.SDK_INT > 24) { + imageUri = FileProvider.getUriForFile(this, "com.example.account_book.fileprovider", imageTemp); + } else { + imageUri = Uri.fromFile(imageTemp); + } + Intent intent = new Intent(); + intent.setAction("android.media.action.IMAGE_CAPTURE"); + intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri); + startActivityForResult(intent, REQUEST_CODE_TAKE); + + } + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (requestCode == REQUEST_CODE_TAKE) { + if (resultCode == RESULT_OK) { + // 获取拍摄的照片 + try { + InputStream inputStream = getContentResolver().openInputStream(imageUri); + Bitmap bitmap = BitmapFactory.decodeStream(inputStream); + pc.setImageBitmap(bitmap); + } catch (FileNotFoundException e) { + + } + } + } + } +} + + +