U hebt gelezen hoe iteratie in Java werkt. Test je nieuwe vaardigheden met deze uitdaging: vijf steeds moeilijkere oefeningen die je helpen om je kennis van de Java-programmeertaal en Android-ontwikkeling te verbeteren. Dat klopt ook, Android! U moet mogelijk verwijzen naar andere Android-zelfstudies die we hebben gepubliceerd op Mobiletuts +, maar als u deze uitdaging met succes kunt voltooien, weet u dat u zich goed ontwikkelt in uw Java- en Android SDK-begrip.
Om je voor te bereiden op deze uitdaging, wil je beginnen met een eenvoudige Android-applicatie. Maak eenvoudig een Android-applicatie binnen Eclipse en bewerk de standaardactiviteit, met name de methode onCreate (), om de code van elk van deze uitdagingen te testen.
Als wat we u zojuist hebben gevraagd al te uitdagend is, raden we u aan een stap terug te doen. Begin met een aantal van de Android-zelfstudies, zoals Inleiding tot Android-ontwikkeling of Begin Android: Aan de slag met Fortune Crunch. Als je eenmaal het opzetten van een Android-project onder de knie hebt, keer terug en probeer deze oefeningen.
In eerste instantie hebben we overwogen een eenvoudige reeks reeksen te gebruiken om deze iteratie-uitdagingen te voltooien:
String aColors [] = "Red", "Orange", "Yellow", "Green", "Blue", "Indigo", "Violet";
Er is echter een veel betere manier om vaste waardenarrays op te slaan in Android: als bronnen. Als u een array met tekenreeksen wilt maken, moet u eerst Stringresources maken voor elke waarde. Maak vervolgens een String Array-resource met behulp van die String-bronnen als elementen. Gebruik de
Rood Oranje Geel Groen Blauw Indigo paars - @ String / rood
- @ String / oranje
- @ String / geel
- @ String / groen
- @ String / blauw
- @ String / indigo
- @ String / violet
Als u deze arrayresource in uw klasse Activity wilt laden, gebruikt u de methode getStringArray () van het object Resources. Bijvoorbeeld:
String aColors [] = getResources (). GetStringArray (R. array.colorsArray);
Nu bent u klaar om aan de slag te gaan. Laad de stringarray uit de bronnen, zoals hierboven besproken. Herhaal vervolgens de inhoud van de array met een for () -lus. Print elke tekenreeks naar het foutlogboek van Android LogCat met behulp van de methode Log.v ().
Extra punten als u de verkorte versie van for () -lussen gebruikt, besproken in Leren Java voor Android-ontwikkeling: Werken met arrays.
Vind het antwoord op deze uitdaging in de challengeOne () -methode van het downloadbare project.
Herhaal dezelfde array als Challenge # 1, maar gebruik een ander iteratiemechanisme. Gebruik bijvoorbeeld een while () -lus in plaats daarvan. Print elke tekenreeks naar het foutlogboek van Android LogCat met behulp van de methode Log.v ().
Zoek het antwoord op deze uitdaging in de methode challengeTwo () van het downloadbare project.
Herhaal dezelfde reeks achteruit. Print elke tekenreeks naar het foutlogboek van Android LogCat met behulp van de methode Log.v ().
TIP: uitdaging # 2 kan helpen.
Vind het antwoord op deze uitdaging in de challengeThree () -methode van het downloadbare project.
Ga vervolgens terug naar de lus for () die je in Uitdaging # 1 hebt gemaakt. Werk het bij om ook de afzonderlijke tekens van elke reeks af te drukken. Voor deze uitdaging is een inner for () -lus vereist.
TIP: U kunt de methode toCharArray () van de klasse String gebruiken om een tekenarray op te halen.
Het antwoord op deze uitdaging ligt in de methode challengeFour () van het downloadbare project.
Voor deze laatste uitdaging heb je een beetje begrip nodig over Java-reflectie. Gebruik reflectie om door de gedeclareerde velden in de android.os.Build-klasse heen te werken met behulp van een for () -lus. Print elke veldnaam naar het log-debuglog van Android LogCat met behulp van de methode Log.v ().
TIP: Onze korte tutorial over Java-reflectie leert u alles wat u moet weten om deze uitdaging te voltooien.
We hebben twee verschillende oplossingen voor deze uitdaging geboden. De eerste oplossing gaat ervan uit dat het pakket is geïmporteerd en de compiler van de klasse op de hoogte is. De tweede oplossing maakt deze veronderstelling niet. Deze oplossingen zijn te vinden in de methoden challengeFiveA () en challengeFiveB () van het downloadbare project.
Android-ontwikkelaars gebruiken op regelmatige basis iteratietechnieken om coderingsproblemen op te lossen. Iteratie wordt vaak gebruikt om arrays, gegevensstructuren zoals lijsten of database-inhoud met behulp van cursors te itereren. Voel je vrij om je alternatieve antwoorden (of vragen) te plaatsen in de commentarensectie.
Veel succes!