第一步:
在项目中的assets目录中新建text.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function showInfo(content){
document.getElementById("countent").innerHTML=
"这是我的javascript调用. 这是:"+content;
}
</script>
</head>
<body>
<h1>测试</h1><br>
<!--
demo.startPhone(456)是调用android中的方法
demo对应android代码webView.addJavascriptInterface(new JavaObject(), "demo");中的demo
startPhone对应android代码中类JavaObject的startPhone()的方法
-->
<input type="button" onclick="javascript:demo.startPhone(456)" value="显示数据">
<p id="countent">html原始数据</p>
</body>
</html>
第二步:
写MainActivity.java类
package com.su.webkit.activity;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
public class MainActivity extends Activity {
private WebView webView;
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = (WebView)findViewById(R.id.web);
//设置javascript和android的能交互
WebSettings setting=webView.getSettings();
setting.setJavaScriptEnabled(true);
//设置给javascript调用android的方法
webView.addJavascriptInterface(new JavaObject(), "demo");
//加载html
webView.loadUrl("file:///android_asset/text.html");
}
//调用javascript里的方法showInfo();
public void showJavascript(View view){
webView.loadUrl("javascript:showInfo('activity传过来的数据')");
}
class JavaObject{
/*
在javascript调用的方法
*/
public void startPhone(String num){
System.out.println("ad");
Toast.makeText(MainActivity.this,num, Toast.LENGTH_LONG);
}
}
@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;
}
}
第三步:
运行项目
相关推荐
总之,Android中的WebView与JavaScript的交互是通过暴露Java对象和调用JavaScript函数实现的,这种方式极大地丰富了Android应用的功能。在实际开发中,我们需要合理利用这一特性,同时注意安全性和性能优化。
本文将深入探讨Android与javascript的交互,特别是如何在Android混合开发中利用WebView进行高效且灵活的通信。 一、WebView组件介绍 WebView是Android系统提供的一个用于显示网页内容的组件,它可以加载本地或远程...
Webkit是一种开源的网页渲染引擎,它被广泛用于许多浏览器,包括著名的苹果Safari和谷歌Chrome。这个"Webkit_webkit浏览器_webkit_android_"的...同时,这也是一次实践Android编程、网页渲染和JavaScript交互的好机会。
在Webkit和Android Browser的时序图中,我们可以看到用户操作如何触发Android系统调用,进而与Webkit引擎进行交互。例如,当用户点击一个链接时,Android Browser会通过WebKitBridge向Webkit发送消息,Webkit解析...
在本项目"android跟js交互demo基于webkit的demo"中,我们将探讨如何在Android应用中通过WebKit实现与JavaScript的有效沟通。 首先,Android中的WebView是WebKit的核心组件,它负责加载和显示网页内容。开发者可以...
3. **JavaScriptCore**: 这是 WebKit 中的 JavaScript 引擎,负责解析、编译和执行 JavaScript 代码,与 WebView 交互以获取或修改 DOM 元素。 4. **V8 引擎(从 Android 4.4 开始)**: 在某些版本的 Android 中,...
<title>JS与Android交互 ()">点击调用Android方法 function callAndroid() { window.android.callFromJs('Hello, Android!'); } ``` 以上代码展示了Android与JavaScript交互的基本流程。通过`...
在Android应用开发中,Web视图(WebView)是一种强大的组件,它允许开发者在原生应用中展示网页内容,甚至实现JavaScript与Java代码的交互。这个"Android-Android和Js交互Demo"是关于如何利用WebView来实现这种交互...
通过这些图表,读者可以直观地理解Android 4.0.1中WebKit的核心功能和优化技术,为开发者提供了深入学习和调试WebKit的宝贵资料。对于开发Android应用,特别是涉及到WebView的项目,理解并掌握这些知识点至关重要,...
在Android浏览器源码中,可以研究如何与WebCore交互,如何处理重排和重绘请求。 5. **JavaScript交互**:通过JavaScriptBridge,Android应用可以直接调用JavaScript代码,反之亦然。这在实现网页与原生应用之间的...
在Android代码中,我们需要创建一个Java类,该类将作为JavaScript与Android交互的接口。这个类需要继承自`JavaObject`并添加`@JavascriptInterface`注解,确保在WebView中安全调用。例如: ```java import ...
在Android开发中,为了实现网页(HTML和JavaScript)与原生Android应用的深度交互,开发者通常会使用到JSBridge技术。JSBridge库是这类技术的一种实现,它为开发者提供了一个桥梁,使得Android应用中的Java代码可以...
三、JavaScript与Android交互 1. JavaScript调用Android方法: 在HTML中的JavaScript代码可以这样调用Android的方法: ```javascript window.android.callFromJs('这是来自JS的消息'); ``` 2. Android调用JavaScript...
Android 版本的 WebKit 提供了核心功能,用于在移动设备上显示和交互网页内容。在本文中,我们将深入探讨 WebKit for Android 的架构、工作原理及其对移动应用开发的重要性。 **1. WebKit 架构** WebKit 由多个...
在Android操作系统中,WebKit是一种关键的组件,它负责处理网页内容并提供渲染引擎,使应用程序能够展示和交互与基于Web的界面。Android的WebKit内核是开源项目WebKit的分支,它为Android平台提供了浏览网页和其他...
在Android开发中,传统的UI创建方式通常涉及到XML布局文件的编写和Java或Kotlin代码的配合,这在一定程度上增加了开发的复杂性。然而,随着技术的发展,Android平台提供了与JavaScript进行交互的能力,使得我们可以...
描述:本文深入探讨了Android Webkit的原理性应用,解析了Webkit内核在Android系统中的作用、组成及其与应用程序的交互方式。 知识点: ### Webkit概述 Webkit是一个开源的浏览器引擎,是浏览器的核心组件,负责...
Android 平台的 Web 引擎框架采用了 WebKit 项目中的 WebCore 和 JSCore 部分,上层由 Java 语言封装,并且作为 API 提供给 Android 应用开发者,而底层使用 WebKit 核心库(WebCore 和 JSCore)进行网页排版。...
在现代移动应用开发中,Android和JavaScript的交互是不可或缺的一部分,尤其是在混合开发模式下,如React Native、Cordova或Ionic等。这些框架允许开发者利用Web技术(HTML、CSS和JavaScript)构建原生移动应用,而...
WebView是Android SDK中的一个核心组件,它是基于Webkit的,用于在Android应用中嵌入网页内容。开发者可以通过WebView加载URL,实现网页的显示和交互。 4. **基本功能实现** - **主页设定**:用户可以设置一个...