2013-08-27 4 views

Antwort

10

Ich würde empfehlen, dass Sie die SharedPreferences verwenden dafür:

Die Grundidee ist, dass Sie die SharedPreferences und suchen einen boolean Wert lesen, die auf den ersten App Start nicht existieren. Nach Standard werden Sie "true" zurückgeben, wenn der Wert, nach dem Sie gesucht haben, nicht gefunden werden konnte. Dies weist darauf hin, dass es sich tatsächlich um den ersten App-Start handelt. Dann speichern Sie nach dem ersten Start der App den Wert "false" in Ihren SharedPreferences, und beim nächsten Start wird der Wert "false" aus den SharedPreferences gelesen, was darauf hinweist, dass es nicht mehr der erste App-Start ist. Hier

ist ein Beispiel dafür, wie es aussehen könnte:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // your other code... 
    // setContentView(...) initialize drawer and stuff like that... 

    // use thread for performance 
    Thread t = new Thread(new Runnable() { 

     @Override 
     public void run() { 

      SharedPreferences sp = Context.getSharedPreferences("yoursharedprefs", 0); 
      boolean isFirstStart = sp.getBoolean("key", true); 
      // we will not get a value at first start, so true will be returned 

      // if it was the first app start 
      if(isFirstStart) { 
       mDrawerLayout.openDrawer(mDrawerList); 
       Editor e = sp.edit(); 
       // we save the value "false", indicating that it is no longer the first appstart 
       e.putBoolean("key", false); 
       e.commit(); 
      } 
     }   
    }); 

    t.start(); 
}