0

以下のスクリーンショットのように、内部メモリにギャラリー フォルダを作成したいと思います。

ここに画像の説明を入力

アルバムをクリックすると、その中の画像のリストが表示されます。

String dirPath = getFilesDir().getAbsolutePath() + File.separator + "newfoldername";
File projDir = new File(dirPath);
4

1 に答える 1

0

アプリのフォルダーを作成するための以下のコードは、フォルダーの文字列名を取得し、SD カードが使用可能かどうかを確認し、SD カードが使用可能かどうかを確認し、写真フォルダーにその名前のフォルダーを作成する場合は、Sd カードが存在しない場合はフォルダーを作成します。 data/data.com.myapp/files/yourFolder のように、アプリがインストールされている内部メモリと同じ名前

public File createDirectoryForApp(Context con, String dirName)
{
File directory=null;
    /*
     * This sections checks the phone to see if there is a SD card. if
     * there is an SD card, a directory is created on the SD card 
     */

    if (isExternalStorageWritable()) {

         // search for directory on SD card
        directory = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)
                + "/"+dirName+"/");

        // if no directory exists, create new directory to store test
        // results
        if (!directory.exists()) {
            directory.mkdir();
        }

    } 
    else
    {
          //create new file directory object in internal memory as no SD card is available
        directory = new File(con.getFilesDir()
                + "/"+dirName+"/");

        // if no directory exists, create new directory
        if (!directory.exists()) {
            directory.mkdir();
        }


    }
    return directory;
        }

//method used above to check external storage
 public static boolean isExternalStorageWritable() {
    String state = Environment.getExternalStorageState();
    if (Environment.MEDIA_MOUNTED.equals(state)) {
        return true;
    }
    return false;
}

特定の拡張子を持つファイルと、内部ディレクトリ (ファイルでもある) 内のその他のファイルを取得するには、次の方法を使用できます。

private List<File> getListFiles(File parentDir) {
ArrayList<File> inFiles = new ArrayList<File>();
File[] files = parentDir.listFiles();
for (File file : files) {
    if (file.isDirectory()) {
        inFiles.addAll(getListFiles(file));
    } else {
        if(file.getName().endsWith(".png")){
            inFiles.add(file);
        }
    }
}
return inFiles;
}

このすべての情報を視覚的に表現するには、レイアウトをどのように設計し、これらのファイルから取得した後にデータを表示するかがあなた次第です。

于 2013-03-26T07:21:16.093 に答える