Android 关于计时器和动作…帮助----(安卓应用程序)
有一些问题! 我想在一秒钟后做一些动作,比如在5秒钟后更改单词。除了设置计时器外,我还设置了所有东西 我认为这对每个人来说都很容易,但我只是在3天内学会了安卓。Android 关于计时器和动作…帮助----(安卓应用程序),android,timer,action,Android,Timer,Action,有一些问题! 我想在一秒钟后做一些动作,比如在5秒钟后更改单词。除了设置计时器外,我还设置了所有东西 我认为这对每个人来说都很容易,但我只是在3天内学会了安卓。 我应该怎么做?使用AlarmManager重复操作 例如: PendingIntent pintent = PendingIntent.getService(context, 0, new Intent(context, YourIntentHere.class), 0); AlarmManager alarm = (AlarmMana
我应该怎么做?使用
AlarmManager
重复操作
例如:
PendingIntent pintent = PendingIntent.getService(context, 0, new Intent(context, YourIntentHere.class), 0);
AlarmManager alarm = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarm.cancel(pintent);
alarm.setRepeating(AlarmManager.RTC, Calendar.getInstance().getTimeInMillis(), iInterval, pintent);
因此,只需将您想要重复的逻辑封装在能够实现某个意图(活动或服务)的内容中即可
或者,你可以使用异步任务和睡眠,但我不建议这样做
另见:
对于只执行一次的操作: 坏线程:启动一个
线程
使用线程。睡眠(5000)
,然后使用myActivity.runOnUiThread(Runnable)
确保您再次进入Ui线程,并再次更改文本
更好的一个:使用异步任务!
->
newasynctask()
{
受保护的void onPreExecute()
{
//用户界面线程
};
@凌驾
受保护的Void doInBackground(字符串…参数)
{
//非ui线程
//在这里做你的第一个动作
尝试
{
睡眠(5000);
}
捕捉(中断异常e)
{
}
返回null;
}
受保护的void onPostExecute(void结果)
{
//用户界面线程
//在这里做你的动作
};
}.执行(“”);
。如果您使用计时器使用runOnUiThread
更新文本视图,则选中此选项可能会有所帮助。你也可以使用处理程序。我不会重复什么。我只想做一个动作,比如在5秒钟后改变单词的颜色。只做一次。实际上,我不知道如何使用这个网站。你能把链接给我吗?也许我很笨…:(对不起,我不明白,你能简单解释一下吗?你可以在你的应用程序中复制并粘贴此代码。然后你可以在“onBackground”方法中进行逻辑/操作。稍后你可以在“onPostExecute”中再次显示对话框。)
new AsyncTask<String, Void, Void>()
{
protected void onPreExecute()
{
// ui thread
};
@Override
protected Void doInBackground(String... params)
{
// non ui thread
// do your first action here
try
{
Thread.sleep(5000);
}
catch (InterruptedException e)
{
}
return null;
}
protected void onPostExecute(Void result)
{
// ui thread
// do your seconds action here
};
}.execute("");