Android Studio

Android WebView Multiple URL Load Example

android webview, কিভাবে একটা এপে, মাল্টিপল ওয়েবসাইটকে ভিউ করাবেন প্রোগ্রামিং এর মাধ্যমে.আপনি চাইলে, খুব সহজেই একটা ওয়েবভিউ ,প্রোগ্রামিং লিখে টেক্সট বাটন/ইমেজ ,লিংক দিয়ে. খুব সহজেই মাল্টিপল লোড করাতে পারেন।

এখানে দেখানো স্টেপ গুলো পূরণ করে.. খুব সহজেই ,প্রোগ্রামটি লিখতে পারেন, অথবা অ্যান্ড্রয়েড অ্যাপ ডেভেলপমেন্ট সম্পূর্ণ করে দেখতে পারেন ,তাতে আপনার প্রোগ্রামিং সম্পর্কে সুন্দর ধারণা আসবে. সম্পূর্ণ কোর্স লিংক

android webview
android webview

এখানে জাস্ট সিঙ্গেল কয়েকটি লাইন প্রোগ্রামিং করা হয়েছে, আপনি যদি সম্পূর্ণ প্রোগ্রামিং করতে চান, তাহলে এই লিঙ্কে ক্লিক করে, সম্পূর্ণ কমপ্লিট ,কোড প্রোগ্রামটি দেখতে পারেন ।

01 (অ্যান্ড্রয়েড স্টুডিও তে একটি প্রজেক্ট ওপেন অথবা তৈরি করুন)

02 ( বাটন অথবা ইমেজ) \app\src\main\res\layout\activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="10dp"
        android:orientation="horizontal">
        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Button" />
        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Button" />
    </LinearLayout>
</RelativeLayout>

03 ( জাভা প্রোগ্রামিং কোড) \app\src\main\java\com\myapplication\MainActivity.java


import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    private Button button1,button2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        /// findViewById button
        button2=(Button) findViewById(R.id.button2);
        button1=(Button) findViewById(R.id.button1);
        /// findViewById button End
        
        //// Button 1 programming
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent=new Intent(MainActivity.this,MainActivity2.class);
                intent.putExtra("link","http://www.youtube.com/channel/UC030aqbi5DaJMZ4rjMqaCuA");
                startActivity(intent);
            }
        });
        //// Button 1 programming End

        //// Button 2 programming
        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent=new Intent(MainActivity.this,MainActivity2.class);
                intent.putExtra("link","https://nnb24.com/");
                startActivity(intent);
            }
        });
        //// Button 2 programming End

    }
}

04 ( ওয়েবভিউ একটিভিটিতে এই প্রোগ্রামিং লিখন) \app\src\main\res\layout\activity_main2.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity2">

    <WebView
        android:id="@+id/webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
    <ProgressBar
        android:id="@+id/progress1"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</RelativeLayout>

05 ( ওয়েবভিউ অ্যাক্টিভিটি তে জাভা প্রোগ্রামিং কোড লিখুন) \app\src\main\java\com\myapplication\MainActivity2.java


import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
public class MainActivity2 extends AppCompatActivity {
    private WebView webview;
    private String url;
    private ProgressBar progressBar;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        ////// Link receive program
        Intent intent=getIntent();
        String url= getIntent().getStringExtra("link");
        url=(url);
        //////// Link receive program End

        ////// findViewById
        progressBar=(ProgressBar)findViewById(R.id.progress1);
        webview = (WebView) findViewById(R.id.webview);
        ///////findViewById End

        ///// WebView Programming
        webview.loadUrl(url);
        WebSettings settings = webview.getSettings();
        settings.setJavaScriptEnabled(true);
        settings.setLoadWithOverviewMode(true);
        settings.setUseWideViewPort(true);
        settings.setSupportZoom(true);
        settings.setBuiltInZoomControls(true);
        settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
        settings.setCacheMode(WebSettings.LOAD_NO_CACHE);
        settings.setDomStorageEnabled(true);
        webview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
        webview.setScrollbarFadingEnabled(true);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            webview.setLayerType(View.LAYER_TYPE_HARDWARE, null);
        } else {
            webview.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
        }
        webview.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageStarted(WebView view, String url, Bitmap favicon) {
                super.onPageStarted(view, url, favicon);
                progressBar.setVisibility(View.VISIBLE);
                webview.setVisibility(View.VISIBLE);
            }
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
            @Override
            public void onPageFinished(WebView view, String url) {
                progressBar.setVisibility(View.GONE);
                webview.setVisibility(View.VISIBLE);
            }
            @Override
            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {

            }
        });
        /////// WebView Programming End

    }
}

06 ( ইন্টারনেট পারমিশন দিন \app\src\main\AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

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


    <application
        android:allowBackup="true"
        android:dataExtractionRules="@xml/data_extraction_rules"
        android:fullBackupContent="@xml/backup_rules"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.MyApplication"
        tools:targetApi="31">
        <activity
            android:name=".MainActivity2"
            android:exported="false" />
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button