Android在程式中瀏覽網頁

來源:互聯網
上載者:User

標籤:print   lin   toast   網頁   and   public   fill   分享   get   

       本文是自己學習所做筆記,歡迎轉載。但請註明出處:http://blog.csdn.net/jesson20121020 

       有時須要在程式中瀏覽一些網頁。當然了能夠通過調用系統的瀏覽器來開啟瀏覽。可是大多數情況下,這樣的方式並不適用。

   以下給出怎樣在程式中瀏覽網頁。先看:


          事實上,這裡主要是利用了WebView控制項及它的一些方法。

    通過WebView的loadUrl(String url)能夠裝載指定的地址的網頁內容,並顯示在控制項中,上一頁和下一頁的功能分別相應於WebView的goBack()和goForward()方法;

  布局檔案:main.xml

<?

xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:background="@drawable/white" android:layout_width="fill_parent" android:layout_height="fill_parent" > <EditText android:id="@+id/myEditText" android:layout_width="230dp" android:layout_height="wrap_content" android:layout_margin="10dp" /> <Button android:id="@+id/bt_go" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="轉到" android:layout_toRightOf="@id/myEditText" android:layout_margin="10dp" /> <WebView android:id="@+id/myWebView" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/black" android:focusable="false" android:layout_below="@id/bt_go" android:layout_margin="10dp" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" > <Button android:id="@+id/bt_previous" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="上一頁" /> <Button android:id="@+id/bt_next" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="下一頁" /> </LinearLayout> </RelativeLayout>


       主要代碼:WebViewTest

public class WebViewTest extends Activity {    private Button go;  private EditText mEditText1;  private WebView mWebView1;    private Button bt_next,bt_previous;    /** Called when the activity is first created. */  @Override  public void onCreate(Bundle savedInstanceState)  {        super.onCreate(savedInstanceState);    setContentView(R.layout.main);       go = (Button)findViewById(R.id.bt_go);    bt_next = (Button)findViewById(R.id.bt_next);    bt_previous = (Button)findViewById(R.id.bt_previous);    go.setOnClickListener(new ClickEvent());    bt_next.setOnClickListener(new ClickEvent());    bt_previous.setOnClickListener(new ClickEvent());        mEditText1 = (EditText)findViewById(R.id.myEditText);    mEditText1.setText("http://www.baidu.com");    mWebView1 = (WebView) findViewById(R.id.myWebView);        mWebView1.setWebViewClient(new WebViewClient()     {            @Override      public void onPageFinished(WebView view, String url)      {        // TODO Auto-generated method stub        super.onPageFinished(view, url);        //mEditText1.setText(url);        Toast.makeText(WebViewTest.this, "載入完成", Toast.LENGTH_SHORT).show();      }             });      }  class ClickEvent implements OnClickListener{    @Override    public void onClick(View v)    {      switch(v.getId()){        case R.id.bt_go :          /*設定抓取EditText裡面的內容*/          String strURI = (mEditText1.getText().toString());           /*?WebView裡面顯示網頁資料*/          mWebView1.loadUrl(strURI);          Toast.makeText(WebViewTest.this,"正在載入"+strURI,Toast.LENGTH_LONG).show();                   break;        case R.id.bt_next:          mWebView1.goForward();          //System.out.println(mWebView1.getUrl());          break;        case R.id.bt_previous:          mWebView1.goBack();          break;      }          }  }}
 

 代碼中onPageFinished,能夠從字面來理解就是當網頁載入完成時觸發,可是指網頁的架構載入結束,有可能圖片並未載入結束。

   最後,不要忘了加訪問網路的許可權:

 <uses-permission android:name="android.permission.INTERNET"> 
   至此,就能夠在程式中瀏覽網頁了。你能夠在EditText輸入對應的網址,從而瀏覽各種網頁,也能夠通過上一頁和下一頁實現網頁的前進和後退功能。事實上就是一個簡易版的瀏覽器。



Android在程式中瀏覽網頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.