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();
}
Nguồn
2013-08-27 21:14:18