java - 每天只执行一次方法android java
问题描述
public ListenableFuture<?> fakeUpload() {
ImmutableList.Builder<Keys> builder = ImmutableList.builder();
for (int i = 0; i < 14; i++) {
byte[] bytes = new byte[KEY_SIZE_BYTES];
RAND.nextBytes(bytes);
builder.add(
Keys.newBuilder()
.setKeyBytes(bytes)
.setIntervalNumber(FAKE_INTERVAL_NUM)
.build());
}
return doUpload(builder.build(), true);
}
我想让这些密钥每天只上传一次。我怎样才能做到这一点?
解决方案
现在您可以在您想要的应用程序活动中编写此代码或创建服务并在那里编写代码:-
private fun shouldUploadFakeKeys(): Boolean {
if (sharedPreferenceUtil.getInt(Constants.EXTRA_DAILY_KEYS_UPLOAD) != getTodaysDate()) {
sharedPreferenceUtil.putBoolean(Contants.EXTRA_HAS_FAKE_KEYS_UPLOADED_TODAY,false)
return true
} else if (sharedPreferenceUtil.getBoolean(Contants.EXTRA_HAS_FAKE_KEYS_UPLOADED_TODAY)) {
return false
}
return true
}
fun getTodaysDate(): Int {
return ZonedDateTime.now().dayOfMonth
}
如果您还没有常量文件,请创建一个常量文件:-
常量.kt
class Constants{
companionObject{
const val EXTRA_DAILY_KEYS_UPLOAD = "EXTRA_DAILY_KEYS_UPLOAD"
const val EXTRA_HAS_FAKE_KEYS_UPLOADED_TODAY = "EXTRA_HAS_FAKE_KEYS_UPLOADED_TODAY"
}
}
推荐阅读
- java - 带链表的反向字符串方法
- python - matlab&python中同一个厄米特矩阵的不同特征向量
- google-people-api - 如何使用 Google People API 按帐户 ID 添加联系人?
- angular - 如何将数据从一页发送到另一页?使用离子和角度
- yaml - 创建私有 gke 集群
- android - 具有圆角和缩进效果的按钮
- javascript - 为什么我的输入变量属性未定义(Angular)
- python - ImportError:无法在 openpyxl.compat.numbers 中导入名称“NUMPY”
- javascript - 如何在异步更新时将 state 属性作为 prop 传递以显示和隐藏组件
- node.js - 基于布尔字段提升结果