android - 如何在android上一天只显示一次欢迎屏幕?
问题描述
如何在android上一天只显示一次欢迎屏幕?我正在准备一个带有表情符号雨滴的屏幕,我想在第一次打开应用程序时每天只显示一次。
public class MainActivity extends AppCompatActivity {
private EmojiRainLayout emojiRainLayout;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
emojiRainLayout = (EmojiRainLayout) findViewById(R.id.activity_main);
button = findViewById(R.id.startbutton);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
emojiRainLayout.addEmoji(R.drawable.bell);
emojiRainLayout.addEmoji(R.drawable.coconut);
emojiRainLayout.addEmoji(R.drawable.deepam);
emojiRainLayout.addEmoji(R.drawable.flower);
emojiRainLayout.addEmoji(R.drawable.folded);
emojiRainLayout.stopDropping();
emojiRainLayout.setPer(4);
emojiRainLayout.setDuration(7200);
emojiRainLayout.setDropDuration(2400);
emojiRainLayout.setDropFrequency(500);
emojiRainLayout.startDropping();
}
});
}
}
解决方案
- 当您第一次显示它时,将 currentTime 保存到 SharedPreferences 中,例如将 System.currentTimeMillis() 保存为 t1,
- 第二次,通过 System.currentTimeMillis() 获取当前时间 t2,
- 读取您的 t1,并通过新的 SimpleDateFormat("yyyy-MM-dd") 从 t1 和 t2 获取 day1 和 day2,
- 比较第 1 天和第 2 天,如果第 2 天大于第 1 天,则显示它并在 SharedPreference 中更新您的 t1 或第 1 天和第 2 天相同,然后什么也不做。
推荐阅读
- javascript - 使用 Javascript 从剪贴板获取文本
- r - 创建一个将时间间隔与原始数据相匹配的循环
- azure - 无法使用 VS2017 Enterprise 创建 Azure Service Fabric 项目
- java - 为什么 CORSFilter 与 ExceptionMapper 冲突
? - docker - Docker / 不同的内核要求
- javascript - React/HTML 从父级取消 onClick当一个子复选框被点击
- php - PHP(Laravel)将存储在db中的字符串转换为数组
- python - 为什么在 Python 循环中使用索引会产生如此巨大的影响?
- python - Voila 中的 Python-Markdown
- javascript - 开玩笑的模拟范围是什么?