كيفية إظهار محتويات HTML على WebView باستخدام Android
-
26-09-2019 - |
سؤال
فيما يلي محتوى HTML الذي أريد عرضه في WebView باستخدام Android SDK. سوف يعرض فقط
//لو سمحت
ولكن عندما أضع محتوى HTML هذا في المتصفح ، فإنه يظهر بشكل مختلف.
<br /><br />Read the handouts please for tomorrow.<br /><br /><!--homework help homework
help help with homework homework assignments elementary school high school middle school
// --><font color="#60c000" size="4"><strong>Please!</strong></font>
يرجى اقتراح كيفية حل هذه المشكلة
لدي مشكلة أخرى في محتوى HTML هناك علامة
<img src="http://www.homeworknow.com/hwnow/upload/images/tn_star300.gif" border="0" />
في هذه الصور لا تظهر.
المحلول
- استخدم web.loadDatawithBaseurl بدلاً من web.loadData (ولا تنسى الهروب من السلاسل حيث الحاجة)
- تحتاج إلى إضافة إذن عبر الإنترنت لتنزيل الصور وعرضها في ملفك البياني.
هذا المثال يعمل بالنسبة لي:
public class SimpleMusicStream extends Activity {
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
WebView wv = (WebView) findViewById(R.id.WebView01);
final String mimeType = "text/html";
final String encoding = "UTF-8";
String html = "<br /><br />Read the handouts please for tomorrow.<br /><br /><!--homework help homework" +
"help help with homework homework assignments elementary school high school middle school" +
"// --><font color='#60c000' size='4'><strong>Please!</strong></font>" +
"<img src='http://www.homeworknow.com/hwnow/upload/images/tn_star300.gif' />";
wv.loadDataWithBaseURL("", html, mimeType, encoding, "");
}
}
ولا تنسى أن تضيف:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
في ملف AndroidManifest.xml الخاص بك
نصائح أخرى
إما أنه يمكنك القيام بذلك على النحو الوارد أعلاه أو وضع ملف HTML في مجلد الأصول واستخدامه هذا لعرضه
view.loadUrl("file:///android_asset/FILENAME.html");
لعرض الصورة يمكنك القيام بذلك مثل
String str= " img src=\"http://www.homeworknow.com/hwnow/upload/images/tn_star300.gif\" alt=\"this is img\"ALIGN=\"right\"/>"; wv.loadData(str, "text/html", "utf-8");
لا تنتمي إلى StackOverflow