1

さて、私はできる限り多くの調査を行って、何か間違ったことをしているかどうかを調べましたが、Google や Android のチュートリアルでは、私のシナリオでは本当に答えてくれませんでした.

シナリオ:

16 GB の内蔵ストレージを備えた Android デバイスがあるとします。また、デバイスに 32GB の SD カードがあるとします。基本的に、デバイスには合計 48GB のストレージ容量があります。私のアプリは、デバイス上のユーザーがアクセスできるすべての場所をスキャンする必要があります。つまり、通常のユーザー (root 以外) が読み書きできるすべての場所にアクセスして読み取ることができる必要があります。

私が今していること:

私は私Environment.getExternalStorageDirectory()を指す推奨を使用してい/mnt/sdcardます。

質問:

Environment.getExternalStorageDirectory()ユーザーがアクセスできるデバイス上のすべてのストレージにアクセスできますか? 16GB の内蔵ストレージと 32GB の SD カード ストレージがあるので混乱していますが、Android は 2 つの別々の場所をどのように処理しますか? 単純に 2 つを 1 つに結合するだけ/mnt/sdcardですか、それとも私のコード行では 2 つのストレージ ディレクトリの 1 つにしかアクセスできませんか?

これが初歩的な質問のように聞こえる場合は申し訳ありませんが、利用可能な唯一のストレージが内部ストレージであるiPhoneのバックグラウンドから来たので、この状況を処理するAndroidの方法に本当に困惑しています. ご助力いただきありがとうございます!

4

1 に答える 1

6

Environment.getExternalStorageDirectory() を使用すると、ユーザーがアクセスできるデバイス上のすべてのストレージにアクセスできますか?

いいえ。それは外部ストレージを示しています。

Android は 2 つの別々の場所をどのように処理しますか?

Android 自体は、ほとんどの場合、外部ストレージとして指定された 1 つの場所だけを気にします。それ以上のものはデバイス固有であり、製造元 (または、場合によっては ROM mod メンテナー) 次第です。

これが、すべて「外部ストレージ」と見なされる可能性のある複数のボリュームにアクセスするための現在の Android SDK に何も表示されない理由です。

2つを単数の/ mnt / sdcardに結合するだけですか

いいえ。

または、コード行で 2 つのストレージ ディレクトリの 1 つにしかアクセスできませんか?

はい。

更新:開発者が Android ストレージの状況を理解できるように、一連のブログ投稿を書きました。

于 2013-07-26T13:35:29.323 に答える