কম্পিউটার টিউটোরিয়াল

কোটলিন ব্যবহার করে অ্যান্ড্রয়েড অ্যাপ থেকে জিমেইল দিয়ে ইমেইল কীভাবে পাঠাবেন?

এই উদাহরণটি প্রদর্শন করে কীভাবে অ্যান্ড্রয়েড অ্যাপ্লিকেশনে কোটলিন ব্যবহার করে জিমেইল বা অন্যান্য ইমেইল ক্লায়েন্ট দিয়ে ইমেইল পাঠানো যায়।

পদক্ষেপ ১: নতুন প্রজেক্ট তৈরি করুন

Android Studio-তে যান File → New Project এবং প্রজেক্ট তৈরি করার জন্য প্রয়োজনীয় সব বিবরণ পূরণ করুন।

পদক্ষেপ ২: res/layout/activity_main.xml-এ কোড যোগ করুন

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android" 
    xmlns:tools="https://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:padding="16dp" 
    tools:context=".MainActivity"> 
    <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Recipient email" 
        android:textStyle="bold" /> 
    <EditText 
        android:id="@+id/editTextMail" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:hint="example@gmail.com" 
        android:inputType="textEmailAddress" /> 
    
    <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginTop="16dp"
        android:text="Subject" 
        android:textStyle="bold" /> 
    <EditText 
        android:id="@+id/editTextSubject" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:hint="Email subject" /> 
    
    <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginTop="16dp"
        android:text="Message" 
        android:textStyle="bold" /> 
    <EditText 
        android:id="@+id/editTextMessage" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:lines="4" 
        android:gravity="top"
        android:hint="Write your message here" /> 
    
    <Button 
        android:id="@+id/buttonSend" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_marginTop="24dp"
        android:text="Send Email" /> 
</LinearLayout>

পদক্ষেপ ৩: src/MainActivity.kt-এ কোড যোগ করুন

import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {
    private lateinit var editTextMail: EditText
    private lateinit var editTextSubject: EditText
    private lateinit var editTextMessage: EditText
    private lateinit var buttonSend: Button

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        title = "KotlinApp"

        editTextMail = findViewById(R.id.editTextMail)
        editTextSubject = findViewById(R.id.editTextSubject)
        editTextMessage = findViewById(R.id.editTextMessage)
        buttonSend = findViewById(R.id.buttonSend)

        buttonSend.setOnClickListener {
            sendEmail()
        }
    }

    private fun sendEmail() {
        val email = editTextMail.text.toString().trim()
        val subject = editTextSubject.text.toString().trim()
        val message = editTextMessage.text.toString().trim()

        if (email.isEmpty() || !android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches()) {
            Toast.makeText(this, "Valid email address required", Toast.LENGTH_SHORT).show()
            return
        }

        val intent = Intent(Intent.ACTION_SENDTO).apply {
            data = Uri.parse("mailto:$email")
            putExtra(Intent.EXTRA_SUBJECT, subject)
            putExtra(Intent.EXTRA_TEXT, message)
        }

        if (intent.resolveActivity(packageManager) != null) {
            startActivity(Intent.createChooser(intent, "Select email app"))
        } else {
            Toast.makeText(this, "No email app found", Toast.LENGTH_SHORT).show()
        }
    }
}
গুরুত্বপূর্ণ:
  • ACTION_SENDTO + mailto: শুধু ইমেইল অ্যাপ দেখায়
  • ACTION_SEND ব্যবহার করলে ফাইল শেয়ারিং অ্যাপও দেখাবে
  • HTML বডি için Intent.EXTRA_HTML_TEXT ব্যবহার করুন

পদক্ষেপ ৪: androidManifest.xml-এ কোড যোগ করুন

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="https://schemas.android.com/apk/res/android" 
    package="com.example.q11"> 
    <application 
        android:allowBackup="true" 
        android:icon="@mipmap/ic_launcher" 
        android:label="@string/app_name" 
        android:roundIcon="@mipmap/ic_launcher_round" 
        android:supportsRtl="true" 
        android:theme="@style/AppTheme"> 
        <activity android:name=".MainActivity"> 
            <intent-filter> 
                <action android:name="android.intent.action.MAIN" /> 
                <category android:name="android.intent.category.LAUNCHER" /> 
            </intent-filter> 
        </activity> 
    </application> 
</manifest>

অ্যাপ্লিকেশন চালান

আপনার আসল অ্যান্ড্রয়েড ডিভাইস কম্পিউটারের সাথে সংযুক্ত আছে বলে ধরে। Android Studio-তে আপনার প্রজেক্টের এক্টিভিটি ফাইল খুলুন এবং টুলবারের রান আইকনে ক্লিক করুন। আপনার মোবাইল ডিভাইস সিলেক্ট করুন এবং ডিভাইসে ডিফল্ট স্ক্রিন দেখুন।

  1. বান্ডেল ব্যবহার করে অ্যান্ড্রয়েডে অ্যাক্টিভিটির মাঝপথে ডেটা পাস করার পদ্ধতি

  2. ইন্টেন্ট (Intent) ব্যবহার করে অ্যান্ড্রয়েডে অ্যাক্টিভিটির মাঝপথে ডেটা পাস করার পদ্ধতি

  3. অ্যান্ড্রয়েড অ্যাপ থেকে জিমেইল ব্যবহার করে ইমেইল পাঠানোর পদ্ধতি

  4. অ্যান্ড্রয়েডে কোটলিন ব্যবহার করে গ্যালারি থেকে ছবি বেছে নেওয়ার উপায়