Добрый вечер,Как реализовать API Google Адресов
Я пытался реализовать простое приложение для Android (TM), который использует Google Places (TM) API для определения локальных точек интереса (например, ресторанов и гостиниц), однако у меня было довольно много проблем с определением того, как начать работу.
Ресурсы я уже используемые в следующем:
- The Google Places(tm) documentation
- An Android(tm) development blog hosted by Brain Buikema
-The Android (тм) разработчик документации на асинхронных задач
-различные другие StackOverflow проводки от физические лица в аналогичных обстоятельствах
Я просто хмель для того, чтобы кто-нибудь в моей ситуации мог просто найти этот пост и, возможно, затем перенаправлен на некоторые чрезвычайно проницательные ресурсы.
Кроме того, я считаю, что использование поисков Google для поиска ресурсов несколько неэффективно, существуют ли другие базы данных, которые часто используют программисты, о которых я не знаю? Любая рекомендуемая литература?
TL; DR ...
-Я искал некоторые окончательные руководства для использования API Адресов, работа с объектами JSON и сетей на (TM) платформы Android.
-Я надеялся, что вас переадресуют в некоторые полезные источники, которые другие нашли в прошлом.
-I включил мой файл Main.java ниже просто обеспечить контекст - я не ищу ответы :)
кода для класса Main.java, который реализует функциональные возможности Места API:
Button food = (Button) findViewById(R.id.button14);
food.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v)
{
type = "restaurant";
//Constructs the urlString
if(useCurr)
urlString = stringConstructor(myKey, lat, lon, radius, sensor, type);
else
{
//Here, you must update the lat and lon values according to the location input by the user
urlString = stringConstructor(myKey, lat, lon, radius, sensor, type);
}
//DO HTTPS REQUEST HERE
urlString = "https://maps.googleapis.com/maps/api/place/search/json?location=-33.8670522,151.1957362&radius=500&types=food&name=harbour&sensor=false&key=AIzaSyAp24M3GU9V3kWrrezye8CyUrhtpToUhrs";
Results res = new Results();
JSONArray json = res.doInBackground(urlString);
System.out.println(json);
}
});
Код для класса Результат, который обрабатывает Asynchronous задачу:
private class Results extends AsyncTask<String, Integer, JSONArray>
{
protected JSONArray doInBackground(String...params)
{
JSONArray output = null;
try
{
try
{
url = new URL(params[0]);
}
catch(MalformedURLException e)
{
System.out.println("URL formed incorrectly! (" + e + ")");
}
output = (JSONArray) url.getContent();
}
catch(Exception e)
{
System.out.println("Exception: " + e);
}
return output;
}
}
В настоящее время вы получаете android.os.NetworkOnMainThreatException всякий раз, когда я нажимаю кнопку «Пищевая» (описанная выше) в эмуляторе.
Любые советы приветствуются, я пытаюсь создать действительно прочную основу на платформе Android.
где вы делаете HttpPost для gtting JSON от сервера? –
FYI: NetworkOnMainThreatException возникает, когда вы пытаетесь выполнить сетевую задачу в основном потоке: http://stackoverflow.com/questions/6343166/android-os-networkonmainthreadexception – anticafe