সিম্পল একটা টিউটোরিয়াল। আমরা দুইটা এক্টিভিটি তৈরি করব। এরপর একটা থেকে আরেকটাতে লিঙ্ক করব। এই! তো তার জন্য মেইন এক্টিভিটিতে একটা বাটন তৈরি করব। তাতে ক্লিক করলে দ্বিতীয় এক্টিভিটিতে যাবে। আবার দ্বিতীয় এক্টিভিটিতেও একটা বাটন তৈরি করব, তাতে ক্লিক করলে প্রথম একটিভিটিতে আবার ফিরে আসবে। সহজ, দুই তিন লাইনের কোড লিখতে হবে আমাদের। বাটন কিভাবে কাজ করে, তার জন্য এ লেখাটি দেখা যেতে পারেঃ
আমরা এন্ড্রয়েড স্টুডিও ব্যবহার করে এ প্রজেক্টটি তৈরি করব। এন্ড্রয়েড স্টুডিও ইন্টল করা না থাকলে ডাউনলোড করে ইন্সটল করে নিতে পারেন। আর তা নিয়ে বিস্তারিত লেখাটিও দেখতে পারেনঃ
এন্ড্রয়েড স্টুডিওতে একটা প্রজেক্ট তৈরি করি। যেমন Multi Activity নামে। মেইন লেয়াউট ফাইলে একটা বাটন তৈরি করে দি। বাটনের উপর ডাবল ক্লিক করলে বাটনের টেক্সট এডিট করা যাবে। এডিট করে যে কোন একটা লেখা দি, যেমন “Go to second activity” এবং ID দিয়ে দি button1.
আমাদের এবার দ্বিতীয় এক্টিভিটি তৈরি করতে হবে। তার জন্য আমাদের প্রজেক্টের package এর উপর রাইট ক্লিক করে New> Activity > Blank Activity তে ক্লিক করব। নিচের ছবিটি দেখিঃ
একটা উইন্ডো খুলবে। এখানে আমাদের এক্টিভিটির নাম দিব। যেমন SecondActivity, নিচের ছবিটি লক্ষ করিঃ
আমাদের জন্য একটি জাভা ফাইল এবং একটি XML লেয়াউট ফাইল তৈরি হবে। লেয়াউট ফাইলে আমরা একই ভাবে একটা বাটন তৈরি করব, যেটাতে ক্লিক করলে আমদেরকে আবার প্রথম বা মেইন এক্টিভিটিতে নিয়ে যাবে।
MainActivity.java ফাইলটি ওপেন করি। আমরা যখন মেইন এক্টিভিটির বাটনে ক্লিক করব, তখন দ্বিতীয় এক্টিভিটিতে যাবে। তার জন্য লিখতে হবেঃ
button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(context, SecondActivity.class); startActivity(intent); } });
Intent দিয়ে একটি নতুন এক্টিভিটি স্টার্ট করার জন্য ব্যবহার করা হয়। আমরা জানি বাটন ব্যবহার করার জন্য আগে বাটনের একটা ভ্যারিয়েবল তৈরি করে নিতে হয়, তা তৈরি করেছি Button button1; দিয়ে। এবং বাটন ক্লিক করা হয়েছে কিনা, তা জানার জন্য একটা Listener যুক্ত করতে হয়, যাকে বলে addListenerOnButton();
আমাদের সম্পুর্ণ MainActicity.java ফাইলঃ
package me.jakir.multiactivity; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; 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 ActionBarActivity { Button button1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); addListenerOnButton(); } public void addListenerOnButton() { final Context context = this; button1 = (Button) findViewById(R.id.button1); button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(context, SecondActivity.class); startActivity(intent); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
একই ভাবে SecondActicity.java ফাইল থেকে প্রথম এক্টিভিটিতে ফিরে আসার জন্য একই কোড লিখি। SecondActicity.java ফাইলটিঃ
package me.jakir.multiactivity; import android.content.Context; import android.content.Intent; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; public class SecondActivity extends ActionBarActivity { Button button2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); addListenerOnButton(); } public void addListenerOnButton() { final Context context = this; button2 = (Button) findViewById(R.id.button2); button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(context, MainActivity.class); startActivity(intent); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_second, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
এখানের বেশির ভাগ কোডই অটোজেনারেটেড। আমরা যে কোড গুলো লিখেছি, সে গুলোর প্রধান অংশ হচ্ছেঃ
public void addListenerOnButton() { final Context context = this; button1 = (Button) findViewById(R.id.button1); button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(context, SecondActivity.class); startActivity(intent); } }); }
নিজে নিজে চেষ্টা করতে পারেন এবার। প্রজেক্টের কোড গুলোর ডাউনলোড লিঙ্ক। গিটহাবে দেখাও যাবে।