Intereting Posts
Proguard Retrace не работает с информацией о времени выполнения stacktrace, например E / AndroidRuntime (10237): Переменная подсказка для поиска Используйте ImageView с GridView для установки количества изображений, отображаемых в строках и столбцах Как определить, открыто ли приложение Android из сообщения «Уведомление»? Android: изменение размера пользовательских представлений. Родитель изменен, но изменения ширины / высоты не передаются в дочерний вид Как программно написать ярлык на конкретную страницу на главном экране панели запуска Android? Как играть зашифрованный файл в Android Виджет просмотра PDF в Android Что означает сообщение «внутреннее / внешнее несоответствие состояния исправлено» на MediaPlayer? Как транслировать через RTMP на Android? Поддерживает ли Android Volley SSL? Расширение класса для деятельности Как добавить android на платформу кордовы? Ошибка PATH? Создание PDF-файла в android программно и запись в него Меню ВОПРОСЫ с некоторыми устройствами Android 4.x

Обратный ответ asynchttpclient для Android loopj

В одном из моих проектов я использую loopj asynchttpclient для общения с моим сайтом. Коммуникационная часть работает хорошо и получает ответ также

Моя деятельность выглядит

 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home); WebRequest test=new WebRequest(); test.callService(); } 

Класс WebRequest как

 public class WebRequest extends Activity { public void callService(){ AsyncHttpClient client = new AsyncHttpClient(); client.post("http://domain.com/dp/index.php", new AsyncHttpResponseHandler() { @Override public void onSuccess(String response) { Log.v("P",response); } @Override public void onFailure(Throwable e, String response) { Log.v("PS",e.toString()); } }); } } 

Я смущен, как вернуть ответ на основное действие, чтобы я мог создать список из этого ответа.

Я новичок в этом Пожалуйста, помогите мне Спасибо заранее

В вашем классе WebRequest:

  • Я не думаю, что вы хотите, чтобы этот класс расширил Activity . Вы должны только продлить действие, когда вы создаете страницу для отображения в своем приложении. Вы просто хотите выполнить некоторый код, поэтому продление Activity не требуется.
  • Измените свой метод обслуживания вызовов как статический и возьмите AsyncHttpClient в качестве параметра.

Класс WebRequest должен выглядеть следующим образом:

 final class WebRequest { private AsyncHttpClient mClient = new AsyncHttpClient(); public static void callService(AsyncHttpResponseHandler handler) { mClient.post("http://domain.com/dp/index.php", handler); } } 

В вашей основной деятельности:

Теперь все, что вам нужно сделать в вашей основной деятельности, – вызвать статический метод следующим образом:

 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home); WebRequest.callService(new AsyncHttpResponseHandler() { @Override public void onStart() { // Initiated the request } @Override public void onSuccess(String response) { // Successfully got a response } @Override public void onFailure(Throwable e, String response) { // Response failed :( } @Override public void onFinish() { // Completed the request (either success or failure) } }); } 

Выполняйте все, что вам нужно делать с представлениями в вашей деятельности в вышеупомянутых обратных вызовах. Надеюсь это поможет!