Android Activity - Daripada satu skrin ke skrin yang lain.
By Fanxtea | 1 Januari 2015Dalam Android, satu aktiviti (.java class) mewakili satu skrin. Kebanyakkan aplikasi mempunyai pelbagai aktiviti untuk mempamerkan pelbagai skrin. Contohnya, satu skrin memerlukan user untuk memasukkan data manakala satu skrin lagi mempaparkan data yang telah diisi.
- XML Layout Create dua fail XML layout didalam "res/layout" folder:
- res/layout/main_activity.xml - Skrin pertama
- res/layout/newpage.xml - Skrin kedua
- Kod Create dua kelas aktiviti untuk integrasi dengan dua skrin di atas:
- MainActivity.java -> main_activity.xml
- NewPage.java -> newpage.xml
- AndroidManifest.xml Istiharkan kedua-dua aktiviti diatas didalam AndroidManifest.xml
- Demo Run aplikasi.
Fail: res/layout/main_activity.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="Skrin 1 (main_activity.xml)"
android:textAppearance="?android:attr/textAppearanceLarge" />
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Klik saya" />
</LinearLayout>
Fail: res/layout/newpage.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="Skrin 2 (newpage.xml)"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
Untuk berpindah daripada satu skrin ke skrin yang lain, kod ini diperlukan :
Intent intent = new Intent(context, <namaAktivitiLain>.class);
startActivity(intent);
Fail: MainActivity.java
package com.fanxtea.helloworld;
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 MainActivity extends Activity {
Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_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, NewPage.class);
startActivity(intent);
}
});
}
}
Fail: NewPage.java
package com.fanxtea.helloworld;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
public class NewPage extends Activity {
Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.newpage);
}
}
Fail: AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.fanxtea.helloworld"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="14" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".MainActivity" >
<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=".NewPage" >
</activity>
</application>
</manifest>
Klik pada butang "Klik saya".
Skrin ini akan memaparkan skrin "NewPage" selepas klik butang "Klik saya" tadi.