有一些問題! 我想在一秒之後做一些動作,比如改變5秒後的單詞。除了設置定時器之外,我還設置了一切。關於定時器和動作...幫助!! ----(Android應用程序)
我認爲這對大家來說很簡單,但我只是拿起機器人3天。 我該怎麼辦?
有一些問題! 我想在一秒之後做一些動作,比如改變5秒後的單詞。除了設置定時器之外,我還設置了一切。關於定時器和動作...幫助!! ----(Android應用程序)
我認爲這對大家來說很簡單,但我只是拿起機器人3天。 我該怎麼辦?
使用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);
所以只是封裝你想要的東西至極重複你的邏輯是能夠爲意向(活動或服務)。
另外,你可以使用睡眠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)
然後確保你是在用戶界面 - 再次使用myActivity.runOnUiThread(Runnable)
線程並再次更改文本
更好一個:使用asynctask! - >
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("");
http://stackoverflow.com/questions/17839419/android-thread-for-a-timer/17839725#17839725。檢查這可能會幫助如果您使用計時器使用'runOnUiThread'來更新textview。你也可以使用一個處理程序。 – Raghunandan