我正在编写一个应用程序,需要在 Android 应用程序中嵌入 HTML 对象,我按照此处给出的教程进行操作:http://mobile.tutsplus.com/tutorials/android/android-sdk-embed-a-webview-with-the-webkit-engine/ http://mobile.tutsplus.com/tutorials/android/android-sdk-embed-a-webview-with-the-webkit-engine/并相应地修改了代码,以下是代码,但我得到了白屏......
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView engine = (WebView) findViewById(R.id.web_engine);
engine.getSettings().setJavaScriptEnabled(true);
engine.getSettings().setPluginsEnabled(true);
engine.getSettings().setAppCacheEnabled(false);
engine.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
String data = "<html>" +
"<body>" +
"bb"+
"<object width=\"450\" height=\"300\" align=\"middle\"><param name=\"movie\" value=\"http://www.raaga.com/widgets/top10/widgettopten.swf?l=H&q=1\" /><param name=\"wmode\" value=\"transparent\"><embed src=\"http://www.raaga.com/widgets/top10/widgettopten.swf?l=H&q=1\" width=\"450\" height=\"300\" align=\"middle\" type=\"application/x-shockwave-flash\" wmode=\"transparent\" FlashVars=\"gig_lt=1312323434023&gig_pt=1312325057958&gig_g=2\"/> <param name=\"FlashVars\" value=\"gig_lt=1312323434023&gig_pt=1312325057958&gig_g=2\" /></object>"+
"gg"+
"</body>" +
"</html>";
engine.loadData(data, "text/html", "UTF-8");
}
}
我要嵌入的对象是:
<object width="450" height="300" align="middle"><param name="movie" value="http://www.raaga.com/widgets/top10/widgettopten.swf?l=H&q=1" /><param name="wmode" value="transparent"><embed src="http://www.raaga.com/widgets/top10/widgettopten.swf?l=H&q=1" width="450" height="300" align="middle" type="application/x-shockwave-flash" wmode="transparent" FlashVars="gig_lt=1312323434023&gig_pt=1312326303531&gig_g=2"/> <param name="FlashVars" value="gig_lt=1312323434023&gig_pt=1312326303531&gig_g=2" /></object>
将文件放在 /assets 目录中,您可以通过 file:///android_asset/ 目录访问它。
您可以在 asset 文件夹中放置静态数据文件,例如 HTML 及其相关的 CSS、图像和 JavaScript 文件等,而不是将 html 放在代码中。然后您可以使用WebView.loadUrl() http://developer.android.com/reference/android/webkit/WebView.html#loadUrl%28java.lang.String%29。这样做的优点是不必在代码中进行 Java 字符串转义和繁琐的编辑。您将能够在您最喜欢的 Web 项目编辑器中单独创建文件,然后复制并粘贴它们。如果您需要在运行时编辑文件,您仍然可以从资产目录加载文件,并且仍然不必担心 Java 字符串转义和繁琐的编辑。然后应用编辑并传递到WebView.loadData() http://developer.android.com/reference/android/webkit/WebView.html#loadData%28java.lang.String,%20java.lang.String,%20java.lang.String%29.
为了帮助调试这个问题实施WebChromeClient.onLoadResource http://developer.android.com/reference/android/webkit/WebViewClient.html#onLoadResource%28android.webkit.WebView,%20java.lang.String%29并查看控制台消息教程 http://developer.android.com/guide/webapps/debugging.html#WebView.
不要忘记使用PackageManager.getPackageInfo() http://developer.android.com/reference/android/content/pm/PackageManager.html#getPackageInfo%28java.lang.String,%20int%29检查闪存是否可用。如果不是,您可以为用户提供以下选项:从市场下载 http://developer.android.com/guide/publishing/publishing.html#marketintent.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)