--> Skip to main content

Memahami Android Activity pada Android Studio

Edisi tutorial Android kali ini, kita akan memahami tentang Activity pada Android. Sebuah Activity mengandung View dan ViewGroup.

View adalah widget yang tampil pada layar mobile device. Contoh dari widget adalah : button, label, textview dsb. View diturunkan dari class Android.view.View yang dapat anda jumpai pada kode MainActivity.java.

Sedangkan ViewGroup adalah kumpulan beberapa buah View yang dikelompokkan secara bersama. Contoh dari ViewGroup adalah : FrameLayout, LinearLayout, TableLayout, RelativeLayout, GridLayout.

Jika kita menggunakan Android Studio, dan pada saat mengcreate sebuah project baru, kita akan mendapatkan kode dari class MainActivity seperti berikut :
public class MainActivity extends AppCompatActivity {

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

Pada kebanyakan tutorial kode class MainActivity adalah sebagai berikut :
public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
..............................
..............................
AppCompatActivity adalah class Activity yang terbaru yang memberikan kompatibilitas dengan device lama. Jadi bisa dikatakan AppCompatActivity  = Activity + dukungan untuk device lama.


Memanggil Activity lain

Aplikasi Android dapat memiliki lebih dari sebuah halaman user interface. Peralihan dari satu interface ke interface lain dapat kita lakukan melalui pemanggilan antar Activity. Untuk melakukan pemanggilan antar Activity dapat dilakukan dengan menggunakan fungsi startActivity() dengan melewatkan parameter Intent (Object yang mendefinisikan Activity apa yang dijalankan).

Dalam contoh ini, kita membuat dua buah Activity : activity_main.xml dan activity_main2.xml .Seperti pada pembahasan sebelumnya : "Memahami XML Based Layout pada Android Studio", dimana saat kita mengcreate sebuah activity, maka akan terdapat dua file : activity_main.xml dan content_main.xml. Maka pada folder app/src/main/res/layout/..., akan terdapat 4 file .xml jika kita membuat dua buah activity.

1. Create sebuah project, berinama Call_Activity (lihat tentang cara pembuatan project baru :Membua project pada Android Studio). Pilihlah default Activity name : MainActivity.

2. Buka file app/src/main/res/layout/content_main.xml. Anda dapat membuat interfacenya dalam mode Design membuatnya dalam mode Text. Copy paste kode dibawah ini sehingga file content_main.xml berisika kode XML sebagai berikut :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="com.ilmudetil_blogspot.call_activity.MainActivity"
    tools:showIn="@layout/activity_main"
    android:orientation="vertical"
    android:weightSum="1">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:text="HALAMAN UTAMA"
        android:id="@+id/textView"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="60dp"
        android:layout_marginRight="10dp"
        android:layout_marginBottom="10dp"
        android:layout_weight="0.02" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ACTIVITY 2"
        android:layout_gravity="center_horizontal"
        android:id="@+id/button_profile" />

</LinearLayout>

3. Kemudian klik kanan pada Layout->pilih News->Activity->Blank Activity. Disini kita akan membuat Activity baru, pilih default Activity name : Main2Activity, maka akan tergenerate dua file : activity_main2.xml dan content_main2.xml.

Buka File content_main2.xml dan copy paste kode berikut :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="com.ilmudetil_blogspot.call_activity.Main2Activity"
    tools:showIn="@layout/activity_main2">


    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="HALAMAN ACTIVITY 2"
        android:layout_margin="32dp"
        android:id="@+id/textView2"
        android:gravity="center_horizontal" />
</LinearLayout>

4. Buka file MainActivity.java pada folder app/src/main/java, hapus kode default yang terdapat pada file Activitymain.java kecuali kode packagenya, kemudian copy paste kode berikut :

package com.ilmudetil_blogspot.call_activity;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.content.Intent;

public class MainActivity extends AppCompatActivity {

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

        Button bProfile = (Button) findViewById(R.id.button_profile);
        bProfile.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View arg0) {
                Intent intent = new Intent(MainActivity.this, Main2Activity.class);
                startActivity(intent);
            }
        });
    }

}

5. Untuk kode MainActivity2.java berisikan kode sebagai berikut :

package com.ilmudetil_blogspot.call_activity;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;

public class Main2Activity extends AppCompatActivity {

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

Jalankan project yang telah kita buat, sehingga tampilan awal akan ditunjukkan oleh Gambar.1 dibawah ini :
Gambar.1

Setelah kita menekan tombol ACTIVITY 2, maka MainActivity.java akan memanggil MainActivity2.java yang menghandle activity_main2.xml seperti yang ditunjukkan oleh Gambar.2 dibawah ini :
Gambar.2


Comment Policy: Silahkan tuliskan komentar Anda yang sesuai dengan topik postingan halaman ini. Komentar yang berisi tautan tidak akan ditampilkan sebelum disetujui.
Buka Komentar
Tutup Komentar