2

FileオブジェクトとさまざまなFileReaders/WritersおよびBufferedReaders/Writersを使用して、アプリのすべてのデータをSDカードのディレクトリとサブディレクトリに配置しました。

すべてのデバイスにSDカードが搭載されているわけではないことに気付いたので、4つの質問があります。

  1. Androidを実行している携帯電話の何パーセントが現在SDカードを実装していないかを誰かが知っていますか?

  2. SDカードでできるのと同じように、電話の内部メモリ(アプリケーションディレクトリ)のファイル構造を操作する許可を自分に与える方法はありますか?

    • また -
  3. createNewFile()の代わりにopenFileOutput()を使用して、アプリでSDカードファイルの動作を複製するには、すべてのコードを再実装する必要がありますか?

  4. そもそもSDディレクトリとアプリケーションディレクトリのファイルアクセスに違いがあるのはなぜですか?

4

1 に答える 1

1

1)Androidを実行している携帯電話の何パーセントが現在SDカードを実装していないかを誰かが知っていますか?

受話器がSDカードをサポートできるとしても、SDカードはPCアクセスのために取り外したり取り付けたりできるなど、さまざまな理由があるため、特定の時点でサポートされるわけではありません。ですから、そこに重要なものを何も置かないでください。

2)SDカードでできるのと同じように、電話の内部メモリ(アプリケーションディレクトリ)のファイル構造を操作する許可を自分に与える方法はありますか?

内部メモリファイルは階層構造を持つことはできませんopenFileOutput()。ファイル名にパス区切り文字が含まれている場合は例外となります。/data/data/com.your.app/filesそれ以外に、ディレクトリに配置できるファイルの数に制限はありません。また、そこでファイルを作成/開くための特定の権限は必要ありません。

3)createNewFile()の代わりにopenFileOutput()を使用して、アプリでSDカードファイルの動作を複製するには、すべてのコードを再実装する必要がありますか?

わたしは・・・しないだろう。基本的に、アプリケーションのすべての小さいファイルや生命にかかわるファイルは内部メモリに入れられ、大きくてそれほど必要ではないファイル(画像、ビデオ?)はすべてSDカードに入れられます。競合は発生せず、アプリケーションは問題なく起動する可能性があり、SDカードが利用できない場合は、それについて不平を言います。

于 2012-05-11T03:38:15.157 に答える