【Android開發】Android Studio中進行簡單的WebView構建瀏覽器開發
Android Studio 安裝詳見《【Android開發】Android入門安裝與使用教程——以Android Studio3.6.1爲例》
第一步:新建一個Android Project
第二步:修改AndroidMainfest.xml文件
我們在使用WebView的時候,需要用到網絡權限,因此需要在AndroidMainfest.xml添加以下代碼:
<!-- 添加網絡權限 -->
<uses-permission android:name="android.permission.INTERNET" />
代碼插入位置如下:
第三步:在佈局文件activity_main.xml添加WebView控件對象
因爲後續的java代碼需要綁定該控件,所以我們要指定控件id,也就是android:id="@+id/myweb"
是必須加上去的
<WebView
android:id="@+id/myweb"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
代碼插入位置如下:
第4步:修改MainActivity.java文件
首先要通過import導入相應的java package——android.os.Bundle
、android.webkit.WebView
、android.webkit.WebViewClient
。
然後在void onCreate(Bundle savedInstanceState)函數內部添加代碼:
- 獲得控件
WebView mw = (WebView) findViewById(R.id.myweb);
- 調用成員函數loadUrl裝入網頁鏈接
mw.loadUrl("https://www.baidu.com/");
- 調用成員函數setWebViewClient加載網頁,爲了能夠直接通過WebView顯示網頁重寫WebViewClient的shouldOverrideUrlLoading()方法
mw.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// 重寫WebViewClient的shouldOverrideUrlLoading()方法
//使用WebView加載顯示url
view.loadUrl(url);
//返回true
return true;
}
});
完整的MainActivity.java文件代碼如下:
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//獲得控件
WebView mw = (WebView) findViewById(R.id.myweb);
// 調用成員函數訪問網頁,加載資源
mw.loadUrl("https://www.baidu.com/");
// //系統默認會通過手機瀏覽器打開網頁,爲了能夠直接通過WebView顯示網頁,則必須設置
mw.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// 重寫WebViewClient的shouldOverrideUrlLoading()方法
//使用WebView加載顯示url
view.loadUrl(url);
//返回true
return true;
}
});
}
}
第5步:編譯調試
點擊運行按鈕,調試結果如下:
【作者簡介】陳藝榮,男,目前在華南理工大學電子與信息學院廣東省人體數據科學工程技術研究中心攻讀博士,擔任IEEE Access、IEEE Photonics Journal的審稿人。兩次獲得美國大學生數學建模競賽(MCM)一等獎,獲得2017年全國大學生數學建模競賽(廣東賽區)一等獎、2018年廣東省大學生電子設計競賽一等獎等科技競賽獎項,主持一項2017-2019年國家級大學生創新訓練項目獲得優秀結題,參與兩項廣東大學生科技創新培育專項資金、一項2018-2019年國家級大學生創新訓練項目獲得良好結題,發表SCI論文4篇,授權實用新型專利8項,受理髮明專利13項。
我的主頁
我的Github
我的CSDN博客
我的Linkedin