как добавить имя пользователя и пароль в Android в http-запросе

#android #web-services #authentication #rest #httprequest

#Android #веб-сервисы #аутентификация #остальное #httprequest

Вопрос:

как добавить имя пользователя и пароль в http-запросе для вызова веб-службы? У меня есть веб-сервис write REST, и если пользователь хочет выполнить запрос, ему нужно запросить вот так в терминале: curl -u username: passwordhttp://localhost:8080/user/folder

 httpclient.getCredentialsProvider().setCredentials(new AuthScope(null, -1),
                    new UsernamePasswordCredentials("kyaw", "password"));
get.setHeader("Authorization","Basic a31hdzpwYXNzd29yZA==");
  

Я использовал любой способ для Android, но получил исключение :

 05-20 07:13:30.900: DEBUG/AndroidRuntime(557): Shutting down VM
05-20 07:13:30.900: WARN/dalvikvm(557): threadid=1: thread exiting with uncaught exception (group=0x40015560)
05-20 07:13:30.972: ERROR/AndroidRuntime(557): FATAL EXCEPTION: main
05-20 07:13:30.972: ERROR/AndroidRuntime(557): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test/com.test.put}: java.lang.RuntimeException: Binary XML file line #18: You must supply a layout_width attribute.
05-20 07:13:30.972: ERROR/AndroidRuntime(557):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
05-20 07:13:30.972: ERROR/AndroidRuntime(557):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
  

Как мне поступить?

Ответ №1:

Ошибка заключается в том, что «Вы должны указать атрибут layout_width» (копия, вставленная из вашей трассировки стека).

Ошибка не связана с кодом, который вы показываете. Вам не хватает layout_width="" атрибута в XML-объявлении одного из ваших компонентов.

Комментарии:

1. Я установил атрибут, это мой XML-файл: <?xml version=»1.0″ encoding =»utf-8″?> <LinearLayout xmlns: android =» schemas.android.com/apk/res/android «android: ориентация =»вертикальная» android: layout_width=»fill_parent» android: layout_height=»fill_parent» > <TextView android: layout_width=»fill_parent» android: layout_height=»wrap_content» android: text=»@string /hello» /> <TextView android:layout_width=»fill_parent» android: layout_height= «wrap_content» android: текст=»Результат» android: идентификатор=»@ id/textView1″ /> </LinearLayout>