sebelumnya kita telah belajar membuat hello world di android, sekarang kita akan membuat 2 halaman di android, berikut tahapan tahapannya :
1. Buat dua file layout XML di folder “res/ layout /” :
res/layout/main.xml
– Mewakili layar 1res/layout/main2.xml
– Mewakili layar 2
File : res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="I'm screen 1 (main.xml)" android:textAppearance="?android:attr/textAppearanceLarge" /> <Button android:id="@+id/button1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Click me to another screen" /> </LinearLayout>
File : res/layout/main2.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="I'm screen 2 (main2.xml)" android:textAppearance="?android:attr/textAppearanceLarge" /> </LinearLayout>
2. buat dua file java :
buat 2 class activity :
- HptActivity.java –> untuk mengontrol main.xml
- Hpt2Activity.java –> untuk mengontrol main2.xml
File : HptActivity.java
package com.hptekno; import com.hptekno.R; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.widget.Button; import android.view.View; import android.view.View.OnClickListener; public class HptActivity extends Activity { Button button; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); addListenerOnButton(); } public void addListenerOnButton() { final Context context = this; button = (Button) findViewById(R.id.button1); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(context, Hpt2Activity.class); startActivity(intent); } }); } }
File : Hpt2Activity.java
package com.hptekno; import com.hptekno.R; import android.app.Activity; import android.os.Bundle; import android.widget.Button; public class Hpt2Activity extends Activity { Button button; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main2); } }
3. AndroidManifest.xml
deklarasikan 2 aktivity pada androidmanifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.hptekno" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="10" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:label="@string/app_name" android:name="com.hptekno.HptActivity" > <intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:label="@string/app_name" android:name="com.hptekno.Hpt2Activity" > </activity> </application> </manifest>
jalankan aplikasi dengan menklik tombol run seperti dibawah ini
code inilah yang membuat berpindah dari 1 activity ke activity lainya
Intent intent = new Intent(context, anotherActivity.class); startActivity(intent);
untuk mengirim data dari 1 activity ke activity lainya mengunakan cara seperti berikut :
//mengirim dari activity 1 Intent intent = new Intent(context, anotherActivity.class); Bundle b = new Bundle(); b.putString("nama", "isi data yang mau dikirim"); intent.putExtras(b); startActivity(intent);
//menerima dari activity 2 Bundle b = getIntent().getExtras(); String nama= b.getCharSequence("nama");
Download aplikasi, hpt_activity.zip ( 60,1 KB )
via mkyong