目录
一、访问百度
- xml添加一个WebView控件
<WebView android:id="@+id/wb" android:layout_width="match_parent" android:layout_height="match_parent" />
- MainActivity,设置控件显示的网页
网页设置loadUrl
public class MainActivity extends Activity { public WebView w; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); w = (WebView) findViewById(R.id.wb); w.loadUrl("http://www.baidu.com"); //设置网页地址 w.setWebViewClient(new WebViewClient()); //默认会通过手机浏览器打开网页,为了能够直接显示网页,则需要设置setWebViewClient } }
- 添加APP网络访问权限
<uses-permission android:name="android.permission.INTERNET"/>
二、输入网址,访问
- 添加一个EditText控件,使用hint属性提示用户输入网址
<EditText android:id="@+id/ed" android:layout_width="match_parent" android:layout_height="match_parent" android:hint="请输入网址" />
- EditText回车不换行
e.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView arg0, int arg1, KeyEvent event) { // TODO Auto-generated method stub return (event.getKeyCode() == KeyEvent.KEYCODE_ENTER); } });
- 拿到输入,然后访问网页
String str = e.getText().toString(); w.loadUrl(str);
- 完整代码
package com.example.wy; import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends Activity { public WebView w; public EditText e; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); e = (EditText) findViewById(R.id.ed); w = (WebView) findViewById(R.id.wb); w.setWebViewClient(new WebViewClient()); e.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView arg0, int arg1, KeyEvent event) { // TODO Auto-generated method stub String str = e.getText().toString(); w.loadUrl(str); return (event.getKeyCode() == KeyEvent.KEYCODE_ENTER); } }); } }
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <LinearLayout android:id="@+id/li" android:layout_width="match_parent" android:layout_height="wrap_content" > <EditText android:id="@+id/ed" android:layout_width="match_parent" android:layout_height="match_parent" android:hint="请输入网址" /> </LinearLayout> <WebView android:id="@+id/wb" android:layout_below="@id/li" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout>
师承上官可编程 —— 陈立臣