Blog

  • Belajar Android: #99 Membuat Widget Spinner

    <Spinner
            android:id="@+id/spinner"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="64dp"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/tv_title_spinner" />

    Setelah itu, kita buat kode di dalam Class Activity-nya, supaya dapat berfungsi.

    Definisikan view spinner di atas method onCreate supaya bisa diakses.

    Spinner spinner;

    Lalu assign dengan view di layout

    spinner = findViewById(R.id.spinner) //sesuaikan dengan id di layoutnya

    Tentukan data yang berbentuk Array atau ArrayList:

    String[] buahs = {"Mangga", "Semangka", "Jeruk", "Apel"};

    Buat adapter array untuk menjembatani antara sumber data dengan adapter view. Isikan tiga (3) parameter construct dengan (context: this, layout view, data)

    ArrayAdapter<String> adapter = new ArrayAdapter<>(
    	this,
      	android.R.layout.simple_spinner_item, //Menggunakan bawaan android
      	buahs
    );

    Terakhir, sambungkan view dengan data menggunakan adapater tersebut.

    spinner.setAdapter(adapter);

    Berikut kode lengkapnya

    Layout xml:

    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".SpinnerActivity">
    
        <TextView
            android:id="@+id/tv_title_spinner"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="64dp"
            android:textStyle="bold"
            android:textSize="20sp"
            android:text="Pilih yang kamu suka"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            />
        <Spinner
            android:id="@+id/spinner"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="64dp"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/tv_title_spinner" />
    </androidx.constraintlayout.widget.ConstraintLayout>

    Kode class activity java:

    package id.my.matsoleh.belajar;
    
    import android.os.Bundle;
    import android.widget.ArrayAdapter;
    import android.widget.Spinner;
    
    import androidx.activity.EdgeToEdge;
    import androidx.appcompat.app.AppCompatActivity;
    import androidx.core.graphics.Insets;
    import androidx.core.view.ViewCompat;
    import androidx.core.view.WindowInsetsCompat;
    
    public class SpinnerActivity extends AppCompatActivity {
        Spinner spinner;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_spinner);
    
        // Tentukan View
            spinner = findViewById(R.id.spinner);
    
        //  Sumber Data
            String[] buahs = {"Mangga", "Pisang", "Apel", "Jeruk", "Semangka"};
            
            //   Adapter
            ArrayAdapter<String> adapter = new ArrayAdapter<>(
                    this,
                    android.R.layout.simple_spinner_item,
                    buahs
            );
            
        //  Apply adapter
            spinner.setAdapter(adapter);
            
        }
    }
  • Belajar Membuat Aplikasi Android: #98 Radio Button

    Radio button digunakan untuk memungkinkan pengguna memilih hanya satu pilihan saja, sepeerti pilihan gender, agama, dan lainnya.

    Untuk membuat radio button di Android Studio, setidaknya memerlukan dua view, yaitu RadioGroup dan RadioButton. Di dalam layout xml tambahkan kode:

    <RadioGroup
         android:id="@+id/radio_group"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         >
         	<RadioButton
                android:id="@+id/rb1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Laki-laki" />
    
            <RadioButton
                android:id="@+id/rb2"
                android:layout_marginLeft="24dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Perempuan" />
    </RadioGroup>

    Kemudian untuk menghandle perubahan, tambahkan kode seperti ini:

    RadioGroup radioGroup;
    
    @Override
    protected void onCreate(Bundle savedInstanceState){
      super.onCreate(savedInstanceState);
      // ...
      
      radioGroup = findViewById(R.id.radio_group);
      
      radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
       	@Override
        public void onCheckedChange(RadioGroup group, int checkedId){
         	RadioButton rb = findViewById(checkedId);
          	String pilihan = rb.getText().toString(); // Nilai text terpilih
            
            
        }
      }
      
  • Belajar Membuat Aplikasi Android: #97 Checkbox

    Checkbox merupakan komponen widget view yang digunakan memungkinkan pengguna memilih satu atau lebih pilihan.

    Langkah-langkah membuat checkbox:

    Pada bagian layout tambahkan widget Checkbox, berikan id, text, tentukan constraint width dan height. Sesuaikan dengan desain kita sendiri.

    <CheckBox
            android:id="@+id/cb1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="52dp"
            android:text="Setuju?"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

    Di bagian Activity tambahkan kode untuk menangani view tersebut. Definisikan view dengan kode:

    CheckBox checkBox;

    Lalu di dalam method onCreate tambahkan kode untuk menginisialisasi view tersebut.

    checkBox = findById(R.id.cb1) // id di layout

    Tambahkan event listener untuk menghandle event checked/unchecked yang berupa Boolean.

    checkBox.setOnCheckedChangeListener(new CompoundButton.onCheckedChangeListener() {
    	@Override
      	public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         	//  
        }
    }

    Itulah cara membuat Checkbox di Android Studio.

    Full Code:

    Layout XML:

    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".CheckBoxActivity">
    
        <TextView
            android:id="@+id/tv_check_box"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="68dp"
            android:text="Check Box"
            app:layout_constraintEnd_toEndOf="parent"
    
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
    
        <CheckBox
            android:id="@+id/cb1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="52dp"
            android:text="Setuju?"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/tv_check_box" />
    
        <TextView
            android:id="@+id/tv_cb_agree"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="12dp"
            android:text="Saya tidak setuju"
            app:layout_constraintEnd_toEndOf="parent"
    
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/cb1" />
    </androidx.constraintlayout.widget.ConstraintLayout>

    Kode Activity (java):

    package id.my.matsoleh.belajar;
    
    import android.content.Intent;
    import android.os.Bundle;
    import android.widget.CheckBox;
    import android.widget.CompoundButton;
    import android.widget.TextView;
    import android.widget.Toast;
    
    import androidx.activity.EdgeToEdge;
    import androidx.appcompat.app.AppCompatActivity;
    import androidx.core.graphics.Insets;
    import androidx.core.view.ViewCompat;
    import androidx.core.view.WindowInsetsCompat;
    
    public class CheckBoxActivity extends AppCompatActivity {
        TextView tvCheckBox, tvAgree;
        CheckBox cb;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_check_box);
    
            tvCheckBox = findViewById(R.id.tv_check_box);
            cb = findViewById(R.id.cb1);
            tvAgree = findViewById(R.id.tv_cb_agree);
            Intent intent = getIntent();
    
            tvCheckBox.setText(intent.getStringExtra("message"));
    
            cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                    if (isChecked){
                        Toast.makeText(CheckBoxActivity.this, "Anda Setuju", Toast.LENGTH_SHORT).show();
                        tvAgree.setText("Saya Setuju");
                    } else {
                        Toast.makeText(CheckBoxActivity.this, "Anda tidak Setuju", Toast.LENGTH_SHORT).show();
                        tvAgree.setText("Saya Tidak Setuju");
                    }
                }
            });
    
        }
    }
  • Belajar Membuat Aplikasi Android:Sepatah kata

    Disclaimer: Tulisan ini merupakan catatan belajar untuk mengingatkan materi yang dipelajari, ada banyak kekurangan dan kesalahan. Jangan dijadikan referensi.

    Android sebagai sistem operasi yang paling banyak terdapat pada berbagai gadget seperti smart phone, smart tv, IOT menarik perhatian saya untuk belajar. Apalagi sistem operasi ini bersifat open source dan gratis, sehingga banyak sekali komunitas dan orang-orang yang berbagi pengetahuan tentangnya.

    Saya tertarik belajar mengembangkan aplikasi berbasis Android karena menurut saya banyak sekali potensi yang dapat digali untuk memanfaatkan smart phone Android sebagai alat bantu belajar bagi peserta didik dalam belajar.

    Tulisan pada blog ini saya bagi menjadi banyak bagian untuk memudahkan saya menemukan materi ketika dalam praktiknya saya mengalami kesulitan. Konten tulisan berasal dari pemahaman dan hasil elaborasi saya ketika mengikuti kursus di udemy. Oleh karena itu, mungkin bagian-bagian itu menyesuaikan dengan struktur kursus yang saya ikuti.