标签:
这篇文章简单讲解 Android与web的简单交互。
1:Android显示web网页:利用Android的WebView控件展示网页
2:web网页调用Android方法:利用注解的方式将Android的方法公开,在javascript中调用公开的方法。
接下来,展示具体的小例子:
1:WebView显示web网页:
布局:
<WebView
android:id="@+id/loadWeb"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/web"
</WebView>
代码:
webView = (WebView)findViewById(R.id.loadWeb);
//获得对webview的设置
WebSettings settings = webView.getSettings();
//设置允许缩放
settings.setSupportZoom(true);
//设置允许脚本
settings.setJavaScriptEnabled(true);
//设置客户端
webView.setWebChromeClient(new WebChromeClient());
webView.setWebViewClient(new WebViewClient());
//加载网址
webView.loadUrl("http://www.baidu.com");
最后注意配置权限:
<uses-permission android:name="android.permission.INTERNET" />
运行就可以看到百度首页。
2:web调用Android方法:
1:布局:
<WebView
android:id="@+id/loadWeb"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/web"
</WebView>
2 : android公开方法:
public class LoadJS {
private Context context;
public LoadJS(Context context){
this.context = context;
}
//以注解的方式公开该方法(webkit是浏览器内核),以供网页调用
@android.webkit.JavascriptInterface
public void MyToast(String cc){
Toast.makeText(context, "我来自网页调用"+cc, Toast.LENGTH_SHORT).show();
}
}
3 : 网页调用公开方法:
在Android项目文件夹src–>main下新建assets文件夹,在assets文件夹中新建html页。
html代码,其中的js部分代码可在Android完成注解公开方法后再完成:
<html>
<head>
<title>网页标题</title>
<script>
function clickq(){
<!--获取输入框的值-->
var cc = document.getElementById("content").value;
<!--调用公开的方法-->
android.MyToast(cc);
}
</script>
</head>
<body>
<input value="点击输入" id="content"/>
<input type="button" value="按钮" onclick="clickq()" id="button"/>
</body>
</html>
运行即可。
标签:
原文地址:http://blog.csdn.net/little_shengsheng/article/details/51364293