package cn.com.web;
import cn.com.web.R;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.Window;
import android.view.View.OnTouchListener;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
/**
* 浏览器
*
*/
public class WebViewApp extends Activity {
/** webview控件 */
private WebView webView;
/** 当前url地址 */
private String browserUrl = "file:///android_asset/error.html";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
// getWindow().requestFeature(Window.FEATURE_PROGRESS);// 用title bar做进度条
// requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);// 用title
setContentView(R.layout.browser_layout);
initWebView();
}
/**
* 初始化webview
*/
private void initWebView() {
// 得到webView的引用
webView = (WebView) findViewById(R.id.browser_layout_webview);
// 支持JavaScript
webView.getSettings().setJavaScriptEnabled(true);
// 支持缩放
webView.getSettings().setBuiltInZoomControls(true);
// 支持保存数据
webView.getSettings().setSaveFormData(false);
// 清除缓存
webView.clearCache(true);
// 清除历史记录
webView.clearHistory();
// 联网载入
webView.loadUrl(browserUrl);
// String baseUrl = "file:///android_asset";
// webView.loadDataWithBaseURL(baseUrl, browserUrl, "text/html",
// "utf-8", null);
// 设置
webView.setWebViewClient(new WebViewClient() {
/** 开始载入页面 */
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
setProgressBarIndeterminateVisibility(true);// 设置标题栏的滚动条开始
browserUrl = url;
super.onPageStarted(view, url, favicon);
}
/** 捕获点击事件 */
public boolean shouldOverrideUrlLoading(WebView view, String url) {
webView.loadUrl(url);
return true;
}
/** 错误返回 */
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
super.onReceivedError(view, errorCode, description, failingUrl);
}
/** 页面载入完毕 */
@Override
public void onPageFinished(WebView view, String url) {
setProgressBarIndeterminateVisibility(false);// 设置标题栏的滚动条停止
super.onPageFinished(view, url);
}
});
webView.setWebChromeClient(new WebChromeClient() {
/** 设置进度条 */
public void onProgressChanged(WebView view, int newProgress) {
// 设置标题栏的进度条的百分比
WebViewApp.this.getWindow().setFeatureInt(
Window.FEATURE_PROGRESS, newProgress * 100);
super.onProgressChanged(view, newProgress);
}
/** 设置标题 */
public void onReceivedTitle(WebView view, String title) {
WebViewApp.this.setTitle(title);
super.onReceivedTitle(view, title);
}
});
webView.addJavascriptInterface(new RemoteInvokeService(WebViewApp.this,
webView, "http://www.baidu.com/"), "js_invoke");
}
/**
* 捕获返回键
*/
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack())) {
webView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
android webview与 js交互通信
共42个文件
png:15个
class:10个
xml:6个
4星 · 超过85%的资源 需积分: 15 20 下载量 11 浏览量
2016-06-20
13:26:39
上传
评论 1
收藏 163KB ZIP 举报
温馨提示
webview与js的交互。 其实这个demo完全可以在客户端实现相同功能,这里只是学习交互如何实现的。并且用html动态加载会比较灵活,可以在服务端随时更新样式。没有公网服务器,我把网页放在assets中,不过不影响的。
资源推荐
资源详情
资源评论
收起资源包目录
WebViewAppJavaScript.zip (42个子文件)
WebViewAppJavaScript
.project 856B
src
cn
com
web
RemoteInvokeService.java 636B
WebViewApp.java 3KB
AndroidManifest.xml 762B
res
drawable
menubar_bg.png 187B
menu_exit.png 2KB
icon.png 3KB
enter_url.png 1KB
menubar_bg_tile.xml 188B
menu_back.png 1KB
menu_stop_flush.png 2KB
menu_flush.png 2KB
menubar_click_bg.png 2KB
layout
enter_url_layout.xml 644B
browser_layout.xml 399B
values
color.xml 157B
strings.xml 205B
assets
images
refresh2.png 5KB
netsetting1.png 6KB
img_err2.png 5KB
netsetting2.png 6KB
refresh1.png 5KB
img_err1.png 5KB
img_err.png 9KB
error.html 1KB
css
style_Ning.css 2KB
gen
cn
com
web
R.java 1KB
default.properties 449B
.classpath 280B
bin
WebViewAppJavaScript.apk 66KB
resources.ap_ 60KB
cn
com
web
R$layout.class 420B
WebViewApp$1.class 2KB
R$drawable.class 719B
R$attr.class 316B
WebViewApp.class 2KB
R$id.class 425B
WebViewApp$2.class 1KB
RemoteInvokeService.class 1KB
R.class 475B
R$string.class 435B
classes.dex 6KB
共 42 条
- 1
资源评论
- xhpvjrfd666682016-06-20还不错哦哦
一叶飘舟
- 粉丝: 1w+
- 资源: 222
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功