Android ऐप के एसेट्स फोल्डर में रखी HTML फ़ाइल को WebView में लोड करने का सरल तरीका।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio में नया प्रोजेक्ट बनाएं।
चरण 2: लेआउट में WebView
res/layout/activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
चरण 3: एसेट्स फोल्डर और HTML फ़ाइल
Assets फोल्डर बनाएं: Project व्यू में main पर राइट-क्लिक → New → Folder → Assets Folder
assets/mytext.html:
<html>
<head></head>
<body>
<h1> This html file is loaded from the assets folder </h1><br>
<h2> Have a nice Day!</h2>
</body>
</html>
चरण 4: MainActivity
src/MainActivity.java:
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView webView = findViewById(R.id.webView);
webView.loadUrl("file:///android_asset/mytext.html");
}
}
चरण 5: मैनिफेस्ट
इंटरनेट अनुमति की आवश्यकता नहीं (लोकल फ़ाइल)।
महत्वपूर्ण बिंदु
file:///android_asset/- एसेट्स फोल्डर का विशेष URI (तीन स्लैश)- केस-सेंसिटिव: फ़ाइल नाम सटीक मिलना चाहिए
- सबफोल्डर:
file:///android_asset/folder/file.html - JavaScript सक्षम करने के लिए:
webView.getSettings().setJavaScriptEnabled(true) - ज़ूम कंट्रोल:
webView.getSettings().setBuiltInZoomControls(true)
उन्नत: WebViewClient और WebChromeClient
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
webView.setWebChromeClient(new WebChromeClient());
एसेट्स बनाम रॉ बनाम इंटरनल स्टोरेज
| स्थान | URI स्कीम | उपयोग |
|---|---|---|
| Assets | file:///android_asset/ | रीड-ओनली, बंडल्ड फाइलें |
| Raw (res/raw) | R.raw.filename | रीड-ओनली, कोई फोल्डर नहीं |
| Internal Storage | file:///data/data/pkg/files/ | रनटाइम राइट/रीड |