0

我创建了一个单独的方法来准备对 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”的编译器错误

有任何想法吗?

4

1 回答 1

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;
}

URLthrows的构造函数MalformedURLException。见这里

于 2013-06-09T07:18:01.770 回答