Form input menjadi salah satu model aplikasi yang paling banyak digunakan di dunia. Entah itu untuk pendaftaran anggota, input data keuangan, dll. Di postingan kali ini, kita akan belajar bersama tentang bagaimana caranya membuat aplikasi Android form input data sederhana menggunakan Android Studio.

1. Buat Project Baru pada Android Studio kalian
2. Isikan kode berikut pada file Activity_Display.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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".DisplayActivity">

    <TextView
        android:id="@+id/tBDM"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="24dp"
        android:layout_marginTop="24dp"
        android:layout_marginEnd="24dp"
        android:text="BIODATA MAHASISWA"
        android:textSize="24sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/tNIM2"
        android:layout_width="100dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="30dp"
        android:text="Nim"
        android:textSize="18sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tBDM" />

    <TextView
        android:id="@+id/txtNIM2"
        android:layout_width="210dp"
        android:layout_height="20dp"
        android:layout_marginStart="24dp"
        android:layout_marginTop="30dp"
        android:layout_marginEnd="24dp"
        android:text="NULL"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.666"
        app:layout_constraintStart_toEndOf="@+id/tNIM2"
        app:layout_constraintTop_toBottomOf="@+id/tBDM" />

    <TextView
        android:id="@+id/tNAMA2"
        android:layout_width="100dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="24dp"
        android:text="Nama"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tNIM2" />

    <TextView
        android:id="@+id/txtNAMA2"
        android:layout_width="210dp"
        android:layout_height="20dp"
        android:layout_marginStart="24dp"
        android:layout_marginTop="24dp"
        android:layout_marginEnd="24dp"
        android:text="NULL"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.666"
        app:layout_constraintStart_toEndOf="@+id/tNAMA2"
        app:layout_constraintTop_toBottomOf="@+id/txtNIM2" />

    <TextView
        android:id="@+id/tTL2"
        android:layout_width="100dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="24dp"
        android:text="Tempat Lahir"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tNAMA2" />

    <TextView
        android:id="@+id/txtTL2"
        android:layout_width="210dp"
        android:layout_height="20dp"
        android:layout_marginStart="24dp"
        android:layout_marginTop="24dp"
        android:layout_marginEnd="24dp"
        android:text="NULL"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.666"
        app:layout_constraintStart_toEndOf="@+id/tTL2"
        app:layout_constraintTop_toBottomOf="@+id/txtNAMA2" />

    <TextView
        android:id="@+id/tTGL2"
        android:layout_width="100dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="24dp"
        android:text="TGL"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tTL2" />

    <TextView
        android:id="@+id/txtTGL2"
        android:layout_width="210dp"
        android:layout_height="20dp"
        android:layout_marginStart="24dp"
        android:layout_marginTop="24dp"
        android:layout_marginEnd="24dp"
        android:text="NULL"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.642"
        app:layout_constraintStart_toEndOf="@+id/tTGL2"
        app:layout_constraintTop_toBottomOf="@+id/txtTL2" />

    <TextView
        android:id="@+id/tJK2"
        android:layout_width="104dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="24dp"
        android:text="Jenis Kelamin"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tTGL2" />

    <TextView
        android:id="@+id/txtJK2"
        android:layout_width="210dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="24dp"
        android:layout_marginTop="24dp"
        android:layout_marginEnd="24dp"
        android:text="NULL"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.722"
        app:layout_constraintStart_toEndOf="@+id/tJK2"
        app:layout_constraintTop_toBottomOf="@+id/txtTGL2" />

    <TextView
        android:id="@+id/tPRODI"
        android:layout_width="100dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="24dp"
        android:text="Prodi"
        android:textSize="16dp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tJK2" />

    <TextView
        android:id="@+id/txtPRODI2"
        android:layout_width="210dp"
        android:layout_height="20dp"
        android:layout_marginStart="24dp"
        android:layout_marginTop="24dp"
        android:layout_marginEnd="24dp"
        android:text="NULL"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.642"
        app:layout_constraintStart_toEndOf="@+id/tPRODI"
        app:layout_constraintTop_toBottomOf="@+id/txtJK2" />

</androidx.constraintlayout.widget.ConstraintLayout>


3. Isikan kode berikut pada file Activity_main.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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="24dp"
        android:layout_marginTop="24dp"
        android:layout_marginEnd="24dp"
        android:text="BIODATA"
        android:textAlignment="center"
        android:textSize="24sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/tNIM"
        android:layout_width="100dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="30dp"
        android:text="Nim"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView" />

    <EditText
        android:id="@+id/txtNIM"
        android:layout_width="220dp"
        android:layout_height="40dp"
        android:layout_marginStart="24dp"
        android:layout_marginTop="16dp"
        android:layout_marginEnd="24dp"
        android:ems="10"
        android:hint="@string/inpt_nim"
        android:inputType="number"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/tNIM"
        app:layout_constraintTop_toBottomOf="@+id/textView" />

    <TextView
        android:id="@+id/tNAMA"
        android:layout_width="100dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="26dp"
        android:text="Nama"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tNIM" />

    <EditText
        android:id="@+id/txtNAMA"
        android:layout_width="220dp"
        android:layout_height="40dp"
        android:layout_marginStart="24dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="24dp"
        android:ems="10"
        android:hint="@string/inpt_nama"
        android:inputType="text"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/tNAMA"
        app:layout_constraintTop_toBottomOf="@+id/txtNIM" />

    <TextView
        android:id="@+id/tTL"
        android:layout_width="100dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="26dp"
        android:text="Tempat Lahir"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tNAMA" />

    <EditText
        android:id="@+id/txtTL"
        android:layout_width="220dp"
        android:layout_height="40dp"
        android:layout_marginStart="24dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="24dp"
        android:ems="10"
        android:hint="@string/inpt_tempatlahir"
        android:inputType="textPersonName"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/tTL"
        app:layout_constraintTop_toBottomOf="@+id/txtNAMA" />

    <TextView
        android:id="@+id/textView5"
        android:layout_width="100dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="30dp"
        android:text="TGL"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tTL" />

    <EditText
        android:id="@+id/txtTGL"
        android:layout_width="220dp"
        android:layout_height="40dp"
        android:layout_marginStart="24dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="24dp"
        android:ems="10"
        android:hint="@string/inpt_tgl"
        android:inputType="date"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/textView5"
        app:layout_constraintTop_toBottomOf="@+id/txtTL" />

    <TextView
        android:id="@+id/tJK"
        android:layout_width="110dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="32dp"
        android:text="Jenis Kelamin"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView5" />

    <RadioGroup
        android:id="@+id/JenisKelamin"
        android:layout_width="220dp"
        android:layout_height="37dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="16dp"
        android:layout_marginEnd="8dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/tJK"
        app:layout_constraintTop_toBottomOf="@+id/txtTGL">

        <RadioButton
            android:id="@+id/L"
            android:layout_width="95dp"
            android:layout_height="25dp"
            android:layout_marginTop="2dp"
            android:text="Laki-Laki"
            android:textAllCaps="false"
            android:textSize="14sp"
            android:textStyle="bold">

        </RadioButton>

        <RadioButton
            android:id="@+id/P"
            android:layout_width="110dp"
            android:layout_height="25dp"
            android:layout_marginLeft="98dp"
            android:layout_marginTop="-26dp"
            android:text="Perempuan"
            android:textSize="14sp"
            android:textStyle="bold">

        </RadioButton>
    </RadioGroup>

    <TextView
        android:id="@+id/tPRODI"
        android:layout_width="100dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="24dp"
        android:text="Prodi"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tJK" />

    <Spinner
        android:id="@+id/spinner_prodi"
        android:layout_width="210dp"
        android:layout_height="30dp"
        android:layout_marginStart="24dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="24dp"
        android:entries="@array/Prodi"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/tPRODI"
        app:layout_constraintTop_toBottomOf="@+id/JenisKelamin" />

    <Button
        android:id="@+id/btnKIRIM"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="87dp"
        android:text="Kirim"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/spinner_prodi" />

</androidx.constraintlayout.widget.ConstraintLayout>

4. kemudian isikan kode ini pada MainActivity.java


package com.example.biodataposky;

import androidx.appcompat.app.AppCompatActivity;

import android.app.DatePickerDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.widget.Toast;

import java.util.Calendar;

public class MainActivity extends AppCompatActivity {

    EditText txtNIM, txtNAMA, txtTL, txtTGL;
    RadioGroup JK;
    Spinner spinner_prodi;
    Button btnKIRIM;
    int hari, bulan, tahun;
    Calendar datatgl;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        txtNIM          = (EditText) findViewById(R.id.txtNIM);
        txtNAMA         = (EditText) findViewById(R.id.txtNAMA);
        txtTL           = (EditText) findViewById(R.id.txtTL);
        JK              = (RadioGroup) findViewById(R.id.JenisKelamin);
        spinner_prodi   = (Spinner) findViewById(R.id.spinner_prodi);
        btnKIRIM        = (Button) findViewById(R.id.btnKIRIM);

        //Input Tanggal
        txtTGL        = (EditText) findViewById(R.id.txtTGL);
        datatgl         = Calendar.getInstance();
        hari              = datatgl.get(Calendar.DAY_OF_MONTH);
        bulan           = datatgl.get(Calendar.MONTH);
        tahun           = datatgl.get(Calendar.YEAR);
        bulan = bulan + 1;
        txtTGL.setText(hari + "-" + bulan + "-" + tahun);
        txtTL.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                DatePickerDialog datePickerDialog = new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() {
                    @Override
                    public void onDateSet(DatePicker view, int tahun, int bulanTahun, int hariBulan) {
                        bulanTahun = bulanTahun + 1;
                        txtTGL.setText(hariBulan + "-" + bulanTahun + "-" + tahun);
                    }
                }, tahun, bulan - 1, hari);
                datePickerDialog.show();
                datePickerDialog.show();
            }
                });
            btnKIRIM.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Intent Kirim_data = new Intent(MainActivity.this, DisplayActivity.class);
                    Bundle data = new Bundle();

                    Kirim_data.putExtra("NIM", txtNIM.getText().toString());
                    Kirim_data.putExtra("NAMA", txtNAMA.getText().toString());
                    Kirim_data.putExtra("TEMPATLAHIR", txtTL.getText().toString());
                    Kirim_data.putExtra("TGLLAHIR", txtTGL.getText().toString());

                    //Data Prodi
                    String inpt_Prodi = String.valueOf(spinner_prodi.getSelectedItem().toString());
                    data.putString("PRODI", inpt_Prodi);

                    //JenisKelamin
                    int id = JK.getCheckedRadioButtonId();
                    RadioButton radioButton = (RadioButton) findViewById(id);
                    data.putString("JenisKelamin", radioButton.getText().toString());

                    if (txtNIM.getText().toString().length()==0){
                        txtNIM.setError("NIM tidak boleh kosong");
                    }else if (txtNAMA.getText().toString().length()==0){
                        txtNAMA.setError("NAMA tidak boleh kosong");
                    }else if (txtTL.getText().toString().length()==0){
                        txtTL.setError("Tempat Lahir tidak boleh kosong");
                    }else if (txtTGL.getText().toString().length()==0){
                        txtTGL.setError("TGL tidak boleh kosong");
                    }
                    else{
                        Kirim_data.putExtras(data);
                        startActivity(Kirim_data);
                        Toast.makeText(getApplicationContext(), "Pendaftaran Berhasil", Toast.LENGTH_SHORT).show();
                    }

            }
        });
    }
}


5. Terakhir isikan kode berikut pada file Res>Values>Strings.xml

<resources>
    <string name="app_name">Biodata Polsky</string>
    <string name="inpt_nim">Nim</string>
    <string name="inpt_nama">Nama</string>
    <string name="inpt_tempatlahir">Tempat Lahir</string>
    <string name="inpt_tgl">DD-MM-YYYY</string>

    <string-array name="Prodi">
        <item>Pilih Prodi/Jurusan</item>
        <item>Akuntansi</item>
        <item>Teknik Informatika</item>
        <item>Teknik Pendingin</item>
    </string-array>
    <string name="daftar_bio">Daftar Akun</string>
</resources>

Hasil Demo :




Pada postingan ini akan memberikan langkah-langkah mengirim data dari satu activity ke activity lain. postingan ini juga berfungsi untuk memenuhi tugas pada Mata Kuliah Pemrograman Mobile.

Berikut langkah-langkahnya :


1. Buka aplikasi Android Studio

2. Kemudian Buat Project Baru dengan nama Project_1
3. Pada File Res>Layout. Isikan kode berikut pada activity_main.xml  atau activity_display_message.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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".DisplayMessageActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="16dp"
        android:layout_marginTop="16dp"
        android:layout_marginEnd="16dp"
        android:layout_marginBottom="16dp"
        android:text="@string/NIM"
        android:textAlignment="center"
        android:textColor="@color/colorPrimary"
        android:textSize="24sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>


4. Pada file java nya, Buka MainActivity.java, dan isikan kode berikut :

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

import static android.provider.AlarmClock.EXTRA_MESSAGE;

public class MainActivity extends AppCompatActivity {
    public static Object EXTRA_MESSAGE;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    /**
     * Called when the user taps the send button
     */
    public void send_Message(View view) {
        // Do something in response to button
        Intent intent = new Intent(this, DisplayMessageActivity.class);
        EditText txtNim = (EditText) findViewById(R.id.editText);
        String NIM = txtNim.getText().toString();
        intent.putExtra((String) EXTRA_MESSAGE, NIM);
        startActivity(intent);


    }
}



5. Pada file Res>Value>Strings.xml Isikan kode berikut :

<resources>
    <string name="app_name">Project_1</string>
    <string name="edit_message">Enter a message</string>
    <string name="button_send">send</string>
    <string name="NIM">txtNIM</string>
</resources>


Hasil Demo :




















Apa itu Java?

Aplikasi Android saat ini dikembangkan dengan bahasa Java. Sampai saat ini, hanya itu satu-satunya pilihan untuk aplikasi asli. Java adalah sebuah bahasa pemrograman yang sangat popular yang dikembangkan oleh Sun Microsystems (saat ini dimiliki oleh Oracle). Dikembangkan lama setelah C dan C++, Java menggabungkan banyak fitur-fitur canggih dari bahasa-bahasa canggih tersebut, sambil mengatasi beberapa kelemahan mereka. Walaupun demikian, tingkat kecanggihan bahasa pemrograman bergantung pada library mereka. Library ini ada untuk membantu para developer untuk membuat aplikasi.
Beberapa fitur inti Java adalah:
  • Mudah dipelajari dan dimengerti
  • Didesain untuk tidak bergantung kepada platform dan aman, menggunakan
    mesin virtual
  • Bersifat object-oriented (fokus kepada objek program ketimbang logic)
Android sangat bergantung kepada sifat-sifat dasar dari Java tersebut. Android SDK mengandung banyak library Java standar (library struktur data, library matematika, library grafik, library networking dan apapun yang dapat Anda inginkan) dan juga library special Android yang dapat membantu Anda mengembangkan aplikasi Android yang keren.


Mengapa Java Mudah dipelajari?

Java mudah untuk dipelajari karena beberapa alasan. Sangat banyak sumber yang dapat membantu Anda belajar Java, termasuk situs-situs, tutorial, buku dan kelas. Java adalah salah satu bahasa pemrograman yang paling banyak didiskusikan, diajarkan dan digunakan di planet ini. Java digunakan untuk banyak sekali tipe proyek pemrograman, tanpa memperdulikan skala mereka, dari aplikasi web ke aplikasi desktop hingga aplikasi mobile.
Jika Anda memiliki pengalaman bekerja dengan C atau C++, Anda akan menemukan bahwa syntax mereka sangat mirip dengan Java. Dan jika tidak, Anda tidak perlu takut karena Anda telah memilih salah satu bahasa termudah untuk dipelajari. Anda akan bisa melakukan banyak hal dengan hanya belajar dalam waktu yang singkat.
Akhirnya, Java adalah bahasa yang paling mudah dibaca oleh manusia yang tersedia di luar sana, maksudnya bahkan orang yang tidak tahu apa-apa tentang programming dapat melihat kode Java dan setidaknya mengetahui apa yang kode tersebut lakukan.  Perhatikan contoh berikut
Jika Anda membaca kode tersebut, Anda dapat dengan mudah mengetahui apa yang potongan kode ini lakukan. Terdapat sebuah variable satu huruf yang disebut dengan character. Jika variable character sama dengan huruf “a”, maka kita melakukan sesuatu (memanggil method doSomething()), jika tidak kita melakukan sesuatu yang lain (dengan memanggil method doSomethingElse()).


Mengapa Java Aman?

Mari kita gunakan kembali analogy balon tadi. Karena aplikasi Java bekerja di dalam sebuah balon (mesin virtual), aplikasi tersebut terisolir dari hardware perangkat tempatnya bekerja. Oleh karena itu, sebuah mesin virtual dapat membungkus, menyimpan dan mengatur eksekusi kode secara aman dibandingkan dengan bahasa yang bekerja langsung dengan kode mesin. Platform Android bahkan mengambil sebuah langkah tambahan. Setiap aplikasi Android bekerja pada operating system (Linux-based) yang menggunakan akun pengguna berbeda dan Dalvik VM mereka masing-masing. Aplikasi Android dimonitor secara ketat oleh operating system dan langsung mati jika mereka tidak bekerja dengan baik (contohnya menggunakan terlalu banyak processing power, menjadi unresponsive, menyianyiakan resource, dll.). Sehingga, sangat penting untuk mengembangkan aplikasi yang stabil dan responsive. Setiap aplikasi dapat saling berkomunikasi satu sama lain menggunakan protocol yang telah terdefinisi dengan baik.


Membuat class atau jenis Java

Dengan dialog Create New Class dan template file, Android Studio membantu Anda membuat class dan jenis baru berikut ini dengan cepat:
  • Class Java
  • Class enumeration dan singleton
  • Jenis antarmuka dan anotasi
Setelah Anda mengisi kolom dialog Create New Class dan mengklik OK, Android Studio akan membuat file .java berisi kode kerangka, termasuk pernyataan paket, impor apa pun yang diperlukan, header, dan deklarasi class atau jenis. Selanjutnya, Anda bisa menambahkan kode pada file ini.
Template file menentukan cara Android Studio menghasilkan kode kerangka. Anda bisa menggunakan template file yang disediakan dengan Android Studio apa adanya, atau menyesuaikannya agar sesuai dengan proses pengembangan Anda.


Menampilkan dan menyesuaikan template file

Android Studio menyediakan template file yang menentukan cara pembuatan class dan jenis Java baru dengan dialog Create New Class. Anda bisa menyesuaikan template ini.
Template file Android Studio mencakup kode Velocity Template Language (VTL) dan variabel yang menangani opsi tambahan ini. Dialog Create New Class menggunakan template file AnnotationTypeClassEnumInterface, dan Singleton.
Untuk menampilkan template, menemukan penyesuaian, dan memodifikasi template, ikuti langkah-langkah ini:
  1. Lakukan salah satu langkah berikut:
    • Untuk Windows atau Linux, pilih File > Settings > Editor > File and Code Templates > Files.
    • Untuk macOS, pilih Android Studio > Preferences > Editor > File and Code Templates > Files.
    Dalam daftar template, nama template internal ditulis menggunakan shuruf tebal. Nama template yang disesuaikan ditampilkan dalam warna highlight, seperti biru.
  2. Sesuaikan template file sesuai kebutuhan.
    Jika Anda ingin menggunakan kolom dialog Create New Class, pastikan perubahan Anda sesuai dengan Kode template file Android Studio.
Untuk mengetahui informasi selengkapnya tentang template file, termasuk VTL, baca Template File dan Kode dan Dialog Template File dan Kode.


Membuat class atau jenis Java

Android Studio membantu Anda membuat class Java baru; class enumeration dan singleton; serta jenis antarmuka dan anotasi berdasarkan template file.
Untuk membuat class atau jenis Java baru, ikuti langkah-langkah ini:
  1. Di jendela Project, klik kanan file atau folder Java, lalu pilih New > Java Class.
  2. Atau, pilih file atau folder Java di jendela Project, atau klik file Java di Editor Kode. Kemudian pilih File > New > Java Class.
    Item yang Anda pilih menentukan paket default untuk class atau jenis baru.
  3. Dalam dialog Create New Class, isi kolom:
    • Name - Nama class atau jenis baru. Nama ini harus memenuhi persyaratan nama Java. Jangan memasukkan ekstensi nama file.
    • Kind - Pilih kategori class atau jenis.
    • Superclass - Class asal dari class baru Anda. Anda bisa memasukkan nama class dan paket, atau hanya nama class lalu mengklik dua kali item dalam daftar drop-down untuk melengkapinya secara otomatis.
    • Interface(s) - Satu atau beberapa antarmuka yang diterapkan oleh class atau jenis baru. Beberapa antarmuka harus dipisahkan dengan koma diikuti oleh spasi opsional. Anda bisa memasukkan nama antarmuka dan paket, atau hanya nama antarmuka lalu mengklik dua kali item dalam daftar drop-down untuk melengkapinya secara otomatis.
    • Pelengkapan otomatis hanya berfungsi untuk nama antarmuka pertama. Perhatikan bahwa koma dan nama antarmuka berikut bisa memunculkan error tooltip, sehingga Anda bisa mengabaikan error ini karena tidak memengaruhi kode yang dibuat.
    • Package - Paket tempat class atau jenis akan berada. Default secara otomatis akan muncul dalam kolom tersebut. Jika Anda memasukkan nama paket di kolom, setiap bagian dari ID paket yang tidak ada disorot dengan warna merah; dalam hal ini, Android Studio akan membuat paket setelah Anda mengklik OK. Kolom ini harus berisi nilai; jika tidak, file Java tidak akan menyertakan pernyataan package, sehingga class atau jenis tidak akan ditempatkan dalam paket dalam project.
    • Standarnya tergantung pada cara Anda meluncurkan dialog Create New Class. Jika Anda pertama kali memilih file atau folder Java di jendela Project, defaultnya adalah paket untuk item yang Anda pilih. Jika Anda pertama kali mengklik file Java di Editor Kode, defaultnya adalah paket yang berisi file ini.
    • Visibility - Pilih apakah class atau jenis akan terlihat oleh semua class, atau hanya untuk yang ada dalam paketnya sendiri.
    • Modifiers - Pilih pengubah Abstract atau Final untuk Class, atau tidak sama sekali.
    • Show Select Overrides Dialog - Untuk Kind dari Class, centang opsi ini untuk membuka dialog Select Methods to Override/Implement setelah mengklik OK. Dalam dialog ini, Anda bisa memilih metode yang ingin ditimpa atau diimplementasikan, dan Android Studio akan membuat kode kerangka untuk metode ini.
    Setiap kolom yang tidak diterapkan pada Kind akan disembunyikan.
  4. Klik OK.
  5. Android Studio membuat file Java dengan kode kerangka yang bisa dimodifikasi. Hal ini akan membuka file di Editor Kode.
Catatan: Anda bisa membuat class singleton dengan memilih File > New > Singleton atau File > New > Java Class; teknik terakhir menawarkan lebih banyak opsi.

Variable Template File

Android Studio menggantikan variabel template file dengan nilai di file Java yang dihasilkan. Anda memasukkan nilai-nilai dalam dialog Create New Class. Template ini memiliki variabel berikut yang bisa Anda gunakan:
  • IMPORT_BLOCK - Daftar pernyataan import Java baru yang diperlukan untuk mendukung superclass atau antarmuka, atau string kosong ("" ). Contohnya, Jika Anda hanya mengimplementasikan antarmuka Runnable dan tidak memperluas apa pun, variabel ini akan menjadi "import java.lang.Runnable;\n". Jika Anda mengimplementasikan antarmuka Runnable dan memperluas class Activity, variabel akan menjadi "import android.app.Activity;\nimportjava.lang.Runnable;\n".
  • VISIBILITY - Apakah class akan memiliki akses publik atau tidak. Class bisa memiliki nilai PUBLIC atau PACKAGE_PRIVATE.
  • SUPERCLASS - Nama class tunggal, atau kosong. Jika ada, akan ada klausa extends ${SUPERCLASS} setelah nama class yang baru.
  • INTERFACES - Daftar antarmuka yang dipisahkan koma, atau kosong. Jika ada, akan ada klausa implements ${INTERFACES} setelah superclass, atau setelah nama class jika tidak ada superclass. Untuk antarmuka dan jenis anotasi, antarmuka memiliki kata kunci extends.
  • ABSTRACT - Apakah class harus abstrak atau tidak. Class bisa memiliki nilai TRUE atau FALSE.
  • FINAL - Apakah class harus final atau tidak. Class bisa memiliki nilai TRUE atau FALSE.


Sumber :