java - 如何在两个活动的共享首选项中存储时间
问题描述
当我的用户玩游戏时,我想将他们锁定 30 秒。我正在尝试使用SharedPreferences
. 我对SP不太熟悉,也不完全确定如何使用它。所以它应该看起来像这样
ifGameOver(){
//lock the game for 30 seconds
//send users to main menu until 30seconds is over
}
然后在主菜单中,我希望能够看到 TextView 倒计时 30 秒。所以在这里我会getLong
或什么(?)。任何人都可以对此有所了解吗?
解决方案
将当前时间保存到SharedPreferences
头等舱Activity
:
private void saveCurrentTIme() {
SharedPreferences sharedpreferences = getSharedPreferences("myAppPref",
Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putLong("GameTime", System.currentTimeMillis());
editor.commit();
}
SharedPreferences
从第二Activity
类中检索节省的时间:
private long getSavedTime() {
SharedPreferences sharedpreferences = getSharedPreferences("myAppPref", Context.MODE_PRIVATE);
return sharedpreferences.getLong(Name, 0L);
}
为了比较节省的时间是否已过,您可以创建类似Timer
.
您可以查看此答案以了解如何操作。
推荐阅读
- java - 评估 SpringEL 表达式的异常 - 由于集合导致的错误?
- javascript - 如何使用纯 JavaScript 将输入值保存在 JSON 对象中,然后将其保存在数组中?
- css - 如何在没有媒体查询的情况下处理响应式表单布局
- node.js - 如何在实时应用程序上访问我的 SQLite3 数据库?
- javascript - 多行文本以适应 React JS 中的父容器
- ruby-on-rails - 如何修复 Rails 中的“ActionController::ParameterMissing”错误?
- docker-compose - 权限被拒绝 docker-entrypoint.sh
- python - sqlite 数据库未连接
- c# - 无法从字符串中解析缩写的日期名称
- python - 保存多个不同的事务示例(trans1、trans2、trans3)+ 写入 json