一。通过意图实现浏览
由于代码简单,就不提供完整的源代码,只给主要过程:
//通过下述方法打开浏览器
private void openBrowser(){
//urlText是一个文本输入框,输入网站地址
//Uri是统一资源标识符
Uri uri =Uri.parse(urlText.getText().toString());
Intentintent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
注意:输入URL时,不要忘记“http://”部分。
二。利用视图打开网页
这个例子是通过调用WebKit浏览器引擎提供的WebView实现的。
具体源代码如下:
/res/layout/main.xml
<?xml version="1.0"encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<LinearLayout android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<EditText
android:layout_width="240dp"
android:layout_he ight="wrap_content"
android:id="@+id/edutWebSite"
android:hint="输入网址"
android:singleLine="true"
android:layout_marginRight="5dp"
/>
<Button
android:id="@+id/searchBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="搜索"
android:layout_marginRight="5dp"
/>
</LinearLayout>
<LinearLayoutandroid:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/backBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="上一页"
android:layout_marginRight="5dp"
/>
<Button
android:id="@+id/nextBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="下一页"
android:layout_marginRight="5dp"
/>
</LinearLayout>
<WebView android:id="@+id/webView1"android:layout_width="match_parent"
android:layout_height="match_parent"></WebView>
</LinearLayout>
/res/src/com.myandroid
package com.myandroid;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.URLUtil;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class WebViewActivity extends Activity {
private ButtonschBtn,backBtn,nextBtn;
private WebView webView;
private EditText mText;
@Override
public voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
schBtn = (Button)findViewById(R.id.searchBtn);
mText = (EditText)findViewById(R.id.edutWebSite);
webView = (WebView)findViewById(R.id.webView1);
backBtn = (Button)findViewById(R.id.backBtn);
nextBtn = (Button)findViewById(R.id.nextBtn);
schBtn.setOnClickListener(new View.OnClickListener() {
public voidonClick(View v) {
//TODO Auto-generated method stub
//设置可以使用Javascript
webView.getSettings().setJavaScriptEnabled(true);StringstrURI = mText.getText().toString();
//检测网站的合法性
if(URLUtil.isNetworkUrl(strURI)){
webView.loadUrl(strURI);
Toast.makeText(WebViewActivity.this,strURI, Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(WebViewActivity.this,"输入非法网站n"+strURI, Toast.LENGTH_SHORT).show();
}
}
});
backBtn.setOnClickListener(new View.OnClickListener() {
public voidonClick(View v) {
//TODO Auto-generated method stub
if(webView.canGoBack()){
webView.goBack();
}
}
});
nextBtn.setOnClickListener(new View.OnClickListener() {
public voidonClick(View v) {
//TODO Auto-generated method stub
if(webView.canGoForward()){
webView.goForward();
}
}
});
}
}
同时还要在AndroidManifest.xml中添加访问因特网的权限:
<uses-permissionandroid:name="android.permission.INTERNET"/>