有一些问题!我想在一秒钟后做一些动作,比如在 5 秒后改变单词。除了定时器的设置,我也设置了所有的东西。
我认为这对每个人来说都很容易,但我只用了 3 天就学会了 android。我应该怎么办?
使用 aAlarmManager
重复动作。
例子:
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);
因此,只需将您想要重复的逻辑封装在能够用于意图(活动或服务)的东西中。
或者,您可以使用带有睡眠的 AsyncTask,但我不建议这样做。
也可以看看:
http://developer.android.com/reference/android/app/AlarmManager.html http://www.techrepublic.com/blog/android-app-builder/use-androids-alarmmanager-to-schedule-an-event /
对于只执行一次的操作:
不好的一个:开始Thread
使用Thread.Sleep(5000)
,然后确保您再次使用 Ui-Thread 并再次myActivity.runOnUiThread(Runnable)
更改文本
更好的一个:使用异步任务!->
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("");