如何在Android中的URL中包含括号
因此,我正在构建一个android应用程序,使用google places api获取附近的餐馆,但当我使用多个关键字时,我在url格式方面有一个小问题, 当我在浏览器中测试url时,它工作得很好,但是当我在android studio中获取url时出现问题,带括号的部分被排除在url之外,所以我所需要的就是如何在android中的url中放置括号 这是url格式设置的主要代码:如何在Android中的URL中包含括号,android,url,encoding,formatting,google-places-api,Android,Url,Encoding,Formatting,Google Places Api,因此,我正在构建一个android应用程序,使用google places api获取附近的餐馆,但当我使用多个关键字时,我在url格式方面有一个小问题, 当我在浏览器中测试url时,它工作得很好,但是当我在android studio中获取url时出现问题,带括号的部分被排除在url之外,所以我所需要的就是如何在android中的url中放置括号 这是url格式设置的主要代码: String keywordText; String keyword="(Pizza)and(sushi)"; St
String keywordText;
String keyword="(Pizza)and(sushi)";
String BASE_URL="https://maps.googleapis.com/maps/api/place/nearbysearch/json?";
String API_KEY= "AIzaSyBg-iwzAjavEUVV9hOQUr0JljZHL7XFRkQ";
String ApiKey;
String locationText;
public void onLocationComplete(Location location) {
Log.e("onLocationComlete", keyword);
keywordText = "&keyword=" + keyword;
ApiKey = "&key=" + API_KEY;
radiusText = "&radius=" + radius;
locationText = "&location=" + location.getLatitude() + "," + location.getLongitude();
url = BASE_URL + locationText + radiusText + keywordText + ApiKey;
loc = location;
new FetchFromServerTask(Restaurants.this, 0).execute(url);
}
格式化后应获取的url:
但是,我从控制台得到了这个不起作用的url:
是否有一种方法可以在url中包含括号,或者使用多个关键字搜索位置???url中有“受信任”部分和“不受信任”部分。不受信任的部分,如搜索关键字,可能来自用户交互,必须对其进行编码,以便将其解释为数据。看起来您编码的内容超出了应该编码的范围。请查看对此的公认答案,作为解决方案的开始。使用编码器ex:
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
看一看类。如果你不能发送方法,请使用post方法发送位置数据,而不是get。你可能想看看使用一个不起作用的url我得到的
String encodedKeyword = null;
try {
encodedKeyword = URLEncoder.encode(keyword, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
keywordText = "&keyword=" + encodedkeyword;