ついでにサンプルも用意してみました。

明示的Intentの例:
// データ定義
Uri uri = Uri.parse(“http://google.com”);
final String str = "Message!";
// Intentの生成処理
Intent intent= new Intent(this, DataListactivity.class);
intent.setAction(Intent.ACTION_VIEW);
intent.setData(uri);
intent.putExtra("name", str);
startActivity(intent);

⇒ new Intent(this, DataListactivity.class);
この部分がIntentを生成する部分で、第2引数が受信するクラス指定。
第1引数は省略されており、呼び出し元クラス.this、かな?
⇒ intent.setAction(Intent.ACTION_VIEW);
この部分でActionを設定している。指定しない場合はACTION_MAINの模様
⇒ intent.setData(uri);
この部分で引き渡すデータを指定している。urlはエンコードの問題
⇒ intent.putExtra("name", str);
この部分はExtraとして"name"=>"Message!"みたいな形で名前と実体を渡している
Extraは拡張データ構造であり、転送上限がある。通常は不要
⇒ startActivity(intent);
この部分でIntentを飛ばしている。

暗黙的Intentの例:
// データ定義
Uri uri = Uri.parse(“http://google.com”);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

まあ、コンストラクタでコンテキスト(おおよそパッケージ名)と、クラスを指定してれば
基本的には明示的Intent、コンストラクタでいきなりアクション書けば暗黙的Intent、
という位に考えておけばOKかと。