ちなみに文字列の解析だけではなく、int型やdoubleなどいろんなタイプで値を取り出すことができます。
コードはこんな感じ。
try {
URI uri = new URI("http://localhost/hoge?foo1=foo1&bar1=bar1&nihonngo=%e6%97%a5%e6%9c%ac%e8%aa%9e%e3%82%82Ok");
String query = uri.getRawQuery();
List<NameValuePair> result = new ArrayList<NameValuePair>();
Scanner scanner = new Scanner(query);
scanner.useDelimiter("&");
while (scanner.hasNext()) {
final String[] nameValue = scanner.next().split("=");
if (nameValue.length == 0 || nameValue.length > 2){
}else{
String name = nameValue[0];
String value = nameValue[1];
result.add(new BasicNameValuePair(name, value));
}
}
Log.d("", result.toString());
//[foo1=foo1, bar1=bar1, nihonngo=%e6%97%a5%e6%9c%ac%e8%aa%9e%e3%82%82Ok]って出る
} catch (URISyntaxException e) {
}
URI uri = new URI("http://localhost/hoge?foo1=foo1&bar1=bar1&nihonngo=%e6%97%a5%e6%9c%ac%e8%aa%9e%e3%82%82Ok");
String query = uri.getRawQuery();
List<NameValuePair> result = new ArrayList<NameValuePair>();
Scanner scanner = new Scanner(query);
scanner.useDelimiter("&");
while (scanner.hasNext()) {
final String[] nameValue = scanner.next().split("=");
if (nameValue.length == 0 || nameValue.length > 2){
}else{
String name = nameValue[0];
String value = nameValue[1];
result.add(new BasicNameValuePair(name, value));
}
}
Log.d("", result.toString());
//[foo1=foo1, bar1=bar1, nihonngo=%e6%97%a5%e6%9c%ac%e8%aa%9e%e3%82%82Ok]って出る
} catch (URISyntaxException e) {
}
0 件のコメント:
コメントを投稿