`
gyht0808
  • 浏览: 115584 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

android_webView加载.html文件

阅读更多

首先在layout文件夹下的xml中 加入

Java代码 
  1.  <WebView  
  2. android:id="@+id/wv1"  
  3. android:layout_width="fill_parent"  
  4. android:layout_height="fill_parent"  
  5. />  

 

Java代码 
  1. public class jsWebDemo extends Activity {  
  2.     /** Called when the activity is first created. */  
  3.     @Override  
  4.     public void onCreate(Bundle savedInstanceState) {  
  5.         super.onCreate(savedInstanceState);  
  6.         setContentView(R.layout.main);   
  7.         WebView wView = (WebView)findViewById(R.id.wv1);  
  8.           
  9.         ProxyBridge pBridge = new ProxyBridge();  
  10.         wView.addJavascriptInterface(pBridge, "AliansBridge");  
  11.           
  12.         WebSettings wSet = wView.getSettings();  
  13.         wSet.setJavaScriptEnabled(true);  
  14.           
  15.         wView.loadUrl("file:///android_asset/index.html");  
  16.           
  17.     }  
  18.   
  19.     public class ProxyBridge {  
  20.         public int one () {  
  21.             return 1;  
  22.         }  
  23.     }  
  24.   
  25. }  

  wView.addJavascriptInterface(pBridge, "AliansBridge");
上句代码是实例化一个方法为的是在html中的js中调用,第二个参数则是 实例化方法的别名,如果要使用这个pBridge,则在js中使用的名字就是AliansBridge。

 WebSettings wSet = wView.getSettings();
        wSet.setJavaScriptEnabled(true);
上面两句就是允许使用js的意思

wView.loadUrl(file:///android_asset/index.html);
就是在asset下放入一个index.html文件,这个文件包含js的代码,注意路径是“///”,这个android_asset不是文件夹的名字是系统自动生成的,其实就是asset文件夹的系统路径。 

 

index.html 内容如下

Java代码 
  1. <html><body>  
  2. <div id="output">Test page.</div>  
  3. <input type="submit" value="change to 1" onclick="document.getElementById('output').innerHTML = AliansBridge.one()" />  
  4. </body></html>  

 

 这里要注意 如果你只有一个方法需要被js调用

 ProxyBridge pBridge = new ProxyBridge();
        wView.addJavascriptInterface(pBridge, "AliansBridge");

如果你需要调用好多个方法呢 这里只要

 wView.addJavascriptInterface(this, "AliansBridge");

把整个android程序所在的类 本身实例化传递就可以了

这里呢可以参看附件中的实例riademo

你如果想继续扩展可以参看

http://www.ophonesdn.com/article/show/115

 

 2.上面是javascript调用android的方法,那么android也可以调用js的方法

Java代码 
  1. public class webJsDemo extends Activity {  
  2.     /** Called when the activity is first created. */  
  3.     private WebView mWebView;  
  4.      private Handler mHandler = new Handler();     
  5.        
  6.     @Override  
  7.     public void onCreate(Bundle savedInstanceState) {  
  8.         super.onCreate(savedInstanceState);  
  9.         setContentView(R.layout.main);  
  10.         mWebView = (WebView) findViewById(R.id.wv1);     
  11.           
  12.         WebSettings webSettings = mWebView.getSettings();     
  13.         webSettings.setSavePassword(false);     
  14.         webSettings.setSaveFormData(false);     
  15.         webSettings.setJavaScriptEnabled(true);     
  16.         webSettings.setSupportZoom(false);     
  17.          
  18.         mWebView.setWebChromeClient(new MyWebChromeClient());     
  19.     
  20.         mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), "demo");     
  21.     
  22.         mWebView.loadUrl("file:///android_asset/demo.html");     
  23.     }     
  24.     
  25.     final class DemoJavaScriptInterface {     
  26.     
  27.         DemoJavaScriptInterface() {     
  28.         }     
  29.     
  30.         /**   
  31.          * This is not called on the UI thread. Post a runnable to invoke   
  32.          * loadUrl on the UI thread.   
  33.          */    
  34.         public void clickOnAndroid() {    
  35.               
  36.             mHandler.post(new Runnable() {     
  37.                 public void run() {     
  38.                     mWebView.loadUrl("javascript:wave()");     
  39.                 }     
  40.             });     
  41.     
  42.         }     
  43.     }     
  44.     
  45.     /**   
  46.      * Provides a hook for calling "alert" from javascript. Useful for   
  47.      * debugging your javascript.   
  48.      */    
  49.     final class MyWebChromeClient extends WebChromeClient {     
  50.         @Override  
  51.         public boolean onJsAlert(WebView view, String url, String message,  
  52.                 JsResult result) {  
  53.             // TODO Auto-generated method stub  
  54.             Log.d("aa", message);    
  55.             Log.d("url", url);  
  56.             Log.d("result"""+result);  
  57.               
  58.             result.confirm();   
  59.         return super.onJsAlert(view, url, message, result);  
  60.               
  61.         }  
  62.   
  63.           
  64.     }     

 

其中上面的代码 也提到了怎么在android中调试js  mWebView.setWebChromeClient(new MyWebChromeClient());  

上面的代码来源于别人的实例。

最后还要注意在这个实例中demo.html和两个image应该在同一个文件夹asset下

分享到:
评论

相关推荐

    Android_webview_83.0.4103.120版本

    1. **WebView组件**:WebView是Android SDK中的一个类,继承自`android.webkit.WebView`,它能够加载并显示HTML、CSS、JavaScript等网络内容。 2. **作用**:WebView主要用在应用程序内展示网页,可以实现与网页的...

    android之webView加载javascropt

    这篇博客“android之webView加载javascript”将深入探讨如何在Android应用中有效地使用WebView来加载和执行JavaScript代码。 首先,我们需要在AndroidManifest.xml中为应用添加互联网权限,因为加载网页内容需要...

    Android_WebView安全攻防指南2020.pdf

    - **恶意HTML/JS加载**:攻击者可能操纵WebView加载包含恶意代码的HTML或JS,如通过AJAX窃取文件。 3. **WebView URL校验** - **白名单校验**:实施严格的URL白名单策略,只允许WebView加载预定义的可信URL,防止...

    html5.zip_WebView_android_webview与html5

    加载HTML5页面** 你可以通过`loadUrl()`方法加载本地或远程的HTML5页面: ```java webView.loadUrl("file:///android_asset/index.html"); // 本地资源 webView.loadUrl("https://www.example.com"); // 远程URL `...

    android webView加载html 并引用本地资源(图片、字体库)

    以上就是Android中使用WebView加载HTML并引用本地资源的基本步骤。通过结合HTML、CSS和JavaScript,你可以构建出丰富的交互式应用界面,同时利用本地资源提升性能和用户体验。记得在实际项目中,还要考虑安全性和...

    com.android.webview-95.0.4638.50

    在压缩包子文件的文件名称列表中,我们看到只有一个文件"com.android.webview-95.0.4638.50.apk",这表明该压缩包可能包含了WebView的APK安装文件。APK是Android应用的打包格式,用户下载后可以安装到Android设备上...

    webview加载本地的html文件

    在WebViewLoadDemo这个示例项目中,可能包含了上述所有操作的完整代码,你可以参考该项目学习和实践如何在Android应用中有效地使用WebView加载本地HTML文件。总的来说,理解并熟练掌握WebView的使用对于Android...

    android webview 版本69.0

    标签“webview”直接指向了我们讨论的主题,这是一个用于加载和显示HTML、CSS和JavaScript的平台组件。WebView在Android开发中扮演着核心角色,因为它允许混合式应用开发,将本地Android功能与网络内容相结合。 在...

    Android_WebView

    通过`WebView`,开发者可以展示HTML、CSS和JavaScript编写的网页,同时还可以实现JavaScript与Android原生代码之间的交互,极大地扩展了Android应用的功能。 **一、WebView的基本使用** 1. **添加依赖**:在`build...

    Android WebView加载网页以及本地图片缓存问题

    本文将深入探讨如何使用WebView加载网页以及本地图片,并解决缓存问题。 一、WebView的基本使用 1. 初始化WebView:首先,我们需要在布局XML文件中添加WebView组件,并在对应的Activity或Fragment中找到该组件。...

    Android通过JS在线用webview加载PDF文件(无限放大版本)

    至此,你已经成功实现了Android Webview加载在线PDF文件并支持无限放大。需要注意的是,由于Webview是在浏览器环境中运行,所以性能可能受设备硬件限制,特别是对于大型或复杂的PDF文件。因此,优化Webview性能,如...

    Android 基于x5Webview 浏览文件 office文档

    在"Android 基于x5Webview 浏览文件 office文档"的场景中,我们将探讨如何利用X5WebView来实现这一功能,并且这个方案已经经过了在Android 11上的测试验证。 首先,要使用X5WebView,你需要在项目中集成TBS(腾讯...

    data_film2.rar_WebView_film_website

    在Android中,WebView主要通过`android.webkit.WebView`类实现;在iOS中,可以使用`WKWebView`。 2. **电影网站开发**:开发一个电影网站涉及前端和后端技术。前端可能包括HTML、CSS和JavaScript,用于创建用户界面...

    Android WebView加载网页html文件显示加载进度Demo

    在“Android WebView加载网页html文件显示加载进度Demo”这个项目中,我们将探讨如何利用WebView加载本地HTML文件,并实时展示加载进度,提供更好的用户体验。 首先,我们需要在AndroidManifest.xml文件中为应用...

    android中webview加载本地页面,并处理js事件

    本示例“android中webview加载本地页面,并处理js事件”着重讲解如何利用`WebView`加载本地HTML页面,并通过JavaScript Interface与Java代码进行交互,同时在HTML中动态生成组件如`button`。 1. **WebView基本使用**...

    android用webview加载assert中的html并且可拨打页面中的电话

    这篇教程将详细介绍如何在Android应用中使用Webview加载assert目录下的HTML文件,并且使用户能够通过Webview拨打电话。 首先,我们需要了解`WebView`。`WebView`是Android SDK提供的一种控件,用于在应用程序内嵌入...

    Android_HTML5.zip_android_html5

    5. Android与HTML5的集成:通过WebView,开发者可以将HTML5应用嵌入到原生Android应用中,利用Android的Intent系统和其他本地APIs,实现如相机、联系人、文件系统等访问。此外,Cordova/PhoneGap等框架允许创建混合...

    webview重载使用&自定义网址_android代码.zip

    例如,如果URL是特定的应用内链接,我们可以处理这个链接而不是让WebView加载它: ```java @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url.startsWith("app://")) { //...

    安卓浏览器WebViewJSHTML5相关-androidwebview加载本地html.zip

    本压缩包"安卓浏览器WebViewJSHTML5相关-androidwebview加载本地html.zip"提供了关于如何在Android中使用WebView加载本地HTML文件的相关示例和资料。 首先,我们要理解WebView的基本用法。在Android中,WebView是`...

    android webview 加载网页 样例

    本文将深入探讨如何使用Android WebView加载网页,包括基本使用、配置设置、与JavaScript交互以及处理网络权限等问题。 一、WebView基础 1. 添加依赖 在Android Studio项目中,首先确保在`build.gradle`(Module)...

Global site tag (gtag.js) - Google Analytics