1. 程式人生 > >[開源學習_MeiZhi]首次進入App執行某操作,第二次進入則不再執行

[開源學習_MeiZhi]首次進入App執行某操作,第二次進入則不再執行

[開源學習__MeiZhi]首次進入App執行某操作,第二次進入則不再執行

這裡寫圖片描述
這個功能很常見. 這樣將功能封裝起來看起來不錯, 只是有個缺點就是每次不管要不要執行, 都會建立一個Once的匿名物件,有點浪費. 但是這種封裝的思想還是不錯的.
使用SnackBar的好處就是可以一直停在那個狀態, 等待你的操作. 這是Toast的不足之處.

呼叫程式碼如下:

 new Once(this).show("tip_guide_6", () -> {
     Snackbar.make(mRecyclerView, getString(R.string.tip_guide), Snackbar.LENGTH_INDEFINITE)
             .setAction(R.string.i_know, v -> {})
             .show();
 })
;

Once類程式碼:

/**
 * Created by drakeet on 8/16/15.
 */
public class Once {

    SharedPreferences mSharedPreferences;
    Context mContext;

    public Once(Context context) {
        mSharedPreferences = context.getSharedPreferences("once", Context.MODE_PRIVATE);
        mContext = context;
    }

    public
void show(String tagKey, OnceCallback callback) { boolean isSecondTime = mSharedPreferences.getBoolean(tagKey, false); if (!isSecondTime) { callback.onOnce(); SharedPreferences.Editor editor = mSharedPreferences.edit(); editor.putBoolean(tagKey, true
); editor.apply(); } } public void show(int tagKeyResId, OnceCallback callback) { show(mContext.getString(tagKeyResId), callback); } public interface OnceCallback { void onOnce(); } }

相關推薦

[開源學習_MeiZhi]首次進入App執行操作,第二進入不再執行

[開源學習__MeiZhi]首次進入App執行某操作,第二次進入則不再執行 這個功能很常見. 這樣將功能封裝起來看起來不錯, 只是有個缺點就是每次不管要不要執行, 都會建立一個Once的匿名物

Caffe學習系列(21):caffe圖形化操作工具digits的安裝與執行

經過前面一系列的學習,我們基本上學會了如何在linux下執行caffe程式,也學會了如何用python介面進行資料及引數的視覺化。 也許有人會覺得比較複雜。確實,對於一個使用慣了windows視窗操作的使用者來說,各種命令就要了人命,甚至會非常抵觸命令操作。沒有學過python,要自己去用python程

第一登陸 記住密碼第二進入直接進入展示頁面

//佈局 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" andr

Linux後臺啟動程式以及開啟XShell連線執行java -jar然後關閉連線程式不再執行問題

問題描述 我打好的jar包,放在伺服器上之後,在windows裡面用xshell開啟一個連線,然後執行java -jar 。。。。執行這個jar檔案,當我關閉這個連結的時候為什麼程式停止了呢? 開啟XShell連線並執行 java -jar  XX.jar  後當前的連線被

C++11多執行緒程式設計 第二章: join 和 detach 執行

  C++11 Multithreading – Part 2: Joining and Detaching Threads Varun January 21, 2015 C++11 Multithreading – Part 2: Joining and De

解決Android開發中ViewPager動態設定PagerAdapter時第二進入Fragment內容不顯示的問題

問題描述 筆者最近的Android專案要用到PagerSlidingTabStrip和ViewPager的組合,但是從github上下載原始碼後順利執行示例專案,用到自己的專案後發現一個問題,就是第二次進入該ViewPager所在Fragment後PagerS

android應用activity第一進入正常第二進入報錯

         在android 開發中工作中遇到一個問題,第一次進入應用,正常退出,若採用finish(),則第二次進入時候,程式出現如下錯誤(程式碼中有serversocket) 若是退出時在finish(),之後在繼續呼叫system.exit(0),則第二次進入

Android問題之webView第一開啟載入資料失敗,第二進入白屏問題

這個問題困擾了我好久 WebSettings settings = webview.getSettings(); webview.setVerticalScrollbarOverla

quartz定時任務實現只執行,以後不再執行

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schem

Android AsyncTask實現一個執行操作完成後啟動另一個執行

如何在一個執行緒完成操作後執行另一個執行緒? 有時候我們需要等待一個執行緒執行完成後再執行下一個執行緒。 發現asynctask可以實現這個功能,可以在一個執行緒操作完成後執行下一個執行緒。 原理就不多說了,直接看程式碼:  實現下載三個網路圖片,第一幅圖片下載完成後接

關於多個Fragment切換,退出整個應用(APP)後,第二開啟應用的報錯解決

第二次開啟APP的時候,fragment事物的.commit()或者 在退出整個應用的那個Activity,如HomeActivity的重寫回退事件onBackPressed()裡面寫上android.os.Process.killProcess(android.os.

如何開機不桌面進入直接執行一個程式

1.禁用開機啟動: 開始--執行--輸入msconfig回車--啟動--把explorer.的勾去掉就可以了。 2. 修改登錄檔: 在"HKEY_LOCAL_MACHINE\SOFTWARE\MICROSFOT\WINDOWS NT\CURRENTVERSION\W

時間都去哪兒了?開源一個統計iPhone上App執行時間和開啟次數的小工具【iOS8已失效】

         如今,大家每天都有大量時間花在手機上,但是,大家有沒有想過自己的時間都花在哪些App上了呢?相信很多人都有這樣的需求,不過iOS系統本身並不能顯示每個App的執行時間和次數,因此,本人寫了這樣一個小工具,可以在後臺進行監控當前使用的App,對App的開啟次數和執行時間進行統計,可以顯示今日、

[Untiy3d技巧學習]Untiy中用作計數器,或在間隔時間內執行一程式碼的方法。

在遊戲製作中,我們需要用到類似於在一定時間後執行某一段程式碼的方法來實現一些效果,其邏輯等同於如現實世界中的“紅綠燈”。 在Untiy當中,存在兩種常用的程式碼去實現這一功能。 方法一:計數器累加 先定義好一個用於計數的變數_currenTimeCnt = 0; 再一定

判斷使用者當天是否首次進入APP (Swift 4)

記得曾碰到個特殊需求,使用者當天首次進入APP時,才會去展示某些內容,對此特做封裝://MARK: 判斷是不是當天首次進入APP    func isFirstIntoAppToday() -> Bool {        let dateFormatter = Dat

Android App首次安裝完成後在安裝介面直接開啟應用,再按home鍵返回桌面,從桌面圖示重新進入app,返回不到之前的介面問題

概述 在做專案的時候遇到了,Android App首次安裝完成後在安裝介面直接開啟應用,再按home鍵返回桌面,從桌面圖示重新進入app,返回不到之前介面的問題;然而有一次完全退出應用後,這個問題就會消失。然後各種檢查程式碼覺得都沒有問題,後面通過對任務棧的實

值得向iOS學習的15個APP設計技巧

結合 減少 控件 系統設置 用戶信息 接下來 通知 保持 不同版本 iOS設計規範再閱讀 對比Google Material Design的設計規範,iOS有些大道至簡的味道,內容很少,但還是從中總(chao ) 結 ( xi ) 了一些設計技 ( tao)巧 ( lu )

[iOS] “是否允許“xxx”使用數據”,在iOS10之後,首次安裝App會彈框讓用戶授權,問題解決方案。

log 引導圖 決定 問題 應對 mil ima 移動 bsp 一、為什麽會彈 “是否允許使用數據”?   因為按照我們天朝的工信部要求,用戶再使用應用的過程中,如果要使用移動數據必須要用戶授權,其實這是好事,是為了保護用戶的流量或者話費不會無端的被扣除。所以蘋果在 iOS

開源系統ThinkSNS V4移動APP端 10月--11月更新播報

www 系統 img html 4.3 4.5 認證用戶 接口 4.6 社交系統ThinkSNS V4包含電腦web端、手機H5、Android APP端以及iOS APP端,從十月到目前十一月中旬,陸陸續續也更新了兩三次,由於更新的內容不多,所以沒有單獨發更新播報。同時,