前言:
如何讓一個畫面只有首次進入app的時候開啟。
今日實作影片:
你必須先看過如何儲存資料:http://nikeru8.blogspot.tw/2017/02/androidsharedpreferences.html
然後我們直接用 boolean來判斷是否第一次進入。
如果是第一次設定成True
然後在下面把boolean直設定成false
儲存這個設定!
完成!
夠簡單吧。
大部分的內容都寫在如何儲存資料內了,這邊就不再贅述
以下是我完整的程式碼:
完整程式碼:
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.chat.a015865.firstwork.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
</RelativeLayout>
MainActivity.java
public class MainActivity extends AppCompatActivity {
private SharedPreferences mSharedPreferences;
private boolean firstOpenApp = true;
private static final String DATA = "DATA";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSharedPreferences = getSharedPreferences(DATA, MODE_PRIVATE);
readData();
CheckFirstIn();
}
private void readData() {//讀取
firstOpenApp = mSharedPreferences.getBoolean("Open", firstOpenApp);
}
private void saveData() {//儲存
mSharedPreferences.edit()
.putBoolean("Open", false)
.apply();
}
private void CheckFirstIn() {
if (firstOpenApp) {
new AlertDialog.Builder(this)
.setMessage("這是第一次開啟App")
.setPositiveButton("確定進入", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();//關閉Dialog
}
}).show();
firstOpenApp = false;
}
}
@Override
protected void onPause() {//在onPause內儲存
super.onPause();
saveData();
}
}
沒有留言:
張貼留言