2016-01-23 53 views
0

我想在我的應用中實現一個導致網站的按鈕。我發現了這兩種簡單的方法來解決它,我想知道這兩種方法之間是否存在功能差異?打開網站的不同方法

第一方式:

Button.setOnClickListener(new OnClickListener() { 
public void onClick(View v) { 
    Uri uri = Uri.parse("http://google.com/"); 
    Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
    startActivity(intent); 
} 
}); 

第二方式:

Button.setOnClickListener(new OnClickListener() { 
public void onClick(View v) { 
    Intent intent = new Intent(); 
    intent.setAction(Intent.ACTION_VIEW); 
    intent.addCategory(Intent.CATEGORY_BROWSABLE); 
    intent.setData(Uri.parse("http://www.yourURL.com")); 
    startActivity(intent); 
} 
}); 
+0

如果你清楚地睜開眼睛看,兩者在所有方面都是一樣的。只是陳述的安排是不同的。這並沒有使它在功能上有任何不同。 – bozzmob

+1

謝謝bozzmob :)我幾周前剛剛開始java。我不是100%習慣於這些不同的安排方式。我會盡力去學習它。 – Niclas

+0

沒問題Niclas :)這顯然是一個學習論壇,讓我們來學習。但是,在你問問題之前,先做好你的功課吧:)它會幫助很多人。 – bozzmob

回答

0

按照意圖文檔(http://developer.android.com/reference/android/content/Intent.html),所述第一和第二參數,以構造僅僅設置操作和數據URL(分別)。

所以:

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

在功能上等同於:

Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_VIEW); 
intent.setData(uri); 

我看到的唯一的區別是在第二塊的類別,這是記錄在這裏的包容:http://developer.android.com/reference/android/content/Intent.html#addCategory%28java.lang.String%29

+0

謝謝。我知道了 :) – Niclas