2015-08-17 1 views
-3

Это простой метод GET в okhttp:Как использовать OKHTTP в главном Явы

OkHttpClient client = new OkHttpClient(); 

String run(String url) throws IOException { 
    Request request = new Request.Builder() 
     .url(url) 
     .build(); 

    Response response = client.newCall(request).execute(); 
    return response.body().string(); 
} 

Я ставлю этот код в основном файле Java.

Итак, где я должен позвонить в метод onCreate?

Я не знаю, как я могу его использовать. Например, я хочу использовать его в onclicklistener кнопки.

+0

* Например, я хочу использовать его в onclicklistener кнопки. * Тогда почему вы не поместили код там? –

+0

@TimCastelijns Я получаю ошибку. Я использовал запрос без функции, но все же выдавал свою ошибку в приложении logcat и dieing. – Bana

+0

Ну, какая ошибка? NetworkOnMainThreadException? –

ответ

1

Вам необходимо загрузить файл okHttp jar и включить его в свой проект, если вы используете eclipse или добавляете зависимость в своем build.gradle, если используете студию Android. Вы можете найти здесь инструкции - http://square.github.io/okhttp/

Лучше создать общий класс для сетей и написать общие методы HTTP-запросов (GET, POST и т. Д.), Чтобы их можно было вызывать из любого места приложения, просто передав требуемые параметры.

Теперь, если вы хотите, вы можете добавить его на onclicklistener

Образец примера -

public class GetExample { 
OkHttpClient client = new OkHttpClient(); 

String run(String url) throws IOException { 
Request request = new Request.Builder() 
    .url(url) 
    .build(); 

Response response = client.newCall(request).execute(); 
return response.body().string(); 
} 

public static void main(String[] args) throws IOException { 
GetExample example = new GetExample(); 
String response = example.run("https://raw.github.com/square/okhttp/master/README.md"); 
System.out.println(response); 
} 
} 

Для onClickListener вы можете написать ниже код в AsyncTask или новую тему (я надеюсь, что вы знаете, как писать AsyncTask или новая тема) -

OkHttpClient client = new OkHttpClient(); 
Request request = new Request.Builder() 
    .url(url) 
    .build(); 

Response response = client.newCall(request).execute(); 
String reponse = response.body().string(); 
+0

Спасибо. Что я должен писать в onclicklistener? – Bana

+0

Отредактируйте ответ, пожалуйста, проверьте – Passiondroid

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