Android网络技术之WebView控件
来源:互联网 发布:中文logo设计软件 编辑:程序博客网 时间:2024/05/18 01:54
android.webkit库聚合了webkit内核的浏览器功能,webview就是她的一个控件,可以使得网页轻松的内嵌到app里。并且比较强大的是,还可以直接跟js相互调用。
activity_main.xml代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <WebView android:id="@+id/webView1" android:layout_width="match_parent" android:layout_height="match_parent" /></LinearLayout>
MainActivity程序代码:
public class MainActivity extends Activity {private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webView=(WebView) findViewById(R.id.webView1); // 核心语句 webView.getSettings().setJavaScriptEnabled(true); webView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // TODO Auto-generated method stub view.loadUrl(url); return super.shouldOverrideUrlLoading(view, url); } }); webView.loadUrl("http://www.baidu.com"); } //核心语句 }
在AndroidManifest中申请网络权限
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.liming.s001.internettest" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="15" android:targetSdkVersion="20" /> <!-- 关键语句 --> <uses-permission android:name="android.permission.INTERNET"/> <!-- 关键语句 --> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application></manifest>过程简述:
1、首先使用findViewById()方法获取到WebView的实例
2、然后调用WebView的getSetting()方法设置浏览器属性(这里调用setJavaScriptEnabled()使得WebView支持JavaScript脚本)
3、调用WebView的setWebViewClient()方法,传入WebViewClient的匿名类作为参数并重shouldOverrideUrlLoading方法。
4、调用WebView的loadUrl()方法,将网址传入即可展示网页内容。
注:
setWebViewClient主要处理解析,渲染网页等浏览器做的事情
setWebChromeClient是辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等
shouldOverrideUrlLoading该方法控制在何处处理目标网页,返回true表示使用当前应用处理目标网页,而不是使用外部浏览器实现效果:
0 0
- Android网络技术之WebView控件
- 0911Android基础网络技术之WebView控件
- Android网络技术之WebView
- Android网络技术之WebView常用方法
- android网络技术之——webview使用实例
- Android控件之WebView
- Android控件之WebView
- Android控件之WebView
- Android的网络技术(1) - 通过WebView控件和HTTP协议访问网络
- android WebView 控件之返回
- Android控件之初识WebView
- Android网络技术之HttpURLConnection
- Android之使用网络技术
- Android之网络技术
- Android网络技术之HttpURLConnection
- Android之网络技术
- Android网络技术之OkHttp框架
- Android 基础之网络技术-HttpURLConnection
- (NO.00001)iOS游戏SpeedBoy Lite成形记(十六)
- 不是每次做坏事都会被发现之——嵌入式编程中的内存管理
- kill 、killall、pkill、xkill pgrep ps 命令解释 2015年10月24日
- Linux的环境变量设置
- C++迭代器 iterator
- Android网络技术之WebView控件
- 2015-2016 ACM-ICPC, NEERC, Moscow Subregional Contest C题:Colder-Hotter [三分/交互题]
- 关于一些错误指示
- javascript中作用域和作用域链的例子
- UVA - 10558 A Brief Gerrymander
- lightoj--1005--Rooks(组合数)
- 聪明的投资者第一章
- DIV CSS简介
- LRU算法