Indholdsfortegnelse:
- Sæt store bogstaver, hvor de hører til.
- Bryd ud af en omstillingserklæring
- Sammenlign værdier med et dobbelt lige tegn
- Tilføj lyttere til at håndtere begivenheder
- Definer de krævede konstruktorer
- Fix nonstatic referencer
- Bliv inden for grænserne i en matrix
- Forvent nullpinere
- Brug tilladelser
- Aktiviteten ikke fundet
Video: CRC Error - Aptana Studio 3 [Rozwiązane] 2025
Her er 10 hurtige påmindelser for at undgå nemme fejl, når du programmerer Android apps med Java kode. At skrive dine egne Java-programmer bliver meget nemmere og glattere, når du løber gennem denne tjekliste.
Sæt store bogstaver, hvor de hører til.
Java er et sårfølsomt sprog, så du skal virkelig huske din P s og Q s - sammen med alle andre bogstaver af alfabetet. Her er nogle begreber, der skal tages i betragtning, når du opretter Java-programmer:
-
Java's søgeord er helt små bogstaver. For eksempel, i en Java-erklæring, kan ordet hvis ikke være Hvis eller IF.
-
Når du bruger navne fra Java Application Programming Interface (API), skal navnet på navnene svare til det, der vises i API'en.
-
Du skal også sørge for, at de navne, du selv udgør, aktiveres på samme måde i hele programmet. Hvis du erklærer en myAccount-variabel, kan du ikke referere til det som MyAccount, myaccount eller Myaccount. Hvis du aktiverer variablenavnet på to forskellige måder, mener Java, at du henviser til to helt forskellige variabler.
Bryd ud af en omstillingserklæring
Hvis du ikke bryder ud af en omstillingserklæring, får du gennemgang. Hvis værdien af rulle er 7, udskriver følgende kode alle tre ord - vinde, fortsæt og tab:
switch (roll) {case 7: System. ud. println ("win"); sag 10: system. ud. println ("fortsæt"); sag 12: system. ud. println ("lose");}
Sammenlign værdier med et dobbelt lige tegn
Når du sammenligner to værdier med hinanden, skal du bruge et dobbeltlignende tegn. Linjen
hvis (inputNumber == randomNumber)
er korrekt, men linjen
hvis (inputNumber = randomNumber)
ikke er korrekt.
Tilføj lyttere til at håndtere begivenheder
Du vil vide, hvornår brugeren klikker på en widget, når en animation slutter, eller når der sker noget andet, så du opretter lyttere:
offentlig klasse MainActivity udvider Aktivitet redskaber OnClickListener, AnimationListener {… Offentlig ugyldig onClick (View view) {…} Offentlig ugyldig onAnimationEnd (Animation animation) {…}
Når du opretter lyttere, skal du huske at indstille lytterne:
ImageView widget = ny ImageView (dette); widget. setOnClickListener (dette); … AlphaAnimation animation = ny AlphaAnimation (0, 0F, 1. 0F); animation. setAnimationListener (dette); …
Hvis du glemmer opkaldet til setOnClickListener, sker der ikke noget, når du klikker på widgeten. Hvis du klikker på widgeten hårdere en anden gang, hjælper det ikke.
Definer de krævede konstruktorer
Når du definerer en konstruktor med parametre, som i
offentlig temperatur (dobbeltnummer)
opretter Java ikke længere en standardparameterløs konstruktør til dig. Med andre ord kan du ikke ringe
Temperatur roomTemp = Ny temperatur ();
medmindre du udtrykkeligt definerer din egen parameterløse temperaturkonstruktor.
Fix nonstatic referencer
Hvis du prøver at kompilere følgende kode, får du en fejlmeddelelse:
klasse WillNotWork {String greeting = "Hello"; offentlig statisk tomrum hoved (String args []) {System. ud. println (hilsen);}}
Du får en fejlmeddelelse, fordi main er statisk, men hilsen er ikke statisk.
Bliv inden for grænserne i en matrix
Når du erklærer en matrix med ti komponenter, har komponenterne indekser 0 til 9. Med andre ord, hvis du erklærer
int gæster [] = new int [10];
Du kan henvise til gæsters arrayets komponenter ved at skrive gæster [0], gæster [1] og så videre helt op til gæster [9]. Du kan ikke skrive gæster [10], fordi gæsterne har ingen komponent med indeks 10.
Forvent nullpinere
Disse eksempler er ikke tilbøjelige til at kaste NullPointerException, men i ægte Java programmering se den undtagelse hele tiden. En NullPointerException finder sted, når du kalder en metode på et udtryk, der ikke har en "legitim" værdi. Her er et billigt eksempel:
offentlig klasse ThrowNullPointerException {public static void main (String [] args) {String myString = null; display (myString);} statisk void display (String aString) {hvis (! aString. indeholder ("fortroligt")) {System. ud. println (aString);}}}
Visningsmetoden udskriver kun en streng tegn, hvis den pågældende streng ikke indeholder ordet fortroligt . Problemet er, at myString-variablen (og dermed aString-parameteren) ikke refererer til en streng af nogen art - ikke engang til den tomme streng (").
Når computeren når opkaldet til aString. indeholder, ser computeren efter en indeholdt metode, der tilhører null. Men null er ingenting. Nulværdien har ingen metoder. Så du får en stor NullPointerException, og programmet kommer ned i nærheden af dig.
For at undgå denne form for ulykke skal du tænke to gange om enhver metodeopkald i din kode. Hvis udtrykket før prikken muligvis er null, skal du tilføje undtagelseshåndteringskode til dit program:
prøv {hvis (! AString. Indeholder ("fortroligt")) {System. ud. println (aString);}} fangst (NullPointerException e) {System. ud. println ("Strengen er null.");}
Brug tilladelser
Nogle apps kræver eksplicitte tilladelser. For eksempel kan en app snakke med kvidens servere over internettet. Dette virker ikke, medmindre du tilføjer et element til appens AndroidManifest. xml-fil:
Hvis du glemmer at tilføje elementet til din AndroidManifest. xml-fil, kan appen ikke kommunikere med kvidens servere. Appen fejler uden at vise en nyttig fejlmeddelelse. Det var ærgerligt!
Aktiviteten ikke fundet
Hvis du opretter en anden aktivitet til din app, skal du tilføje et nyt element i appens AndroidManifest.xml-fil. For eksempel kan en Android-app have to aktiviteter: MainActivity og MyListActivity.
Eclipse opretter automatisk en Hvis du ikke tilføjer dette element, kan Android ikke finde klassen MyListActivity, selvom MyListAcitivity. java-filen findes i appens Eclipse-projektmappe. Din app kolliderer med en ActivityNotFoundException. Og det gør hele forskellen.