Jumat, 19 Desember 2014

Android - Final Project Part 2 - Menghubungkan 2 activity dalam android [Pindah Activity]

Kali ini saya akan memberikan koding nge-link 2 activity dalam android, Jadi dari suatu halaman, jika di klik tombol, ia akan menuju ke halaman lain dengan membawa beberapa pesan(parameter) yang nantinya akan kita simpan dalam Intent. Hasilnya sudah diuji bisa di play di emulator, oke lansung aja ikuti langkah di bawah ini :
1. Buat dulu 6 Activity, misal namanya “HelloNumberActivity.java”, “Number.java”, "Song.java", "Arithmatic.java", "Playing.java", "Info.java", kita akan nge-link dari HelloNumberActivity ke Number, Song, Arithmatic, Playing, dan Info
2. Lalu, buat tampilan layoutnya misal "main.xml", "number.xml", "song.xml",  "artihmatic.xml", "playing.xml", "info.xml"
3. Ketikkan  script berikut untuk setting layoutnya :
 main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/main"
    android:orientation="vertical" >

    <Button
        android:id="@+id/btnnumber"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="63dp"
        android:layout_marginTop="108dp"
         android:background="@drawable/btnnumber" />


    <Button
        android:id="@+id/btnsong"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_alignTop="@+id/btnnumber"
        android:layout_marginLeft="44dp"
        android:layout_toRightOf="@+id/btnnumber"
         android:background="@drawable/btnsong"/>

    <Button
        android:id="@+id/btnarith"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_alignLeft="@+id/btnnumber"
        android:layout_centerVertical="true"
        android:background="@drawable/btnarith" />

    <Button
        android:id="@+id/btnplaying"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_alignLeft="@+id/btnsong"
        android:layout_alignTop="@+id/btnarith"
        android:background="@drawable/btnplaying" />

    <Button
        android:id="@+id/btninfo"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_alignLeft="@+id/btnarith"
        android:layout_below="@+id/btnarith"
        android:layout_marginTop="22dp"
      android:background="@drawable/btninfo" />

    <Button
        android:id="@+id/btnexit"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_alignLeft="@+id/btnplaying"
        android:layout_alignTop="@+id/btninfo"
        android:background="@drawable/btnexit" />


</RelativeLayout>

Kalo udah setting buat layout number, yaitu  
number.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/main"
    android:orientation="vertical" >

    <Button
        android:id="@+id/btn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="43dp"
        android:layout_marginTop="104dp"
        android:background="@drawable/btn01" />


    <Button
        android:id="@+id/btn2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/btn1"
        android:layout_alignTop="@+id/btn1"
        android:layout_centerHorizontal="true"
        android:background="@drawable/btn02" />


    <Button
        android:id="@+id/btn3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/btn2"
        android:layout_alignTop="@+id/btn2"
        android:layout_marginLeft="14dp"
        android:layout_toRightOf="@+id/btn2"
        android:background="@drawable/btn03" />

    <Button
        android:id="@+id/btn4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/btn1"
        android:layout_below="@+id/btn1"
        android:layout_marginTop="26dp"
        android:background="@drawable/btn04" />

    <Button
        android:id="@+id/btn5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/btn2"
        android:layout_alignTop="@+id/btn4"
       android:background="@drawable/btn05" />

    <Button
        android:id="@+id/btn6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/btn3"
        android:layout_alignTop="@+id/btn5"
        android:background="@drawable/btn06" />

    <Button
        android:id="@+id/btn7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/btn4"
        android:layout_below="@+id/btn4"
        android:layout_marginTop="26dp"
        android:background="@drawable/btn07" />

    <Button
        android:id="@+id/btn8"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/btn5"
        android:layout_alignTop="@+id/btn7"
        android:background="@drawable/btn08" />

    <Button
        android:id="@+id/btn9"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/btn6"
        android:layout_alignTop="@+id/btn8"
        android:background="@drawable/btn09" />

    <Button
        android:id="@+id/btn10"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/btn7"
        android:layout_below="@+id/btn7"
        android:layout_marginTop="27dp"
        android:background="@drawable/btn010" />

    <Button
        android:id="@+id/btnback"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_alignBottom="@+id/btn10"
        android:layout_alignRight="@+id/btn9"
        android:background="@drawable/btnback" />

</RelativeLayout>

selanjutnya, setting layout song :
song.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
     android:background="@drawable/backgroundsong" >

    <Button
        android:id="@+id/btnplay"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_marginBottom="118dp"
        android:layout_marginLeft="49dp"
       android:background="@drawable/play" />


    <Button
        android:id="@+id/btnstop"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/btnplay"
        android:layout_alignParentRight="true"
        android:layout_alignTop="@+id/btnplay"
        android:layout_marginRight="44dp"
        android:background="@drawable/stop" />

    <Button
        android:id="@+id/btnback"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:background="@drawable/btnback" />

</RelativeLayout>

arithmatic.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
     android:background="@drawable/background">

    <Button
        android:id="@+id/btnplus"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="56dp"
        android:layout_marginTop="128dp"
        android:background="@drawable/btnplus" />

    <Button
        android:id="@+id/btnminus"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_alignTop="@+id/btnplus"
        android:layout_marginLeft="16dp"
        android:layout_toRightOf="@+id/btnplus"
        android:background="@drawable/btnminus" />

    <Button
        android:id="@+id/btndivide"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_alignLeft="@+id/btnminus"
        android:layout_below="@+id/btnminus"
        android:layout_marginTop="16dp"
        android:background="@drawable/btndivide" />

    <Button
        android:id="@+id/btnmulti"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_alignLeft="@+id/btnplus"
        android:layout_alignTop="@+id/btndivide"
        android:background="@drawable/btnmulti" />

    <Button
        android:id="@+id/btnback"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:background="@drawable/btnback" />

</RelativeLayout>

playing.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
     android:background="@drawable/background2" >

    <Button
        android:id="@+id/start"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="116dp"
       android:background="@drawable/btnstart" />

    <Button
        android:id="@+id/about"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/start"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="26dp"
         android:background="@drawable/btnabout" />

    <Button
        android:id="@+id/back"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/about"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="25dp"
      android:background="@drawable/btnexitplay" />
    
</RelativeLayout>

info.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
     android:background="@drawable/info" >



    <Button
        android:id="@+id/child_btnPage"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_alignParentBottom="true"
        android:background="@drawable/btnback" />

</RelativeLayout>

5. Yap, setelah setting layout, buat koding activitynya, kaya gini :
HelloNumberActivity.java

package com.hellonumber;


import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class HellonumberActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Button number = (Button)findViewById(R.id.btnnumber);

        number.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent i = new Intent(HellonumberActivity.this, Number.class);
                startActivity(i);
            }
        });
        Button song = (Button)findViewById(R.id.btnsong);

        song.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent i = new Intent(HellonumberActivity.this, Song.class);
                startActivity(i);
            }
        });
        Button arithmatic = (Button)findViewById(R.id.btnarith);

        arithmatic.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent i = new Intent(HellonumberActivity.this, Arithmatic.class);
              
                startActivity(i);
            }
        });
      
        Button playing = (Button)findViewById(R.id.btnplaying);

        playing.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent i = new Intent(HellonumberActivity.this, Playing.class);
          
                startActivity(i);
            }
        });
       }
}

Koding diatas kita membuat fungsi pada saat button di klik. Di dalamnya kita buat Intent baru untuk membawa pesan dari Activity HelloNumber ini ke Number, Song, Arithmatic, Playing, Song, Info.

Untuk koding Number.java nya kaya gini nih :
package com.hellonumber;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Number extends Activity{

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.number);

        Button btnback = (Button)findViewById(R.id.btnback);

        //menerima Intent yang dikirim
      

       btnback.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub
                finish();
            }
        });
}
}

Penjelasan lagi tentang coding Number.java diatas:
untuk kembali ke halaman HelloNumber, kita menambahkan lagi fungsi pada button yang ada. Tapi kali ini fungsi yang kita buat hanya finish(), maksud dari finish disini adalah kita mengakhiri Activity ini, kemudian kita akan masuk ke Activity terakhir yang masih berjalan (dalam hal ini Activity HelloNumber karena kita belum mem”finish” nya). Fungsi finish ini mirip dengan jika kita menekan tombol back pada ponsel Android kita.Setelah itu, jangan lupa untuk “mendaftarkan” semua Activity yang dibuat ke dalam AndroidManifest.xml, AndroidManifest akan secara otomatis menambahkan activity pertama yang kita buat. Jadi jika kita membuat Activity lain, jangan lupa untuk dimasukkan.

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.hellonumber"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".HelloNumberActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".Number">
            <intent-filter>
                <action android:name="android.intent.action.Number" />
            </intent-filter>
        </activity>
    </application>

</manifest>


Lakukan koding yang sama pada Acivity Song, Arithmatic, Playing, Info
kalo udah di run hasilnya kaya gini :



Number
Song
Arithmatic
Playing



Oke, Sekian....  Terima kasih *_^

0 komentar:

Posting Komentar

 
Thank you ....... | already - Visit My Blog |