Creați o aplicație pentru lanternă pe Android

Astăzi vom începe o lecție interesantă și utilă, și anume - să învățăm cum să creăm aplicația "Lanternă" pentru dispozitive Android. Aplicația va fi extrem de simplă: fereastra principală a programului cu butonul de pornire / oprire a lanternei.

În ceea ce privește aspectul aplicației, grafica utilizată nu va fi complicată, ci doar imaginea de fundal și câteva imagini ale butonului în starea pornit și oprit. Puteți să vă pregătiți aceste imagini după voia voastră liberă, dacă doriți să vă aduceți o contribuție proprie la cerere, ca să vă spun așa. Dar dacă nu doriți să faceți acest lucru (și eu), atunci vom folosi deja imagini frumoase. Le-am tăiat singur, așa că este posibil (și va fi) imaginea butonului pe și în afara ușor nu va coincide în locația sa din cauza marginilor inegale ale limitelor imaginii. Dacă doriți să încercați să faceți mai bine, iată imaginea originală pentru tăiere:

Creați o aplicație pentru lanternă pe Android

În arhiva cu imagini, cele marcate cu numărul 1 sunt hdpi, 2 mdpi, 3 - ldpi.

Acum puteți continua să creați un nou proiect, selectați Activitate neagră. Pentru ca lanterna să funcționeze, trebuie să obțineți permisiunea de a utiliza blițul aparatului foto în fișierul manifest. Nu există o astfel de permisiune directă, deoarece flash-ul este inclus în funcționalitatea camerei, deci trebuie să obțineți permisiunea de a lucra cu camera și capabilitățile acesteia. Deschideți fișierul AndroidManifest.xml și adăugați câteva permisiuni camerei:

Acum trebuie să adăugați imagini cu butoane în folderul res / drawable. sau mai precis, imaginile hdpi, mdpi și ldpi în folderele desenate-hdpi corespunzătoare. drawable-mdpi. drawable-ldpi. Doar eliminați aceste cifre în numele imaginilor (1,2,3) și asigurați-vă că în diferitele foldere imaginile butoanelor de pornire și oprire au aceleași nume. Fundalul aplicației noastre va fi alb și, sperăm, fuzionat frumos cu imaginile butoanelor.

Deschideți fișierul activity_main.xml și adăugați butonul ImageView, care va porni și opri lanterna:

Acum deschideți MainActivity.java și declarați variabilele necesare:

Programul trebuie să fie dotat cu capacitatea de a verifica dacă lanterna este susținută de acest dispozitiv, indiferent dacă există o bliț. Dacă nu există, mesajul corespunzător va fi afișat și aplicația va fi închisă. Pentru a implementa acest lucru, imediat în MainActivity.java adăugăm următorul cod, care, dacă nu există nici un bliț pe dispozitiv, va afișa mesajul sub formă de Dialog de alertă și va închide aplicația:

Dacă rulați acum aplicația pe dispozitiv fără un bliț, veți vedea un mesaj de alertă cu o eroare.

Lanterna este activată prin setarea modului de funcționare al camerei FLASH_MODE_TORCH. Procesul de activare va fi configurat folosind 2 funcții getCamera și turnOnFlash. Adăugați-le la codul MainActivity.java.

Pentru a opri lanterna, se va utiliza setarea pentru modul FLASH_MODE_OFF.

Acum, tot ce rămâne este să adăugați un handler de clic pe butonul ImageView.

Când utilizatorul pornește sau oprește lanterna, imaginea butonului trebuie să se schimbe. Pentru aceasta, adăugăm metoda de comutare a imaginilor făcând clic pe butonul:

În principiu, deja aplicația este deja pregătită pentru a funcționa, dar totuși dorim să facem ca atunci când comutați butonul să se audă sunetul de pornire / oprire a lanternei. Pentru a face acest lucru, trebuie mai întâi să descărcați sunetul. O poți lua. puteți găsi ceva mai bun și mai scurt, nu am găsit. Pentru a lucra cu sunet, creați un nou folder în proiectul res / raw și plasați un fișier de sunet acolo. În codul fișierului MainActivity.java, adăugați următorul cod:

Rămâne de adăugat câteva metode importante care vor ajuta la funcționarea corectă a aplicației:

- onPause () - metoda oprește lanterna și intră în aplicația de fundal;

- onResume () - metoda include lanterna înapoi;

- onStop () - închideți camera.

Adăugați următorul cod:

Totul! Acum rămâne doar să testați aplicația:

Creați o aplicație pentru lanternă pe Android
Creați o aplicație pentru lanternă pe Android

Foarte bine, s-a dovedit că deplasarea imaginilor on / off sa dovedit a fi abia vizibile, dar aceasta este pe afișaj de 4,5 inch.

Ei bine, înainte de a testa, nu uitați că testarea aplicării lanternei are sens asupra dispozitivului în care există o lanternă :). Mult noroc!

Articole similare