Google place API для android найти город

Я видел учебник ( учебник ), чтобы найти город с использованием автозаполнения текстового представления в android.i сделали все, что было проинструктировано, но теперь, когда я ударил этот URL

Он всегда бросает мне исключение, говоря: java.net.UnknownHostException: Unable to resolve host "maps.googleapis.com": No address associated with hostname

Но тот же URL-адрес отлично работает, когда я нахожусь в браузере, и я получаю результаты.

Вот код im imitting с:

 public class PlacesAutoCompleteAdapter extends ArrayAdapter< String > implements Filterable{ private ArrayList<String> resultList; private static final String LOG_TAG = "ExampleApp"; private static final String PLACES_API_BASE = "https://maps.googleapis.com/maps/api/place"; private static final String TYPE_AUTOCOMPLETE = "/autocomplete"; private static final String OUT_JSON = "/json"; private static final String API_KEY = "I have generated the correct api key also"; public PlacesAutoCompleteAdapter(Context context, int textViewResourceId) { super(context, textViewResourceId); } @Override public int getCount() { return resultList.size(); } @Override public String getItem(int index) { return resultList.get(index); } @Override public Filter getFilter() { Filter filter = new Filter() { @Override protected FilterResults performFiltering(CharSequence constraint) { FilterResults filterResults = new FilterResults(); if (constraint != null) { // Retrieve the autocomplete results. resultList = autocomplete(constraint.toString()); // Assign the data to the FilterResults filterResults.values = resultList; filterResults.count = resultList.size(); } return filterResults; } @Override protected void publishResults(CharSequence constraint, FilterResults results) { if (results != null && results.count > 0) { notifyDataSetChanged(); } else { notifyDataSetInvalidated(); } } }; return filter; } private ArrayList<String> autocomplete(String input) { ArrayList<String> resultList = null; HttpURLConnection conn = null; StringBuilder jsonResults = new StringBuilder(); try { StringBuilder sb = new StringBuilder(PLACES_API_BASE + TYPE_AUTOCOMPLETE + OUT_JSON); sb.append("?sensor=false&key=" + API_KEY); // sb.append("&components=country:in"); sb.append("&input=" + URLEncoder.encode(input, "utf8")); // sb.append("&input=" + input); System.out.println("URL ---------------: "+sb.toString()); URL url = new URL(sb.toString()); conn = (HttpURLConnection) url.openConnection(); InputStreamReader in = new InputStreamReader(conn.getInputStream()); // Load the results into a StringBuilder int read; char[] buff = new char[1024]; while ((read = in.read(buff)) != -1) { jsonResults.append(buff, 0, read); } } catch (MalformedURLException e) { Log.e(LOG_TAG, "Error processing Places API URL", e); return resultList; } catch (IOException e) { e.printStackTrace(); // Log.e(LOG_TAG, "Error connecting to Places API", e); return resultList; } finally { if (conn != null) { conn.disconnect(); } } try { // Create a JSON object hierarchy from the results JSONObject jsonObj = new JSONObject(jsonResults.toString()); JSONArray predsJsonArray = jsonObj.getJSONArray("predictions"); // Extract the Place descriptions from the results resultList = new ArrayList<String>(predsJsonArray.length()); for (int i = 0; i < predsJsonArray.length(); i++) { resultList.add(predsJsonArray.getJSONObject(i).getString("description")); } } catch (JSONException e) { Log.e(LOG_TAG, "Cannot process JSON results", e); } return resultList; } 

}


упс! Извините ребята. Я нашел решение, которое было глупой ошибкой. Я не определил разрешение INTERNET в манифесте.

Проверьте, добавлено ли вы разрешение INTERNET в манифесте.

 <uses-permission android:name="android.permission.INTERNET"></uses-permission> 

Эта ошибка произошла со мной сегодня. Я понял это, выполнив следующие шаги: 1: Убедитесь, что вы добавили разрешение INTERNET в манифест.

2: Убедитесь, что ваш ноутбук или устройство, на котором вы тестируете приложение, могут получить доступ в Интернет.

FYI, что касается ключа для API мест, вы должны использовать « Key for browser apps (with referers) », а не приложение Key для Android.

Удачи.

Intereting Posts
Сохранить состояние фрагмента с помощью навигационного ящика Что это значит «xmlns: xliff»? XML Возможно ли передать пользовательский аргумент на рынок Android, чтобы мое приложение получало его при первом запуске? Обнаружение стиля вождения с использованием датчиков смартфона Android анимация, чтобы повернуть вид и заморозить его после вращения Продолжительность жизни электронной почты в Android Маркете Полноэкранный режим через Javascript на Chrome для Android (планшеты) Android: как делиться видео на странице Facebook с помощью Facebook SDK Схема ввода текста в формате HTML Android Multiple download pause возобновляет просмотр в списке с обновлением прогресса Ошибка: дублировать файлы во время упаковки APK Android Studio Error Android Webview loadUrl не работает при выходе из рабочего потока Где константа запроса (64206) для входа в систему, определенная в Facebook SDK Метод вызова другого класса с использованием контекстов Как создать скользящий ящик с обеих сторон, противоположных друг другу?