2012-02-23 10 views
0

私はAndroid初心者で、内部メモリにファイルを保存することに問題があります。私はアンドロイドのドキュメントでチュートリアルを読んでコードをコピーしました。シミュレータでアプリを実行している場合、ファイルが作成され、すべて正常ですが、実際の電話で実行するとファイルが見つかりません。私はopenFileOutput()を使用するので、Android/data/myApp/...のアプリケーションのフォルダに保存する必要がありますが、実際にこのアプリケーションのフォルダは存在しません.../アンドロイド携帯にファイルを保存

誰かが私を助けることができますか?ここで

は私のコードです:

String FILENAME = "hello_file"; 
    String string = "hello world!"; 

    FileOutputStream fos; 
    try { 
     fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); 
     fos.write(string.getBytes()); 
     fos.close(); 
    } catch (FileNotFoundException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    }catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

+1

これをマニフェストファイルに含めましたか?\t ''? –

+0

私はを得ました。私は内部メモリに書き込むだけです – user1086105

+0

oh noooo、今私は見ています。もちろんAccess_fineの場所はまったく違うものです!ご意見ありがとうございます!今それはうまく動作します:) – user1086105

答えて

0

ユーザーを除くすべてのユーザーが、あなたのアプリケーションが実行されているアカウントのデータフォルダが見えないあなたは、このフォルダの内容を表示するには、root権限が必要になります。

テスト目的のために、MODE_READ_WORLD(または何か)として保存すると、それを見ることができます。ただし、アプリを公開するときにMODE_PRIVATEに戻すことをお勧めします。

+0

ああ申し訳ありませんが、それはコピー貼り間違いでした。 MODE_WORLD_WRITEABLEのどちらかで私にとってうまくいきません。 – user1086105

+0

あなたのアプリケーションのフォルダは/ dataディレクトリには表示されませんが、cdコマンドで変更することはできます。 – ramdroid

+0

まだどちらもうまくいきません。実際に私はより正確にする必要があります:私はバーチャルシミュレータでアプリケーションを実行すると、すべてが問題なく、ファイルが作成され、私はそれを見ることができます...私は携帯電話でUSBデバッグモードで私はアプリを実行する場合、アプリを実行している間、Eclipseのファイルエクスプローラでファイル、少なくともそこに私はそれを正しく表示する必要がありますか? – user1086105

0

実際の電話では、データフォルダにアクセスできません。電話機がルートされている場合にのみデータフォルダにアクセスできますが、ファイルが作成されたかどうかをエミュレータで確認できます

+0

私は自分のアプリがworld-writableモードで作成したファイルエクスプローラでファイルにアクセスできませんか?私のsitutationは、私は私の携帯電話にいくつかのデータを記録し、ファイルに保存し、それを私のPCにコピーしたいということです... – user1086105

関連する問題