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

এন্ড্রয়েডে কোটলিন ব্যবহার করে SharedPreferences ব্যবহারের পদ্ধতি

SharedPreferences দিয়ে ডেটা সংরক্ষণ ও পুনরুদ্ধার

এই উদাহরণটি দেখায় কিভাবে কোটলিন ব্যবহার করে এন্ড্রয়েডে SharedPreferences ব্যবহার করে ব্যবহারকারীর নাম, পাসওয়ার্ড এবং "যাদ রাখুন" চেকবক্সের অবস্থা সংরক্ষণ এবং পুনরুদ্ধার করা যায়।

ধাপ ১: নতুন প্রজেক্ট তৈরি করুন

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

ধাপ ২: লেআউট XML ফাইল কনফিগার করুন

res/layout/activity_main.xml ফাইলে নিচের কোড যোগ করুন:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="50dp"
        android:text="Tutorials Point"
        android:textAlignment="center"
        android:textColor="@android:color/holo_green_dark"
        android:textSize="32sp"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/etName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView"
        android:layout_centerInParent="true"
        android:layout_marginTop="75dp"
        android:ems="10"
        android:hint="নাম লিখুন" />

    <EditText
        android:id="@+id/etPassword"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/etName"
        android:layout_centerHorizontal="true"
        android:ems="10"
        android:hint="পাসওয়ার্ড লিখুন" />

    <Button
        android:id="@+id/btnLogin"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/etPassword"
        android:layout_alignStart="@id/etPassword"
        android:layout_marginTop="10dp"
        android:text="লগইন" />

    <CheckBox
        android:id="@+id/checkBox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/btnLogin"
        android:layout_alignStart="@id/btnLogin"
        android:layout_marginTop="10dp"
        android:text="আমার শংসাপত্র মনে রাখুন" />

</RelativeLayout>

ধাপ ৩: strings.xml-এ স্ট্রিং রিসোর্স যোগ করুন

<string name="name">name</string>
<string name="password">password</string>
<string name="checkBox">checkBox</string>

ধাপ ৪: MainActivity.kt ফাইলে লজিক লিখুন

import android.content.SharedPreferences
import android.os.Bundle
import android.preference.PreferenceManager
import android.widget.Button
import android.widget.CheckBox
import android.widget.EditText
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {
    private lateinit var sharedPreferences: SharedPreferences
    private lateinit var editor: SharedPreferences.Editor
    private lateinit var name: EditText
    private lateinit var password: EditText
    private lateinit var button: Button
    private lateinit var checkBox: CheckBox
    private lateinit var strName: String
    private lateinit var strPassword: String
    private lateinit var strCheckBox: String

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

        name = findViewById(R.id.etName)
        password = findViewById(R.id.etPassword)
        button = findViewById(R.id.btnLogin)
        checkBox = findViewById(R.id.checkBox)

        sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this)
        editor = sharedPreferences.edit()
        checkSharedPreference()

        button.setOnClickListener {
            if (checkBox.isChecked) {
                editor.putString(getString(R.string.checkBox), "True")
                editor.apply()
                strName = name.text.toString()
                editor.putString(getString(R.string.name), strName)
                editor.commit()
                strPassword = password.text.toString()
                editor.putString(getString(R.string.password), strPassword)
                editor.commit()
            } else {
                editor.putString(getString(R.string.checkBox), "False")
                editor.commit()
                editor.putString(getString(R.string.name), "")
                editor.commit()
                editor.putString(getString(R.string.password), "")
                editor.commit()
            }
        }
    }

    private fun checkSharedPreference() {
        strCheckBox = sharedPreferences.getString(getString(R.string.checkBox), "False").toString()
        strName = sharedPreferences.getString(getString(R.string.name), "").toString()
        strPassword = sharedPreferences.getString(getString(R.string.password), "").toString()
        name.setText(strName)
        password.setText(strPassword)
        checkBox.isChecked = strCheckBox == "True"
    }
}

ধাপ ৫: AndroidManifest.xml আপডেট করুন

সাধারণ ম্যানিফেস্ট কনফিগারেশন যথেষ্ট।

অ্যাপ্লিকেশন চালানোর পদ্ধতি

ডিভাইস সংযুক্ত করে Run করুন। নাম, পাসওয়ার্ড লিখে চেকবক্স টিক দিয়ে লগইন করুন। অ্যাপ রিস্টার্ট করলে ডেটা থাকবে।

  1. অ্যান্ড্রয়েড SQLite-এ UPPER() ফাংশন ব্যবহার করার পদ্ধতি

  2. অ্যান্ড্রয়েড শেয়ার্ড প্রিফারেন্সে apply() মেথড ব্যবহার করার পদ্ধতি

  3. অ্যান্ড্রয়েডে SharedPreferences ব্যবহার করে ডেটা সংরক্ষণ

  4. Android-এ ScrollView ব্যবহার করার পদ্ধতি