0

この命令を使用して、誰でも読み取り可能なファイルを作成しています。

FileOutputStream fos = openFileOutput(filename.toString(), MODE_WORLD_READABLE);

ファイルが作成されます(エミュレータのメモリとファイルが表示されます)が、デバイスで見つかりません!! それはどこにある?

4

2 に答える 2

2

In Application's Internal Storage .. デフォルトで/data/data/<package_name>/

このディレクトリを確認してください..

ただし、デバイスがルート化されていない場合、このファイルはDDMS -> FIle-Explorerで見ることができません。

これについては、次を使用してコマンドプロンプトから試すことができますadb shell

アプリケーション内のファイルにアクセスするだけの場合は、

getFilesDir()

内部ファイルが保存されているファイル システム ディレクトリへの絶対パスを取得します。

于 2012-08-27T09:38:44.047 に答える
0

このファイルは /data/data/com.yourpackagename/files/filename.txt にあり、デバイスがルート化されていない限り非表示になっています。ファイルが作成されたディレクトリからコピーすることで、ファイルにアクセスできます。

コマンドラインから:

ファイルをコピーするには

adb -d shell 
run-as com.yourpackagename 
cat /data/data/com.yourpackagename/files/filename.txt > /sdcard/filename.txt

または、SQLite データベースの場合

cat /data/data/com.yourpackagename/databases/dbname.db > /sdcard/dbname.sqlite 

このソリューションは、デバイスをルート化する必要なく機能します。

于 2014-06-24T21:09:23.230 に答える