Sponsorluk

অ্যান্ড্রয়েড ইনটেন্ট

0
7

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

  1. Start an Activity
  2. Start sub-activity.
  3. Start a Service.

ইন্টেন্ট দুই প্রকার। একটা হচ্ছে Explicit Intent আরেকটা Implicit intent। Explicit Intent এ আমরা সরাসরি বলে দেই কোন এক্টিভিটি বা কোন কোন অ্যাপ ওপেন করতে হবে। আর Implicit Intent এ আমরা বলে দেই না কোন অ্যাপ বা কোন এক্টিভিটি ওপেন করতে হবে। ব্যবহারকারীকে তার পছন্দ অনুযায়ী সিলেক্ট করতে দেই।

 

আমরা সিম্পল একটা অ্যাপ তৈরি করব ইন্টেন্ট সম্পর্কে জানার জন্য। যা অ্যাপের একটা এক্টিভিটি থেকে আরেকটা এক্টিভিটিতে কিছু ডেটা পাস করবে। এ জন্য আমরা একটা নতুন এন্ড্রয়েড প্রজেক্ট তৈরি করব। প্রতিটা প্রজেক্টেই একটা ডিফল্ট এক্টিভিটি থাকে। আমাদের আরেকটা এক্টিভিটি লাগবে। কিভাবে নতুন একটা এক্টিভিটি যুক্ত ক্রয়া যায়, তা   এন্ড্রয়েড মাল্টি একটিভিটি লেখাটিতে  বিস্তারিত লেখা রয়েছে।

ঐ টিউটোরিয়ালে আমরা দেখেছি কিভাবে নতুন একটা এক্টিভিটি ওপেন করতে হয়। এখন আমরা দেখব কিভাবে একটা এক্টিভিটি ওপেন করার সময় কোন ডেটা পাস করতে হয়। ডেটা পাস করা সহজ। কী ভ্যালু পেয়ারে ডেটা গুলো পাঠাতে হয়। প্রতিটা ডেটার একটা করে কী থাকবে। নিচের মত করেঃ

intent.putExtra("message","Message from first activity"); 

এভাবে যত ইচ্ছে তত গুলো ডেটা আমরা পাস করতে পারব।

নতুন যে এক্টিভিটি ওপেন হবে, তা থেকে আমাদের আমার ডেটা গুলো রিসিভ করতে হবে। ডেটা রিসিভ করব আমরা যে কী ব্যবহার করেছি,তা দিয়ে। এভাবেঃ

String message= intent.getStringExtra("message");

এতটুকুই। সহজ না? এরপর আমরা চাইলে যে কোন যায়গায় ঐ ডেটা ব্যবহার করতে পারি।

ফাইল গুলোঃ
MainActivity.java:

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

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


        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(MainActivity.this,SecondActivity.class);
                intent.putExtra("message","Message from first activity");
                 startActivity(intent);
            }
        });
    }
}

SecondActivity.java:

 

import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.TextView;

public class SecondActivity extends AppCompatActivity {

    TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);

        Intent intent = this.getIntent();
        String message= intent.getStringExtra("message");

        textView = (TextView) findViewById(R.id.textView);

       textView.setText(message);
    }

}

activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="me.jakir.simpleintent.MainActivity">

    <Button android:text="Pass Data" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="12dp" android:layout_marginStart="12dp" android:id="@+id/button" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" />
</RelativeLayout>


activity_second.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="me.jakir.simpleintent.MainActivity">


    <TextView android:text="Message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_marginLeft="38dp" android:layout_marginStart="38dp" android:layout_marginTop="58dp" android:id="@+id/textView" />
</RelativeLayout>

প্রজেক্টের সোর্স কোড পাওয়া যাবে গিট রিপোজিটোরিতে।

Site içinde arama yapın
Kategoriler
Read More
Nulled
RapidLab v2.0 Nulled - Online Loan Management System PHP Script
RapidLab v2.0 Nulled – Online Loan Management System PHP Script Free Download. Develop...
By Nettumi 2026-09-17 18:41:43 0 34
Tech
স্বাধীনতার সাজে সেরা কয়েকটি টি-শার্ট | Techtunes | টেকটিউনস
মজিলার নির্বাচিত সাতটি বেস্ট ফায়ারফক্স 3 অ্যাডঅন দুঃসাহসী টিনটিন
By Nettumi 2026-09-25 03:43:53 0 40
Nulled
Honor Power2 লঞ্চ হলো! 10080 mAh এর দানবীয় ব্যাটারি আর ডাইমেনসিটি 8500 এলিট প্রসেসর দিয়ে স্মার্টফোন দুনিয়ায় অবিশ্বাস্য এক পাওয়ার হাউজ! | Techtunes | টেকটিউনস
অ্যাপল মানুষকে ফিরিয়ে নিচ্ছে হাত ঘড়ির যুগে… অসামান্য প্রাযুক্তিক উৎকর্ষতায়! একটি Apple...
By Nettumi 2026-09-21 05:33:12 0 39
Tech
অ্যান্ড্রয়েড ইউজাররা যে ১০ টি কমন মিসটেক করে থাকে | Techtunes | টেকটিউনস
মজিলার নির্বাচিত সাতটি বেস্ট ফায়ারফক্স 3 অ্যাডঅন দুঃসাহসী টিনটিন
By Nettumi 2026-09-25 04:04:09 0 44
Tech
Windows এর দরকারি ৪ টি ট্রিকস যা বেশির ভাগ মানুষ-ই জানে না | Techtunes | টেকটিউনস
মজিলার নির্বাচিত সাতটি বেস্ট ফায়ারফক্স 3 অ্যাডঅন দুঃসাহসী টিনটিন
By Nettumi 2026-09-25 04:02:43 0 39
‎ ‎ ‎
Nettumi https://nettumi.com