2015-04-14 2 views
0

Я нахожусь в написании клиента API для Android. (Я не уверен, что это правильный термин, но то, что я мужчина - это какой-то класс, который используется для связи с API на веб-сервере). Приложение предназначено для Android версий 4.0.3 +. Это означает, что я должен использовать HTTPURLConnection.API-клиент для android

меня трудно положить всю документацию вместе, но мой вопрос в основном, если это лучший способ сделать это:

Если мы представим себе, что веб-сайт апи имеют следующую структуру:

http://www.example.com/api/resource/resource1.json

http://www.example.com/api/resource/resource2.json

http://www.example.com/api/somethingelse/random1.json

Смогу ли я создать AsyncTask для каждого из ресурсов, которые я хотел бы получить? Скажем, что у меня есть представление, которое хочет отображать данные из всех трех ресурсов (resource1, resource2 и random1). Затем закройте соединение и введите AsyncTask. Весь пример, конечно, довольно глупый, но это то, что вы бы сделали?

Вещь, о которой я беспокоюсь, заключается в том, что AsyncTasks представляет многопоточную среду, а HTTPURLConnection не поддерживает ее. Также я хочу, чтобы код был максимально простым и эффективным.

ответ

1

Кодирование легко и эффективно - это хороший план. Таким образом, вы должны использовать одну из существующих библиотек для этой задачи, а не изобретать все с нуля. Я сделал это сам в течение некоторого времени, но когда вы использовали, например, loopj's Android Async Http Client вы больше никогда этого не сделаете.

Это несколько строк кода, реализующих обратный вызов для обработки результатов, и все готово.

Только have a look who is using it (например, Spotify, Instagram, Pinterest ...), и вы будете проданы.

+0

Да, лучше не пишите своему клиенту с помощью собственного 'HttpURLConnection'. Здесь больше библиотек [здесь] (http://hgoebl.github.io/DavidWebb/#background) – hgoebl

0

Использование Retrofit. Это одна из лучших библиотек для использования веб-API.

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