использование службы RESTful

#android

#Android

Вопрос:

Я нашел этот класс, который кто-то создал:

http://senior.ceng.metu.edu.tr/2009/praeda/2009/01/11/a-simple-restful-client-at-android/

Похоже, это именно то, что мне нужно, однако, будучи новичком, которым я являюсь, я не знаю, как использовать этот класс.

Я попытался инициализировать экземпляр, выполнив RestClient myclient = new RestClient(); но я не думаю, что это правильно.

Я просто хочу извлечь json из сервиса и проанализировать его.

Ответ №1:

Если вы собираетесь выполнять REST, я настоятельно рекомендую взглянуть на класс SycnAdapter . Команда Android в основном разработала его с учетом REST, и это то, что использует большинство приложений Google. Кроме того, есть отличное видео Google IO, в котором подробно объясняется, как его использовать (серьезно, как одно из моих любимых видео).

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

1. 1. Проверить naked-code.blogspot.com/2011/05 /…

2. Это потрясающее объяснение. Жаль, что у меня не было этого, чтобы провести меня через SampleSyncAdapter, когда я только начинал его изучать.

3. это кажется действительно сложным, учитывая, что я просто хочу получить некоторый json после загрузки activity.

4. @Адам достаточно справедлив. SyncAdapter действительно очень сложный. Тогда, вероятно, это не подходит для вас в этом случае.

Ответ №2:

RestClient выглядит так, как будто он поддерживает только статическое использование, поскольку у него нет определенного конструктора. Это означает, что вы не можете создать новый класс, а только получить доступ к методам через статический вызов.

Попробуйте использовать его следующим образом:

 RestClient.connect(url);
 

Этот метод говорит void, поэтому он ничего не вернет. Если вам нужно, чтобы вернуть что-то для последующего использования, вам нужно будет изменить метод.

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

1. да, он использует log.i. но я ничего не вижу, когда проверяю logcat. Я думаю, что класс не работает

2. Кажется немного поспешным отвергать класс в целом, хотя он, безусловно, может нуждаться в некоторой доработке. Не видя никакого вашего кода, я не смог бы сказать, почему вы не видите вывод logcat. Возможно, добавьте туда еще кучу журналов или запустите его через отладчик и опубликуйте то, что вы видите, если застряли. Мой пост изменен для корректности, спасибо @Josh Diehl.

Ответ №3:

Класс со страницы, на которую вы ссылались, вызывается RestClient not RestKit , это первая проблема. Кроме того, этот класс предназначен скорее для примера кода, чем для чего-то, что вы можете использовать. Обратите внимание, что метод connect(String url) является недействительным, поэтому он не возвращает результат, а код connect просто регистрирует строки примеров.