UI:
线性布局(垂直分布):从上至下 TextView、WebView。
功能:
1界面上方显示网址。
2运行时获取uri 若无uri 默认转到www.baidu.com
二、设置清单文件(AndroidMainfest.xml)
①添加网络许可:
(注意:这个标签应在application外)如图:
②添加intent-filter
将上面这个标签添加至主界面的activity标签下,如图。
③添加application标签下的usesCleartextTraffic属性
这是在AndroidManifest.xml里的application标签的一个属性,用于配置明文密文请求管理。
三、源码: 布局界面:
MainActivity.java
package com.example.mybrowser;
import android.content.Intent;
import android.os.Bundle;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextView txt = (TextView) findViewById(R.id.textView3);
final WebView Web = (WebView) findViewById(R.id.webView);
Intent intent = getIntent();
String url = intent.getDataString();
if (url == null) {
url = "https://www.baidu.com";
}
txt.setText(url);
Web.loadUrl(url);
Web.getSettings().setUseWideViewPort(true);
Web.getSettings().setLoadWithOverviewMode(true);
WebSettings settings = Web.getSettings();
settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING);
Web.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
return false;
}
});
}
}
四、AVD模拟:
五、测试其跳转功能
测试方法:
另建新项目 添加按钮
设计点击监听事件 以隐式intent的方式启动具有打开浏览器功能的activity
测试app Java代码如下
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button btn = (Button)findViewById(R.id.button );
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Uri uri = Uri.parse("https://www.runoob.com");
Intent intent = new Intent(Intent.ACTION_VIEW,uri);
startActivity(intent);
}
});
}
}
测试结果:
①
②
可以看到当我们点击按钮后 弹出了询问窗口 说明开发的app:Mybrowser 已经具备了可以打开链接的功能。



