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

 我来答
小傻

2015-10-09 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31133
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部

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

一。通过意图实现浏览

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

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实现的。

具体源代码如下:

<?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"/>

man0306
2014-10-28 · TA获得超过958个赞
知道小有建树答主
回答量:707
采纳率:33%
帮助的人:394万
展开全部
一。通过意图实现浏览
由于代码简单,就不提供完整的源代码,只给主要过程:

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

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"/>
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
离太芈
2015-09-03 · 超过30用户采纳过TA的回答
知道答主
回答量:101
采纳率:0%
帮助的人:35.7万
展开全部
intent和webview
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式