Utilizarea cronometrului
Adesea, programul are nevoie pentru a efectua o acțiune (vom continua să le putea face față provocărilor) periodic sau conform unui program. J2ME oferă un mecanism pentru a facilita punerea în aplicare a acestei sarcini. Vorbesc despre timer-ul. Pentru al utiliza, trebuie să utilizați două clase: java.util.TimerTask și java.util.Timer. clasa TimerTask este abstract, și este baza pentru toate sarcinile programate efectuate. Clasa Cronometrul asigură gestionarea fluxului de creație și, în care sunt realizate aceste sarcini.
Obiectivul nostru este de a fi pus în aplicare în TimerTask clasa subclasă pe termen metoda ():
În acest caz, problema se reduce la linia de ștergere a ecranului.
clasa TimerTask implementeaza interfata java.lang.Runnable. Scris de metoda noastră ar trebui să fie numit de Timer-ul de clasă. Un parametru critic pentru aceasta este viteza de execuție, deoarece în acest moment doar o singură sarcină poate fi efectuată și rula periodic un cod greoi și lent poate încetini semnificativ întregul sistem.
După sarcină programată, trebuie să stabilească un calendar pentru punerea în aplicare a acestuia. Pentru a face acest lucru, folosind metoda de program () creează interfața clasa Timer.
Puteți configura un program de patru tipuri: a efectua o sarcină într-un timp strict alocat (folosind obiect Data), după o întârziere (în milisecunde), la intervale regulate, la intervale regulate după ora de începere specificată (implementată prin metoda scheduleAtFixedRate) În cazul în care cum, motivul pentru care sarcina este întârziată (de exemplu, din cauza de colectare a gunoiului), va avea loc la intervale mai mici de timp mult de două sau de punere în aplicare ulterioară pentru a prinde și să intre în original Programul amechenny.
Fiecare obiect Cronometrul generează și administrează doar un singur fir de fundal. Majoritatea aplicațiilor este doar un timer, dar puteți folosi orice număr de ele. Opriți cronometrul și să distrugă curgerea sa prin apelarea metodei anulare (). Păstrați în minte, a oprit cronometrul nu poate fi repornit - trebuie să creați un nou și să reintre în programul de sarcini. Cronometrul utilizează fluxuri sigure, ceea ce înseamnă că nu trebuie să efectueze calendarul lor folosind timer-ul din fire diferite.
Oprirea timer-ul este adesea efectuată în cadrul metodei sarcinii noastre (run () metoda). Apelarea anula metoda () în interiorul run () se asigură că sarcina curentă este ultima. Cu toate acestea, puteți apela cancel () oriunde în program.
Aici este un exemplu simplu, care utilizează un cronometru pentru a crea un protector de ecran „Star Flight“. Stelele sunt desenate ca puncte folosind API grafice de nivel scăzut.
Acest MIDlet utilizează Timer obiect. Metoda FieldMover este executată la fiecare 100 de milisecunde. Acesta actualizează și redesenează cerul înstelat, în scădere în jos toate stelele de pe fiecare interval. Acest lucru creează iluzia de spațiu de zbor.