Innholdsfortegnelse:
- Setter store bokstaver der de tilhører
- Bryter ut av en bryteretning
- Når du sammenligner to verdier, bruker du et dobbelt likestegn. Linjen
- Du vil vite når brukeren klikker en widget, når en animasjon slutter, eller når noe annet skjer, slik at du oppretter lyttere:
- kommer til når du kaller en metode på et uttrykk som ikke har noen "legitim" verdi. Her er et eksempel:
- AndroidManifest.xml
- AndroidManifest. xml
Video: Privacy, Security, Society - Computer Science for Business Leaders 2016 2025
Alle gjør feil. Det er et faktum i livet. Men hvis du holder på rådene her, trenger du ikke å være et faktum av Java-programmeringen.
Setter store bokstaver der de tilhører
Java er et saksensitivt språk, så du må virkelig huske din p s og q s - sammen med alle andre bokstaver av alfabetet. Her er noen konsepter å huske på når du lager Java-programmer:
- Java-søkeordene er helt små bokstaver. For eksempel, i en Java
hvis
setning, kan ordet hvis ikke være Hvis eller IF. - Når du bruker navn fra Android Programmeringsgrensesnitt (API), må navnet på navnene samsvarer med det som vises i APIen.
- Navnene du lager deg på, må aktiveres på samme måte gjennom hele programmet. Hvis du erklærer en
myAccount
-variabel, kan du ikke se det somMyAccount
,myaccount
ellerMyaccount
. Hvis du aktiverer variabelenavnet på to forskjellige måter, mener Java at du refererer til to helt forskjellige variabler.
Bryter ut av en bryteretning
Hvis du ikke bryter ut av
bryteren
, får du gjennomgang. Hvis for eksempel verdien av
rull
er
7
, skriver følgende kode alle tre ordene -
vinn
,
fortsett
og > miste
:
bryter (rulle) {
sak 7:
textvisning. setText ("vinne");
sak 10:
sak 12:
textvisning. setText ("miste");
}
Sammenligning av verdier med et dobbelt likestegn
Når du sammenligner to verdier, bruker du et dobbelt likestegn. Linjen
hvis (inputNumber == randomNumber)
er riktig, men linjen
hvis (inputNumber = randomNumber)
er ikke riktig.
Legge til lyttere for å håndtere hendelser
Du vil vite når brukeren klikker en widget, når en animasjon slutter, eller når noe annet skjer, slik at du oppretter lyttere:
offentlig klasse MainActivity utvider Aktivitet
redskaper OnClickListener, AnimationListener
{ …
offentlig ugyldig påClick (Vis visning) {
…
}
offentlig tomgang på AnimasjonEnd (Animasjons animasjon) {
…
} < Når du lager lyttere, må du huske å sette lytterne:
ImageView widget = ny ImageView (dette);
widget.
setOnClickListener
(this);
animasjon.
setAnimationListener
(this); … Hvis du glemmer anropet til
setOnClickListener
, skjer ingenting når du klikker på widgeten.Hvis du klikker widgeten hardere en gang, hjelper det ikke.
Definere de nødvendige konstruktørene
Når du definerer en konstruktør med parametre, som i
offentlig temperatur (dobbeltnummer)
Java lager ikke lenger en standard parameterløs konstruktør for deg. Med andre ord kan du ikke ringe
Temperatur roomTemp = ny temperatur ();
med mindre du spesifikt definerer din egen parameterfri
temperatur
konstruktør.
Fastsette ikke-statiske referanser
Hvis du prøver å kompilere følgende kode, får du en feilmelding:
klasse WillNotWork {
String greeting = "Hello";
statisk tomromvisning () {
textvisning. setText (hilsen);
}
}
Du får en feilmelding fordi metoden
vis
er statisk, men
hilsen
er ikke statisk.
Forblir innenfor grensene i en matrise
Når du erklærer en matrise med ti komponenter, har komponentene indeksene 0 til 9. Med andre ord, hvis du erklærer
int gjester [] = new int [10];
kan du se på
gruppens komponenter ved å skrive
gjester [0]
,
gjester [1]
og så videre helt opp til
gjester [9]
. Du kan ikke skrive
gjester [10]
, fordi
gjester
-serien har ingen komponent med indeks 10.
Forutse null pointers
A
NullPointerException
kommer til når du kaller en metode på et uttrykk som ikke har noen "legitim" verdi. Her er et eksempel:
offentlig klasse MainActivity utvider AppCompatActivity {
TextView textView;
@Override
beskyttet tomrommet påCreate (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
setContentView (R. Layout. Activity_main);
// Du glemmer findViewById-linjen.
}
offentlig ugyldig påButtonClick (View view) {
textView. setText ("Hello");
}
}
I Java er en variabel av referansetypen som ikke peker på noe, verdien
null
. Så i dette eksemplet er
textView
-variabelen verdi
null
.
Du kan ikke ringe
setText
-metoden på
null
-verdien. For den saks skyld kan du ikke kalle noen metode på verdien
null
. Når Java prøver å kjøre
textView. setText ("Hello")
, krasjer appen. Brukeren ser en
Programmet har stoppet
meldingen. Hvis du tester appen ved hjelp av Android Studio, ser du
NullPointerException i Logcat-ruten. For å unngå denne typen ulykke, tenk to ganger om hvilken som helst metodeoppringing i koden din. Hvis uttrykket før punktet muligens kan være
null
, legg til unntakshåndterings kode i programmet:
offentlig ugyldig påButtonClick (View view) {
prøv {
textView. setText ("Hello");
} fangst (NullPointerException e) {
Toast. makeText (dette, "Appen har gjenopprettet fra en feil.",
Toast. LENGTH_LONG). forestilling();
}
}
Bruke tillatelser
Noen apper krever eksplisitte tillatelser. For eksempel snakker noen apper til Twitters servere over Internett. Dette fungerer ikke med mindre du legger til et
element i appens
AndroidManifest.xml
file:
Hvis du glemmer å legge til elementet
til
AndroidManifest. xml
-filen, kan appen ikke kommunisere med Twitter-servere. Appen feiler uten å vise en nyttig feilmelding. Synd!
Aktiviteten ikke funnet
Hvis du oppretter en annen aktivitet for appen din, må du legge til et nytt
element i appens
AndroidManifest. xml
fil. Elementet kan være så enkelt som
, men i de fleste tilfeller er elementet litt mer komplisert.
Hvis du ikke legger til dette
-elementet, kan Android ikke finne klassen
MySecondActivity, selv om
MySecondAcitivity. java
filen er i appens prosjektkatalog. Appen din krasjer med en
ActivityNotFoundException
.
Og det gjør hele forskjellen.
