2011-07-21 21 views
13

GetFilesDir(), tamamen tuhaf olan null döndürüyor. Daha da kötüsü, ... benim kodudur acı basit: Bu) (f.getAbsolutePath üzerine kilitlenmesinegetFilesDir() dönen 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)); 
} 

. Şu anda 1024x600'de bir 2.3.3 sistemi öykünen emülatörde çalışıyor.

Google bu konuda hiçbir şey döndürmez ... neden bu dünyada böyle oluyor? Ve bunu nasıl düzeltirim?

Çok teşekkürler!

EDIT :: SOLVED!

Eh, biraz ...

Ben bir emülatör hata olduğu ortaya çıktı düşünüyorum. Emülatörün derisini WXVGA'ya değiştirdim ve daha sonra dosyaları doğru şekilde yazmasına izin verdim. Ve sonra çözünürlüğü tekrar 1024x600'e değiştirdiğimde doğru çalışmaya devam etti.

Yani, herkes benzer bir hataya sahipse, hatayı geçmenin bir yolunu bulana kadar öykünücü ile oynamanızı öneririm. f.getAbsolutePath() önce bu ekleme

+0

Bu garip! Hem fiziksel aygıtlarda hem de emülatörlerde Context.getFilesDir() öğesini çağırırken "/data/data/com.example.myapp/files" gibi bir dize alıyorum. SD kartımı çıkarmamıza rağmen, hatta SD kartımı çıkarmaya çalıştım. Aynı sonuç. Bu aslında şaşırtıcı. – Shlublu

+1

@Shlublu Aynı dizeyi almanızın sebebi, sistemin SDcard'ınızın, yalnızca dahili/harici depolama konsepti içermemesidir. – rf43

+0

Sadece bu böcekle karşılaştım. Bu saçmalık. Emülatör cildini ileri geri değiştirmek benim için de sabitledi. Böyle saçmalamak, emülatörleri kullanmaktan nefret ediyorum. –

cevap

0

Dene:

File f = new File(this.getApplicationContext().getFilesDir() + "/"); 
f.mkdirs(); 
+1

gibi görünüyor Bu bir emülatör hatası olduğu ortaya çıktı. Emülatör cildi ve yoğunluğu ile oynadım ve kodu değiştirmeden aniden hayata döndü. Eğer emülatör hala buggy iken kodunuzu koştuysam, bu zaten işe yaramazdı katlayıcı/null yapmaya çalışmış olurdu ... – Squimmy

+0

adam, getFilesDir() null dönen, o zaman nasıl olacak iş !! – NarendraJi