2013-10-25 1 views
0

Я строила запрос в службу направления Google, но метод выполнения разбился на полпути, Вот кодAndroid-- HttpClient исключение во время выполнения при выполнении HttpGet запрос

Uri.Builder b = Uri.parse("http://maps.googleapis.com/maps/api/directions/json").buildUpon(); 

       b.appendQueryParameter("origin", "The University of Hong KOng"); 
       b.appendQueryParameter("destination", "Lee Hysan Hall"); 
       b.appendQueryParameter("sensor", "false"); 
       b.appendQueryParameter("language", "en_US"); 

       String finalstr = b.build().toString(); 

       URI googledirectionservice = new URI(finalstr); 

       HttpGet mRequest = new HttpGet(googledirectionservice); 
       HttpClient mClient = new DefaultHttpClient(); 

       response = mClient.execute(mRequest); 

URL, построенная в порядке, когда я к нему доступ из моего браузера, но это не будет работать доступ из HttpClient.You может удвоиться проверить с

http://maps.googleapis.com/maps/api/directions/json?origin=The%20University%20of%20Hong%20KOng&destination=Lee%20Hysan%20Hall&sensor=false&language=en_US 

что бы быть причиной? Кроме того, как я могу сделать отладочную информацию более информативной? Текущие в logcat не показали ничего, кроме

threadid=... thread exiting with uncaught exception 
+0

Что исключение вы видите? –

+0

Вы также можете получить statusCode из ответа. Это может помочь слишком – BigT

+0

вы добавили INTERNET_PERMISSION к вашему манифесту? Является ли этот отрезанный код запущенным в потоке пользовательского интерфейса? – Blackbelt

ответ

0

попытаться включить регистрацию в вашем клиенте. образец инструкций here или here

Доступ к журналам WIRE и журналам HEADER является обязательным при разработке сетевых приложений. Таким образом, в зависимости от клиента, который вы используете для своей реализации http, вы должны использовать Google, пока не знаете, как выставить соответствующие журналы. Если у вас есть журналы для WIRE и HEADERS, ответы на такие вопросы, как вы публикуете, будут в значительной степени очевидны в деталях журнала.

В моем случае я просто сохраняю доступный дополнительный файл jar, построенный с моей реализацией http с активированными журналами, и когда мне нужно отлаживать сеть, я просто перестраиваю приложение с этой банкой. Все зависит от того, какой именно http lib вы выбрали.

список LIBS:

loopj

volley

+0

отличные указатели, я сохраню его в случае, если он будет полезен в будущем. На данный момент исправление кода из потока пользовательского интерфейса исправлено. Во всяком случае, спасибо все равно! – Daniel

Смежные вопросы