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

एंड्रॉइड में WebView ऐप कैश कैसे इनेबल करें?

एंड्रॉइड WebView में एप्लिकेशन कैश (AppCache) इनेबल करना

यह उदाहरण दर्शाता है कि setAppCacheEnabled(true) का उपयोग करके WebView में HTML5 एप्लिकेशन कैश कैसे इनेबल करें।

⚠️ महत्वपूर्ण नोट

Application Cache (AppCache) डिप्रिकेटेड है और आधुनिक ब्राउज़र्स से हटा दिया गया है। Service Workers + Cache API आधुनिक विकल्प हैं। WebView में AppCache अभी भी काम कर सकता है लेकिन नए प्रोजेक्ट्स के लिए Service Workers का उपयोग करें।

चरण 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);
        
        // AppCache इनेबल करें (डिप्रिकेटेड)
        webView.getSettings().setAppCacheEnabled(true);
        
        // कैश पाथ सेट करें (वैकल्पिक)
        // webView.getSettings().setAppCachePath(getCacheDir().getAbsolutePath());
        // webView.getSettings().setAppCacheMaxSize(10 * 1024 * 1024); // 10MB
        
        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>

आधुनिक विकल्प: Service Workers

AppCache के बजाय Service Workers का उपयोग करें:

// Service Worker रजिस्टर करें (जावास्क्रिप्ट में)
if ('serviceWorker' in navigator) {
    navigator.serviceWorker.register('/sw.js')
        .then(reg => console.log('SW रजिस्टर्ड'))
        .catch(err => console.log('SW एरर:', err));
}

// sw.js में कैश स्ट्रेटेजी
self.addEventListener('fetch', event => {
    event.respondWith(
        caches.match(event.request)
            .then(response => response || fetch(event.request))
    );
});

WebView में Service Worker सपोर्ट

// WebView में Service Worker इनेबल करें (API 28+)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
    webView.getSettings().setServiceWorkerEnabled(true);
    webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
}

ऐप चलाएं

ट्यूटोरियलस्पॉइंट लोड होगा - AppCache मैनिफेस्ट वाली साइट्स ऑफलाइन काम करेंगी (यदि सपोर्टेड)।

एंड्रॉइड में WebView ऐप कैश कैसे इनेबल करें?

  1. एंड्रॉइड के लिए YouTube में बैकग्राउंड प्लेबैक कैसे इनेबल करें एंड्रॉइड के लिए YouTube में बैकग्राउंड प्लेबैक कैसे इनेबल करें

    न केवल YouTube उन वीडियो से भरा है जिन्हें आप अपने खाली समय में अपने डिवाइस पर देखने का आनंद ले सकते हैं, इसमें कुछ वास्तव में शानदार म्यूजिक ट्रैक भी हैं। जब आप काम कर रहे हों या अपने दोस्तों के साथ चैट कर रहे हों, तो आप इन म्यूजिक ट्रैक को सुन सकते हैं और अपने कानों को व्यस्त रख सकते हैं। ऐसा करन

  1. एंड्रॉयड पर ऐप कैश क्लियर करने की स्टेप-बाय-स्टेप गाइड: तेज परफॉरमेंस के लिए एंड्रॉयड पर ऐप कैश क्लियर करने की स्टेप-बाय-स्टेप गाइड: तेज परफॉरमेंस के लिए

    आपके एंड्रॉयड डिवाइस पर इंस्टॉल ऐप्स क्रोम और अन्य ब्राउज़र्स के साथ जानकारी सेव करते हैं। यह पेज लोड और एप्लिकेशन लोड समय को कम करने में मदद करता है। लेकिन समय के साथ, जैसे-जैसे ये फाइलें जमा होती हैं, वे केवल डिवाइस को अव्यवस्थित करती हैं। इसलिए, अगर आप अपने डिवाइस के प्रदर्शन को तेज करने या थोड़ा

  1. एंड्रॉइड पर कैश क्लियर करने की स्टेप-बाय-स्टेप गाइड – तेज़ परफॉरमेंस के लिए एंड्रॉइड पर कैश क्लियर करने की स्टेप-बाय-स्टेप गाइड – तेज़ परफॉरमेंस के लिए

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