日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

Android 利用sharepreference保存应用程序状态

發(fā)布時(shí)間:2024/10/8 Android 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 利用sharepreference保存应用程序状态 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在開發(fā)Android應(yīng)用過(guò)程中,都會(huì)需要保存應(yīng)用程序的狀態(tài),比如音樂播放器利用sharepreference保存用戶的設(shè)置,音樂的播放狀態(tài),音樂的播放進(jìn)度等。就在現(xiàn)在的項(xiàng)目上需要對(duì)主界面上按鈕進(jìn)行控制,要求是:當(dāng)按鈕按下后在一天之內(nèi)還可以點(diǎn)擊進(jìn)入,但是過(guò)了一天之后就禁用改按鈕,然后在4周之后對(duì)按鈕重新可以使用。

在這個(gè)測(cè)試程序中就不那么麻煩了,驗(yàn)證一下功能就ok,所以選擇的是2分鐘之后禁用,然后10分鐘之后重新可用。

布局文件就是一個(gè)按鈕,不解釋。

這里主要是根據(jù)時(shí)間點(diǎn)來(lái)進(jìn)行判斷,所以要獲取當(dāng)前時(shí)間:

//獲取當(dāng)前日期public String Currentdate(){Calendar c = Calendar.getInstance();int year = c.get(Calendar.YEAR);int month = c.get(Calendar.MONTH) + 1;int day = c.get(Calendar.DAY_OF_MONTH);int hour = c.get(Calendar.HOUR_OF_DAY);int munite = c.get(Calendar.MINUTE);String date = year + "," + month + "," + day + "," + hour + "," + munite;//text.setText("記錄日期:" + date);System.out.println(date);return date;} 然后是獲得一個(gè)SharedPreferences,里面保存兩個(gè)數(shù)據(jù),一個(gè)是時(shí)間,一個(gè)是按鈕的點(diǎn)擊次數(shù)count,重點(diǎn)說(shuō)一下這個(gè)count,第一次點(diǎn)擊這個(gè)按鈕的時(shí)候才回保存時(shí)間數(shù)據(jù),要不然在功能實(shí)現(xiàn)上就有瑕疵,在著兩分鐘之內(nèi)一直點(diǎn)擊按鈕的話就一直保存當(dāng)前時(shí)間,就會(huì)導(dǎo)致一個(gè)問題,如果用戶在還沒到2分鐘的時(shí)候又保存了一次時(shí)間數(shù)據(jù)。。。那后面就完了。。。

保存時(shí)間和點(diǎn)擊次數(shù)的代碼實(shí)現(xiàn)

@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.button01://獲取次數(shù)int count = pref.getInt("count", 0);Editor editor = pref.edit();//獲取當(dāng)前日期String date = Currentdate();//保存第一次的時(shí)間數(shù)據(jù)if (count == 0) {//保存當(dāng)前日期editor.putString("date", date);Toast.makeText(this, "當(dāng)前時(shí)間保存成功", Toast.LENGTH_SHORT).show();}editor.putInt("count", ++count);editor.commit();break;default:break;}}
保存好了數(shù)據(jù)之后就是實(shí)現(xiàn)對(duì)按鈕的控制了,代碼下面

pref = getSharedPreferences("data", MODE_PRIVATE);//第一次打開,保存一個(gè)初始密碼 // SharedPreferences.Editor editor = getSharedPreferences("password", MODE_PRIVATE).edit();String currentDate = pref.getString("date", "");if (!currentDate.equals("")) {String[] preftime = currentDate.split(",");for (int i = 0; i < preftime.length; i++) {System.out.println("數(shù)組---" + preftime[i]);}System.out.println("currentDate---" + currentDate);System.out.println("數(shù)據(jù)長(zhǎng)度------" + preftime.length);String systemdate = Currentdate();String [] time = systemdate.split(",");for (int i = 0; i < time.length; i++) {System.out.println("數(shù)組---" + time[i]);}//兩分鐘之后禁用Button01if (Integer.parseInt(time[4]) > (Integer.parseInt(preftime[4]) + 2)) {button01.setEnabled(false);System.out.println("不可用");}if (Integer.parseInt(time[4]) > (Integer.parseInt(preftime[4]) + 10)) {button01.setEnabled(true);System.out.println("重新可用");}}
經(jīng)過(guò)測(cè)試,功能實(shí)現(xiàn)~~

demo下載地址:SharePreferences保存用用程序狀態(tài)

總結(jié)

以上是生活随笔為你收集整理的Android 利用sharepreference保存应用程序状态的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。