URL中の特定の文字列の抽出
これは、表示中のページからJavascriptコードを使うときに利用する
URL文字列を使っていると
ホスト部分や
クエリパラメーター部分だけ切り出して利用することがある
PHPのマッシュアップではおなじみのもの
これを実現するには
Uriクラスを使う
まずほ、Uriインスタンスの取得
Uriクラスの
parse()を使うことで、Uriインスタンスを取得する
Uri uri = Uri.parse("http://www.example.com/");
次に、取得したインスタンスのメソッドを取得
もし、ホスト部分を取得したいのなら
getHost()
を使う
String scheme = uri.getHost();
ほかのメソッドを使えば
様々な部分の値の取得が可能
例えばURLが
https://user:pass@www.example.com:8080/path/to/index.html?parameter1=value1¶meter2=value2#fragment
だったなら
getScheme()で
http:// とかhttps:// の判別
getSchemeSpecificPart()は
URL全部
getUserInfo()では
user:pass
みたいなユーザ名、パスワード
getAuthority()で
user:pass@www.example.com:8080
みたいに、
ユーザ名:パスワード@ドメイン:ポート番号
getHost()で
www.example.comというようにドメイン
取得
getPort()で8080というように、ポート番号の取得
getPathSegment()で
ファイルまでのパス取得
今回なら
path/to/index.htmlを
配列で [path, to, index.html]と扱う
getLastPathSegment()で
パスの最後を取得
今回なら index.html
getQuery()で
URLの ? 以降のパラメーターを取得
今回なら
parameter1=value1¶meter2=value2
getFragment()で
fragmentの取得