我是初学者。在我的应用程序中,我有一个按钮,可以从类到MainActivity获取统计信息,并在textview上设置文本。在方法onClick中还有其他方法调用。一切正常,我可以手动点击按钮并获取所有信息,但我想添加自动调用onClick方法,例如每1小时一次。我读过AlarmManager和Timer来实现这一点,但我不知道如何在我的案例中实现它。
下面是使用onClick方法编写的代码。这是OnCreate的主要活动。
statsBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
UStats.printCurrentUsageStatus(MainActivity2.this);
long time = UStats.printCurrentUsageStatus(MainActivity2.this);
if (time >= 300000)
{
sendOnChannel1();
}
String total="";
long sec=time/1000;
long day;
long hour;
long min;
if(sec>=(86400)){
day=sec/86400;
sec=sec%86400;
total=total+day+"d ";
}
if(sec>=3600){
hour=sec/3600;
sec=sec%3600;
total=total+hour+"h ";
}
if(sec>=60){
min=sec/60;
sec=sec%60;
total=total+min+"min ";
}
if(sec>0)
{
total=total+sec+"s";
}
facebook_time.setText(String.valueOf(total));
saveData();
}
});
或者如何创建与按钮相同的方法,然后每小时调用一次该方法?我只是想每隔一段时间自动更新textview。
可以使用处理程序和runnable。尝试以下步骤:
Runnable
、int
和Handler
类中创建3个变量,如下所示:private Runnable mRunnable;
private Handler mHandler;
private int seconds = 5; // this is the seconds of how much time the click listener with be called
mRunnable = () -> {
yourButton.onClick();
mHandler.postDelayed(mRunnable, seconds * 1000);
}
mHandler = new Handler();
mHandler.postDelayed(mRunnable, seconds * 1000);
问题内容: 我正在cronjob中运行PHP脚本,我想每5分钟发送一封电子邮件 我当前的(crontab)cronjob: cronmail.php如下: 但是我没有在30分钟内收到此配置的电子邮件。 问题答案: 在文件中,这些字段是: 每小时的分钟。 一天中的小时。 一个月中的某天。 一年中的月份。 一周中的天。 所以: 表示每小时10分钟执行一次。 如果您希望每五分钟使用一次,请使用以下任一方
问题内容: 如何在特定时间段内调用Ajax请求?我应该使用Timer插件还是jQuery为此提供插件? 问题答案: 您可以使用内置的javascript setInterval。 或者如果您是更简洁的类型…
问题内容: 我正在使用Python和PyGTK。我对运行某个功能感兴趣,该功能每隔几分钟从串行端口获取数据并保存一次。 当前,我正在时间库中使用sleep()函数。为了能够进行处理,我将系统设置如下: 这种设置使我从串口读取数据的间隔为5分钟。我的问题是我希望能够让我的readserial()函数每隔5分钟暂停一次,并且能够一直执行操作,而不是使用time.sleep()函数。 关于如何解决这个问
我正在开发一个Android 2.3.3应用程序,我需要每X秒运行一个方法。 在iOS,我有NSTmer,但在Android我不知道用什么。 有人向我推荐了Handler;另一个人向我推荐了AramManager,但我不知道哪种方法更适合NSTmer。 这是我想在Android中实现的代码: 我需要像NSTmer这样的东西。 你给我推荐什么?
有什么办法吗? 访问隐藏方法landroid/app/loadedapk;->rewritervalues(ljava/lang/classloader;ljava/lang/string;i)V(greylist,linking,允许)
问题内容: 如何每分钟运行一个函数?在JavaScript中,我可以做类似的事情,在Swift中是否存在类似的事情? 想要的输出: 你好世界每分钟一次… 问题答案: 记住要导入基金会。 斯威夫特4: