Android中WebKit的应用
来源:互联网 发布:西门淘宝店 编辑:程序博客网 时间:2024/05/18 01:48
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.graphics.Bitmap;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity implements OnClickListener{
private EditText editText1;
private Button btnGo;
private Button btnGet;
private WebView webView1;
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Activity
editText1 = (EditText) findViewById(R.id.editText1);
btnGo = (Button) findViewById(R.id.btnGo);
btnGo.setOnClickListener(this);
btnGet = (Button) findViewById(R.id.btnGet);
btnGet.setOnClickListener(this);
webView1 = (WebView) findViewById(R.id.webView1);
//Java代码:
WebSettings webSettings=webView1.getSettings();
webSettings.setJavaScriptEnabled(true);
//设置可以访问文件
webSettings.setAllowFileAccess(false);
//设置支持缩放
webSettings.setBuiltInZoomControls(true);
webView1.setWebViewClient(new WebViewClient() {
@Override//android.webkit.WebViewClient.shouldOverrideUrlLoading
public boolean shouldOverrideUrlLoading(WebView view,String url){
view.loadUrl(url);
return true;//shouldoverrideurlloading返回true表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边
}
@Override
public void onPageFinished(WebView view,String url){
super.onPageFinished(view,url);
}
@Override
public void onPageStarted(WebView view , String url,Bitmap favicon){
super.onPageStarted(view,url,favicon);
}
});
}
@Override
public void onClick(View view) {
switch(view.getId())
{
case R.id.btnGo:
String url=editText1.getText().toString();
url=url.trim();
if(!url.startsWith("http"))
url="http://"+url;
webView1.loadUrl(url);
break;
case R.id.btnGet:
break;
default:
break;
}
}
@Override
public void onBackPressed() {
webView1.goBack();
}
@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中WebKit的应用
编辑:kezz来源:Android中文网发布时间:2011/4/2 11:36:49 Android中,提供了WebKit引擎用于对网页浏览和操作进行编程。Google对WebKit进行了封装,提供了丰富的Java接口,其中最重要的便是android.webkit.WebView控件。
1.WebViewer控件
Android提供了WebView控件专门用来浏览网页。其使用方法和其他控件一样,需要在布局文件中进行布局,然后在程序中就可以使用并进行设置了。通过loadUrl方法,可以访问网页。代码如下:
Java代码:
wb=(WebView)findViewById(R.id.wb);
wb.loadUrl(url);
对于浏览器的设置,可以通过WebSettings来设置WebView的一些属性、状态等。代码如下:
Java代码:
WebSettingswebSettings=mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
//设置可以访问文件
webSettings.setAllowFileAccess(true);
//设置支持缩放
webSettings.setBuiltInZoomControls(true);
2.WebViewClient和WebChromClient
WebViewClient和WebChromClientshi可以看作是辅助WebView管理网页中各种通知、请求等事件以及JavaScript时间的两个类。
2.1WebViewClient
通过WebView的setWebViewClient方法指定一个WebViewClient对象。通过覆盖该类的方法来辅助WebView浏览网页。代码如下:
Java代码:
mWebView.setWebViewClient(newWebViewClient()
{
publicbooleanshouldOverrideUrlLoading(WebViewview,Stringurl)
{
view.loadUrl(url);
returntrue;
}
@Override
publicvoidonPageFinished(WebViewview,Stringurl)
{
super.onPageFinished(view,url);
}
@Override
publicvoidonPageStarted(WebViewview,Stringurl,Bitmapfavicon)
{
super.onPageStarted(view,url,favicon);
}
});
2.2WebChromClient
对于网页中使用的JavaScript脚本语言,就可以使用该类处理Js事件,如对话框加载进度等。例如:
Java代码:
mWebView.setWebChromeClient(newWebChromeClient(){
@Override
//处理javascript中的alert
publicbooleanonJsAlert(WebViewview,Stringurl,Stringmessage,
finalJsResultresult)
{
//构建一个Builder来显示网页中的对话框
Builderbuilder=newBuilder(Activitythis);
builder.setTitle("提示对话框");
builder.setMessage(message);
builder.setPositiveButton(android.R.string.ok,
newAlertDialog.OnClickListener(){
publicvoidonClick(DialogInterfacedialog,intwhich){
//点击确定按钮之后,继续执行网页中的操作
result.confirm();
}
});
builder.setCancelable(false);
builder.create();
builder.show();
returntrue;
};
}
安卓手机微信、QQ与短信删除聊天记录恢复全攻略
【玩机小技巧】Galaxy Note3如何使用4G网络
【小白福音·安卓篇】安卓手机未知来源软件安装
【小白福音·安卓篇】安卓手机短信铃声自定义
【小白福音·安卓篇】安卓手机使用误区
【小白福音·安卓篇】手机上网及彩信设置方法
HTC One X S720e手机信号设置方法
HTC ONE X如何限制后台运行程序数量
小技巧 强制你的Android手机检查系统更新
安卓智能手机如何备份手机里的文件
关注安卓中文网官方微信
扫描左侧二维码即可添加安卓中文网官方微信
您也可以在微信上搜索“安卓中文网”或“anzhuozww”,获取更多数码资讯
微博推荐
标签:Android,WebKit
【玩机小技巧】Galaxy Note3如何使用4G网络
【小白福音·安卓篇】安卓手机未知来源软件安装
【小白福音·安卓篇】安卓手机短信铃声自定义
【小白福音·安卓篇】安卓手机使用误区
【小白福音·安卓篇】手机上网及彩信设置方法
HTC One X S720e手机信号设置方法
HTC ONE X如何限制后台运行程序数量
小技巧 强制你的Android手机检查系统更新
安卓智能手机如何备份手机里的文件
- 华为获质量最高殊荣 用工匠精神定义中国“质”造
- 金立S8引发交互革命—首个压感屏安卓手机
- 蓝港互动王峰:和吴奇隆做生意是啥感觉
- 完全是鸡肋设计!vivo Xplay5曲面屏诚意不足
- 为什么华为手机质量好?来看看华为品控是怎么做的
- 易烊千玺最新手记曝光 网友:不知道三小只STYLE就OUT了!
- 三星Exynos8890真的比高通骁龙820强吗?
- 买旗舰就是买口碑 最值得入手还得是Mate S
- 男神力爆棚 华为畅享手机成95后最爱
- 《巴士话IT》第26期:人工智能VS虚拟现实
- Android中WebKit的应用
- webkit中timer的应用
- Android webkit webkit中skia的使用方法简析
- Android网络编程之WebKit应用
- Android网络编程之WebKit应用
- Android网络编程之WebKit应用
- Android网络编程之WebKit应用
- iOS中WebKit框架应用与解析
- gdb调试android的webkit
- android webkit ua的了解
- webkit中image的下载
- webkit中FastMalloc的分析
- WebKit 中CSS的实现
- 从Android浏览器(并不是Appliaction里面的webkit)打开应用程序/应用商店
- 从Android浏览器(并不是Appliaction里面的webkit)打开应用程序/应用商店
- 从Android浏览器(并不是Appliaction里面的webkit)打开应用程序/应用商店
- Webkit创建Smart TV应用的几个问题
- 各webkit应用的相同点及不同点
- 二叉树、二叉搜索树、AVL树的java实现
- 状态机
- Android群英传笔记——第八章:Activity与Activity调用栈分析
- 内部类相关知识
- acm 2 1025 Sequence two
- Android中WebKit的应用
- web day16 数据库 完整性约束,mySQL编码问题,备份与恢复,多表查询
- 一次打印出来正常,不打印出错的体验
- 字符串匹配算法
- MySQL 5.7.10 mac 更改root临时密码
- java多态的个人总结
- 《疯狂动物城》电脑壁纸
- 小菜鸟的PHP入门笔记(一:PHP简介与数据类型)
- plist解析和JSON序列化与反序列化(JSON解析),XML解析