Android

时间:2015-11-09 11:12:57

标签: java android android-studio google-api geocoding

我正在制作地图应用(Android),我需要在信息中制作带有街道地址的点击标记。经过几次糟糕的尝试后,我看到Geocoder / get from location不再起作用了(返回一个带空指针的空数组)。 我在这里找到了 LINK我可以向Google发送HTTP / S请求,我将返回JSON / XML。 我的问题是:如何在HTTP客户端被取消时发出HTTP请求(示例)?您能给我一个代码示例来发送请求并以JSON(或至少仅发送)来计算响应吗?

编辑:我收到了这个:android.os.NetworkOnMainThreadException

 try {

        URL url = new URL(baseUri+builder.toString());
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setReadTimeout(10000);
        conn.setConnectTimeout(15000);
        conn.setRequestMethod("GET");
        conn.setDoInput(true);
        conn.connect(); \\exception originated here
        is = conn.getInputStream();
        reader = new BufferedReader(new InputStreamReader(is));
        for (String line = null; (line = reader.readLine()) != null;) {
            builder.append(line).append("\n");
        }
        jsonresponse = new JSONArray(builder.toString());



    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (ProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (JSONException e) {
        e.printStackTrace();
    }

1 个答案:

答案 0 :(得分:0)

不推荐使用只是Apache HTTP客户端。但您始终可以将HttpURLConnection用于HTTP请求 有一个带有代码示例的培训材料。 http://developer.android.com/training/basics/network-ops/connecting.html