android之WebView详解
来源:互联网 发布:友情女王免费网络调教 编辑:程序博客网 时间:2024/05/22 09:03
WebView是一个使用开源的WebKit引擎的浏览器控件,可以将其当成一个浏览器来用,WebView能够搜索网址、查看电子邮件、播放视频节目,其不仅支持HTML、CSS等静态元素,还支持JavaScript.
★WebView浏览网页
public class MainActivity extends Activity {private EditText et_uri;private Button btn;private WebView webView;private final int BACK = 0;private final int FORWARD = 1;private final int CLEAR_CACHE = 2;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);et_uri = (EditText)findViewById(R.id.et_uri);btn = (Button)findViewById(R.id.search);webView = (WebView)findViewById(R.id.webView);//处理各种通知和请求事件,如果不使用该句代码,//将使用内置浏览器访问网页,不会显示在WebView上webView.setWebViewClient(new WebViewClient());btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {String uri = et_uri.getText().toString().trim();/** * loadUrl()可以装载任何有效的网址 * 1.浏览Internet上的网页 * 2.浏览本地网页文件 * webView.loadUrl("file:///sdcard/test.html"); */if(URLUtil.isNetworkUrl(uri)){webView.loadUrl(uri);}else {Toast.makeText(MainActivity.this, "输入的网址不正确!", Toast.LENGTH_LONG).show();}}});}/** * WebView支持缓存浏览历史页面 */@Overridepublic boolean onCreateOptionsMenu(Menu menu) {super.onCreateOptionsMenu(menu);menu.add(0, BACK, 0, "向后(back)");menu.add(0, FORWARD, 0, "向前(forward)");menu.add(0, CLEAR_CACHE, 0, "清除缓存");return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {switch(item.getItemId()){case BACK:webView.goBack();break;case FORWARD:webView.goForward();break;case CLEAR_CACHE:/**includeDiskFiles if false, only the RAM cache is cleared * true:硬盘文件和RAM缓存全部清除 * false:只清除RAM缓存 */webView.clearCache(true);}return super.onOptionsItemSelected(item);}}
★WebView浏览HTML
◇WebView还可以直接装载HTML代码有以下两个方法:
public void loadData(String data, String mimeType, String encoding);
public void loadDataWithBaseURL(String baseUrl, String data,
String mimeType, String encoding, String failUrl);
data:html代码
mimeType:Mime类型,一般为text/html
encoding:html代码编码
baseUrl:获取相对路径的跟URL,null默认为about:blank
failUrl:如果html代码装载失败,则则装载该html。
◇支持javascript
WebView默认是不支持JavaScript的用以下方法设置:
//打开JavaScript功能
webView.getSettings().setJavaScriptEnabled(true);
//设置处理JavaScript的引擎
webView.setWebChromeClient(new WebChromeClient());
◇WebView放大缩小网页
webView.getSettings().setSupportZoom(true);
webView.getSettings().setBuiltlnZoomControls(true);
◇本地资源的获取
文件若位于工程中的assets目录下,如果要在HTML代码中显示apk文件中的assets目录中的资源必须以
“file://android_asset”开头,后面跟文件和路径名,注意asset后面没有s。
- android之WebView详解
- Android之WebView详解
- Android之WebView详解
- Android开发之WebView详解
- Android开发之WebView详解
- Android开发之WebView详解
- Android开发之WebView详解
- Android开发之WebView详解
- Android开发之WebView详解
- Android WebView详解之文件下载
- Android WebView详解之自动登录
- android开发之WebView使用(非详解)
- Android WebView(一) WebView详解
- Android中WebView详解
- Android WebView 详解
- Android WebView应用详解
- Android中WebView详解
- Android WebView详解
- 【leetcode】Pascal's Triangle
- 网页中插入FLASH(swf文件)的html代码
- [Firefox] 方便实用的firefox 插件
- c# 数据库基础(将连接字符串写到配置文件中)
- Qt Model/View学习笔记之三Model类
- android之WebView详解
- c 语言的unite test
- 操作系统常见面试题
- 【C++第二课】---C到C++的函数升级
- android webview onJsAlert 注意事项
- 2013华为上机-装满篮子问题-回溯法
- 2013华为笔试上机题 等式变换
- CAD 二次开发 图层操作(2)获取所有图层名称
- 2013华为机试-编程题3