2012/12/30

android.net.Uri と java.net.URI の変換

android.net.Uri と java.net.URI の違い で java.net.URI と android.net.Uri はほぼ同じであると書きましたが、継承関係にあるわけでもなく、変換用の関数が用意されているわけでもありません。

では、これらは変換出来ないのかというと、そうではありません。
もともと文字列で表現されるアドレスのパーサですから(正確にはパーサを内包したコンテナというべきでしょうか?)、文字列にしてしまえば相互に変換することができます。

1
2
3
4
5
6
7
8
9
10
Uri androidUriA = Uri.parse(path);
URI javaUriA = URI.create(androidUriA.toString());
 
Log.i(TAG, "A " + javaUriA.toString());
 
URI javaUriB = URI.create(path);
Uri androidUriB = Uri.parse(javaUriB.toString());
 
Log.i(TAG, "B " + androidUriB.toString());

0 件のコメント: