#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, который может помочь (у меня нет опыта):