Bundle.

Activityler arasında veri alışverişi için Bundle’ları kullanabiliriz. Örneğimizde ana activityde iki düğme olacak. Birinci düğmeye tıklandığında bundle oluşturulup içerisine bir bilgi aktarılacak. İkinci düğmeye tıklandığında ikinci activitye gidecek ve ordaki düğmeye tıklandığında da bundle çağırılacak.

Bu görselin özgün dosyasına şu anda erişilemiyor.

Yeni bir activity tanımlıyoruz.

Bu görselin özgün dosyasına şu anda erişilemiyor.

Main.xml e bir button ekliyoruz. 1. nin adını tikla yaptım, ikincisi git.

Srcdeki jar dosyasında kodları düzenliyoruz.

package com.ceylan.bundle;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

public class BundledenemeActivity extends Activity {

    /** Called when the activity is first created. */

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

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

        final Intent intent=new Intent("android.intent.action.ac2");

        //ac2 activitysine gidecek intenti burda tanımlıyorum. çünkü içerisine bundle verisini de yerleştireceğiz.

        final Bundle bundle=new Bundle();

        //bundle ı oluşturuyoruz

        tikla.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {

                // TODO Auto-generated method stub

                bundle.putString("veri", "Arif CEYLAN");

                //bundledaki veri adlı değişkene değer aktarıldı.

                intent.putExtras(bundle);

                //intent adlı nesnemize bundle ı da ekliyoruz.

            }

        });

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

        git.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {

                // TODO Auto-generated method stub

                //Activity 2ye giden kodlar yazılacak.

                startActivity(intent);

            }

        });

    }

}

Daha sonra bir layout daha oluşturuyoruz ve bundle ı çağıran düğmeyi, ve sonucu gösterilecek textviewi layoute ekliyoruz.

Bu görselin özgün dosyasına şu anda erişilemiyor.

Düğmenin ismi cagir, textviewin ismi sonuc.

Ac2 adlı activitynin kodları;

package com.ceylan.bundle;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;

public class ac2 extends Activity {

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.ac2);

        final TextView sonuc=(TextView)findViewById(R.id.sonuc);

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

        cagir.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {

                // TODO Auto-generated method stub

                Bundle bilgi=getIntent().getExtras();

                sonuc.setText(bilgi.getString("veri"));

            }

        });

    }

}
Bu görselin özgün dosyasına şu anda erişilemiyor.

span style='text-decoration:underline;'