2014-10-13 1 views
0

API에 액세스하기 위해 String/URI를 작성하려고합니다. API는 문장 매개 변수를 사용합니다. 지금 이걸 시도한 내 시도는 다음과 같습니다.URI 작성기 - 쿼리 문자열을 작성 하시겠습니까?

//params[0] is a String such as "You will be a hero" 
Uri.Builder builder = new Uri.Builder(); 
builder.scheme("https").authority("yoda.p.mashape.com/yoda").appendQueryParameter("sentence", params[0]); 
Log.v("STRING TEST", builder.build().toString()); 

이것은 단지 최선의 시도이며 원하는대로 작동하지 않습니다. 이것은 현재 출력 : 다음과 같은 URI를 구축 할 수있는 방법에 대한

https://yoda.p.mashape.com%2Fyoda?sentence=you%20will%20be%20a%20hero

임 검색 :

https://yoda.p.mashape.com/yoda?sentence=you+will+be+a+hero

어떤 도움을 주시면 감사하겠습니다을. 정말 고마워!

답변

1

여기에 % 2f 모양을 수정하려면 : Uri Builder in android - '/' replaced by '%2F' and ":" is replaced by "%3A" % 20을 수정하려면 공백을 +로 바꾸어 시도한 후 작성기에 추가하십시오.

+0

appendPath를 사용하여 % 2F를 수정했습니다. 그러나 공백을 +로 바꾸면 비슷한 문제가 발생합니다. appendQueryParameter는 모든 +를 2B 대신 유지합니다. –

+0

appendQueryParameter 대신 .encodedQuery ("sentence ="+ params [0])를 사용하여이 문제를 해결했습니다. –

관련 문제