এন্ড্রয়েড ডেভেলপমেন্ট [পর্ব-০৬] :: এন্ড্রয়েড Activity লাইফসাইকেল এবং নতুন Activity সেটিংস
আজকে আমরা শিখব নতুন একটি Activity র সেটিংস এবং Activity এর লাইফসাইকেল সম্পর্কে।
প্রথমেই Activity এর লাইফসাইকেল বলতে সাধারণভাবে আমরা বুঝি, Activity এর বিভিন্ন অবস্থা সম্পর্কে। যখনই নতুন একটি Activity চালু হয় তখনonCreate মেথড এর মধ্যে ইনফরমেশান দিলে তা অটোমেটিকভাবে onStart এ Activity run অর্থাৎ চালু হয়ে যায়। এভাবে আবার যখন onPause মেথড ইউস করে Activity pause করা হয়, তা যদি আবার resume করা হয়, তা আবার onResume মেথড এর মাধ্যমে Activity running অবস্থায় চলে আসে। নিচের ছবির ডায়াগ্রামটি দেখলে তা আরও স্পষ্ট বুজতে পারবেন।
activity_lifecycle
এখন আমরা নতুন একটি প্রোজেক্ট সেটিং করব। নতুন Android Project নেয়া হয়ে থাকলে প্রোজেক্ট এর src>package এ নতুন একটি class ফাইল নেয়, যার নাম হবে SecondActivity, এখন SecondActivity কে extends করি Activity দ্বারা। তারপর আমাদের প্রয়োজন পরবে কিছু Override মেথড। উপরের source মেনু থেকে Override/Implement Methods এ ক্লিক করুন এবং নিচের ছবির মতন onCreate এবং onPause মেথড সিলেক্ট করে ok বাটন প্রেস করুন।
package com.art.android6;
import android.app.Activity;
import android.os.Bundle;
public class SecondActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
}
@Override
protected void onPause() {
super.onPause();
}
}
এখন আমরা SecondActivity এর জন্য একটি layout তৈরি করব। res>layout এ activity_second নামে নতুন একটি layout তৈরি করুন। SecondActivity তে এই Layout প্রদর্শন করার জন্য SecondActivity.java এর onCreate মেথড এ setContentView এ চিনিয়ে দিতে হবে setContentView(R.layout.activity_second); এভাবে ।
তারপর আমরা যাব AndroidManifest এই ফাইল এ। এখানে নিচের মত করে সেটিংস্ ঠিক করে দিতে হবে।
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.art.android6"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="<a class="bp-suggestions-mention" href="https://www.techtunes.com.bd/techtuner/style/" rel="nofollow">@style</a>/AppTheme" >
<activity
android:name="com.art.android6.MainActivity"
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="com.art.android6.SecondActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="com.art.android6.activity_second" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
এখানে প্রথমে <application এর ভেতর একটিএকটি <activity অংশ ছিল, তা SecondActivity এর জন্য পুনরায় কপি করা হয়েছে। এবং name এ SecondActivity এর package name,action name এ activity_second চিনিয়ে দেয়া হয়েছে।
পরবর্তী পর্বে আমরা MainActivity থেকে SecondActivity তে Thread এর ব্যবহার এবং এর প্রয়োগ সম্পর্কে জানব। চলবে……
activity_lifecycle
এখন আমরা নতুন একটি প্রোজেক্ট সেটিং করব। নতুন Android Project নেয়া হয়ে থাকলে প্রোজেক্ট এর src>package এ নতুন একটি class ফাইল নেয়, যার নাম হবে SecondActivity, এখন SecondActivity কে extends করি Activity দ্বারা। তারপর আমাদের প্রয়োজন পরবে কিছু Override মেথড। উপরের source মেনু থেকে Override/Implement Methods এ ক্লিক করুন এবং নিচের ছবির মতন onCreate এবং onPause মেথড সিলেক্ট করে ok বাটন প্রেস করুন।
package com.art.android6;
import android.app.Activity;
import android.os.Bundle;
public class SecondActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
}
@Override
protected void onPause() {
super.onPause();
}
}
এখন আমরা SecondActivity এর জন্য একটি layout তৈরি করব। res>layout এ activity_second নামে নতুন একটি layout তৈরি করুন। SecondActivity তে এই Layout প্রদর্শন করার জন্য SecondActivity.java এর onCreate মেথড এ setContentView এ চিনিয়ে দিতে হবে setContentView(R.layout.activity_second); এভাবে ।
তারপর আমরা যাব AndroidManifest এই ফাইল এ। এখানে নিচের মত করে সেটিংস্ ঠিক করে দিতে হবে।
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.art.android6"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="<a class="bp-suggestions-mention" href="https://www.techtunes.com.bd/techtuner/style/" rel="nofollow">@style</a>/AppTheme" >
<activity
android:name="com.art.android6.MainActivity"
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="com.art.android6.SecondActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="com.art.android6.activity_second" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
এখানে প্রথমে <application এর ভেতর একটিএকটি <activity অংশ ছিল, তা SecondActivity এর জন্য পুনরায় কপি করা হয়েছে। এবং name এ SecondActivity এর package name,action name এ activity_second চিনিয়ে দেয়া হয়েছে।
পরবর্তী পর্বে আমরা MainActivity থেকে SecondActivity তে Thread এর ব্যবহার এবং এর প্রয়োগ সম্পর্কে জানব। চলবে……
Comments
Post a Comment