2016-03-09 2 views
1

Я хочу создать приложение для Android, которое потребляет некоторые API REST.Как создать REST-клиент в android с помощью HttpUrlConnection

Я использую HttpURLConnection, чтобы сделать базовую аутентификацию и GET/PUT некоторые данные, но я чувствую, что делаю это неправильно. У меня есть два класса ConnectionPUT и ConnectionGET, которые я вызываю для каждого запроса, так как каждый экземпляр HttpURLConnection используется для создания одного запроса.

Каков правильный способ создания клиента REST с Android с использованием HttpURLConnection?

+3

Там не будет один «правильный путь» к этому. Есть много способов добиться этого, и бесчисленные библиотеки, которые помогут вам в этом, не говоря уже о бесчисленных SO [вопросах] (https://stackoverflow.com/questions/8267928/android-rest-client-sample) и ответах , которые охватывают эту тему. – toKrause

+3

Вы должны быть конкретными о проблеме, которую вы испытываете, и показать нам точные ошибки. –

+0

@toKrause спасибо, я хочу, чтобы эти «бесчисленные библиотеки», чтобы я мог их протестировать! – Mraimou

ответ

2

Это пример кода для вызова Http GET с использованием HttpUrlConnection в Android.

URL url; 
    HttpURLConnection urlConnection = null; 
    try { 
     url = new URL("your-url-here"); 

     urlConnection = (HttpURLConnection) url 
       .openConnection(); 

     InputStream in = urlConnection.getInputStream(); 

     InputStreamReader isw = new InputStreamReader(in); 

     int data = isw.read(); 
     while (data != -1) { 
      char current = (char) data; 
      data = isw.read(); 
      System.out.print(current); 
     } 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } finally { 
     if (urlConnection != null) { 
      urlConnection.disconnect(); 


}  
    } 

Но я настоятельно рекомендую, что вместо того, чтобы заново изобретать колесо для создания клиента REST для андроид приложения, попробуйте хорошо адаптированные и надежные библиотеки, такие как модифицирование и Volley, для работы в сети.

Они высоконадежны и протестированы и удалены весь код шаблона, который вы должны написать для сетевой связи.

Для получения дополнительной информации, я предлагаю вам изучить следующую статью по переоборудованию и Volley

Android - Using Volley for Networking

Android -Using Retrofit for Networking

+0

Спасибо за ваш ответ! – Mraimou

+0

Рад, что я могу помочь –

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