android - Google 放置 API 解析问题

标签 android json google-places-api

我正在使用 google places API 并且在解析中我使用的是 JSON,但是这一行

JsonHttpParser parser = new JsonHttpParser(new JacksonFactory());
request.addParser(parser);

已弃用。有什么办法可以解决或有任何替代方法吗?

函数如下:

public Placeslist search(double latitude, double longitude, double radius, String types)
        throws Exception {

    try {
        HttpRequestFactory httpRequestFactory = createRequestFactory(HTTP_TRANSPORT);
        HttpRequest request = httpRequestFactory
                .buildGetRequest(new GenericUrl(PLACES_SEARCH_URL));
        request.getUrl().put("key", API_KEY);
        request.getUrl().put("location", _latitude + "," + _longitude);
        request.getUrl().put("radius", _radius);  
        request.getUrl().put("sensor", "false");
        if(types != null)
            request.getUrl().put("types", types);

        Placeslist list = request.execute().parseAs(Placeslist.class);
        // Check log cat for places response status
        Log.d("Places Status", "" + list.status);
        return list;
    } catch (HttpResponseException e) {
        Log.e("Error:", e.getMessage());
        return null;
    }
}  

// Creating http request Factory  
public static HttpRequestFactory createRequestFactory(
        final HttpTransport transport) {
    return transport.createRequestFactory(new HttpRequestInitializer() {
        public void initialize(HttpRequest request) {
            GoogleHeaders headers = new GoogleHeaders();
            headers.setApplicationName("Google-Places-Test");
            request.setHeaders(headers);
            JsonHttpParser parser = new JsonHttpParser(new JacksonFactory());
            request.addParser(parser);
        }
    });
}

最佳答案

似乎类 JsonHttpParser 和方法 HttpRequest 在 1.11 版本中都被弃用了。参见 The Deprecated list获取更多信息。

所以代替:

JsonHttpParser parser = new JsonHttpParser(new JacksonFactory());
request.addParser(parser);

您现在将拥有:

JsonObjectParser parser = new JsonObjectParser(new JacksonFactory());
request.setParser(parser);

并将您的导入更改为:

import com.google.api.client.json.JsonObjectParser;

编辑:我已经测试过了,它对我有用。

关于android - Google 放置 API 解析问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13596350/

相关文章:

java - 来自 JSON 的通知服务

android - 如何在 Android 上将多维 JSON 数组保存为 CSV 文件?

Android PlacePicker 不返回选择的地址

java - getPlaceById() 无法返回 Android 上的数据 google place API/resultCallback 未被调用

ios - GMSAutocompleteResultsViewController 显示有限的结果?

android - ChromeOS 上的 Android 应用程序的侧加载和调试机制是什么?

android - 如何为用于内部分发的 Android 构建 APK?

android - 将日期时间转换为 "April 6th, 2012 "格式

android - “必须设置图标名称”问题 Android Studio

Android JSONArray长度值0