前言:
如何讓一個畫面只有首次進入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(); } }
沒有留言:
張貼留言