2010-06-18 10 views
6

मैं एंड्रॉइड में loadDataWithBaseURL() विधि के साथ एक HTML फ़ाइल की सामग्री प्रदर्शित करने का प्रयास कर रहा हूं।क्या एंड्रॉइड में loadDataWithBaseURL() विधि के साथ छवि प्रदर्शित करना संभव है?

मेरे पास अभी एक स्ट्रिंग है जिसमें एक स्ट्रिंग में एचटीएमएल फ़ाइल डेटा है जिसे स्रोत कहा जाता है और मैं इसे विधि में पास करता हूं।

उदाहरण के लिए

String source; //contain html tags with images 
View.loadDataWithBaseURl(null,source,"text/html","UTF-8","about:blank"); 

डाटा दृश्य में प्रदर्शित ठीक है। मेरी समस्या यह है कि अगर मेरी एचटीएमएल फ़ाइल में कोई छवियां हैं तो मैं इसे प्रदर्शित नहीं कर सका? मैं यह कैसे कर सकता हूं?

+1

आपके द्वारा पोस्ट किया गया कोड काम नहीं करेगा क्योंकि स्रोत खाली होगा और View.load केवल तभी काम कर सकता है यदि आपके पास कोई व्यू ऑब्जेक्ट है जो पूंजी पत्र से शुरू होता है। लेकिन आप कहते हैं कि दृश्य ठीक है इसलिए मुझे लगता है कि यह केवल नमूना कोड है। – Janusz

उत्तर

5

यदि आप स्रोत में छवियों के स्रोत के सापेक्ष स्थानों का उपयोग करते हैं तो आप इसे कर सकते हैं, तो आपको बेसयूआरएल को "बेस" पर सेट करने की आवश्यकता है जहां छवियां स्थित होंगी। उदाहरण के लिए, यदि आप स्रोत से गूगल के होम पेज लोड हो रहा है, तो यह इस प्रकार दिखाई देगा:

View.loadDataWithBaseURI("http://google.com",source,"text/html","UTF-8","about:blank"); 

कि वेबव्यू जहां छवियों से लोड किया जाएगा बताता है।

एक साइड नोट के रूप में, मुझे नहीं लगता कि "फाइल: //" यूआरआई वेब दृश्य में सुरक्षा कारणों से काम करता है।

+1

मैं आंतरिक यूआरएल से वेबव्यू में छवियों को लोड करने के लिए एक फ़ाइल यूआरआई का उपयोग करता हूं और यह ठीक काम करता है – Janusz

3

उपयोग "file: /// android_res/कच्चे/" अपने बेस URL की तरह और रेस/अपनी परियोजना में कच्चे में अपनी फ़ाइलें डाल दिया।

रेस/कच्चे/index.html

रेस/कच्चे/image.jpg

InputStream htmlStream = getResources().openRawResource(R.raw.index); 
Reader is = new BufferedReader(new InputStreamReader(htmlStream, "UTF8")); 

// read string from reader 
String html = readFile(is); 

webView.loadDataWithBaseURL("file:///android_res/raw/", html, 
          "text/html", "UTF-8", null); 
+0

यह एंड्रॉइड 2.1 के साथ काम नहीं करता है ... – Patrick

1

उदाहरण के लिए, आप sdcard से कुछ छवियों को उपयोग करना चाहते हैं, तो अपने कोड इस तरह होना चाहिए:

final String path = Environment.getExternalStorageDirectory() + File.separator + "YourFolderName"); bookView.loadDataWithBaseURL("file://" + path, htmlTextWithHeadAndBody, "text/html", "UTF-8", "");

संबंधित मुद्दे