2010年5月25日 星期二

開啟網頁!

開啟網頁!

話先說在前頭


現在我們要試用用程式打開一個網頁,所以我們是著在關於的視窗裡面放一個[首頁]的按鈕,按下去之後就直接連去我們指定的網頁。首先我們先把程式改成下面的樣子吧!程式新增的部分是15~25行。



    1.         private void openOptionsDialog() {
    2.             // TODO Auto-generated method stub
    3.             //Toast.makeText(Bmi2.this, "BMI2 計算器", Toast.LENGTH_SHORT).show();
    4.             new AlertDialog.Builder(Bmi2.this)
    5.             .setTitle("關於 Android BMI2")
    6.             .setMessage("Android BMI2 Calc")
    7.             .setPositiveButton("OK", new DialogInterface.OnClickListener() {
    8.                
    9.                 @Override
    10.                 public void onClick(DialogInterface dialog, int which) {
    11.                     // TODO Auto-generated method stub
    12.                    
    13.                 }
    14.             })
    15.             .setNegativeButton(R.string.homepage_label,
    16.                     new DialogInterface.OnClickListener() {
    17.                        
    18.                         @Override
    19.                         public void onClick(DialogInterface dialog, int which) {
    20.                             // TODO Auto-generated method stub
    21.                             Uri uri = Uri.parse("http://androidbmi.googlecode.com/");
    22.                             Intent intent = new Intent(Intent.ACTION_VIEW, uri);
    23.                             startActivity(intent);
    24.                         }
    25.                     })
    26.             .show();
    27.         }

程式執行的時候我們可以看到關於的視窗多了一個[首頁]的按鈕,點下去之後就會打開瀏覽器到我們設定的網頁去。





輸入 Uri 的時候,Uri 下面會出現紅線,表示我們需要 import 類別,在 eclipse 的 ide 裡面,我們可以直接使用[ctrl+shift+O]來直接 import 類別。


  1.              Uri uri = Uri.parse("http://androidbmi.googlecode.com/");

我們建立一個 Intent 實體,並傳入這個 Intent 的[動作]跟[內容]。

  1.              Intent intent = new Intent(Intent.ACTION_VIEW, uri);

我們用 startActivity 來傳算 intent 給 android,android 根據所傳進來的 intent 的[動作]跟[內容]來啟動對應的程式。

  1.              startActivity(intent);

如果我們要把 Uri 裡面放入資源字串的話,由於 parse() 不支援字串的資源識別符號,所以我們必須用 getString() 來取得字串。

  1.              Uri uri = Uri.parse(getString(R.string.homepage_uri));

我們可以在程式中使用 android.content.Context 類別中的 getString()getText() 來取得資源識別符號的對應文字。

沒有留言:

張貼留言