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

অ্যান্ড্রয়েডে SaveInstanceState ব্যবহার করে এক্টিভিটি স্টেট সংরক্ষণ

onSaveInstanceState এবং onRestoreInstanceState ব্যবহার করে স্টেট বাঁচানো

এই উদাহরণটি দেখাবে কীভাবে স্ক্রিন রোটেশন বা সিস্টেম দ্বারা এক্টিভিটি ধ্বংস হওয়া সময় ডেটা সংরক্ষণ ও পুনরুদ্ধার করা যায়।

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

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:app="https://schemas.android.com/apk/res-auto"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:gravity="center"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">
    <TextView
        android:id="@+id/actionEvent"
        android:textSize="40sp"
        android:layout_marginTop="30dp"
        android:layout_width="wrap_content"
        android:layout_height="match_parent" />
</LinearLayout>

ধাপ ৩: মেইন এক্টিভিটিতে কোড (src/MainActivity.java)

package com.example.myapplication;

import android.os.Build;
import android.os.Bundle;
import android.os.PersistableBundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    TextView actionEvent;

    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        actionEvent = findViewById(R.id.actionEvent);
    }

    @Override
    public void onSaveInstanceState(Bundle savedInstanceState) {
        super.onSaveInstanceState(savedInstanceState);
        savedInstanceState.putString("MyString", "Welcome back to Android");
    }

    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
        super.onRestoreInstanceState(savedInstanceState);
        String myString = savedInstanceState.getString("MyString");
        actionEvent.setText(myString);
    }
}

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

অ্যাপ চালু করুন। ডিভাইস রোটেট করলে টেক্সট "Welcome back to Android" দেখাবে।

অ্যান্ড্রয়েডে SaveInstanceState ব্যবহার করে এক্টিভিটি স্টেট সংরক্ষণ

  1. অ্যান্ড্রয়েডে বর্তমান থ্রেডের স্টেট (State) পাওয়ার পদ্ধতি

  2. অ্যান্ড্রয়েডে পূর্ববর্তী অ্যাক্টিভিটিতে ফিরে যাওয়া

  3. এন্ড্রয়েডে অ্যাক্টিভিটি রিস্টার্ট করার পদ্ধতি

  4. অ্যান্ড্রয়েডে ইন্টেন্ট ব্যবহার করে একটি এক্টিভিটির থেকে অন্য এক্টিভিটিতে অবজেক্ট পাঠানোর পদ্ধতি