GetFilesDir()はnullを返します。これは全く奇妙です。悪いことに、私のコードは...痛いほどシンプルです:getFilesDir()nullを返す
public class main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
File f = this.getFilesDir();
f.getAbsolutePath();
tempClicked((ToggleButton)findViewById(R.id.tempToggle));
}
これはf.getAbsolutePath()でクラッシュします。現在、1024x600で2.3.3システムをエミュレートするエミュレータで動作しています。
Googleはこれを何も返しません...なぜ地球上で起こっているのですか?そして私はそれをどのように修正するのですか?
ありがとうございます!
EDIT :: SOLVED!
まあ、多少...
は、私はそれがエミュレータ誤りであることが判明したと思います。エミュレータのスキンをWXVGAに変更し、ファイルを正しく書き込めるようにしました。そして、解像度を1024x600に戻したとき、正しく動作し続けました。
誰かが似たようなエラーを抱えている場合は、バグを見つけ出すまで、エミュレータで遊んでみることをお勧めします。 f.getAbsolutePath前にこれを追加すること
これは奇妙です!物理デバイスとエミュレータの両方で、Context.getFilesDir()を呼び出すときに "/data/data/com.example.myapp/files"のような文字列を受け取ります。私は独立しているはずの事実にもかかわらず私のSDカードを削除しようとしました。同じ結果。それは実際に困惑しています。 – Shlublu
@ Shlublu同じ文字列を得るのは、システムにSDカードの概念がなく、内部/外部ストレージだけであるということです。 – rf43
私はこのバグに遭遇しました。バカバカしい。エミュレータのスキンを前後に変更することで、それも私のために修正されました。このようなクラップスは私がエミュレータを使って嫌いな理由です。 –