Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • televizori (Smart TV)
  • Osnove Android programiranja na primjeru igre Sudoku. Kako napisati Android aplikaciju koristeći Android Studio

Osnove Android programiranja na primjeru igre Sudoku. Kako napisati Android aplikaciju koristeći Android Studio

Članak opisuje glavne poteškoće u kreiranju aplikacija za Android.
Razmatraju se osnovni koncepti Android programiranja.
Na primjer, opisano je stvaranje igre Sudoku iz knjige Hello, Android - Ed Burnette.
Čuvajte se mnogih snimaka ekrana.

1. Poteškoće u razvoju

Android je jedinstven operativni sistem. Programer aplikacije mora poznavati njene karakteristike i nijanse da bi postigao dobar rezultat. Postoje neke poteškoće koje treba uzeti u obzir prilikom razvoja (). Nabrojimo ih ukratko:
1) Aplikacija zahtijeva dvostruko (ili čak četiri) više prostora za instalaciju od originalne veličine aplikacije.
2) Brzina rada sa datotekama na ugrađenom fleš disku pada deset puta sa smanjenjem slobodnog prostora.
3) Svaki proces može koristiti do 16 MB (ponekad 24 MB) RAM-a.

2. Principi razvoja produktivnih aplikacija za Android

Za rad su vam potrebni Android SDK i Eclipse. O tome kako sve instalirati i pokrenuti je napisano.

Za učitavanje projekta u Eclipse, slijedite dolje navedene korake:
1) Raspakujte projekat u zasebnu fasciklu u Eclipse radnom prostoru.
2) Odaberite stavku menija File->New->Android Project.
3) U dijalogu Novi Android projekat izaberite opciju Kreiraj projekat iz postojećeg izvora.
4) U polju Lokacija navedite putanju do fascikle sa projektom. Kliknite na Next.

Programski meni

Meni igre je opisan u datoteci res/layout/main.xml. Opis interfejsa se može uređivati ​​kao XML ili kao renderovani interfejs. Za prebacivanje koristite kartice na dnu područja za prikaz sadržaja.

Obično se kontrole nalaze unutar kontejnera, u našem slučaju LinearLayout. Raspoređuje sve elemente u jednu kolonu.

Resursi

Imajte na umu da sve tekstualne oznake (android:text) preuzimaju podatke iz resursa. Na primjer, unos android:text="@string/main_title" specificira da tekst treba potražiti u datoteci res/values/string.xml ispod čvora pod nazivom main_title (Android Sudoku). Boja pozadine je takođe sadržana u resursima (android:background="@color/background"), ali u datoteci color.xml (#3500ffff). Može doći do greške prilikom otvaranja datoteka resursa u uređivaču. Ali uvijek se možete prebaciti na XML mapiranje.

Kontrole kojima treba pristupiti iz koda moraju imati id. Dugmad imaju id (android:id="@+id/continue_button") tako da dugmetu možete priložiti rukovalac klikom. Znak plus označava da dugmetu treba dati ID u /gen/org.example.sudoku/R.java (javni statički konačni int continue_button=0x7f0b000b;). Ovaj fajl se generiše automatski i nije preporučljivo da ga menjate. Datoteka sadrži R klasu preko koje možete pristupiti bilo kojem elementu interfejsa i drugim resursima.

Kreiranje prozora

Razmislite o kreiranju prozora s informacijama o programu. Izgled za ovaj prozor je u datoteci /res/layout/about.xml. Klasa Activity je opisana u datoteci /src/org.example.sudoku/About.java. Aktivnost je povezana sa markupom u datoteci AndroidManifest.xml. Ova datoteka se može pregledati ili kroz uređivač ili kao XML. Na različitim karticama uređivača možete odabrati različite dijelove datoteke. Odjeljak Aplikacija sadrži parametre aktivnosti. Imajte na umu da je parametar Theme postavljen na :style/Theme.Dialog. Ovo čini da prozor više liči na modalni dijalog.

Prozor sa informacijama o programu se poziva iz Sudoku klase pritiskom na dugme About. Sudoku klasa je napisana da upravlja samim događajem Click (javna klasa Sudoku proširuje Activity implementira OnClickListener). U metodi public void onClick(View v) određuje se koje dugme je pokrenulo događaj i izvršava se odgovarajući kod. Odgovarajuća namjera se poziva da prikaže prozor About.
case R.id.about_button:
Namjera i = nova namjera(ovo, About.class);
startActivity(i);
break;

Upravljači događajima se također mogu instalirati na određene kontrole. Na primjer, u klasi Keypad, kada se klasa kreira, rukovatelji za pojedinačna dugmad se postavljaju u metodi setListeners().

jednostavan dijalog

Korisniku treba dati mogućnost odabira nivoa težine. Ovo je mali dijalog u kojem trebate odabrati jednu od nekoliko opcija. Veoma sam zadovoljan što za ovo ne morate kreirati zaseban Intent, već samo koristiti klasu AlertDialog.
Hajde da analiziramo proces pokretanja nove igre. Korisnik klikne na dugme Nova igra. Obrađivač klika je metod klase Sudoku, onClick. Zatim se poziva metoda openNewGameDialog, koja prikazuje dijalog za odabir težine i započinje igru ​​s odabranim nivoom težine. Ovaj dijalog je napravljen pomoću klase AlertDialog.

Privatno void openNewGameDialog() (novi AlertDialog.Builder(this) .setTitle(R.string.new_game_title) .setItems(R.array.difficulty, novi DialogInterface.OnClickListener() (javno void onClick(Dialog inGialogInterface start) (pokazujem(); )

Imajte na umu da je sadržaj dijaloga (skup dugmadi) izgrađen od niza stringova R.array.difficulty. Odmah se dodeljuje rukovalac za pritiskanje dijaloških dugmadi, koji brojem pritisnutog dugmeta pokreće novu igru ​​sa zadatim nivoom težine, pozivajući metodu startGame.

Grafika

Klasa Game je odgovorna za logiku igre. Ovdje se učitavaju zadaci, provjeravaju se pobjednički uslovi. Klasa Game je Activity, ali sučelje nije opisano u XML-u, već je kreirano kodom. Pogled se kreira metodom onCreate:

PuzzleView = novi PuzzleView(ovo);
setContentView(puzzleView);
puzzleView.requestFocus();

PazzleView je klasa izvedena iz View-a, ona crta polje za igru ​​i upravlja događajima dodira ekrana (metoda onTouchEvent) i pritiskom na tipke (metoda onKeyDown).

Pogledajmo proces crtanja u Androidu. Da biste nacrtali, morate preopteretiti onDraw metodu. Metoda prima Canvas objekat kroz koji se izvodi crtanje. Za postavljanje boja kreiraju se objekti klase Paint. Boja je navedena u ARGB formatu. Boju je najbolje pohraniti kao resurse (colors.xml datoteka). Paint nije samo klasa za pohranjivanje informacija o bojama. Na primjer, kada crtate tekst, on sadrži informacije o metodi sjenčanja, fontu i poravnanju teksta.

Canvas sadrži skup metoda za crtanje grafike (drawRect, drawLine, drawPath, drawText i druge).

Da biste optimizirali grafiku, bolje je suzdržati se od kreiranja objekata i nepotrebnih proračuna unutar metode onDraw (razmatrani primjer implementacije grafike nije optimalan).

Muzika

MediaPlayer klasa se koristi za reprodukciju muzike. Muzika za igru ​​je dodana resursima. Potrebno je samo da kopirate potrebne datoteke u /res/raw folder (WAV, AAC, MP3, WMA, AMR, OGG, MIDI formati).
Prvo morate kreirati instancu klase MediaPlayer:
mp = MediaPlayer.create(kontekst, resurs);
ovdje je kontekst obično klasa koja inicira pokretanje muzike, resurs je identifikator resursa sa muzikom. Metode pokretanja, zaustavljanja i otpuštanja koriste se za kontrolu reprodukcije.

U igrici se muzika pušta u glavnom meniju (pokrenuto iz razreda Sudoku) iu igrici (pokrenuto iz klase igre). Klasa Music je kreirana za kontrolu reprodukcije. Klasa sadrži statičku instancu MediaPlayer-a, što eliminiše potrebu za kreiranjem zasebnog projekta za svako pokretanje audio resursa.

Metode onResume i onPause zaobilaze se u klasama Sudoku i Game, u kojima muzika počinje kada se aktivnost pokrene i zaustavlja kada se aktivnost deaktivira.

zaključci

Primjer o kojem se govori u članku nije previše kompliciran, što vam omogućava da ga shvatite bez puno truda. Istovremeno se dotiče različitih aspekata razvoja Androida.

P.S. Veliko hvala korisniku

Kako izgleda proces razvoja Androida? Istaknimo nekoliko osnova:

  • U Java datotekama opisujete logiku programa – šta želite da vaša aplikacija radi.
  • U XML datotekama dizajnirate izgled - izgled.
  • Nakon što je aplikacija napisana, alat za pravljenje se mora koristiti za kompajliranje svih datoteka i njihovo pakiranje zajedno u .apk datoteku koja se može pokrenuti na Android uređajima i/ili objaviti na Google Play.
  • Svi uslužni programi i fajlovi koji se koriste za kreiranje Android aplikacije su kombinovani u integrisano razvojno okruženje (IDE). IDE je program koji otvarate da biste uredili svoje datoteke koda i kompajlirali i pokrenuli.
  • Ranije je Eclipse bio standardni IDE za razvoj Androida, ali sada ga je zamijenio funkcionalniji Android Studio, Googleov proizvod.

Naravno, naći ćete dublje procese koji se odvijaju iza kulisa gore navedenih koraka. Na primjer, napredni korisnici će htjeti znati ulogu Dalvik virtualne mašine. Na kraju članka bit će navedene veze do korisnih resursa s kojima bi svaki Android programer trebao biti upoznat. Prva je zvanična Google-ova dokumentacija.

  • Preuzmite i instalirajte Android Studio.
  • Saznajte više o pokretanju i testiranju aplikacija na Android uređajima i emulatorima.
  • Kreirajmo jednostavnu Android aplikaciju koja prikazuje natpis "Hello World" na ekranu mobilnog uređaja.

Na kraju članka možete pronaći korisne preporuke za programere početnike iz kompanije.

Instaliranje razvojnog okruženja Android Studio

Zaista je primamljivo početi čitati dokumentaciju i pisati kod kako biste saznali za šta je platforma sposobna. I uradićemo to uskoro! Međutim, da biste započeli s Android platformom, morate postaviti razvojno okruženje.

Za početnike u Android programiranju, posebno je važno da odvoje vrijeme i da metodično prate svaki korak. Čak i ako ispravno slijedite korake, možda ćete morati riješiti mali problem s podešavanjem okruženja ovisno o konfiguraciji vašeg sistema ili verziji proizvoda. Da biste to učinili, koristite usluge pretraživanja. StackOverflow resurs se može posebno istaknuti.

Važno je da ne dozvolite da zamke stane na put vašem krajnjem cilju učenja Android programiranja. Poznato je da se čak i profesionalci ponekad susreću sa određenim problemima u uspostavljanju radnog okruženja. U takvim slučajevima je važno poznavanje komandne linije. Ako želite da se bolje upoznate s ovim alatom, na dnu se nalazi veza do dobrog uvodnog.

Uz obuku iz sintakse, važno je educirati se u načinu razmišljanja uspješnog programera koji neće prihvatiti poruku o grešci X not found kao konačnu presudu. Takvo razmišljanje se lako istrenira u slučajevima kada ne odustajete i tražite rješenje za nastali problem.

Idite na Android Studio developer.android.com/studio/index.html i pronađite dugme za preuzimanje najnovije verzije za svoju platformu.

Kliknite na dugme za preuzimanje i od vas će se tražiti da pročitate odredbe i uslove za korišćenje softverskog proizvoda. Nakon pažljivog čitanja (kao i uvijek) i prihvatanja, preuzimanje počinje. Vjerovatno će potrajati nekoliko minuta. Nakon toga možete instalirati Android Studio kao i svaki drugi program. Početna stranica za preuzimanje sadrži upute za instalaciju za Mac i Windows.

Sada kada ste instalirali Android Studio, hajde da ga pokrenemo i pokrenemo! Pokrenite Android Studio. Program će vas pitati da li želite da uvezete svoja podešavanja. Pošto počinjete od nule, samo odaberite drugu opciju i nastavite.

Trebali biste vidjeti lijep ekran za učitavanje Material Design.

Po završetku preuzimanja, bit ćete preusmjereni na ekran dobrodošlice.

Čak i ako ste upravo preuzeli Android Studio, možda nemate najnoviju verziju. Da biste izbjegli probleme u budućnosti, kliknite na dugme "Provjeri ažuriranja sada" i, ako je potrebno, slijedite sva uputstva da biste dobili najnoviju verziju. Ponekad će vas Studio automatski obavijestiti da postoji ažuriranje sa ekranom poput ovog:

U tom slučaju uvijek odaberite Ažuriraj i ponovno pokreni. Fino! Uspješno smo završili instalaciju razvojnog okruženja.

Kreiranje prvog Android projekta

Vrijeme je za kreiranje prvog projekta. Počnimo jednostavno. Uobičajeno je da programeri prvi program zovu "Hello World". Pratimo ovu tradiciju, a zatim napravimo nekoliko malih promjena kako bi aplikacija koristila vaše ime za pozdrav. Na kraju, možete je preuzeti na svoj uređaj i pokazati prijateljima. Android Studio ima mali alat korak po korak koji će vam pomoći da izgradite svoj projekat. Kliknite na "Novi projekat" na početnom ekranu:

Popunite ga ovako. Slobodno zamijenite "primjer" u nazivu paketa nečim drugim kako biste uklonili upozorenje na dnu ekrana. Također možete postaviti lokaciju projekta tako što ćete pokazati na bilo koju mapu na vašem tvrdom disku

Za padajuće verzije SDK, obratite pažnju na odjeljak Opis na dnu dijaloškog okvira. Objašnjava čemu služi svaka postavka.

Instalirajte minimalno potreban SDK kao što je prikazano na snimku ekrana. Ovo postavlja minimalnu verziju Androida potrebnu za pokretanje aplikacije. Odabir ove vrijednosti za vlastite projekte je stvar balansiranja SDK funkcija koje želite sa uređajima koji će biti podržani.

Za više informacija o verzijama API-ja i njihovoj upotrebi, postoji posebna stranica Dashboards na web lokaciji za programere Androida https://developer.android.com/about/dashboards/index.html.

Nakon odabira verzije, pojavljuje se početni ekran za odabir predloška. Možete kreirati aplikaciju koja već stupa u interakciju s google maps API-jem i renderira mapu. U našem primjeru testa, odaberite Empty Activity i kliknite na dugme "Dalje".

I sada ste na posljednjem koraku procesa kreiranja aplikacije. Prije nego što kliknete na "Završi", treba napomenuti nekoliko stvari. Ovdje po prvi put nailazite na spominjanje glavnih arhitektonskih komponenti bilo koje aplikacije.

  • - ovo je prvo, ali ne i posljednje spominjanje riječi Aktivnost. U kontekstu Androida, aktivnost se obično smatra "ekranom" u vašoj aplikaciji. Ova stavka je vrlo fleksibilna. Kada Android Studio kreira klasu MainActivity, nasljeđuje je od klase Activity Android SDK-a. Oni koji su upoznati sa objektno orijentiranim programiranjem razumiju ovaj koncept, ali za početnike to u osnovi znači da će vaša MainActivity biti prilagođena verzija aktivnosti.

  • Layout Name- izgled onoga što će biti prikazano korisniku je definisan u posebnoj vrsti Android XML-a. Uskoro ćete naučiti kako čitati i uređivati ​​ove datoteke.

Kliknite na Završi. Za kreiranje i učitavanje projekta trebat će neko vrijeme. Nakon nekog vremena, Android Studio će završiti izgradnju vašeg projekta. Naravno, projekat je i dalje prazan, ali ima sve što vam je potrebno za pokretanje na Android uređaju ili emulatoru.

Nakon učitavanja projekta, pregledavate XML datoteku izgleda. Prije nego pređemo na Android programiranje, hajde da razgovaramo o tome kako možemo pokrenuti ovu aplikaciju. Vrijeme je da kažete "Zdravo svijete!".

Pokretanje aplikacije na emulatoru

Sada je vrijeme da kažemo nekoliko riječi o emulatoru. Android Studio dolazi sa softverom koji može emulirati Android uređaj za pokretanje aplikacija, pregledavanje weba, otklanjanje grešaka i još mnogo toga.

Ovu funkciju pruža Android Virtual Device (AVD) Manager. Opciono, možete postaviti više emulatora, postaviti veličinu ekrana i verziju platforme za svaki novi emulator. Ova funkcionalnost je vrlo korisna jer programere štedi od kupovine nekoliko uređaja za testiranje programa.

Kliknite na dugme Run u obliku zelene strelice.

Morat ćete pričekati neko vrijeme da se emulator učita i kada bude spreman, vidjet ćete nešto poput ovoga:

Čestitamo! Napravili ste svoju prvu Android aplikaciju!

I tako… Zašto i kako je to funkcioniralo?

Da biste počeli da pravite promene i dodajete sjajne funkcije, morate da imate radno znanje o tome šta se dešava iza kulisa. Pogledajte odjeljak projekta Android Studio s datotekama i mapama na lijevoj strani ekrana. Možda ćete morati da kliknete na malu karticu na ivici (pogledajte dole) ako istraživač projekta trenutno nije vidljiv.

Pregledajte strukturu foldera nekoliko minuta i dvaput kliknite na datoteke da vidite njihov sadržaj u glavnom prozoru. Ako sve ovo izgleda zagonetno, ne brinite!

Struktura Android projekta: Tim

Svaki dobar tim čine ljudi koji ispunjavaju svoje dodijeljene uloge. Da li želite da posao obavite kako treba? Potreban vam je pravi tim. Postoji nekoliko ključnih elemenata u Android projektima, a svaki od njih ima svoju ulogu:

Java: Professional

Ovo je dio vašeg koda koji je odgovoran za logiku aplikacije. Vaš kod će biti u direktoriju src\main\java u glavnom folderu projekta. Da biste naučili Javu, možete preporučiti knjigu Brucea Eckela "Java Philosophy";

Resursi: Artist

Nije dovoljno samo napraviti Android aplikaciju, ona mora biti i moderna. Vaša aplikacija se nikada neće isticati ako nema jasne ikone i slike, dobro dizajnirane izglede, a možda čak i glatke animacije.

Kada se inicijalizira, folder sadrži sljedeće foldere:

  • drawable, koji sadrži ikone. Sada postoji samo standardna ikona aplikacije.
  • raspored sa XML datotekama koje predstavljaju dizajn ekrana.
  • meni sa XML fajlovima sa listama stavki koje će biti prikazane na traci sa radnjama.
  • vrijednosti sa XML datotekama koje sadrže veličine, boje, string konstante i stilove.

AndroidManifest.xml: Boss

Ova XML datoteka obavještava vaš sistem o hardverskim i softverskim zahtjevima aplikacije i sadrži naziv verzije i ikonu. Manifest također sadrži informacije o svim aktivnostima u aplikaciji. Da li vam je potreban rad na vašoj aplikaciji? Prvo razgovaraj sa svojim šefom.

Izmjena

Idite na res/values/strings.xml i dvaput kliknite na datoteku. Kada otvorite datoteku, vidjet ćete dva izvora niza u XML-u.

Ovi resursi se koriste na različitim mjestima, ali je vrlo zgodno imati sav tekst koji se koristi u vašoj aplikaciji u jednoj datoteci. Ako ga trebate prevesti, ili ako vaš kolega iz marketinga zatraži da uklonite sve suvišne veze, ovdje će biti lako izvršiti sve izmjene.

Promijenite string hello_world koji aplikacija prikazuje na ekranu. Promijenite njegov sadržaj u nešto osobnije, kao što je korištenje vlastitog imena. Dobićete nešto poput:

Matt uči Android!

Kliknite na Run. Aplikacija bi se trebala ponovo pokrenuti i vidjet ćete personaliziranu poruku:

Čestitamo vam - napravili ste svoj prvi projekat i naučili kako da uredite izvorni kod. Prvi korak u Android programiranju je urađen. Želimo vam puno sreće na ovom teškom, ali ludo zanimljivom putu! Ako vam je potreban profesionalni razvoj Android aplikacija, kontaktirajte Infoshell stručnjake.

6. januara 2013. u 19:36

Android programiranje za početnike. Dio 1

  • razvoj mobilnih aplikacija,
  • Android razvoj
  • tutorial

Zdravo. Danas sam naišao na Android kurs programiranja na web stranici Linux Foundation, a sa njim i puno komentara o tome šta bih volio vidjeti i prijevod ovih lekcija. Pošto sam sada, nakon četiri godine razvoja mikrokontrolera, počeo da učim programiranje za mobilne uređaje, odlučio sam da paralelno prevedem prvi dio lekcije.

Android programiranje za početnike. Dio 1
Android pametni telefoni i tableti se sve više nalaze u našim torbama i džepovima, a i Android programiranje postaje sve popularnije. To je odlična razvojna platforma - API je dobro dokumentovan i jednostavan za korištenje, a jednostavno je zabavno napraviti nešto što možete pokrenuti na svom pametnom telefonu. U početku možete bez toga kreiranjem i testiranjem koda pomoću emulatora na vašem Linux PC-u. Prvi od dva dijela ovog uvoda objašnjava kako napraviti jednostavnu aplikaciju za tajmer i daje vam uvod u Android API. Kurs pretpostavlja osnovno razumijevanje Jave, XML-a i programskih tehnologija, ali ipak slobodno pokušajte čak i ako imate vrlo nejasnu ideju o tome.
Početak rada i razvojno okruženje
Malo o verzijama: najnovija verzija Androida je 4.2 (Jelly Bean), ali kao što možete vidjeti iz ovog dijagrama, još uvijek nije dovoljno rasprostranjena. Najbolje je početi s 4.0 (Ice Cream Sandwich) ili 2.3 (Gingerbeard), pogotovo jer su verzije Androida kompatibilne unatrag (tj. vaš 2.3 kod će raditi na 4.2) i aplikacije razvijene za kasniju verziju neće uvijek raditi na staroj verziji . Kod prikazan ovdje bi trebao raditi na verzijama 4.0 i 2.3.
Najlakši način da dobijete razvojno okruženje je da instalirate Android Bundle, koji se može preuzeti sa . Takođe će vam trebati JDK 6 (ne samo JRE). Ne zaboravite da Android nije kompatibilan sa gcj. Ako već koristite Eclipse ili neki drugi IDE, možete ga pokušati prilagoditi za Android. Opisano je kako se to radi. Sada kreirajte projekat pod nazivom Countdown koristeći Eclipse ili iz komandne linije. Postavio sam BuildSDK 4.0.3 i minimalni SDK 2.2 u postavkama i (u Eclipseu) koristio BlankActivity šablon.
Moj prvi Android projekat: interfejs
Naš prvi Android program će biti tajmer koji odbrojava od 10 sekundi nakon pritiska na dugme. Prije pisanja koda, potrebno je kreirati sučelje – ono što će korisnik vidjeti kada pokrene našu aplikaciju. Morate otvoriti res/layout/activity_countdown.xml i kreirati XML predložak - koristeći Eclipse editor ili text/XML editor, unesite sljedeće:

Top Related Articles