簡體   English   中英

嘗試從SD卡android加載和讀取圖像

[英]Trying to load and read images from SD card android

我正在嘗試做的是:

創建應用程序時,我試圖將我擁有的所有圖像加載到手機SD卡上。 然后,我有一個按鈕,當我單擊該按鈕時,應顯示下一張圖像。

我所做的:

到目前為止,我已經將此代碼包含在onCreate()方法中,但是我不知道如何將多個圖像添加到文件夾中。

 File sdCardDirectory = Environment.getExternalStorageDirectory();
    File image = new File(sdCardDirectory, "uct.png");
    boolean success = false;

    // Encode the file as a PNG image.
    FileOutputStream outStream;
    try {

        outStream = new FileOutputStream(image);
        bitmap.compress(Bitmap.CompressFormat.PNG, 100, outStream);
    /* 100 to keep full quality of the image */
        outStream.flush();
        outStream.close();
        success = true;
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

目前,我有一個圖像ID數組,這些圖像目前存儲在Drawable文件夾中。

int[] images = {R.drawable.img1,R.drawable.img2,R.drawable.img3,R.drawable.img4};

然后,我有一個onClick()方法,可以增加一個私有索引變量來像這樣設置Image Resource(此處imgView是ImageView)。

imgView.setImageResource(images[current_image_index]);

我不知道該怎么辦:

首先,我不知道如何在onCreate()方法中向SD卡添加多個圖像。 另外,我不確定單擊按鈕時從SD加載“正確”圖像的最佳方法是什么。

我希望這是有道理的,請備注是否需要澄清。

如果我在你的情況下,

  1. 創建ViewPager以顯示所有圖像。

  2. 您可以使用此代碼獲取所有圖片的網址。

      String[] STAR = {"*"}; ArrayList<String> imageUri = new ArrayList<>(); Cursor cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI , STAR, null, null, null); if (cursor != null) { if (cursor.moveToFirst()) { do { String path = cursor.getString(cursor .getColumnIndex(MediaStore.Images.Media.DATA)); Log.i("Path", path); imageUri.add(path); getDate(path); } while (cursor.moveToNext()); } } 
  3. 您可以將imageUri ArrayList傳遞給Viewpager適配器。在viewPager適配器上,您可以使用任何圖像庫來加載圖像。 如果是畢加索

    Picasso.with(context).load(uri).resize(150,150).centerCrop().into(imageView);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM