溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

制作一個(gè)簡單的瀏覽器WebView的使用

發(fā)布時(shí)間:2020-07-17 19:18:32 來源:網(wǎng)絡(luò) 閱讀:807 作者:JustMetU 欄目:移動(dòng)開發(fā)

在Android中,要使用內(nèi)置的瀏覽器,需要通過WebView組件來實(shí)現(xiàn),核心是開源WebKit引擎。

WebView是專門用來瀏覽網(wǎng)頁的,既可以在XML文件中使用<WebView>標(biāo)記添加,又可以在Java文件中通過new關(guān)鍵字創(chuàng)建,推薦使用XML方法。



WebView最簡單的應(yīng)用就是在布局文件中定義一個(gè)WebView組件,在程序代碼中實(shí)例化組件,并調(diào)用其loadUrl方法,傳入需要訪問的地址即可。


步驟:

1.布局文件中定義WebView

 

2.實(shí)例化WebView

WebView webview=(WebView)findviewbyId(R.id.xxx);

webview.loadUrl("www.baidu.com");


3.別忘了在清單文件中加入權(quán)限

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




下面是一個(gè)有趣又簡單的瀏覽器實(shí)例:



WebGo.java代碼:

(使用了GridView,詳細(xì)GridView代碼不再給出)



public class WebGo extends Activity {

public static String flag="id";

GridView gridview;

    int[] p_w_picpaths=new int[]{R.drawable.neihanshequ,R.drawable.wangyi,R.drawable.kuailemahua,R.drawable.baidu,R.drawable.taobao,R.drawable.kuaidi,

    R.drawable.pengfu,R.drawable.shenmasousuo,R.drawable.manhua,R.drawable.xiaohua,R.drawable.wenti,R.drawable.jiuyou,R.drawable.jiuyou,R.drawable.yxlm,R.drawable.logo17173};

    String[] titles=new String[]{"內(nèi)涵段子","網(wǎng)易新聞","快樂麻花","百度一下","逛淘寶","查快遞","捧腹網(wǎng)","神馬搜索","最火漫畫","經(jīng)典搞笑","腦筋急轉(zhuǎn)彎","今日新服","免費(fèi)單機(jī)","游戲資訊","17173主頁"};

    String string1="http://m.neihanshequ.com";

    String string2="http://3g.163.com/touch/";

    String string3="http://m.mahua.com";

    String string4="http://m.baidu.com/?from=2001a";

    String string5="http://m.taobao.com";

    String string6="http://m.kuaidi100.com";

    String string7="http://m.pengfu.com";

    String string8="http://m.sa.sm.cn";

    String string9="http://m。dmzj。com";

    String string10="http://info.3g.qq.com";

    String string11="http://m.xuexila。com/jzw/";

    String string12="http://a.9game.cn/xinfu/";

    String string13="http://a.9game.cn/danji2/";

    String string14="http://m.baidu.com";

    String string15="http://m.17173.com";

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.webgo);

        gridview=(GridView)findViewById(R.id.gv1);

        PictureAdapter2 adapter=new PictureAdapter2(titles,p_w_picpaths,this);

        gridview.setAdapter(adapter);

        gridview.setOnItemClickListener(new OnItemClickListener() {


@Override

public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,

long arg3) {

Intent intent=null;

switch(arg2){

case 0:intent=new Intent(WebGo.this,WebGoOn.class);

      intent.putExtra(flag, string1);

                  startActivity(intent);

                  finish();

          break;

case 1:intent=new Intent(WebGo.this,WebGoOn.class);

      intent.putExtra(flag, string2);

                       startActivity(intent);

                       finish();

      break;

case 2:intent=new Intent(WebGo.this,WebGoOn.class);

      intent.putExtra(flag, string3);

              startActivity(intent);

              finish();

              break;

case 3:intent=new Intent(WebGo.this,WebGoOn.class);

      intent.putExtra(flag, string4);

          startActivity(intent);

          finish();

          break;

case 4:intent=new Intent(WebGo.this,WebGoOn.class);

          intent.putExtra(flag, string5);

              startActivity(intent);

              finish();

              break;

case 5:intent=new Intent(WebGo.this,WebGoOn.class);

          intent.putExtra(flag, string6);

              startActivity(intent);

              finish();

              break;

case 6:intent=new Intent(WebGo.this,WebGoOn.class);

              intent.putExtra(flag, string7);

                  startActivity(intent);

                  finish();

                  break;

case 7:intent=new Intent(WebGo.this,WebGoOn.class);

              intent.putExtra(flag, string8);

                  startActivity(intent);

                  finish();

                  break;

case 8:intent=new Intent(WebGo.this,WebGoOn.class);

              intent.putExtra(flag, string9);

                  startActivity(intent);

                  finish();

                  break;

case 9:intent=new Intent(WebGo.this,WebGoOn.class);

              intent.putExtra(flag, string10);

                  startActivity(intent);

                  finish();

                  break;

case 10:intent=new Intent(WebGo.this,WebGoOn.class);

               intent.putExtra(flag, string11);

                   startActivity(intent);

                   finish();

                   break;

case 11:intent=new Intent(WebGo.this,WebGoOn.class);

                        intent.putExtra(flag, string12);

                        startActivity(intent);

                        finish();

                        break;

case 12:intent=new Intent(WebGo.this,WebGoOn.class);

                        intent.putExtra(flag, string13);

                         startActivity(intent);

                         finish();

                          break;

case 13:intent=new Intent(WebGo.this,WebGoOn.class);

              intent.putExtra(flag, string14);

              startActivity(intent);

                finish();

                       break;

case 14:intent=new Intent(WebGo.this,WebGoOn.class);

                       intent.putExtra(flag, string15);

                       startActivity(intent);

                       finish();

                       break;

}

}

});

    }

    public boolean onKeyDown(int KeyCode,KeyEvent Event){


  if(KeyCode==KeyEvent.KEYCODE_BACK){

  Intent intent=new Intent(WebGo.this,MainActivity.class);

            startActivity(intent);

            finish();

  }

return true;

}

}





WebGoOn.java代碼:



public class WebGoOn extends Activity {


private WebView webview;

private ImageButton p_w_picpathbutton1,p_w_picpathbutton2,p_w_picpathbutton3;

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

   setContentView(R.layout.webgoon);

   p_w_picpathbutton1=(ImageButton)findViewById(R.id.imgbtn1);

   p_w_picpathbutton2=(ImageButton)findViewById(R.id.imgbtn2);

   p_w_picpathbutton3=(ImageButton)findViewById(R.id.imgbtn3);

   webview=(WebView)findViewById(R.id.webView1);

   webview.getSettings().setJavaScriptEnabled(true);

   webview.setWebChromeClient(new WebChromeClient());

   webview.setWebViewClient(new WebViewClient());

   Intent intent=getIntent();

   Bundle bundle=intent.getExtras();

   String string=bundle.getString(WebGo.flag);

   webview.loadUrl(string);

   p_w_picpathbutton1.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

webview.goBack();

}

});

        p_w_picpathbutton3.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

Intent intent=new Intent(WebGoOn.this,WebGo.class);

           startActivity(intent);

           finish();

}

});

        p_w_picpathbutton2.setOnClickListener(new View.OnClickListener() {

@Override

       public void onClick(View arg0) {

// TODO Auto-generated method stub

      webview.goForward();

       }

        });

}

public boolean onKeyDown(int KeyCode,KeyEvent Event){


  if(KeyCode==KeyEvent.KEYCODE_BACK){

  webview.goBack();

  }

return true;

}

}






webgoon.xml代碼:




<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical"

    android:background="#cccccc" >


        <RelativeLayout

            android:layout_width="match_parent"

            android:layout_height="match_parent" >


            <WebView

                android:id="@+id/webView1"

                android:layout_width="match_parent"

                android:layout_height="match_parent"

                android:layout_above="@+id/imgbtn1" />


            <ImageButton

                android:id="@+id/imgbtn1"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:layout_alignParentBottom="true"

                android:layout_alignParentLeft="true"

                android:src="@drawable/back" />


            <ImageButton

                android:id="@+id/imgbtn2"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:layout_alignParentBottom="true"

                android:layout_alignParentRight="true"

                android:src="@drawable/go" />


            <ImageButton

                android:id="@+id/imgbtn3"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:layout_alignParentBottom="true"

                android:layout_centerHorizontal="true"

                android:src="@drawable/end" />


        </RelativeLayout>


</LinearLayout>




主要代碼就是這些,效果圖如下:


制作一個(gè)簡單的瀏覽器WebView的使用

制作一個(gè)簡單的瀏覽器WebView的使用



很簡的。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI