Android Fundamental – Linking Activities

Pada pembahasan kali ini, kita akan mempelajari topik yang penting dalam aplikasi Android, bahkan sudah umum digunakan oleh para developer untuk membuat tautan ke aplikasi lain melalui objek Intent. Ketika kita membuat aplikasi tentunya terdapat beberapa aktivitas yang diperlukan yang saling mendukung. Pada topik ini akan menjelaskan kepada Anda berbagai cara untuk membuat link ke aktivitas lain dalam aplikasi Android.

 TMN Studio – Application

Misalkan kita memiliki dua aktivitas dalam aplikasi. Berikut ini file AndroidManifest.xml menunjukkan dua kelas aktivitas, MainActivity dan Activity2:

package="com.tmnstudio.linking"
android:versionCode="1"
android:versionName="1.0" >
android:minSdkVersion="8"
android:targetSdkVersion="15" />
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >

android:name=".MainActivity"
android:label="@string/title_activity_main" >

android:name=".Activity2"
android:label="@string/app_name" >

Kita akan membuat link dari aktivitas MainActivity ke Activity2, kita dapat menggunakan potongan kode berikut:
package com.tmnstudio.linking;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//---link to Activity2---
Intent i = new Intent("com.tmnstudio.Activity2");
startActivity(i);
}
}

Untuk membuat link ke aktivitas lain, kita dapat membuat sebuah objek Intent dan membuat kontrukstor yang menuju ke aktivitas target (yang telah didefinisikan pada elemen dalam file AndroidManifest.xml). Kemudian, memanggil metode startActivity( ) untuk meluncurkan aktivitas tersebut.
//---link to Activity2---
Intent i = new Intent();
i.setAction("com.tmnstudio.Activity2");
startActivity(i);

Alternatif lain, kita dapat membuat sebuah objek Intent dan kemudian memanggil metode setAction( ) untuk set nama pada aktivitas target:

Cuplikan kode sebelumnya berguna untuk memanggil suatu aktivitas yang berada dalam aplikasi yang sama, maupun aplikasi lainnya untuk memanggil aktivitas yang kita buat. Jika kita ingin memanggil suatu aktivitas yang merupakan bagian internal aplikasi, kita juga dapat menggunakan nama kelas, seperti berikut:

//---link to Activity2---
Intent i = new Intent(this, Activity2.class);

Jika kita tidak ingin aktivitas lain yang berasal dari aplikasi eksternal memanggil aktivitas yang berada dalam aplikasi kita, maka cukup dengan menghapus elemen
dalam elemen dalam elemen: <!— -->

Jika kita melakukan pemanggilan aktivitas yang tidak tersedia pada perangkat, aplikasi kita akan mengalami crash, menampilkan sebuah pesan seperti yang ditampilkan pada gambar berikut.

Untuk memastikan aplikasi kita tidak berhenti secara tiba-tiba, kita dapat memanggil dengan metode startActivity( ) bersamaan dengan metode Intent.createChooser( ). Metode createChooser( ) dapat mengambil objek Intent dan sebuah string untuk ditampilkan saat aktivitas tidak ditemukan (atau jika terdapat lebih dari satu aktivitas yang ditemukan dapat memberikan objek Intent yang tersedia):

Intent i = new Intent("com.tmnstudio.Activity2");
startActivity(Intent.createChooser(i, "Choose an application"));

Gambar yang ditampilkan jika tidak ada aktivitas yang ditemukan.

Gambar yang menampilkan pesan ketika ditemukan lebih dari satu aktivitas

Ketika kita menggunakan metode createChooser( ), kita memerlukan nama aktivitas yang spesifik (misal com.tmnstudio.Activity2 seperti contoh sebelumnya) yang kita jalankan, bukan nama kelas. Berikut ini cuplikan kode yang tidak akan bekerja:

//---the following will never link to Activity2---
Intent i = new Intent(this, Activity2.class);
startActivity(Intent.createChooser(i, "Choose an application"));

Demikian tutorial singkat tentang Linking Activities dalam aplikasi Android. Pada sesi selanjutnya kita akan membahas Passing Data Antar Aktivitas.


Who's Online

We have 9 guests and no members online