Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

एंड्रॉइड में WebView सेशन स्टोरेज कैसे इनेबल करें?

एंड्रॉइड WebView में सेशन स्टोरेज और लोकल स्टोरेज इनेबल करना

यह उदाहरण दर्शाता है कि setDomStorageEnabled(true) का उपयोग करके WebView में HTML5 Web Storage (localStorage, sessionStorage) कैसे इनेबल करें।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में नया प्रोजेक्ट बनाएं।

चरण 2: लेआउट फ़ाइल

<?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:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical"
    tools:context=".MainActivity">

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

</LinearLayout>

चरण 3: MainActivity.java

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.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;

public class MainActivity extends AppCompatActivity {

    @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("लोड हो रहा है...");
        progressDialog.setCancelable(false);

        WebView webView = findViewById(R.id.web_view);
        webView.requestFocus();
        webView.getSettings().setLightTouchEnabled(true);
        
        // जावास्क्रिप्ट आवश्यक है स्टोरेज के लिए
        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setGeolocationEnabled(true);
        webView.setSoundEffectsEnabled(true);
        webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL);
        webView.getSettings().setUseWideViewPort(true);
        
        // Web Storage इनेबल करें - localStorage और sessionStorage दोनों के लिए
        webView.getSettings().setDomStorageEnabled(true);
        
        webView.loadUrl("https://www.tutorialspoint.com/");

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

चरण 4: 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>

Web Storage प्रकार

स्टोरेजजीवनकालक्षमताउपयोग
localStorageस्थायी (मैन्युअल हटाने तक)~5-10 MBयूजर प्रेफरेंस, कैश डेटा
sessionStorageटैब/विंडो बंद होने तक~5-10 MBअस्थायी फॉर्म डेटा, स्टेट

जावास्क्रिप्ट में उपयोग

// localStorage - स्थायी
localStorage.setItem('username', 'john');
const user = localStorage.getItem('username');
localStorage.removeItem('username');

// sessionStorage - सेशन तक
sessionStorage.setItem('tempData', 'value');
const temp = sessionStorage.getItem('tempData');

ऐप चलाएं

ट्यूटोरियलस्पॉइंट लोड होगा - localStorage/sessionStorage का उपयोग करने वाली साइट्स काम करेंगी।

एंड्रॉइड में WebView सेशन स्टोरेज कैसे इनेबल करें?

  1. Android में डेवलपर विकल्प कैसे सक्षम करें Android में डेवलपर विकल्प कैसे सक्षम करें

    Android में डेवलपर विकल्प बहुत अच्छे हैं, जो सुविधाओं और कार्यों का एक गुच्छा अनलॉक करते हैं जो आप वेनिला Android में नहीं कर सकते, जैसे USB डिबगिंग, एनिमेशन गति बदलना, और एक नाइट मोड जो सूर्यास्त पर लागू ऐप्स को डार्क थीम में बदल देता है। यह ट्यूटोरियल आपको दिखाएगा कि Android पर डेवलपर विकल्प कैसे

  1. एंड्रॉयड पर ग्रेस्केल मोड सक्रिय करें: क्लीनर डिस्प्ले के लिए आसान चरण एंड्रॉयड पर ग्रेस्केल मोड सक्रिय करें: क्लीनर डिस्प्ले के लिए आसान चरण

    एंड्रॉयड 10 ने हाल ही में एक बेहद कूल डार्क मोड लॉन्च किया जिसने तुरंत बहुत सारे उपयोगकर्ताओं का दिल जीत लिया। शानदार दिखने के अलावा, यह बैटरी भी काफी बचाता है। इनवर्टेड कलर थीम ने अधिकांश ऐप्स की पृष्ठभूमि में भारी सफेद स्थान को काले रंग से बदल दिया है। यह पिक्सेल की क्रोमैटिक और ल्यूमिनस तीव्रता क

  1. एंड्रॉइड पर ऑलवेज-ऑन डिस्प्ले सक्रिय करें: त्वरित और आसान सेटअप एंड्रॉइड पर ऑलवेज-ऑन डिस्प्ले सक्रिय करें: त्वरित और आसान सेटअप

    एंड्रॉइड डिवाइस नई सुविधाओं के साथ आते रहते हैं जिनके बारे में हमने कभी नहीं सोचा था कि वे जरूरी हैं जब तक वे जारी नहीं किए गए। इस परंपरा को जारी रखते हुए, एंड्रॉइड ने ऑलवेज-ऑन फीचर पेश किया। हालांकि, यह शुरू में सैमसंग डिवाइस के लिए जारी किया गया था लेकिन अब यह अधिकांश एंड्रॉइड स्मार्टफोन पर आ गया