Widgets - Acest componente grafice care urmează să fie introduse pe „ecranul de start“ și au tendința de a servi ca comenzi rapide pentru a lansa rapid aplicații, sau pentru a oferi mai mult sau mai puține informații, actualizate la intervale regulate. Nu orice aplicație include abilitatea de a plasa widget-ul, cu toate acestea, dezvoltatorul pentru Android este nevoie să fie capabil să facă. În acest articol vom vedea doar cum putem crea un widget simplu.
Deci, creați un widget care va afișa data și ora curentă.
Vom crea codul necesar pentru widget noastre.
1. Creați un aspect pentru un widget care este aspectul său. Cod res / aspect / main.xml:
După cum puteți vedea, acest widget este doar un câmp de text pe care o vom umple informațiile despre data și ora. În mod implicit, ca derivarea valoare de tip text al cuvântului «test».
2. Crearea unui fișier de configurare care descrie widget nostru - res / XML / widget_provider.xml:
Toate setările am pus în eticheta appwidget-furnizor. Am stabilit (2DP 74dp minus la granița) înălțimea, lățimea (74dp + 74dp minus 2DP la frontiera), rata de reîmprospătare în milisecunde și updatePeriodMillis initialLayout construi fișier pe care am creat în etapa anterioară.
Este demn de remarcat faptul că aveți posibilitatea să specificați orice număr de milisecunde, cu toate acestea, în realitate, widget-ul nu va fi actualizat mai frecvent decât la fiecare 30 de minute. O astfel de restricție vă permite să economisi energia bateriei și alte resurse de dispozitiv. Astfel, timpul pentru a arăta widget noastre vor fi actualizate la fiecare jumătate de oră. Nu este foarte practic, dar scopul nostru - pentru a afla cum să creați un widget și practică.
3. Creați un java-cod care va fi actualizat widget nostru - src / ru / androiddocs / widget / MyWidget.java:
In cadrul acestei clase - două metode: onUpdate () și onReceive (). Prima metodă este declanșată de fiecare dată „vine un timp“ pentru a actualiza widget-ul (ne-am întrebat, în milisecunde, în configurația fișier XML). A doua metodă - odată cu apariția unui anumit eveniment intenție (difuzare în intenție). În acest moment, nu pune nici o logică serioasă a doua metodă, dar utilizarea de logare pentru a vedea că, atunci când apelați onUpdate ar trebui să fie, de asemenea, numit și metoda onReceive ().
Aici nu am putea include metoda onReceive () în codul, dar lăsați-l pentru un exemplu. În viitor, dacă dorim să actualizeze widget-ul de la activitã fără a aștepta momentul potrivit, tocmai această metodă este utilă în foarte util.
Pentru a accesa widget-ul TextView, trebuie să folosim RemoteViews. deoarece se referă în mod direct la aspectul nu va funcționa. Apoi am „Sette“ text (o oră în formatul șir de caractere):