0

Я новичок в программировании на Android, и мне сложно выполнить базовую версию отправителя сообщения с использованием библиотеки Loopj.Реализовать базовую запись HttpClient с Loopj на Android

Вот мой код:

package com.test.app; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import com.loopj.android.http.*; 

import org.apache.http.Header; 

public class Test extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_test); 

     AsyncHttpClient client = new AsyncHttpClient(); 
     client.get("https://www.google.com", new AsyncHttpResponseHandler() { 

      @Override 
      public void onStart() { 
       // called before request is started 
      } 

      @Override 
      public void onSuccess(int statusCode, Header[] headers, byte[]  response) { 
       // called when response HTTP status is "200 OK" 
      } 

      @Override 
      public void onFailure(int statusCode, Header[] headers, byte[] errorResponse, Throwable e) { 
       //called when response HTTP status is "4XX" (eg. 401, 403, 404) 
      } 

      @Override 
      public void onRetry(int retryNo) { 
       // called when request is retried 
      } 
     }); 

    } 

} 

Этот код дает мне две ошибки Я пытаюсь работать через:

  1. Линия AsyncHttpClient клиента = новый AsyncHttpClient(); подчеркивает AsyncHttpClient, а также отчеты и ошибки: «Класс должен быть объявлен абстрактным или реализовать абстрактный метод для onFailure»

  2. Назначение @Override для onSuccess и onFailure подчеркнуто, и в сообщении указано, что «метод не отменяет метод из его суперкласс».

Как я могу сделать эту работу в моей Android-активности?

+0

почему вы используете это o ld http-клиент без сообщества и обновлений? –

+0

Ну, потому что Im new, и я вижу пример кода, который передает сообщения Azure с помощью этого кода. Есть ли у вас какие-либо предложения? Я открыт для разных подходов. – MadProgrammer

ответ

0

Это из-за неправильного импорта.

Вы должны заменить:

import org.apache.http.Header; 

с

import cz.msebera.android.httpclient.Header; 

UPDATE:

Кстати, если вы хотите, чтобы сделать HTTP POST, вы должны использовать .post() вместо .get()

+0

Это работает, пожалуйста, предложите альтернативные библиотеки, если вы знаете о них. – MadProgrammer

+0

Если вы хотите, чтобы только клиент okhttp стал лучшей библиотекой для этого сейчас. Если вы хотите, чтобы клиент REST API retrofit2 с okhttp и rxjava был самым современным стекем. IMHO –

+0

Спасибо за помощь, я собираюсь попытаться адаптировать старый код к okhttp. – MadProgrammer

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