Библиотека веб-сервисов Android с поддержкой аутентификации?

#android #web-services

#Android #веб-сервисы

Вопрос:

Я довольно новичок в разработке программного обеспечения для Android. На данный момент я использую MonoDroid, потому что мне вполне комфортно с C # как языком разработки, но я также хорошо разбираюсь в Java.

В настоящее время я изучаю разработку приложения для Android, которое использует веб-сервис, требующий аутентификации. Однако объем доступной информации по этому вопросу огромен, и многое из этого также кажется устаревшим. Я видел веб-сервисы RESTful, kSOAP и различные другие библиотеки. И это чертовски смущает меня.

Итак, учитывая, что я собираюсь начать с нуля, какой подход здесь был бы лучшим? Должен ли я создать веб-сервис на основе SOAP? Или RESTful? И как мне выполнить аутентификацию, предпочтительнее через https? Я уже запускал некоторые службы WCF раньше, и это работало, если я использовал встроенные уровни аутентификации, но я могу только предположить, что на Android большая часть содержимого WS * недоступна.

Ответ №1:

Я рекомендую использовать веб-службы RESTful, если вы начинаете с нуля. Она более легкая и ее намного проще использовать на Android. Google не поддерживает сервисы на основе SOAP, поэтому вам приходится в значительной степени полагаться на A. kSoap для Android или B. какое-либо пользовательское решение soap, которое вы пишете.

Мой личный опыт показывает, что kSoap — это огромная проблема в использовании, особенно если задействованы сложные структуры данных, аутентификация и https. Вы можете попробовать, но я думаю, вы быстро обнаружите, что копаетесь в источнике kSoap, чтобы найти решение какой-нибудь загадочной проблемы. Документация, выходящая за рамки основ, практически отсутствует для этого проекта. Кроме того, SOAP — это смехотворно раздутый протокол для мобильного устройства IMO.

Итак, я бы выбрал restful services, используя XML или JSON для передачи данных.

Ответ №2:

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

Ответ №3:

У меня был успех с http://jcifs.samba.org работает на Android. К сожалению, у меня больше нет исходного кода, которым я мог бы поделиться, поскольку мы полностью перешли на другой метод аутентификации (в основном, множество пользовательских материалов).

Я нашел этот проект по следующей ссылке:http://danhounshell.com/blog/android-using-ntlm-authentication-with-httpclient /

Существует также другой проект NTML для интеграции AD, который может помочь (у меня нет опыта):

http://www.ioplex.com/jespa.html