Innehållsförteckning:
- Lägga till stora bokstäver där de hör hemma
- Bryt ut av en omkopplingsdeklaration
- När du jämför två värden använder du ett dubbel lika tecken. Linjen
- Du vill veta när användaren klickar på en widget, när en animering slutar eller när något annat händer, så att du skapar lyssnare:
- uppstår när du ringer en metod på ett uttryck som inte har något "legitimt" värde. Här är ett exempel:
- AndroidManifest.xml
- AndroidManifest. xml
Video: ZEITGEIST: MOVING FORWARD | OFFICIAL RELEASE | 2011 2024
Alla gör misstag. Det är ett faktum i livet. Men om du följer råd här behöver du inte vara ett faktum av din Java-programmering.
Lägga till stora bokstäver där de hör hemma
Java är ett språkkänsligt språk, så du måste verkligen tänka på din p s och q s - tillsammans med alla andra bokstäver av alfabetet. Här är några koncept att tänka på när du skapar Java-program:
- Java-sökord är helt små bokstäver. I ett Java
om
uttalande kan ordet om inte vara Om eller IF. - När du använder namnen från Android Application Programming Interface (API) måste namnen matcha det som visas i API: n.
- De namn du gör själv måste aktiveras på samma sätt under hela programmet. Om du förklarar en
myAccount
-variabel kan du inte referera till det somMyAccount
,myaccount
ellerMyaccount
. Om du aktiverar variabelnamnet två olika sätt anser Java att du refererar till två helt olika variabler.
Bryt ut av en omkopplingsdeklaration
Om du inte bryter ut från en
switch
-sats får du genombrott. Om värdet på
roll
är
7
, skriver följande kod alla tre ord -
vinna
,
fortsätt
och > förlora
:
switch (roll) {
fall 7:
textView. setText ("win");
fall 10:
fall 12:
textvy. setText ("förlora");
}
Jämför värden med ett dubbel lika tecken
När du jämför två värden använder du ett dubbel lika tecken. Linjen
om (inputNumber == randomNumber)
är korrekt, men raden
om (inputNumber = randomNumber)
är inte korrekt.
Lägg till lyssnare för att hantera händelser
Du vill veta när användaren klickar på en widget, när en animering slutar eller när något annat händer, så att du skapar lyssnare:
allmän klass MainActivity utökar aktivitet
redskap OnClickListener, AnimationListener
{ …
offentligt ogiltigt påClick (View view) {
…
}
offentligt tomrum på AnimationEnd (Animationsanimering) {
…
} < När du skapar lyssnare måste du komma ihåg att ställa in lyssnare:
ImageView widget = ny ImageView (this);
widget.
setOnClickListener
(detta);
animation.
setAnimationListener
(detta); … Om du glömmer samtalet till
setOnClickListener
inträffar ingenting när du klickar på widgeten.Att klicka på widgeten hårdare en andra gång hjälper inte.
Definiera nödvändiga konstruktörer
När du definierar en konstruktör med parametrar, som i
allmän temperatur (dubbelnummer)
Java skapar inte längre en standardparameterlösare för dig. Med andra ord kan du inte ringa
Temperatur roomTemp = Ny temperatur ();
om du inte definierar din egen parameterlösa
Temperatur
konstruktör.
Åtgärda icke-statiska referenser
Om du försöker kompilera följande kod får du ett felmeddelande:
klass WillNotWork {
String hälsning = "Hello";
statisk tomgångsvisning () {
textView. setText (hälsning);
}
}
Du får ett felmeddelande eftersom metoden
visa
är statisk men
hälsning
är inte statisk.
Håller sig inom gränserna i en matris
När du förklarar en matris med tio komponenter har komponenterna index 0 till 9. Med andra ord, om du förklarar
int gäster [] = new int [10];
du kan hänvisa till
gruppens komponenter genom att skriva
gäster [0]
,
gäster [1]
och så vidare hela vägen upp till
gäster [9]
. Du kan inte skriva
gäster [10]
eftersom
gästerna
har ingen komponent med index 10.
Förutse nollpekare
A
NullPointerException
uppstår när du ringer en metod på ett uttryck som inte har något "legitimt" värde. Här är ett exempel:
Public Class MainActivity utökar AppCompatActivity {
TextView textView;
@Override
protected void onCreate (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
setContentView (R. Layout. Activity_main);
// Du glömmer findViewById-raden.
}
Offentlig tomgång påButtonClick (View view) {
textView. setText ("Hello");
}
}
I Java har en variabel av referenstyp som inte pekar på någonting värdet
null
. Så i detta exempel är värdet
textView
-variabeln
null
.
Du kan inte ringa metoden
setText
på värdet
null
. För den delen kan du inte ringa någon metod på värdet
null
. När Java försöker att utföra
textView. setText ("Hello")
kraschar appen. Användaren ser ett
Program har slutat
meddelande. Om du testar appen med Android Studio ser du
NullPointerException i Logcat-panelen. För att undvika denna typ av katastrof, tänk två gånger om något metodsamtal i din kod. Om uttrycket före pricken eventuellt kan vara
null
, lägg till undantagshanteringskod i ditt program:
offentligt tomrum påButtonClick (View view) {
försök {
textView. setText ("Hello");
} fånga (NullPointerException e) {
Toast. makeText (detta, "Appen har återställts från ett fel.",
Toast. LENGTH_LONG). show();
}
}
Använda behörigheter
Vissa appar kräver uttryckliga behörigheter. Till exempel pratar vissa appar med Twitters servrar via Internet. Det här fungerar inte om du inte lägger till ett
-element i appens
AndroidManifest.xml
file:
Om du glömmer att lägga till
-elementet till din
AndroidManifest. xml
-filen, kan appen inte kommunicera med Twitters servrar. Appen misslyckas utan att visa ett användbart felmeddelande. Synd!
Aktiviteten hittades inte
Om du skapar en andra aktivitet för din app måste du lägga till ett nytt
-element i appens
AndroidManifest. xml
file. Elementet kan vara så enkelt som
men i de flesta fall är elementet lite mer komplicerat.
Om du inte lägger till detta
-element kan Android inte hitta klassen
MySecondActivity, även om
MySecondAcitivity. java
filen finns i appens projektkatalog. Din app kraschar med en
ActivityNotFoundException
.
Och det gör hela skillnaden.