Lesson 5 : Create new Activity And Sending some Information ( Intent System)

বিসমিল্লাহির রাহমানির রাহীম 

Android Learning :Beginners To Paid Professional



লেসন 5 এর আলোচ্য বিষয় : 

১। একটি নতুন এ্যাক্টিভিটি তৈরী করা। 
২।  বাটন ক্লিকের মাধ্যমে নতুন এ্যক্টিভিটিতে (একটি নতুন স্ক্রীণে যাওয়া) 
৩।  প্রথম স্ক্রীণ থেকে কোন ইনফরমেশন/ইউজার ইনপুট তৈরী করে  দ্বিতীয় স্ক্রীণে প্রেরণ করা।
৪।  দ্বিতীয় স্ক্রীণে সেই ইনফরমেশন গ্রহণ করা
৫। ইনফরমেশনটিকে একটি টেক্সটভিউতে প্রদর্শন করা  । 

এই কাজগুলি আমরা করব Intent তথা  Explicit Intent  এর মাধ্যমে। নিচের চিত্রগুলোতে একটু চোখ বুলিয়ে নেই।




















( চিত্র নং : ৫) 

 চিত্র নং ৫ একটু ভালো করে  খেয়াল করুন। এবার কাজ শুরু করা যাক :


একটি নতুন Activity তৈরী করে নাম দিন SecondActivity. 

নতুন এ্যাক্টিভিটি তৈরী করা :

প্রজেক্ট ফাইল ট্রি থেকে জাভা ফোল্ডার এর উপর রাইট বাটনে ক্লিক করুন।  

এরপর  Java > new > Activity > Empty Activity :  

(অথবা মেনু থেকে ফাইল > new > Activity > Empty Activity :  )

 


     (একটি প্রজেক্টে একের অধিক প্যাকেজ থাকতে পারে। সেক্ষেত্রে যে প্যাকেজের অধীনে নিউ  এ্যাক্টিভিটি তৈরী করতে চান সেই প্যাকেজের নামের উপর রাইট বাটনে ক্লিক করুন।  আর যদি মেনু থেকে নিউ এ্যাক্টিভিটি তৈরী করতে চান তবে সঠিক প্যাকেজের নাম সিলেক্ট করে দিন)  


 আমরা মোবাইলে যে একের পর এক স্ক্রীন দেখি  এগুলো একেকটি এ্যাক্টিভিটির অধীনে হয়ে থাকে, কখনো একই এ্যাক্টিভিটি বার বার রিইউজ হয়, আবার কখনো সম্পূর্ণ নতুন একটি এ্যাক্টিভিটি ওপেন হয়।  আমরা আমাদের প্রজেক্টে একটি নতুন  এ্যক্টিভিটি পেলাম : 


=============================================================
==============================================================
=============================================================






এবার আমরা নতুন একটি  কোড প্রজেক্ট শুরু করব :

কোড প্রজেক্ট  #২ 





Start a new Activity on Button click And Send Some Information And Diplay in a Text View 

( অর্থাৎ, বাটন ক্লিকের মাধ্যমে নতুন একটি স্ক্রীণে যাওয়া, প্রথম স্ক্রীণ থেকে কোন ইনফরমেশন দ্বিতীয় স্ক্রীণে প্রেরণ করা, দ্বিতীয় স্ক্রীণে সেই ইনফরমেশন গ্রহণ করা এবং ইনফরমেশনটিকে একটি টেক্সটভিউতে প্রদর্শন করা )  

এই বিষয়গুলো এবার আমরা ধাপে ধাপে করে দেখব : 

ধাপ : ১। বাটন ক্লিকের মাধ্যমে একটি নতুন স্ক্রীনে যাওয়া : 

প্রথমে ‍activity_main.xml  ফাইলটি ওপেন করে একটি বাটন যোগ করি। এর নাম দেই
"Second Activity" এবং আইডি দিলাম button   । 

<Button    android:id="@+id/button"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:layout_marginBottom="8dp"    android:layout_marginEnd="8dp"    android:layout_marginLeft="8dp"    android:layout_marginRight="8dp"    android:layout_marginStart="8dp"    android:layout_marginTop="8dp"    android:text="Second Activity"    app:layout_constraintBottom_toBottomOf="parent"    app:layout_constraintEnd_toEndOf="parent"    app:layout_constraintStart_toStartOf="parent"    app:layout_constraintTop_toTopOf="parent"    app:layout_constraintVertical_bias="0.343" />
 
 
 
 
 
 এবার মেইন এ্যাক্টিভিটি জাভা ফাইল ওপেন করে অনক্রিয়েট এর মধ্যে নিচের কোডটুকু লিখুন : 
 
 
Button button= (Button)findViewById(R.id.button);

button.setOnClickListener(new View.OnClickListener() {
    @Override    public void onClick(View v) {

        Intent i = new Intent(getApplicationContext(), SecondActivity.class);
        startActivity(i);
        
    }
}); 


 
 
 
 
এবার প্রোগ্রামটি রান করে দেখুন  SECOND ACTIVITY নামক বাটনে ক্লিক 
করলে নতুন একটি এ্যাক্টিভিটি SecondActivity ওপেন হয় কিনা । 


ধাপ : ২ 
 
( প্রথম স্ক্রীণ থেকে কোন ইনফরমেশন দ্বিতীয় স্ক্রীণে প্রেরণ করা, দ্বিতীয় 
স্ক্রীণে সেই ইনফরমেশন গ্রহণ করা এবং ইনফরমেশনটিকে একটি টেক্সটভিউতে 
প্রদর্শন করা ) 
 
এবার সেকেন্ড এ্যাক্টিভিটির লেআউট ফাইল activity_second.xml 
ওপেন করুন ।  একটি টেক্সট বক্স যোগ করুন । যার আইডি হবে textView2 
 
 
<TextView    android:id="@+id/textView2"    android:textSize="30sp"    android:textColor="@color/colorAccent"    android:textStyle="bold|italic"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:layout_marginBottom="8dp"    android:layout_marginEnd="8dp"    android:layout_marginLeft="8dp"    android:layout_marginRight="8dp"    android:layout_marginStart="8dp"    android:layout_marginTop="8dp"    android:text="TextView"    app:layout_constraintBottom_toBottomOf="parent"    app:layout_constraintEnd_toEndOf="parent"    app:layout_constraintStart_toStartOf="parent"    app:layout_constraintTop_toTopOf="parent" /> 
 





এবার SecondActivity.java ফাইলটি ওপেন করে অনক্রিয়েট 
এর মধ্যে নিচের কোডটুকু লিখুন : 
 
 TextView textView2 =findViewById(R.id.textView2);

String getMessage= getIntent().getStringExtra("New Message");

textView2.setText(getMessage);
 
 
 (Second Activity Get Intent Extra ) 
 
 
 অর্থাৎ, সেকেন্ড এ্যাক্টিভিটি প্রথমে মেসেজটিকে স্ট্রিং আকারে  গ্রহণ করবে : 
 
String getMessage= getIntent().getStringExtra("New Message"); 
 
এবার এই  স্ট্রিং মেসেজটিকে টেক্সটভিউতে প্রদর্শন করবে : 
 
textView2.setText(getMessage);
 
 
 
এখন আমরা প্রথম এ্যাক্টিভিটি থেকে এই  "New Message" টিকে পাঠাবো : 


প্রথমে MainActivity.Java ওপেন করুন । এবার আমাদের প্রথমে লেখা বাটন ক্লিক এর মধ্যে  স্টার্ট এ্যাক্টিভিটির ঠিক
 
 পূর্বে  এই লাইনটি লিখুন : 



i.putExtra("New Message","Allah is Almighty");
 
 
 
 
 
 
 
 ( First Activity Send Intent Extra) 
 
 
 এবার প্রোগ্রামটি রান করে দেখুন, আমরা প্রথম এ্যাক্টিভিটি থেকে আল্লাহ ইজ অলমাইটি এই  মেসেজটি “নিউ মেসেজ”
 নাম দিয়ে ২য় এ্যাক্টিভিটিতে প্রেরণ করেছি। এবার ২য় এ্যাক্টিভিটিতে প্রথমে সেই “নিউ মেসেজটিকে” গ্রহণ করেছি এবং মেসেজটিকেে
 একটি স্ট্রিং হিসেবে গ্রহণ করে  একটি টেক্সটভিউতে প্রদর্শন করেছি। 
 
 ধাপ : ৩ 
 
 এখন আমরা ইনশাআল্লাহ এই পদ্ধতিটিকে আরেকটি বিস্তারিত দেখব । এখন দেখব ইউজার ইনপুট থেকে কিভাবে
 যেকোন স্ট্রিং কে দ্বিতীয় এ্যাক্টিভিটিতে পাঠানো যায়। 
 
প্রথমে  ইউজার ইনপুট গ্রহণ করার জন্য প্রথম এ্যাক্টিভিটির লেআউট ফাইলে  একটি এডিট টেক্সট নিতে হবে। 
মনেকরি এর আইডি edittext1 . 
 
 
 
 
 
এবার প্রথম এ্যাক্টিভিটির জাভা ফাইলে এডিটটেক্সটিকে ইনশিয়ালাইজ করতে হবে : 
 
EditText  edittext1 = (EditText)FindViewById(R.id.edittext1);


এবার বাটন ক্লিকের মধ্যে এই এডিটটেক্সট এ ইনপুট করা টেক্সটকে স্ট্রিং হিসেবে গ্রহণ করতে হবে। মনে করি 
স্ট্রিংটির নাম দিলাম inputMessage . 

String inputMessage  = edittext1.getText().toString();
 
 
এখন এই   inputMessage  কে একটি নাম দিয়ে  ইন্টেন্ট এর সঙ্গে এক্সট্রা হিসেবে পরবর্তী এ্যাক্টিভিটিতে প্রেরণ
করব । মনে করি নাম দিলাম "New Message" । তাহলে এক্সট্রা হিসেবে প্রেরণ করতে চাইলে লাইনটি হবে এরকম: 
 
i.putExtra("New Message", inputMessage); 

নিচের চিত্রটি দেখুন : 





 এবার এই "New Message" কে পরবর্তী এ্যাক্টিভিটিতে গ্রহণ করতে হবে : 
 
String getMessage= getIntent().getStringExtra("New Message"); 

এবং গ্রহণকৃত getMessage কে টেক্সটভিউতে প্রদর্শন করতে হবে : 
 
 

 textView2.setText(getMessage);

 
 
 
 এবার প্রোগ্রামটি রান করে দেখুন। প্রথম এ্যাক্টিভিটিতে কিছু লিখুন। এবার বাটন ক্লিক করলে  লেখাটি 
২য় এ্যাক্টিভিটিতে সেন্ড হবে এবং প্রদর্শিত হবে। 
 
 
ডাউনলোড প্রজেক্ট কোড :  কোড প্রজেক্ট #২ 


=========================================================
 
 
 
 
 
 

No comments:

Post a Comment