2013-08-27 77 views

Trả lời

10

tôi sẽ khuyên bạn nên sử dụng SharedPreferences cho rằng:

Ý tưởng cơ bản là bạn đọc SharedPreferences và tìm kiếm một giá trị boolean không tồn tại ở đó khi khởi động ứng dụng đầu tiên. Theo mặc định , bạn sẽ trả về "true" nếu giá trị bạn đang tìm kiếm không thể tìm thấy, cho biết rằng thực tế là ứng dụng đầu tiên bắt đầu. Sau đó, sau khi ứng dụng đầu tiên của bạn bắt đầu, bạn sẽ lưu trữ giá trị "sai" trong SharedPreferences và khi bắt đầu tiếp theo, giá trị "false" sẽ được đọc từ SharedPreferences, cho biết rằng nó là không còn bắt đầu ứng dụng đầu tiên nữa.

Dưới đây là một ví dụ về cách nó có thể trông giống như:

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