package com.example.lbt4;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import com.example.lbt4.menu.IndexFragment;
import com.example.lbt4.menu.ShoppyFragment;
import com.example.lbt4.menu.UserFragment;
import com.example.lbt4.uito.UtioY;
import com.google.android.material.bottomnavigation.BottomNavigationView;
import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
private static final int PERMISSION_REQUEST_CODE = 100;
private ArrayList<String> imagePaths;
int i=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.button8).setOnClickListener(view -> {
i++;
if (checkPermission()) {
imagePaths = getAllImagesPaths();
System.out.println("当前长度:"+imagePaths.size());
// UtioY.loadImageFromUrl(imagePaths.get(1),viewById);
if (!imagePaths.isEmpty()) {
String firstImagePath = imagePaths.get(i); // 这里假设我们加载第一张图片
ImageView imageView = findViewById(R.id.imageView5);
Bitmap bitmap = BitmapFactory.decodeFile(firstImagePath);
imageView.setImageBitmap(bitmap);
}
// 在这里使用imagePaths进行任何操作
} else {
requestPermission();
}
});
findViewById(R.id.button9).setOnClickListener(view -> {
i--;
if (checkPermission()) {
imagePaths = getAllImagesPaths();
System.out.println("当前长度:"+imagePaths.size());
// UtioY.loadImageFromUrl(imagePaths.get(1),viewById);
if (!imagePaths.isEmpty()) {
String firstImagePath = imagePaths.get(i); // 这里假设我们加载第一张图片
ImageView imageView = findViewById(R.id.imageView5);
Bitmap bitmap = BitmapFactory.decodeFile(firstImagePath);
imageView.setImageBitmap(bitmap);
}
// 在这里使用imagePaths进行任何操作
} else {
requestPermission();
}
});
if (checkPermission()) {
imagePaths = getAllImagesPaths();
System.out.println("当前长度:"+imagePaths.size());
// UtioY.loadImageFromUrl(imagePaths.get(1),viewById);
if (!imagePaths.isEmpty()) {
String firstImagePath = imagePaths.get(0); // 这里假设我们加载第一张图片
ImageView imageView = findViewById(R.id.imageView5);
Bitmap bitmap = BitmapFactory.decodeFile(firstImagePath);
imageView.setImageBitmap(bitmap);
}
// 在这里使用imagePaths进行任何操作
} else {
requestPermission();
}
BottomNavigationView bot = findViewById(R.id.bottomNavigationView);
// getSupportFragmentManager().beginTransaction().replace(R.id.linearLayout,new IndexFragment()).commit();
// getSupportFragmentManager().beginTransaction().replace(R.id.linearLayout,new ShoppyFragment()).commit();
bot.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
Fragment f1=null;
switch (item.getItemId()){
case R.id.index:
f1=new IndexFragment();
break;
case R.id.shoppy:
f1=new ShoppyFragment();
break;
case R.id.user:
f1=new UserFragment();
break;
}
getSupportFragmentManager().beginTransaction().replace(R.id.linearLayout,f1).commit();
return true;
}
});
}
private boolean checkPermission() {
return ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED;
}
private void requestPermission() {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, PERMISSION_REQUEST_CODE);
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == PERMISSION_REQUEST_CODE) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
imagePaths = getAllImagesPaths();
// 在这里使用imagePaths进行任何操作
}
}
}
private ArrayList<String> getAllImagesPaths() {
ArrayList<String> imagePathList = new ArrayList<>();
Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
String[] projection = {MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(uri, projection, null, null, null);
if (cursor != null && cursor.moveToFirst()) {
do {
String imagePath = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA));
System.out.println("tp"+imagePath);
imagePathList.add(imagePath);
} while (cursor.moveToNext());
cursor.close();
}
return imagePathList;
}
// void GetImagesPath(){
// System.out.println("执行1:xxxx");
//
// paths = new ArrayList();
// names = new ArrayList();
//
// Cursor cursor = getContentResolver().query(
// MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, null, null, null);
// System.out.println("获取到的"+cursor);
// while (cursor.moveToNext()) {
// System.out.println("执行2:xxxx");
//
// int columnIndex = cursor.getColumnIndex(MediaStore.Images.Media.DISPLAY_NAME);
// //获取图片的名称
// String name = cursor.getString(columnIndex);
// // 获取图片的绝对路径
// int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
// String path = cursor.getString(column_index);
//
//
// paths.add(path);
// names.add(name);
//
// Log.i("GetImagesPath", "GetImagesPath: name = "+name+" path = "+ path);
//
//
// }
// System.out.println("执行3:xxxx");
//
// listItems = new ArrayList<>();
// for (int i = 0; i < paths.size(); i++) {
// Map<String, Object> map = new HashMap<>();
// map.put("name", paths.get(i));
// map.put("desc", names.get(i));
// listItems.add(map);
// }
// System.out.println("执行4:xxxx");
//
// }
}
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>