0

アプリで画像 (ディスク上の場所) の uri 値を使用したいと考えています。そのためには、/sdcard/... で始まる文字列を使用する必要があります。

ファイル マネージャーを開いて画像を選択することもできますが、それでもすべてのファイル マネージャーは、/mnt/sdcard などの何かを先頭に追加します。/sdcard の前の文字数が常に同じとは限らないため、部分文字列を使用できません。

/sdcard からこの文字列を読みたいのですが、これを行う方法はありますか?

4

4 に答える 4

1

これは次のように行うことができます。

    File cacheDir;
    if (android.os.Environment.getExternalStorageState().equals(
            android.os.Environment.MEDIA_MOUNTED)) {
        cacheDir = new File(
                android.os.Environment.getExternalStorageDirectory(),
                getString(R.string.cache_directory_image_cache));
    } else {
        cacheDir = getCacheDir();
    }

    String filepath = cacheDir.getAbsolutePath();

次に、ファイルパスにパスがあります!

于 2012-04-23T09:02:41.560 に答える
0

うーん。indexOf("/sdcard") を使用して "/sdcard" の位置を見つけ、その時点から部分文字列を開始します。

String#substring( String#indexOf("/sdcard"), String#length() )

于 2012-04-23T09:04:09.987 に答える
0

String.lastIndexOfを使用して、「/sdcard」の最後の出現を見つけ、index+offset から通常の部分文字列を使用して残りを読み取ることができます ...

于 2012-04-23T09:05:12.440 に答える
0

Uは関数を使用できます

indexOf(文字列 str)

str は「/sdcard/」です

これにより、文字列が最初に出現したインデックスが得られます。

于 2012-04-23T09:05:29.410 に答える