0

URL をエンコードできるサーバーに URL を含む文字列を投稿する必要がありますが、これは文字列全体をエンコードするため、このデータを Android に表示するには、URL リンクのみをエンコードしてデコードする必要があります。

mydomain/post.php?mesg=Hello%2Bhow%2Br%2Bu%250A%2BHttp%253A%252F%252Fwww.google.com%250A%250ATesting%2Burl

編集済み

私のコード

String postStr = "Hello how r u?
                  http://www.google.com"; // suppose user entered string like this way

Uri.Builder builder = new Uri.Builder()
    .scheme("http")
    .authority(domain)
    .path(pageName)
    .appendQueryParameter("mesg", URLEncoder.encode(postStr, "utf-8"))
String urlStr = builder.build().toString();

これを実行すると、この結果が得られます

Hello+how+r+u%0A+Http%3A%2F%2Fwww.google.com%0A%0ATesting+url 

そして、実際の結果はこのようになりたい

Hello how r u?
http://www.google.com

Testing url

前もって感謝します

4

3 に答える 3

1

ベロクウェイを使ってみる

URLを含む文字列全体をエンコードするべきではありません。エンコードしてデコードしたい部分をエンコードするだけです。以下が方法だと思います。やってみて。私は確かではありませんが、これはあなたが探しているものです。

String name=URLEncoder.encode("Hello hw are you?")+"http://www.google.com"+URLEncoder.encode("Testing url");

それが何らかの形で役立つことを願っています。

于 2013-02-12T10:03:48.913 に答える
0

URL とテキストを区切る動的文字列を作成します。たとえば、次のようにすることができます

String postStr = Hello how r u? %& http://www.google.com

ご覧のとおり、区切り記号として記号の組み合わせを使用しました。

次に、文字列を分割します。

String[] values = postStr.split("%&");

StringTokenizer クラスを使用することもできます!

お役に立てれば!

于 2013-02-12T14:25:46.627 に答える