2013-08-27 20 views

Odpowiedz

10

Polecam skorzystanie z SharedPreferences za to:

Podstawowym założeniem jest to, że czytasz SharedPreferences i spojrzeć na wartość logiczną, która nie istnieje tam w pierwszym starcie aplikacji. Domyślnie, zwrócisz "true", jeśli szukana wartość nie zostanie znaleziona, co oznacza, że ​​jest to pierwszy start aplikacji. Następnie, po pierwszym uruchomieniu aplikacji, wartość " " zostanie zapisana jako "false" w SharedPreferences, a przy następnym uruchomieniu wartość "false" zostanie odczytana z SharedPreferences, wskazując, że jest to , nie jest już pierwszym uruchomieniem aplikacji.

Oto przykład jak to może wyglądać następująco:

@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(); 
}