Tuesday 28 July 2015

Android Activity – Daripada satu skrin ke skrin yang lain.

Android Activity - Daripada satu skrin ke skrin yang lain.

By Fanxtea | 1 Januari 2015



Dalam 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.

  1. XML Layout
  2. Create dua fail XML layout didalam "res/layout" folder:
    1. res/layout/main_activity.xml - Skrin pertama
    2. res/layout/newpage.xml - Skrin kedua

    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>


  3. Kod
  4. Create dua kelas aktiviti untuk integrasi dengan dua skrin di atas:
    1. MainActivity.java -> main_activity.xml
    2. NewPage.java -> newpage.xml

    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); } }


  5. AndroidManifest.xml
  6. Istiharkan kedua-dua aktiviti diatas didalam AndroidManifest.xml

    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>

  7. Demo
  8. Run aplikasi.

    Klik pada butang "Klik saya".

    Skrin ini akan memaparkan skrin "NewPage" selepas klik butang "Klik saya" tadi.