我创建了一个单独的方法来准备我的查询到Google地方:
public URL getPlacesUrl (String stringLocation){
try{
String url = Uri.parse(PLACES_REQUEST_URL).buildUpon().
appendQueryParameter("key", API_KEY).
appendQueryParameter("radius", Integer.toString(SEARCH_RADIUS)).
appendQueryParameter("location", stringLocation).
appendQueryParameter("sensor", "true").build().toString();
URL parsedURL = new URL(url);
return parsedURL;
} catch (MalformedURLException e){
Log.e(TAG , "Malformed URLException caught : " + e);
}
}
我收到错误“此方法必须返回结果类型的URL”。 我知道这是异常块的结果,它不返回URL,所以我试图返回一个空URL:
URL emptyURL = new URL ("");
return emptyURL;
但是我得到了“unhanded MalformedURLException”的编译错误
有什么想法吗?
答案 0 :(得分:0)
你得到的是因为它不在你的try/catch
区块内。但最好不要尝试解析空字符串。试试这个:
public URL getPlacesUrl (String stringLocation){
URL parsedURL = null;
try {
String url = Uri.parse(PLACES_REQUEST_URL).buildUpon().
appendQueryParameter("key", API_KEY).
appendQueryParameter("radius", Integer.toString(SEARCH_RADIUS)).
appendQueryParameter("location", stringLocation).
appendQueryParameter("sensor", "true").build().toString();
parsedURL = new URL(url);
} catch (MalformedURLException e){
Log.e(TAG , "Malformed URLException caught : " + e);
}
return parsedURL;
}
URL
的构造函数抛出MalformedURLException
。请参阅here。