[开源学习_MeiZhi]首次进入App执行某操作,第二次进入则不再执行
来源:互联网 发布:淘宝视频下载地址提取 编辑:程序博客网 时间:2024/05/22 17:10
[开源学习__MeiZhi]首次进入App执行某操作,第二次进入则不再执行
源码片段来源: drakeet的MeiZhi 项目.
https://github.com/drakeet/Meizhi
这个功能很常见. 这样将功能封装起来看起来不错, 只是有个缺点就是每次不管要不要执行, 都会创建一个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(); }}
3 0
- [开源学习_MeiZhi]首次进入App执行某操作,第二次进入则不再执行
- APP进入后台,执行任务
- 首次进入App
- app首次进入的时候,新手操作进行提醒操作
- smali第二次进入方法后再执行事件
- android app首次进入的时候进行提醒操作
- android app首次进入的时候进行提醒操作
- 今天执行进入状态
- 今天执行进入状态
- 首次进入APP透明提示效果
- android首次进入App新手引导
- 首次进入APP的蒙层引导
- Lottie实现app首次进入动画
- ADF: 如何在首次进入页面时避免table自动执行view object的查询
- ADF: 如何在首次进入页面时避免table自动执行view object的查询
- struts2进入页面执行action
- 让程序进入ring0级执行
- 让程序进入ring0级执行
- LightOJ 1051 Good or Bad
- HDU3746Cyclic Nacklace
- 一种基于透明计算的智能终端软件更新方法
- Android 之高仿活动时分秒倒计时
- HDU 1232 畅通工程 (并查集)
- [开源学习_MeiZhi]首次进入App执行某操作,第二次进入则不再执行
- #508 Wiggle Sort
- vijos1037 搭建双塔(重庆一中高2018级信息学竞赛测验7) 解题报告
- Struts2中iterator标签遍历map总结
- Oracle ETL调度
- ubuntu14.04+MXnet+CPU
- iOS IPv6-only 的兼容性解决方案
- INSTALL_FAILED_INTERNAL_ERROR错误的解决办法
- F28027第八课---ADC操作解读