Cuprins:
- Introducerea literelor mari în cazul în care aparțin
- Întreruperea unei instrucțiuni de comutare
- dacă (inputNumber == randomNumber)
- MainActivity class extends Activity
- cu excepția cazului în care vă definiți în mod explicit propriul constructor
- textView. setText (salut);
- ai matricei scriind
- @Override
- la
- Dacă nu adăugați acest element
Video: Week 10 2024
Toată lumea face greșeli. Este un fapt al vieții. Cu toate acestea, dacă țineți cont de sfatul de aici, nu trebuie să fie un fapt al programării dvs. Java.
Introducerea literelor mari în cazul în care aparțin
Java este o limbă sensibilă la majuscule, deci trebuie să aveți cu grijă p s și q s - alfabetului. Iată câteva concepte pe care trebuie să le țineți minte pe măsură ce creați programe Java:
- Cuvintele cheie Java sunt toate minuscule. De exemplu, într-o instrucțiune Java
dacă
, cuvântul dacă nu poate fi Dacă sau IF. - Când folosiți nume din Interfața de Programare a Aplicațiilor (API) a Androidului, cazul numelor trebuie să se potrivească cu ceea ce apare în API.
- Numele pe care le-ai creat trebuie să fie capitalizate în același mod pe tot parcursul programului. Dacă declarați o variabilă
myAccount
, nu vă puteți referi la aceasta caMyAccount
,myaccount
sauMyaccount
. Dacă capitalizați numele variabilei în două moduri diferite, Java crede că vă referiți la două variabile complet diferite.
Întreruperea unei instrucțiuni de comutare
Dacă nu ieșiți dintr-o declarație
comutator
, obțineți o cădere. De exemplu, dacă valoarea
rolă
este
7
, următorul cod imprimă toate cele trei cuvinte -
câștiga
,
> pierdeți
:
comutați (derulați) {
cazul 7:
textView. setText ("victorie");
cazul 10:
TextView. setText ("continuă");
textView. setText ("pierde");
}
Compararea valorilor cu un semn egal dublu
Când comparați două valori, utilizați un dublu semn egal. Linia
dacă (inputNumber == randomNumber)
este corectă, dar linia
dacă (inputNumber = randomNumber)
nu este corectă.
Adăugarea ascultătorilor să se ocupe de evenimente
Vrei să știi când utilizatorul dă clic pe un widget, când se termină animația sau când se întâmplă altceva, astfel încât să creezi ascultători:
MainActivity class extends Activity
implements OnClickListener, AnimationListener
{
… public void onClick (Afișare vizualizare) {
…
Când creați ascultători, trebuie să vă amintiți să setați ascultătorii:
ImageView widget = new ImageView (this);
widget.
setOnClickListener
(aceasta);
…
animație AlphaAnimation = nouă AlphaAnimație (0. 0F, 1. 0F);
animație. setAnimationListener (aceasta);
Dacă uitați apelul la
setOnClickListener
, atunci când faceți clic pe widget nu se întâmplă nimic.Apăsând mai greu widget-ul a doua oară nu vă ajută. Definirea constructorilor necesari Când definiți un constructor cu parametri, ca în
Temperatură publică (număr dublu)
Java nu mai creează un constructor implicit pentru parametri. Cu alte cuvinte, nu mai puteți suna
Temperatura roomTemp = new Temperature ();
cu excepția cazului în care vă definiți în mod explicit propriul constructor
Temperatură
fără parametri.
Rezolvarea referințelor nonstatice
Dacă încercați să compilați următorul cod, primiți un mesaj de eroare:
clasa WillNotWork {
String greeting = "Bună ziua";
arată static void () {
textView. setText (salut);
}
}
Obțineți un mesaj de eroare deoarece metoda
arată
este statică, dar
salutul
nu este statică.
Starea în limite într-o matrice
Când declarați o matrice cu zece componente, componentele au indicii 0 până la 9. Cu alte cuvinte, dacă declarați
int oaspeți [] = int int [10];
poți să te referi la componentele
oaspeților
ai matricei scriind
oaspeții [0]
,
oaspeții [1]
clienți [9]
. Nu puteți scrie
oaspeți [10]
, deoarece matricea
invitați
nu are componentă cu index 10.
Anticiparea indicilor null
A
NullPointerException
vine atunci când numiți o metodă pe o expresie care nu are nici o valoare "legitimă". Iată un exemplu:
clasa publică MainActivity extinde AppCompatActivity {
TextView textView;
@Override
protejat void onCreate (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
setContentView (layout-ul, activitate_main);
// Ați uitat linia findViewById.
}
public void onButtonClick (Vizualizare vizualizare) {
textView. setText ("Bună ziua");
}
}
În Java, o variabilă de tip de referință care nu indică nimic are valoarea
null
. Deci, în acest exemplu, valoarea variabilei
textView
este
null
.
Nu puteți apela metoda
setText
pe valoarea
null
. De exemplu, nu puteți apela nici o metodă pe valoarea
null
. Când Java încearcă să execute
textView. setText ("Hello")
, aplicația se blochează. Utilizatorul vede un mesaj
Aplicația a oprit
. Dacă testați aplicația utilizând Android Studio, veți vedea
NullPointerException
în panoul Logcat.
Pentru a evita acest tip de calamitate, gândiți-vă de două ori la orice metodă de apel în codul dvs. Dacă expresia din fața punctului poate fi
null, adăugați codul de tratare a excepțiilor în programul dvs.: public void onButtonClick (View view) {
try {
textView. setText ("Bună ziua");
} captură (NullPointerException e) {
Toast. makeText (aceasta, "Aplicația sa recuperat dintr-o eroare",
Toast. LENGTH_LONG). spectacol();
}
}
Utilizarea permisiunilor
Unele aplicații necesită permisiuni explicite. De exemplu, unele aplicații vorbesc pe serverele Twitter prin Internet. Acest lucru nu funcționează decât dacă adăugați un element
la aplicația
AndroidManifest.xml
fișier:
Dacă uitați să adăugați elementul
la
AndroidManifest. xml
, aplicația nu poate comunica cu serverele Twitter. Aplicația nu reușește fără a afișa un mesaj de eroare util. Pacat!
Activitatea nu a fost găsită
Dacă creați oa doua activitate pentru aplicația dvs., trebuie să adăugați un element nou
în aplicația
AndroidManifest. xml
fișier. Elementul poate fi la fel de simplu ca
dar, în majoritatea cazurilor, elementul este un pic mai complicat.
Dacă nu adăugați acest element
, Android nu poate găsi clasa
MySecondActivity
, chiar dacă
MySecondAcitivity. java
este în directorul de aplicații al aplicației. Aplicația dvs. se blochează cu
ActivityNotFoundException
.
Și asta face diferența.