Lær Java for Android Challenge Iteration

Du har lest om hvordan iterasjon fungerer i Java. Test dine nye ferdigheter med denne utfordringen: Fem gradvis vanskelige øvelser som hjelper deg å styrke din kunnskap om Java-programmeringsspråket og Android-utviklingen. Det er riktig, også Android! Du må kanskje henvise til andre Android-opplæringsprogrammer som vi har publisert på Mobiletuts +, men hvis du kan fullføre denne utfordringen, vil du vite at du utvikler deg pent i din Java og Android SDK-forståelse.

Setup

For å forberede seg på denne utfordringen, vil du starte med en grunnleggende Android-applikasjon. Du kan bare lage en Android-applikasjon innenfor Eclipse og redigere standardaktiviteten, spesielt metoden onCreate (), for å teste koden fra hver av disse utfordringene.

Hvis det vi allerede har spurt om dere allerede er for utfordrende, vil vi anbefale å ta et skritt tilbake. Start med noen av Android-veiledningene, for eksempel Introduksjon til Android-utvikling eller Begynn Android: Komme i gang med Fortune Crunch. Når du har mestret å sette opp et Android-prosjekt, kom tilbake og prøv disse oppgavene.

Komme i gang: Arbeide med String Array Resources

I begynnelsen vurderte vi å bruke en enkel strengserie for å bruke for å fullføre disse iterasjonsutfordringene:

 String aColors [] = "Red", "Orange", "Yellow", "Green", "Blue", "Indigo", "Violet"; 

Det er imidlertid en mye bedre måte å lagre faste verdier i Android: som ressurser. For å opprette en streng-arrayressurs må du først opprette String-ressurser for hver verdi. Deretter lager du en String Array-ressurs ved hjelp av disse String-ressursene som elementer. Bruke tag for å kombinere String-ressurser til en matrise ressurs ved hjelp av barn koder for hvert element. For eksempel, her er en rekke farger i en Android ressursfil:

   rød oransje Gul Grønn Blå indigo Violet  @ Snor / rød @ Snor / orange @ Snor / gul @ Snor / grønn @ Snor / blå @ Snor / indigo @ Snor / fiolett  

Hvis du vil laste inn denne ressursressursen i aktivitetsklassen, bruker du getStringArray () -metoden til ressursobjektet. For eksempel:

 String aColors [] = getResources (). GetStringArray (R.array.colorsArray); 

Utfordring # 1: Oppvarming Utfordring

Nå er du klar til å komme i gang. Legg inn strengsammensetningen fra ressursene, som diskutert ovenfor. Deretter iterate gjennom array innholdet ved hjelp av en for () loop. Skriv ut hver streng i Android LogCat feilsøkingsloggen ved hjelp av Log.v () -metoden.

Ekstra poeng hvis du bruker shorthandversjonen av for () sløyfer, diskutert i Learn Java for Android Development: Arbeider med Arrays.

Finn svaret på denne utfordringen i utfordringsprosjektet challengeOne ().

Utfordring # 2: Strek dine ferdigheter

Iterere samme rekkefølge som Utfordring # 1, men bruk en annen iterasjonsmekanisme. For eksempel bruk en stund () løkke i stedet. Skriv ut hver streng i Android LogCat feilsøkingsloggen ved hjelp av Log.v () -metoden.

Finn svaret på denne utfordringen i utfordringsprosjektet challengeTwo ().

Utfordring # 3: Omvendt!

Iterere samme array bakover. Skriv ut hver streng i Android LogCat feilsøkingsloggen ved hjelp av Log.v () -metoden.

Tips: Utfordring # 2 kan hjelpe.

Finn svaret på denne utfordringen i utfordringsprosjektet challengeThree ().

Utfordring # 4: Det handler om karakter

Deretter går du tilbake til for () -løkken du opprettet i utfordring # 1. Oppdater det for å skrive ut de enkelte tegnene i hver streng også. Denne utfordringen vil kreve en indre for () sløyfe.

TIPS: Du kan bruke metoden toCharArray () i String-klassen til å hente en tegnserie.

Svaret på denne utfordringen er i utfordringsprosjektet challengeFour ().

Utfordring # 5: Reflektere over hvor langt du har kommet

For denne siste utfordringen, trenger du litt forståelse av Java refleksjon. Bruk refleksjon til å lure gjennom de deklarerte feltene i android.os.Build-klassen ved hjelp av en for () -løkke. Skriv ut hvert feltnavn til Android LogCat-feilsøkingsloggen ved hjelp av Log.v () -metoden.

Tips: Vår korte opplæring på Java refleksjon vil lære deg alt du trenger å vite for å fullføre denne utfordringen.

Vi har gitt to forskjellige løsninger for denne utfordringen. Den første løsningen forutsetter at pakken er importert og kompilatoren vet om klassen. Den andre løsningen gjør ikke denne antagelsen. Disse løsningene finnes i utfordringsprosjektet challengeFiveA () og challengeFiveB ().

Konklusjon

Android-utviklere bruker regelmessig iterasjonsteknikker for å løse kodingsproblemer. Iterasjon brukes ofte til å iterere arrayer, datastrukturer som lister eller databaseinnhold ved hjelp av markører. Du er velkommen til å legge inn dine alternative svar (eller eventuelle spørsmål) i kommentarfeltet.

Lykke til!