利用SharedPreferences存储判断是否第一次进入
SharedPreferences setting = getSharedPreferences(SHARE_APP_TAG,
0);
Boolean user_first = setting.getBoolean("FIRST", true);
if (user_first) {// 判断是否第一次进入
setting.edit().putBoolean("FIRST", false).commit();
startActivity(new Intent(SplashActivity.this,
ExplainActivity.class));// 引导界面
} else {
startActivity(new Intent(SplashActivity.this,
MainActivity.class));// 主界面
}
finish();
// 实例化Editor对象
SharedPreferences.Editor editor = setting.edit();
// 存入数据
editor.putBoolean("FIRST", false);
// 提交修改
editor.commit();
Handler+Thread实现界面的延迟加载
new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(3000); Message msg = Message.obtain(); //通知Handler进行界面更新 msg.what = GO_ACTIVITY; handler.sendMessage(msg); } catch (Exception e) { e.printStackTrace(); } } }).start();
Handler handler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case GO_ACTIVITY: startActivity(new Intent(SplashActivity.this, MainActivity.class));// 主界面 break; default: break; } } };
最后奉上欢迎界面SharedPreferences+Handler+Thread完成延迟3秒加载和判断是否第一次进入的全部代码
public class SplashActivity extends Activity {
protected static final int GO_ACTIVITY = 0;
protected static final String SHARE_APP_TAG = null;
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case GO_ACTIVITY:
//sp存储
SharedPreferences setting = getSharedPreferences(SHARE_APP_TAG,
0);
Boolean user_first = setting.getBoolean("FIRST", true);
if (user_first) {// 判断是否第一次进入
setting.edit().putBoolean("FIRST", false).commit();
startActivity(new Intent(SplashActivity.this,
ExplainActivity.class));// 引导界面
} else {
startActivity(new Intent(SplashActivity.this,
MainActivity.class));// 主界面
}
finish();
// 实例化Editor对象
SharedPreferences.Editor editor = setting.edit();
// 存入数据
editor.putBoolean("FIRST", false);
// 提交修改
editor.commit();
break;
default:
break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
initView();
}
// 设置延迟3秒
private void initView() {
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(3000);
Message msg = Message.obtain();
//通知Handler进行界面更新
msg.what = GO_ACTIVITY;
handler.sendMessage(msg);
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
}