Lesson 4: User Interaction

4.1. Menggunakan Keyboard, Kontrol Masukan, Peringatan, dan Picker

Tugas 1: Bereksperimen dengan atribut keyboard entri teks

1.1 Membuat layout utama dan metode showText

1.2 Setel keyboard untuk menjadikan huruf besar di awal kalimat

1.3

2

2.1

2.2

3.

3.1

3.2

3.3

 

4

 

 

5

 

7

 

4.2: Menggunakan Menu Opsi

1

 

2

 

3

 

4.3: Menggunakan Bilah Aplikasi dan Tab untuk Navigasi

4.4 Membuat RecyclerView

 

Lesson 3 : Testing, Debugging and using Support Library

Lesson 3 : Testing, Debugging and using Support Library

3.1 : Menggunakan Debugger

Tugas 1. Membuat Proyek dan Aplikasi SimpleCalc

1.1   Unduh dan buka proyek SimpleCalc

 

1.2 Menjelajahi Layout

 

1.3 Jelajahi kode aplikasi

 

Tugas 2. Menjalankan SimpleCalc di Debugger

2.1 Memulai dan Menjalankan aplikasi dalam mode debug

2.2 Men-debug aplikasi yang berjalan

Tugas 3: Menjelajahi Fitur Debugger

3.1 Menyusuri eksekusi aplikasi

 

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 Android Studio

1.1 Menjelajahi rangkaian sumber dan SimpleCalc

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()

 

2.2 Menambahkan pengujian unit untuk metode penghitungan lain

 

/*
  * Copyright 2016, Google Inc.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 package com.example.android.SimpleCalc;
 
         import org.junit.Before;
         import org.junit.Test;
         import org.junit.runner.RunWith;
         import org.junit.runners.JUnit4;
         import android.test.suitebuilder.annotation.SmallTest;
 
         import static org.hamcrest.CoreMatchers.equalTo;
         import static org.hamcrest.CoreMatchers.is;
         import static org.hamcrest.Matchers.closeTo;
 
         import static org.junit.Assert.assertThat;
 
 /**
  * JUnit4 unit tests for the calculator logic. These are local unit tests; no device needed
  */
 @RunWith(JUnit4.class)
 @SmallTest
 public class CalculatorTest {
 
     private Calculator mCalculator;
 
     /**
      * Set up the environment for testing
      */
     @Before
     public void setUp() {
         mCalculator = new Calculator();
     }
 
     /**
      * Test for simple addition
      */
     @Test
     public void addTwoNumbers() {
         double resultAdd = mCalculator.add(1d, 1d);
         assertThat(resultAdd, is(equalTo(2d)));
     }
 
     @Test
     public void addTwoNumbersNegative() {
         double resultAdd = mCalculator.add(-1d, 2d);
         assertThat(resultAdd, is(equalTo(1d)));
     }
 
     @Test
     public void addTwoNumbersFloats() {
         double resultAdd = mCalculator.add(1.111f, 1.111d);
         assertThat(resultAdd, is(closeTo(2.222, 0.01)));
     }
 
     @Test
     public void subTwoNumbers() {
         double resultSub = mCalculator.sub(1d, 1d);
         assertThat(resultSub, is(equalTo(0d)));
     }
     @Test
     public void subWorksWithNegativeResult() {
         double resultSub = mCalculator.sub(1d, 17d);
         assertThat(resultSub, is(equalTo(-16d)));
     }
     @Test
     public void mulTwoNumbers() {
         double resultMul = mCalculator.mul(32d, 2d);
         assertThat(resultMul, is(equalTo(64d)));
     }
     @Test
     public void divTwoNumbers() {
         double resultDiv = mCalculator.div(32d,2d);
         assertThat(resultDiv, is(equalTo(16d)));
     }
     @Test
     public void divTwoNumbersZero() {
         double resultDiv = mCalculator.div(32d,0);
         assertThat(resultDiv, is(equalTo(Double.POSITIVE_INFINITY)));
     }
 }
3.3: Menggunakan Pustaka Dukungan Android

Tugas 1. Menyiapkan proyek

1.1   Memverifikasi bahwa Pustaka Dukungan Android tersedia

 

1.2 Menyiapkan Proyek dan memeriksa build.gradle

1.3   Menambahkan layout dan warna

 

Tugas 2. Mengimplementasikan perilaku tombol

2.1 Tambahkan handler onClick changeButton()

Lesson 2 Activities

2.1: Membuat dan Memulai Aktivitas

Tugas 1. Membuat proyek TwoActivities

1.1   Membuat proyek TwoActivities

 

1.2 Definisikan layout untuk aktivitas utama

 

1.3 Mendefinisikan tindakan tombol

 

Tugas 2. Membuat dan meluncurkan aktivitas kedua

2.1 Membuat aktivitas kedua

 

2.2 Memodifikasi manifes Android

2.3 Mendefinisikan layout untuk aktivitas utama

2.4 Menambahkan intent ke aktivitas utama

Tugas 3. Mengirim data dari aktivitas utama ke aktivitas kedua

3.1 Menambahkan EditText ke layout aktivitas utama

3.2 Menambahkan string ke ekstra intent aktivitas utama

3.3 Menambahkan TextView ke aktivitas kedua untuk pesan

 

Tugas 4. Mengembalikan data ke aktivitas utama

4.1 Menambahkan EditText dan Tombol ke layout aktivitas kedua

 

4.2 Membuat intent respons dalam aktivitas kedua

 

4.3 Menambahkan TextViews ke layout aktivitas utama untuk menampilkan balasan

 

Hasil :

 

 

2.2: Siklus Hidup Aktivitas dan Status Instance

Tugas 1. Menambahkan Callback Siklus Hidup ke TwoActivities

1.2 Mengimplementasikan callback ke MainActivity

1.3 Mengimplementasikan callback siklus hidup dalam SecondActivity

 

Tugas 2. Menyimpan dan memulihkan status instance aktivitas.

2.1 Simpan status instance aktivitas dengan onSaveInstanceState()

 

2.3: Memulai Aktivitas dengan Intent Implisit

Tugas 1. Membuat proyek dan layout baru

1.1 Membuat proyek

Tugas 2. Mengimplementasikan “buka situs web”

2.1 Mendefinisikan metode openWebsite

 

Tugas 3. Mengimplementasikan “buka lokasi”

3.1 Definisikan metode openLocation

 

Tugas 4. Mengimplementasikan bagikan teks ini

4.1 Mengimplementasikan metode shareText

Tugas 5. Menerima Intent Implisit

5.1 Membuat Proyek & Layout