이 글에서는 주로 Java의 OkHttp 사용 방법과 예제를 소개합니다. 필요한 친구는 Java의 OkHttp 사용 방법과 예제를 참고할 수 있습니다. 그것을 사용하는 방법을 탐험해보세요. 기회가 되면 소스코드를 다시 확인해 보겠습니다.
계속하기 전에 먼저 2개의 jar 패키지가 필요합니다. 그 중 하나는 github에서 다운로드할 수 있는 okHttp jar 패키지이고, 다른 하나는 종속 패키지입니다. 이것이 없으면 프로젝트를 실행할 수 없습니다.
OkHttp 요청의 두 가지 방법
네트워크 요청의 경우 콜백을 사용하는 방법과 하위 스레드 실행을 시작하는 방법 두 가지만 있다고 추측하기 어렵지 않습니다.
첫 번째: 하위 스레드 실행 시작
OkHttpClient client = new OkHttpClient(); Request build = new Request.Builder().url(url).build(); try { <span style="white-space:pre"> </span>Response execute = client.newCall(build).execute(); if(execute.isSuccessful()){ System.out.println("wisely aaa"); } else { System.out.println("wisely bbb"); } } catch (IOException e) { e.printStackTrace(); }두 번째: 콜백 사용. 개인적으로 이것을 가장 좋아합니다. (PS: 제가 너무 어리고 너무 단순한 것 같아요!! 원래는 콜백 메소드가 메인 스레드에 있는 줄 알았는데 알고 보니 서브 스레드, 서브 스레드였네요...)
OkHttpClient client = new OkHttpClient(); Request build = new Request.Builder().url(url).build(); client.newCall(build).enqueue(new Callback() { @Override public void onResponse(Response arg0) throws IOException { System.out.println("wisely success"); } @Override public void onFailure(Request arg0, IOException arg1) { System.out.println("wisely failure"); } });
OkHttp get request
1.
pictures
OkHttpClient client = new OkHttpClient(); Request build = new Request.Builder().url(url).build(); client.newCall(build).enqueue(new Callback() { @Override public void onResponse(Response response) throws IOException { // byte[] bytes = response.body().bytes(); InputStream is = response.body().byteStream(); Options options = new BitmapFactory.Options(); options.inSampleSize = 8; // Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length,options); Bitmap bitmap = BitmapFactory.decodeStream(is, null, options); Message msg = handler.obtainMessage(); msg.obj = bitmap; handler.sendMessage(msg); } @Override public void onFailure(Request arg0, IOException arg1) { System.out.println("wisely fail:"+arg1.getCause().getMessage()); } });
키 코드만 작성하고 핸들러 관련 코드는 작성하지 마세요.
네트워크 이미지를 얻는 방법에는 두 가지가 있습니다. 첫 번째는 바이트
을 얻는 것이고, 두 번째는 입력 스트림을 얻는 것입니다. onResponse는 하위 스레드에 있습니다...OkHttp의
post request 요청 받기에 비해 게시물 요청에는 카테고리가 약간 더 많습니다.
2. 사진 업로드
이것은 제가 가장 중요하게 생각하는 기능입니다. okHttp에는 사진을 업로드하는 강력한 기능이 있으며 여러 사진 업로드를 지원한다는 것이 실험을 통해 입증되었습니다. rreeeprivate MediaType PNG = MediaType.parse("application/octet-stream");
OkHttpClient client = new OkHttpClient();
RequestBody body = new MultipartBuilder()
.type(MultipartBuilder.FORM)
.addPart(Headers.of("Content-Disposition","form-data; name=\"files\";filename=\"img1.jpg\""),RequestBody.create(PNG, file1))
.addPart(Headers.of("Content-Disposition","form-data; name=\"files\";filename=\"img2.jpg\""),RequestBody.create(PNG, file2)).build();
Request request = new Request.Builder()
<span style="white-space:pre"> </span>.url(url)
.post(body).build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onResponse(Response response) throws IOException {
if(response.isSuccessful()){
UploadPNGResponse uploadPNGResponse = new Gson().fromJson(response.body().charStream(), UploadPNGResponse.class);
String msg = uploadPNGResponse.getMsg();
List<String> list = uploadPNGResponse.getList();
for (String string : list) {
System.out.println("wisely---path:"+string);
}
}
}
@Override
public void onFailure(Request arg0, IOException arg1) {
System.out.println("wisely---fail--"+arg1.getCause().getMessage());
}
});
위 내용은 Java에서 OkHttp의 사용법과 예에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!