我需要将包含url的字符串发布到我能够对url进行编码的服务器,但这将编码整个字符串,我需要只需要对url链接进行编码和解码,以便将此数据恢复到android中显示。 / p>
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
提前致谢
答案 0 :(得分:1)
试试这个:
import android.net.Uri;
import android.net.Uri.Builder;
String reqUrl = "http://google.com"
Builder builder = Uri.parse(reqUrl).buildUpon();
builder.appendQueryParameter("mesg", "Value for mesg");
String finalUri = builder.build().toString();
答案 1 :(得分:1)
尝试使用Beloq Way
你不应该编码包含URL的整个String.just编码你要编码和解码的部分。我想下面是要走的路。试试看。虽然我不确定这是你要找的东西。
String name=URLEncoder.encode("Hello hw are you?")+"http://www.google.com"+URLEncoder.encode("Testing url");
希望它会以某种方式帮助。
答案 2 :(得分:0)
构建分隔网址和文本的动态字符串。例如,你可以这样做
String postStr = Hello how r u? %& http://www.google.com
如您所见,我使用符号组合作为分隔符。
现在使用拆分字符串
String[] values = postStr.split("%&");
你也可以使用StringTokenizer类!
希望这有帮助!