3.1 P: Menggunakan Debugger
Tugas 1. Membuat Proyek dan Aplikasi SimpleCalc
1.1 Unduh dan buka proyek SimpleCalc
1. Unduh dan ekstrak folder proyek SimpleCalc project folder.
2. Mulai Android Studio dan pilih File > Open.
3. Buka folder untuk menemukan SimpleCalc, pilih file folder, dan klik OK.
1.2 Menjelajahi Layout
1. Buka res/layout/activity_main.xml .
2. Pratinjau layout dalam Layout Editor.
3. Periksa kode layout
1.3 Jelajahi kode aplikasi
1. Perluas folder aplikasi/java folder dalam tampilan proyek Android. Selain kelas MainActivity, proyek ini juga
menyertakan kelas Kalkulator utilitas.
2. Buka Kalkulator (java/com.example.android.simplecalc/Calculator.java). Periksa kodenya. Setelah pemeriksaan, Anda
bisa melakukan observasi berikut:
Operasi yang dapat dilakukan ditentukan oleh enum Operator.
Semua metode operasi bersifat publik.
3. Buka MainActivity (java/com.example.android.simplecalc/MainActivity).
4. Jalankan aplikasi. Coba hal-hal gunakan aplikasi ,Biarkan salah satu atau kedua tampilan EditText kosong, dan coba penghitungan apa pun.
5. Periksa debugger dalam Android Studio saat aplikasi terdapat error.
Tugas 2. Menjalankan SimpleCalc di Debugger
2.1 Memulai dan Menjalankan aplikasi dalam mode debug
1. Dalam Android Studio, pilih Run > Debug
Jika aplikasi sudah berjalan, Anda akan ditanyakan apakah ingin memulai ulang aplikasi dalam mode debug. Klik
Restart app.
2. Buka file MainActivity.java dan klik baris keempat metode compute() (baris setelah pernyataan try).
3. Klik di gutter kiri jendela editor baris tersebut, sebelah nomor baris.
2.2 Men-debug aplikasi yang berjalan
1. Jalankan aplikasi SimpleCalc secara normal, dengan ikon Run
2. Pilih Run > Attach debugger to Android process
Tugas 3: Menjelajahi Fitur Debugger
3.1 Menyusuri eksekusi aplikasi
1. Debug aplikasi dalam Android Studio, dengan breakpoint yang sudah disetel pada tugas terakhir.
2. Dalam aplikasi, masukkan angka dalam tampilan EditText dan klik tombol Add.
Eksekusi aplikasi Anda berhenti pada breakpoint yang sudah disetel sebelumnya, dan debugger menunjukkan status
aplikasi saat ini. Baris saat ini disorot dalam kode Anda.
3. Klik tombol Step Over di bagian atas jendela debugger.
4. Di baris berikutnya (penetapan untuk operandTwo), klik ikon Step Into
ikon.
3.2 Bekerja dengan Breakpoint
3.3 Memeriksa dan memodifikasi variabel
3.2: Menguji Aplikasi dengan Pengujian Unit
Tugas 1. Menjelajahi dan menjalankan SimpleCalc di AndroidStudio
1.1 Menjelajahi rangkaian sumber dan SimpleCalc
- Membuka proyek SimpleCalc dalam Android Studio
- Buka tampilan Project, dan perluas folder aplikasi dan java.
- Luaskan folder com.android.example.simplecalc (test).
- Buka CalculatorTest.java kemudian periksa kodenya
1.2 Menjalankan pengujian dalam Android Studio
Tugas 2. Menambahkan lebih banyak pengujian unit ke
CalculatorTest
2.1 Menambahkan lebih banyak pengujian untuk metode add()
- Menambahkan metode baru CalculatorTest bernama addTwoNumbersNegative(). Gunakan kerangka ini:
@Test
public void addTwoNumbersNegative() {
}
Metode ini memiliki struktur yang serupa dengan addTwoNumbers: ini adalah metode publik, tanpa parameter, yang
mengembalikan kosong. Ini dianotasi dengan @Test, yang menunjukkan pengujian unit tunggal.
Mengapa tidak menambahkan lebih banyak pernyataan ke addTwoNumbers? Mengelompokkan lebih dari satu
pernyataan ke dalam satu metode tunggal dapat membuat pengujian lebih sulit di-debug jika salah satu pernyataan
gagal, dan mengaburkan tes yang berhasil. Peraturan umum untuk pengujian unit adalah menyediakan metode
pengujian untuk setiap pernyataan individual.
- Menjalankan semua pengujian di CalculatorTests, seperti sebelumnya.
Dalam jendela pengujian, addTwoNumbers dan addTwoNumbersNegative dicantumkan sebagai tersedia (dan lulus)
pengujian pada panel kiri. Pengujian addTwoNumbersNegative akan tetap lulus meskipun tidak berisi kode apa pun,
pengujian yang tidak melakukan apa pun dianggap berhasil.
- Menambahkan baris untuk memanggil metode add() dalam kelas Kalkulator dengan operand negatif.
double resultAdd = mCalculator.add(-1d, 2d);
Notasi “d” setelah setiap operand menunjukkan bahwa ini adalah angka tipe double. Karena metode add()
didefinisikan dengan parameter ganda, floats atau ints juga akan berfungsi. Menunjukkan tipe secara eksplisit
memungkinkan Anda untuk menguji tipe lain secara terpisah, jika perlu.
- Menambahkan pernyataan dengan assertThat().
assertThat(resultAdd, is(equalTo(1d)));
Metode assertThat() adalah pernyataan JUnit4 yang mengklaim bahwa ekspresi dalam argumen pertama sama
dengan yang ada dalam argumen kedua. JUnit yang lebih lama menggunakan metode pernyataan yang lebih spesifik
(assertEquals(), assertNull(), assertTrue()), tetapi assertThat() adalah metode yang lebih fleksibel, mudah di-debug,
dan sering kali lebih mudah untuk membaca format.
Metode assertThat() digunakan dengan matcher. Matcher adalah panggilan metode berantai dalam operand kedua
pernyataan ini (is(equalto()). Matcher yang tersedia, yang bisa Anda gunakan untuk membuat pernyataan,
didefinisikan oleh framework hamcrest (Hamcrest adalah anagram untuk matcher.) Hamcrest menyediakan matcher
dasar untuk pernyataan dasar. Anda juga bisa mendefinisikan matcher khusus untuk pernyataan yang lebih kompleks.
Dalam hal ini, pernyataan adalah hasil dari operasi add() (-1 + 2) sama dengan 1.
- Menambahkan pengujian unit baru ke CalculatorTest untuk angka titik-mengambang:
@Test
public void addTwoNumbersFloats() {
double resultAdd = mCalculator.add(1.111f, 1.111d);
assertThat(resultAdd, is(equalTo(2.222d)));
}
- Menjalankan semua pengujian di CalculatorTests, seperti sebelumnya.
- Klik Run
untuk menjalankan semua pengujian lagi.
- Mengubah metode assertThat() untuk menggunakan matcher closeTo():
2.2 Menambahkan pengujian unit untuk metode penghitungan lain
- Tambahkan pengujian unit bernama subTwoNumbers() yang menguji metode sub().
- Tambahkan pengujian unit bernama subWorksWithNegativeResults() yang menguji metode sub() tempat penghitungan
yang diberikan menghasilkan angka yang negatif.
- Tambahkan pengujian unit bernama mulTwoNumbers() yang menguji metode mul().
- Tambahkan pengujian unit bernama mulTwoNumbersZero() yang menguji metode mul dengan sedikitnya satu
argumen yang nol.
- Tambahkan pengujian unit bernama divTwoNumbers() yang menguji metode div() dengan dua argumen bukan nol.
Berikut ini Hasil test dari ketentuan diatas:
3.3: Menggunakan Pustaka Dukungan Android
Tugas 1. Menyiapkan proyek
1.1 Memverifikasi bahwa Pustaka Dukungan Android tersedia
1. Dalam Android Studio, pilih Tools > Android > SDK Manager
2. Klik tab SDK Tools dan perluas Support Repository.
3. Cari Support Repository dalam daftar.
4. Jika kata Installed muncul di kolom Status, Anda sudah siap. Klik Cancel.
1.2 Menyiapkan Proyek dan memeriksa build.gradle
1. Buat proyek baru bernama HelloCompat, dan pilih template Empty Activity.
2. Di Android Studio, pastikan panel Project dibuka dan tab Android diklik.
3. Perluas Gradle Scripts, jika perlu, dan buka file build.gradle (Module: app).
4. Temukan baris compileSdkVersion di dekat bagian atas file.
5. Temukan baris minSdkVersion dalam bagian defaultConfig beberapa baris di bawah.
6. Temukan baris targetSdkVersion dalam bagian defaultConfig.
7. Temukan bagian dependencies build.gradle, dekat bagian akhir file.
8. Perbarui nomor versi, jika perlu.
9. Perbarui nomor compileSdkVersion, jika perlu.
10. Klik Sync Now untuk menyinkronkan file gradle terbaru dengan proyek, jika diminta.
11. Pasang file platform SDK yang hilang, jika perlu.
Berikut tampilan menyeluruh dari gradle:
1.3 Menambahkan layout dan warna
1. Buka res/layout/activity_main.xml . Dalam Layout Editor, klik tab Text untuk melihat editor XML.
2. Modifikasi elemen TextView agar memiliki atribut berikut:
Atribut Nilai
android:id “@+id/hello_textview”
android:layout_width “match_parent”
android:layout_height “wrap_content”
android:padding “@dimen/activity_horizontal_margin”
android:gravity “center”
android:textSize “100sp”
android:textStyle “bold”
android:text “Hello World!”
3. Ekstrak string untuk “Hello World” ke dalam sumber daya string.
4. Tambahkan tampilan Tombol di bawah TextView, dan tambahkan atribut berikut:
5. Ekstrak string untuk “Change Color” ke dalam sumber daya string.
6. Buka res/values/colors.xml .
7. Tambahkan sumber daya warna berikut ke file:
1.4 Menambahkan perilaku ke MainActivity
1. Buka MainActivity.java.
2. Tambahkan variabel privat di bagian atas kelas untuk menampung objek TextView untuk textview Hello World.
private TextView mHelloTextView;
3. Tambahkan larik warna berikut ini setelah variabel privat:
private String[] mColorArray = {“red”, “pink”, “purple”, “deep_purple”,
“indigo”, “blue”, “light_blue”, “cyan”, “teal”, “green”,
“light_green”, “lime”, “yellow”, “amber”, “orange”, “deep_orange”,
“brown”, “grey”, “blue_grey”, “black”
};
Setiap nama warna cocol dengan nama sumber daya warna dari color.xml.
4. Dalam metode onCreate(), gunakan findViewByID() untuk mendapatkan referensi tentang contoh TextView dan
menetapkannya ke variabel privat tersebut:
mHelloTextView = (TextView) findViewById(R.id.hello_textview);
5. Juga pada onCreate(), pulihkan status instance tersimpan, jika ada:
// restore saved instance state (the text color)
if (savedInstanceState != null) {
mHelloTextView.setTextColor(savedInstanceState.getInt(“color”));
}
6. Tambahkan metode onSaveInstanceState() ke MainActivity untuk menyimpan warna teks:
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
// save the current text color
outState.putInt(“color”, mHelloTextView.getCurrentTextColor());
}
Tugas 2. Mengimplementasikan perilaku tombol
2.1 Tambahkan handler onClick changeButton()
1. Buka res/layout/activity_main.xml , jika belum terbuka.
2. Klik di mana saja dalam atribut android:onClick, di dalam elemen Button.
3. Tekan Alt-Enter (Option-Enter di Mac), dan pilih Create onClick event handler.
4. Pilih MainActivity klik OK.
Tindakan ini akan membuat stub metode placeholder untuk metode changecolor() dalam MainActivity.java.
2.2 Implementasikan tindakan tombol
1. Buka MainActivity.java, jika belum terbuka.
2. Dalam metode changeColor(), buat objek nomor secara acak.
Random random = new Random();
Gunakan kelas Random (kelas Java) untuk menghasilkan nomor acak sederhana.
3. Gunakan instance acak untuk memilih warna secara acak dari larik mColorArray:
String colorName = mColorArray[random.nextInt(20)];
Metode nextInt() dengan argumen 20 akan mendapatkan integer acak antara nomor 0 sampai 19. Gunakan integer itu
sebagai indeks larik untuk mendapatkan nama warna.
4. Dapatkan identifier (integer) untuk nama warna dari sumber daya:
int colorResourceName = getResources().getIdentifier(colorName,
“color”, getApplicationContext().getPackageName());
5. Dapatkan ID integer dari sumber daya dan tetapkan ke variabel colorRes:
int colorRes = getResources().getColor(colorResourceName);
Metode getResources mendapatkan serangkaian sumber daya untuk aplikasi Anda, dan metode getColor() mengambil
6. Ubah baris penetapan colorRes untuk menyertakan argumen kedua ke getColor():
int colorRes =
getResources().getColor(colorResourceName, this.getTheme());
7. Ubah baris penetapan colorRes untuk menggunakan kelas ContextCompat:
int colorRes = ContextCompat.getColor(this, colorResourceName);
ContextCompat menyediakan banyak metode kompatibilitas untuk menyelesaikan perbedaan API dalam konteks dan
sumber daya aplikasi.
8. Setel warna tampilan teks Hello World tke ID sumber daya warna:
mHelloTextView.setTextColor(colorRes);
9. Kompilasi dan jalankan aplikasi pada perangkat atau emulator.
Tombol Change Color sekarang seharusnya mengubah warna teks dalam Hello World.
Berikut Kode Solusi:
Leave a Reply