सबसे पहले, मुझे लगता है कि यह संभावना नहीं है कि आप वास्तव में परिसंपत्तियों से HTML और जावास्क्रिप्ट फ़ाइलों तक पहुँचने होने के लिए, के रूप में संपत्ति (और नहीं होना चाहिए) अद्यतन किया जा नहीं सकते हैं एक बार एप्लिकेशन पैक किया गया है और हस्ताक्षर किए। इसका मतलब है कि, आपके एचटीएमएल और जावास्क्रिप्ट के साथ संपत्तियों में, आप उन्हें अपडेट नहीं कर सकते हैं। उस समस्या को हल करने का दृष्टिकोण एचटीएमएल और जावास्क्रिप्ट को आंतरिक या बाहरी भंडारण में सहेजना है, और इसे वहां से उपयोग करना है।
दूसरा, यदि आप उस दृष्टिकोण का उपयोग करते हैं तो मैंने अभी समझाया है, अब आप WebView.loadUrl()
विधि का उपयोग नहीं कर सकते हैं, बल्कि इसके बजाय आपको WebView.loadDataWithBaseUrl()
विधि का उपयोग करने की आवश्यकता होगी। इस तरह:
webView.loadDataWithBaseURL("http://some_url/", "some_data", "text/html", "utf-8", null);
फिर, "some_data" एक HTML पृष्ठ के रूप में लोड करने की कोशिश की हो जाएगा, के रूप में this previous SO answer में देखा। जब यह एक जावास्क्रिप्ट संसाधन लोड करने का प्रयास करता है, जैसे /scripts/lib.js
, तो इसे http://some_url/scripts/lib.js
पर हल किया जाएगा, और WebView उस संसाधन को लोड करने का प्रयास करेगा। बेशक यह नहीं हो सकता है, और यही कारण है कि आप (जावा में) को WebViewClient
कक्षा का विस्तार करने की आवश्यकता होगी, और shouldInterceptRequest(WebView wv, String url)
विधि के लिए कार्यान्वयन प्रदान करना होगा।
जब किसी भी संसाधन को वेब पेज में लाने की कोशिश की जाती है, तोहोल्डइंटरसेप्टवेक्वेट 'कहा जाएगा, और इसका रिटर्न वैल्यू संसाधन के रूप में उपयोग किया जाएगा।
स्रोत
2012-03-19 15:40:58
आपके संपादन कार्य के लिए धन्यवाद natali। –