Daftar Isi:
- Menempatkan huruf kapital di mana mereka berada
- Keluar dari pernyataan switch
- Bila Anda membandingkan dua nilai, Anda menggunakan tanda sama ganda. Baris
- Anda ingin mengetahui kapan pengguna mengeklik widget, saat animasi berakhir, atau saat terjadi sesuatu yang lain, jadi Anda menciptakan pendengar:
- NullPointerException
- ke AndroidManifest aplikasi
- baru di
Video: JANGAN UCAPKAN 5 Kalimat ini SAAT INTERVIEW KERJA! 2024
Semua orang membuat kesalahan. Ini adalah fakta kehidupan. Namun, jika Anda mengindahkan saran di sini, tidak harus menjadi fakta pemrograman Java Anda.
Menempatkan huruf kapital di mana mereka berada
Jawa adalah bahasa yang peka huruf besar, maka Anda benar-benar harus mengingat p s dan q s - bersama dengan setiap surat lainnya. dari alfabet Berikut adalah beberapa konsep yang perlu diingat saat Anda membuat program Java:
- Kata kunci Java sama sekali huruf kecil. Misalnya, dalam sebuah pernyataan di Jawa
jika
, kata jika tidak dapat Jika atau JIKA. - Bila Anda menggunakan nama dari Application Programming Interface (API) Android, nama harus sesuai dengan yang ada di API.
- Nama yang Anda buat sendiri harus dikapitalisasi dengan cara yang sama sepanjang keseluruhan program. Jika Anda menyatakan variabel
myAccount
, Anda tidak dapat menyebutnya sebagaiMyAccount
,myaccount
, atauMyaccount
. Jika Anda memanfaatkan nama variabel dua cara yang berbeda, Java berpikir bahwa Anda mengacu pada dua variabel yang sama sekali berbeda.
Keluar dari pernyataan switch
Jika Anda tidak keluar dari pernyataan
switch
, Anda akan terjatuh. Misalnya, jika nilai
roll
adalah
7
, kode berikut mencetak tiga kata -
win
,
continue
, dan > kehilangan
:
beralih (roll) {
case 7:
textView. setText ("menang");
kasus 10:
kasus 12:
textView setText ("kalah");
}
Membandingkan nilai dengan tanda sama ganda
Bila Anda membandingkan dua nilai, Anda menggunakan tanda sama ganda. Baris
jika (inputNumber == randomNumber)
benar, tapi baris
jika (inputNumber = randomNumber)
tidak benar.
Menambahkan pendengar untuk menangani acara
Anda ingin mengetahui kapan pengguna mengeklik widget, saat animasi berakhir, atau saat terjadi sesuatu yang lain, jadi Anda menciptakan pendengar:
public class MainActivity meluas Aktivitas
mengimplementasikan OnClickListener, AnimationListener
{ …
public void onClick (Lihat lihat) {
…
}
public void onAnimationEnd (Animasi animasi) {
…
} < Bila Anda membuat pendengar, Anda harus ingat untuk mengatur pendengarnya:
ImageView widget = new ImageView (this);
widget
setOnClickListener
(ini);
.
setAnimationListener
(ini); … Jika Anda lupa panggilan ke
setOnClickListener
, tidak ada yang terjadi saat Anda mengklik widget.Mengklik widget lebih keras untuk kedua kalinya tidak membantu.
Mendefinisikan konstruktor yang dibutuhkan
Bila Anda mendefinisikan konstruktor dengan parameter, seperti pada
suhu umum (bilangan ganda)
Java tidak lagi menciptakan konstruktor tanpa parameter default untuk Anda. Dengan kata lain, Anda tidak dapat lagi menelepon
Temperature roomTemp = new Temperature ();
kecuali Anda secara eksplisit mendefinisikan konstruktor
Temperatur
parameter Anda sendiri.
Memperbaiki referensi nonstatik
Jika Anda mencoba mengkompilasi kode berikut, Anda akan mendapatkan pesan kesalahan:
kelas WillNotWork {
String greeting = "Halo";
static void show () {
textView. setText (salam);
}
}
Anda mendapatkan pesan kesalahan karena metode
menunjukkan
statis, tapi
salam
tidak statis.
Tinggal dalam batas dalam array
Saat Anda mendeklarasikan sebuah array dengan sepuluh komponen, komponen memiliki indeks 0 sampai 9. Dengan kata lain, jika Anda menyatakan
tamu int [] = int baru [10];
Anda dapat merujuk ke komponen array
tamu
dengan menulis
tamu [0]
,
tamu [1]
, dan seterusnya, sampai ke
tamu [9]
. Anda tidak dapat menulis
tamu [10]
, karena array
tamu
tidak memiliki komponen dengan indeks 10.
Mengantisipasi pointer nol
A
NullPointerException
muncul saat Anda memanggil metode pada ekspresi yang tidak memiliki nilai "sah". Inilah contohnya:
public class MainActivity memperluas AppCompatActivity {
textView textView;
@Override
protected void onCreate (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
setContentView (tata letak R. Aktivitas_main);
// Anda lupa garis findViewById.
}
public void onButtonClick (Lihat tampilan) {
textView. setText ("Halo");
}
}
Di Jawa, variabel tipe referensi yang tidak mengarah ke sesuatu memiliki nilai
null
. Jadi, dalam contoh ini, nilai variabel
textView
null
.
Anda tidak dapat memanggil metode
setText
pada nilai
null
. Untuk itu, Anda tidak dapat memanggil metode apapun pada nilai
null
. Saat Java mencoba mengeksekusi
textView. setText ("Halo")
, aplikasi mogok. Pengguna melihat Aplikasi
telah menghentikan
pesan. Jika Anda menguji aplikasi menggunakan Android Studio, Anda melihat NullPointerException di panel Logcat.
Untuk menghindari bencana semacam ini, pikirkan dua kali tentang pemanggilan metode apa pun dalam kode Anda. Jika ekspresi sebelum titik itu mungkin
null, tambahkan kode penanganan pengecualian ke program Anda:
public void onButtonClick (Lihat lihat) {
coba {
textView. setText ("Halo");
} menangkap (NullPointerException e) {
Toast. makeText (ini, "Aplikasi telah pulih dari kesalahan.",
Toast. LENGTH_LONG). menunjukkan();
}
}
Menggunakan izin
Beberapa aplikasi memerlukan izin eksplisit. Misalnya, beberapa aplikasi berbicara ke server Twitter melalui Internet. Ini tidak bekerja kecuali Anda menambahkan elemen
ke AndroidManifest aplikasi
.xml
file:
Jika Anda lupa menambahkan elemen
ke
AndroidManifest Anda. xml
file, aplikasi tidak dapat berkomunikasi dengan server Twitter. Aplikasi gagal tanpa menampilkan pesan kesalahan yang berguna. Sangat buruk!
Aktivitas yang Tidak Ditemukan
Jika Anda membuat aktivitas kedua untuk aplikasi Anda, Anda harus menambahkan elemen
baru di
AndroidManifest aplikasi. xml
file Elemennya bisa sesederhana
tapi, dalam banyak kasus, elemennya sedikit lebih rumit.
Jika Anda tidak menambahkan elemen
ini, Android tidak dapat menemukan kelas
MySecondActivity
, meskipun
MySecondAcitivity. file java
ada di direktori proyek aplikasi. Aplikasi Anda mogok dengan
ActivityNotFoundException
.
Dan itu membuat semua perbedaan.