我想开发day应用程序项目的报价。出于这个原因,我想在文本视图中显示每天不同的引用(格言)。报价将设置为24小时,并自动更改00:00:01。今天使用应用程序的人将看到第一个引号,第二天,当他们打开应用程序时,他们将看到第二个引号。第三天不同,第四天不同。。
但是我的代码没有显示不同的报价。每天显示第一天的报价。
下面是我的密码。
例如:day 1=to be or not to be. day 2=Money, Money, Money...
我的strings.xml
<resources>
<string name="app_name">QuotesApp</string>
<string-array name="quotes">
<item>Learn from yesterday, live for today, hope for tomorrow.</item>
<item>If you want to shine like the sun, first burn like the sun.</item>
<item>Time never comes again.</item>
<item>Wealth is the slave of wise man, the master of a fool.</item>
<item>One thing only I know, and that is that I know nothing.</item>
<item>A smooth sea never made a skilled sailor.</item>
</string-array>
</resources>
我的主要活动。JAVA
TextView dailyGreetings;
String[] mTestArray;
DateFormat dateFormat= new SimpleDateFormat("dd-MM-yyyy");
Date date=new Date();
SharedPreferences preferences_Shared, text_Shared;
SharedPreferences.Editor editor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main);
dailyGreetings=findViewById(R.id.dailyGreetings);
mTestArray=getResources().getStringArray(R.array.quotes);
preferences_Shared=this.getSharedPreferences("PREFERENCE",MODE_PRIVATE);
text_Shared=this.getSharedPreferences("TEXT",MODE_PRIVATE);
Calendar c=Calendar.getInstance();
int timeofDay=c.get(Calendar.DAY_OF_MONTH);
if (timeofDay>=1){
if (preferences_Shared.getBoolean("isFirstRun", true)){
dailyGreetings.setText(mTestArray[(0) %(mTestArray.length)]);
saveDate();
}else{
if (!Objects.equals(preferences_Shared.getString("Date", ""), dateFormat.format(date)))
{
int idx=new Random().nextInt(mTestArray.length);
dailyGreetings.setText(mTestArray[idx]);
text_Shared.edit().putString("TEXT", dailyGreetings.getText().toString()).apply();
saveDate();
}
else {
dailyGreetings.setText(text_Shared.getString("TEXT", ""));
}
}
}
}
private void saveDate() {
preferences_Shared=this.getSharedPreferences("PREFERENCE",MODE_PRIVATE);
editor=preferences_Shared.edit();
editor.clear();
editor.putString("Date",dateFormat.format(date));
editor.apply();
}
我看不出将日期保存到共享首选项的目的。这对未来的约会有什么帮助?
我认为最简单的方法是获取当前日期,计算自某个恒定日期以来已经有多少天了(纪元就足够了),然后使用带有可用报价数量的余数运算符来逐日获取新报价。
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN)
setContentView(R.layout.activity_main)
val dailyGreetings: TextView = findViewById(R.id.dailyGreetings)
val quotes = resources.getStringArray(R.array.quotes)
val daysSinceEpoch = LocalDate.now().toEpochDay()
val quoteIndex = (daysSinceEpoch % quotes.size).toInt()
dailyGreetings.text = quotes[quoteIndex]
}
如果你真的需要每天随机选择一个报价,而不是按照你定义的顺序浏览它们,有可能这有时意味着相同的报价会连续两天或更长时间被随机选择,那么你可以使用日期为种子的随机值,所以相同的日期总是会得到相同的随机值:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN)
setContentView(R.layout.activity_main)
val dailyGreetings: TextView = findViewById(R.id.dailyGreetings)
val quotes = resources.getStringArray(R.array.quotes)
val daysSinceEpoch = LocalDate.now().toEpochDay()
val random = Random(daysSinceEpoch)
dailyGreetings.text = quotes[random.nextInt(quotes.size)]
}
我现在有每天重复的通知,每天下午6点重复。我想做的是不是6pm,而是在事件即将开始时显示通知。我有一个events arraylist,它包含日期和时间,这是可能的。下面是我当前显示通知的方式。 这是我主要的activity 这是在我的broadcast_reciever课上 公共类AlarmReceiver扩展了 我不确定如何设置时间,所以它会重复什么时候和如果有一个事件。感谢您的任何指点和帮助
本文向大家介绍CentOS系统下如何设置mysql每天自动备份,包括了CentOS系统下如何设置mysql每天自动备份的使用技巧和注意事项,需要的朋友参考一下 前言 大家都知道数据是一个比较重要的数据,经常需要备份,每次都手动比较麻烦。通过本文来一起来看看CentOS系统下如何设置mysql每天自动备份吧。 步骤如下 建备份文件夹: 建脚本文件: 打开文件 在脚本中加入如下内容: 检查有没安装cr
我安装了Java1.7.0_21,卸载了以前的版本后,今天安装了1.7.0_45。现在Android Studio已经停止编译项目,并表示无法找到1.7.0_21文件夹。如何为Java SDK设置新路径?我也改变了环境变量,但不起作用。
问题内容: 我正在尝试在Android Studio中使用Java版本1.7,但是很遗憾,它无法正常工作…如果将版本设置为 但是,当我使用带有字符串的声明语句时,出现了在Java 1.7中应该发生的错误,因此我是否需要设置其他设置? 问题答案: 不,没有设置可更改。Android SDK不支持完整的Java 7语法,因此您不能使用它。 请注意,最新的android版本支持java.nio。*(ja
我已经研究了如何更改Angulal-Chart.js的颜色,但它涉及整个(数据集)的颜色,而不是特定的条。 我要寻找的是一种在条形图中为每个条形应用不同颜色的方法;从图表到角度。 所以,我有一个条形图: 使用以下角度代码(当然是在控制器中) 其中将返回随机颜色。 现在,字段将此颜色应用于所有条: 当我真的想为每个酒吧不同的颜色: 柱塞
我正在使用处理。我有大约5个。因此,我将spring cloud config server配置为集中配置。它工作得很好。 配置服务器配置 spring.cloud.config.server.native.search-locations=classpath://common-config server.port=8888 现在的问题是,我有两个环境和,并且我创建了和,根据spring文档,我需