Adakah yang bisa memberi tahu saya jika ada persamaan untuk setInterval / setTimeout untuk Android? Adakah yang punya contoh tentang cara melakukannya?
java
javascript
android
settimeout
karse23
sumber
sumber
MyActivityName.this.myFunctionOnActivity()
Handler timeout = new Handler(); final Runnable r = new Runnable{...}; timeout.postDelayed(r, 300);
dan jika Anda ingin membatalkannya:timeout.removeCallbacks(r);
setInterval ()
fungsi yang berulang dalam setiap milidetik
Javascript
Perkiraan java Equivalent
setTimeout ()
fungsi yang hanya berfungsi setelah n milidetik
Javascript
Perkiraan java Equivalent
sumber
scheduleAtFixedRate
metode ini, bagaimana Anda membatalkan timer dalam aktivitas setelah aktivitas tersebut selesai?Jika Anda tidak khawatir membangunkan ponsel atau mengembalikan aplikasi Anda dari kematian, coba:
sumber
Bergantung pada apa yang sebenarnya ingin Anda capai, Anda harus melihat pada Android Handlers:
http://developer.android.com/reference/android/os/Handler.html
Jika sebelumnya Anda menggunakan javascript setTimeout () dll untuk menjadwalkan tugas untuk dijalankan di masa mendatang, ini adalah cara Android untuk melakukannya (postDelayed / sendMessageDelayed).
Perhatikan bahwa Handler atau Timer tidak membuat ponsel Android bangun dari mode tidur. Dengan kata lain, jika Anda ingin menjadwalkan sesuatu untuk benar-benar terjadi meskipun layar mati / cpu sedang tidur, Anda perlu memeriksa AlarmManager juga.
sumber
Saya tidak tahu banyak tentang JavaScript, tapi saya pikir Timers mungkin yang Anda cari.
http://developer.android.com/reference/java/util/Timer.html
Dari tautan:
Satu tembakan dijadwalkan untuk berjalan pada waktu absolut atau setelah jeda relatif. Tugas berulang dijadwalkan dengan periode tetap atau kurs tetap.
sumber
Jawaban pertama jelas merupakan jawaban yang benar dan saya mendasari versi lambda ini, yang jauh lebih pendek dalam sintaksisnya. Karena Runnable hanya memiliki 1 metode override "run ()", kita dapat menggunakan lambda:
sumber
sumber
Berikut ini adalah setTimeout setara, sebagian besar berguna ketika mencoba memperbarui Antarmuka Pengguna setelah penundaan.
Seperti yang Anda ketahui, memperbarui antarmuka pengguna hanya dapat dilakukan dari utas UI. AsyncTask melakukan itu untuk Anda dengan memanggil metode onPostExecute dari utas itu.
sumber
onProgressUpdate()
dapat juga digunakan untuk mensimulasikansetInterval()
. 2.AsyncTask
berjalan di thread pool (atau hanya satu thread), jadi a. mungkin harus menunggu sampai yang lainAsyncTask
selesai; b . itu akan mengambil satu utas dari kolam.Saya sedang membuat mp3 player untuk android, saya ingin memperbarui waktu sekarang setiap 500 ms jadi saya melakukannya seperti ini
setInterval
yang memanggil metode yang sama secara rekursif
sumber