- 浏览: 63806 次
- 性别:
- 来自: 湖南
最新评论
-
Neacy_Zz:
有些Android也可以显示的出来。
Android 将一张CMYK模式的图片转换成RGB模式的图片 -
hold_on:
AsyncTask 2.3 和 4.0稍有不同
Android从零开始(十五)
知识点:android的WebView控件加载HTML并通过js实现数据的交互
步骤一、主页面代码
步骤二、HTML+javascript代码
步骤三、MainActivity代码
源码下载请点这里:
步骤一、主页面代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="WebView==javascript中调用java中的方法" /> <WebView android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/mywebView"/> </LinearLayout>
步骤二、HTML+javascript代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> New Document </title> <meta name="Generator" content="EditPlus"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <script type="text/javascript"> function myinterface(){ document.getElementById("myname").innerHTML=window.myobj.getName(); } function showAndroidToast(toast) { myobj.showToast(toast); } </script> </head > <body onload="myinterface()"> 我的姓名: <div id="myname"></div> <input type="button" value="Say hello" onClick="showAndroidToast('千呼万唤始出来!')" /> </body> </html>
步骤三、MainActivity代码
package com.example.webviewdemo; import android.os.Bundle; import android.app.Activity; import android.content.Context; import android.util.Log; import android.view.KeyEvent; import android.view.Menu; import android.webkit.JsResult; import android.webkit.WebChromeClient; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Toast; public class MainActivity extends Activity { private WebView webView = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webView = (WebView) findViewById(R.id.mywebView); webView.getSettings().setJavaScriptEnabled(true); webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); webView.setWebChromeClient(new WebChromeClient(){ @Override public boolean onJsAlert(WebView view, String url, String message, JsResult result) { // TODO Auto-generated method stub return super.onJsAlert(view, url, message, result); } }); webView.getSettings().setDefaultTextEncodingName("gbk"); webView.addJavascriptInterface(new myinterface(this) , "myobj"); webView.loadUrl("file:///android_asset/myname.html"); // webView.loadDataWithBaseURL("file:///android_asset/myname.html", "数据显示", "text/html", "UTF-8", null); } class myinterface{ private Context context; public myinterface(Context context) { this.context=context; // TODO Auto-generated constructor stub } public String getName(){ return "pilisiya"; } public void showToast(String toast) { // Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show(); Log.e("TAG", "====================="); Toast.makeText(context,toast, Toast.LENGTH_LONG).show(); Log.e("TAG", "*********************"); } } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()) { webView.goBack(); return true; } return super.onKeyDown(keyCode, event); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
源码下载请点这里:
- WebViewDemo.zip (1015.2 KB)
- 下载次数: 17
发表评论
-
Android自定义控件--3(刷新动画)
2014-02-26 11:14 978一个乐动力的刷新动画 package com.example. ... -
Android自定义控件--2(数字签名)
2014-02-26 11:08 975客户信息交互用到的一个数字签名,保存的是bmp图片(我那会在P ... -
Android自定义控件--1(TextView跑马灯效果)
2014-02-26 10:57 1589N久没有跟新了,最近 ... -
Android 将一张CMYK模式的图片转换成RGB模式的图片
2013-06-25 17:32 2310Android系统是不能够显示打印模式(CMYK)的图片的。所 ... -
Android TextToSpeech语音播放文本
2013-06-25 17:17 1903步骤一、初始化 package com.example.spe ... -
Android连接电脑eclipse无法识别=解决办法
2013-05-23 09:25 22241、方法一:“我的电脑”-->“属性”-->“设备 ... -
Android BaseAdapter如何获得每一项并添加按钮事件
2013-05-21 15:11 3770package com.hangcheng; impor ... -
Android的VideoView如何循环播放
2013-05-15 14:01 4863package com.hangcheng; impor ... -
Android如何获取asset目录下所有文件的路径
2013-05-15 09:48 7790package com.hangcheng.util; ... -
VideoView重绘
2013-04-01 23:39 1384知识点:Android中的VideoView控件默认情况下是不 ... -
Android从零开始—多媒体(二十二)
2013-03-06 21:43 1066知识点:音乐播放、录音、播放视频、录像、拍照 步骤一、主界面 ... -
Android从零开始—监听广播BroadcastReceiver(二十一)
2013-03-05 10:17 2126知识点:电话拒接+短息 ... -
Android从零开始—电话+短信(二十)
2013-03-05 10:03 1162知识点:系统电话号码和短信的获取(最好用真机,模拟器上木有电话 ... -
Android从零开始(十九)
2013-02-27 10:35 1010知识点:back键的处理(有时候我们可能会不小心按了回退键,但 ... -
Android从零开始(十八)
2013-02-27 10:24 895知识点:菜单(menu) 步骤一、创建菜单项(核心代码如下) ... -
Android从零开始(十七)
2013-02-27 10:09 1020知识点:抽屉(SlidingDrawer) 先看一下抽屉打开 ... -
Android从零开始(十六)
2013-02-26 19:43 904知识点:闪屏(通常在 ... -
Android从零开始(十五)
2013-02-26 18:32 1150知识点:异步任务AsyncTa ... -
Android从零开始(十四)
2013-02-26 17:16 882知识点:TabHost选项卡之 ... -
Android从零开始(十三)
2013-02-23 22:57 868知识点:TabHost 效果图: 工程目录结构: ...
相关推荐
开发者可以通过Webview加载远程或本地的HTML、CSS和JavaScript文件,实现在Android应用内部浏览网页。此外,Webview还支持JavaScript与Java之间的交互,通过`addJavascriptInterface()`方法,可以将Android的Java...
WebView是基于Chromium的,它允许JavaScript与原生平台进行通信,但默认情况下,它不支持某些特定的Android功能,如访问本地文件系统。在Android中,用户通常通过Intent来触发相册选择或拍照操作,而React Native的...
JavaScript代码可以监听WebSocket状态变化和接收到的数据,然后通过调用WebView提供的方法,如`evaluateJavascript()`,将这些数据传递给Android原生代码。这样,Android应用就能获取到WebSocket通信中的数据,并...
React Native是Facebook推出的一种跨平台移动应用开发框架,它基于JavaScript,允许开发者使用React组件化思想构建原生iOS和Android应用。通过React Native,开发者可以使用一套代码库同时开发两个平台的应用,提高...
在这个主题“webview+html跳转activity”中,我们将探讨如何在WebView中加载HTML,并通过JavaScript或特定的交互机制来触发Android Activity的跳转。 1. **WebView基本使用** - 首先,在布局XML文件中添加WebView...
在这个特定的案例中,"xamarin-android-webview-upload.7z" 压缩包文件包含了一个关于如何在 Xamarin Android 应用中使用 Web 视图(WebView)进行图片上传的示例项目。以下将详细解释这个知识点。 1. **Xamarin ...
WebView不仅能够展示静态HTML页面,还可以通过JavaScript与Android原生代码交互,从而实现更丰富的功能,比如调用设备的摄像头进行拍照。本项目就是这样一个示例,通过WebView加载HTML页面,并通过JavaScript接口...
5. **JavaScript与Java交互**:WebView支持通过添加JavaScript接口(`addJavascriptInterface()`)来实现JavaScript与Java代码的交互,这使得JavaScript能够调用原生Android方法,增强Web页面的功能性和互动性。...
WebView使用WebKit渲染引擎,能够很好地支持HTML、CSS、JavaScript等各种Web技术,使得开发者可以利用Web技术来构建部分或全部的用户界面,极大地扩展了Android应用的开发可能性。 以下是一个基本的WebView使用示例...
本文将详细讲解如何在Android的WebView中与HTML+JavaScript进行交互。 首先,理解WebView的基本使用。在Android布局XML文件中,我们可以添加一个WebView元素,并设置其属性,如加载的网页URL。在Java代码中,我们...
1. **性能提升**:由于Crosswalk-WebView使用了Chromium引擎,其JavaScript执行速度和HTML5功能支持都远超原生WebView。这意味着用户可以体验到更快的页面加载速度和更流畅的交互。 2. **富文本支持**:对于需要...
react-native-web-webview React Native用于RN的WebView的Web实现 入门 $ npm install react-native-web-webview --save 别名打包您的webpack配置中: resolve: { alias: { 'react-native': 'react-native-web...
当我们需要在WebView中实现拨打电话的功能时,需要理解Android权限管理、WebView加载本地HTML以及JavaScript与Android原生代码交互等关键知识点。 首先,Android系统对拨打电话功能有严格的权限控制。在Android 6.0...
在Android开发中,有时我们需要利用第三方库来增强应用的功能,比如WebView。WebView是Android系统提供的一种用于在应用程序中展示网页内容的组件,但它的功能相对有限。这时,我们可以选择集成Cordova来提升WebView...
总的来说,Android WebView全屏播放HTML5视频涉及到Android原生编程和Web开发的结合,需要理解WebView的工作原理,熟悉JavaScript与Java之间的交互,以及对HTML5视频标签的运用。通过上述步骤,开发者可以为用户提供...
这份名为"Android应用源码-浏览器&WebView&JS&HTML5类源代码(8例).zip"的压缩包文件,包含了一系列与Android应用程序开发相关的源代码示例,特别是聚焦于浏览器功能、WebView组件、JavaScript交互以及HTML5技术的...
WebView基于WebKit渲染引擎,支持HTML、CSS和JavaScript等Web技术,使得开发者能够利用丰富的Web开发能力来构建部分或全部应用界面。 在上述的示例中,我们看到如何在Android应用中使用WebView的基本步骤: 1. **...
它本质上是基于Android的WebView组件,这个组件在原生环境中运行,而React-Native则负责处理JavaScript代码。由于安全性和隐私原因,Android的WebView默认禁止了文件选择器,因此在尝试通过HTML `...