加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

android下打开Web浏览器的几种常见的方法

(2012-03-12 18:59:42)
标签:

it

分类: android

一。通过意图实现浏览

由于代码简单,就不提供完整的源代码,只给主要过程:

 

//通过下述方法打开浏览器

 

private void openBrowser(){

   //urlText是一个文本输入框,输入网站地址

   //Uri  是统一资源标识符

   Uri  uri = Uri.parse(urlText.getText().toString());

   Intent  intent = 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_height="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>
 <LinearLayout android: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 Button  schBtn,backBtn,nextBtn;
 private WebView  webView;
 private EditText  mText;
   
    @Override
    public void onCreate(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 void onClick(View v) {
    // TODO Auto-generated method stub

    //设置可以使用Javascript
  webView.getSettings().setJavaScriptEnabled(true);    String strURI = 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 void onClick(View v) {
    // TODO Auto-generated method stub
    if(webView.canGoBack()){
     webView.goBack();
    }
   }
  });
       
        nextBtn.setOnClickListener(new View.OnClickListener() {
   
   public void onClick(View v) {
    // TODO Auto-generated method stub
    if(webView.canGoForward()){
     webView.goForward();
    }
   }
  });
    }
}

 

同时还要在AndroidManifest.xml中添加访问因特网的权限:

<uses-permission android:name="android.permission.INTERNET"/>

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有