非常多時(shí)候我們須要檢測用戶是不是第一次打開應(yīng)用,從而初始化一些數(shù)據(jù),或者打開引導(dǎo)界面等等。
/*方法一: * 首次打開的時(shí)候獲取isFirstIn值,默認(rèn)值為false * 獲得false,證明不是第一次打開 * 獲得true,證明是第一次打開;然后把isFirstIn值設(shè)為false * */ SharedPreferences sp = getSharedPreferences("isFirstIn", Activity.MODE_PRIVATE); boolean isFirstIn = sp.getBoolean("isFirstInWith1.4", true); if(isFirstIn) { SharedPreferences.Editor editor = sp.edit(); editor.putBoolean("isFirstInWith1.4", false); editor.commit(); new AlertDialog.Builder(this).setMessage("這是第一次打開").show(); } else { new AlertDialog.Builder(this).setMessage("你打開了n次了").show(); }
注:由于在用戶安裝新版本號(hào)的時(shí)候,我們想要的也是顯示第一次打開,可是版本號(hào)更新是會(huì)保留上一版本號(hào)的數(shù)據(jù)的,所以檢測到的是之前有打開過。
所以我們在每個(gè)版本號(hào)檢測的key中增加版本號(hào)號(hào),如上面的isFirstInWith1.4,當(dāng)中1.4就是版本號(hào)號(hào)。
/*方法二: * 在首次打開的時(shí)候檢查是否存在文件(com.example.test.isFirstIn) * 假設(shè)已存在,證明不是第一次打開 * 不存在,證明是第一次打開;打開之后創(chuàng)建文件 * */ File dir = getFilesDir();// /data/data/com.example.test/files File f = new File(dir, "com.example.test.isFirstIn"); Log.e("miquan", f.getAbsolutePath()); if(f.exists()) { //dosomething new AlertDialog.Builder(this).setMessage("你打開了n次了").show(); } else { try { f.createNewFile(); } catch (IOException e) { e.printStackTrace(); } //dosomething new AlertDialog.Builder(this).setMessage("這是第一次打開").show(); }
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
