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

অ্যান্ড্রয়েড WebView-এ ব্যাক বাটন সক্ষম করার পদ্ধতি

অ্যান্ড্রয়েড WebView-এ ব্যাক বাটন (পিছনে যাওয়া) ফাংশন্যালিটি যোগ করার উদাহরণ

এই টিউটোরিয়ালটি দেখাবে কীভাবে আপনি WebView-এ ব্যাক বাটন দবলে পূর্বের পেজে ফেরত যাওয়ার ফিচার যোগ করতে পারেন। onBackPressed() মেথড ওভাররাইড করে এটি বাস্তবায়ন করা হয়।

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

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

ধাপ ২: লেআউট XML ফাইল সংশোধন করুন

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">

    <WebView
        android:id="@+id/web_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

ধাপ ৩: MainActivity.java ফাইলে কোড যোগ করুন

src/MainActivity.java ফাইলে নিচের কোডটি লিখুন। onBackPressed() মেথডে web_view.canGoBack() চেক করে web_view.goBack() কল করা হয়।

package com.example.myapplication;

import android.app.ProgressDialog;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends AppCompatActivity {

    WebView web_view;

    @RequiresApi(api = Build.VERSION_CODES.P)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final ProgressDialog progressDialog = new ProgressDialog(this);
        progressDialog.setMessage("Loading Data...");
        progressDialog.setCancelable(false);

        web_view = findViewById(R.id.web_view);
        web_view.setVerticalScrollBarEnabled(true);
        web_view.requestFocus();
        web_view.getSettings().setDefaultTextEncodingName("utf-8");
        web_view.getSettings().setJavaScriptEnabled(true);
        web_view.loadUrl("https://touch.facebook.com/");

        web_view.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });

        web_view.setWebChromeClient(new WebChromeClient() {
            public void onProgressChanged(WebView view, int progress) {
                if (progress < 100) {
                    progressDialog.show();
                }
                if (progress == 100) {
                    progressDialog.dismiss();
                }
            }
        });
    }

    @Override
    public void onBackPressed() {
        if (web_view != null && web_view.canGoBack()) {
            web_view.goBack(); // পূর্বের পেজে যান
        } else {
            super.onBackPressed(); // অ্যাপ বন্ধ করুন
        }
    }
}

ধাপ ৪: AndroidManifest.xml-এ ইন্টারনেট পারমিশন যোগ করুন

AndroidManifest.xml ফাইলে ইন্টারনেট পারমিশন ডিক্লেয়ার করুন।

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="com.example.myapplication">

    <uses-permission android:name="android.permission.INTERNET"/>

    <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-তে প্রজেক্টের যেকোনো এক্টিভিটি ফাইল খুলে টুলবার থেকে Run আইকনে ক্লিক করুন। আপনার মোবাইল ডিভাইসটি নির্বাচন করুন এবং ডিভাইসের স্ক্রিনে ফেসবুক লোড হবে। ব্যাক বাটন দবলে পূর্বের পেজে ফেরত যাবে।

অ্যান্ড্রয়েড WebView-এ ব্যাক বাটন সক্ষম করার পদ্ধতি

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

  2. অ্যান্ড্রয়েড অ্যাপে WebView তৈরির পদ্ধতি

  3. অ্যান্ড্রয়েডে ডাইনামিক্যালি বাটন যোগ করা

  4. Android System WebView মাস্টার করুন: ইनेবল/ডিসেবল করার ধাপে ধাপে গাইড (২০২৪ আপডেট)