Android笔记-使用okhttp3库发送http请求
生活随笔
收集整理的這篇文章主要介紹了
Android笔记-使用okhttp3库发送http请求
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
build.gradle新加:
implementation 'com.squareup.okhttp3:okhttp:3.8.0'?在AndroidManifest.xml添加權限
<uses-permission android:name="android.permission.INTERNET"/>?
源碼如下:
HttpRequest.java
package com.example.myclient.http;import okhttp3.Call; import okhttp3.Callback; import okhttp3.OkHttpClient; import okhttp3.Request;public class HttpRequest {private Call mCall;public HttpRequest(String url) {OkHttpClient client = new OkHttpClient();Request request = new Request.Builder().get().url(url).build();mCall = client.newCall(request);}public void request(Callback callback){if(mCall != null){if(mCall.isExecuted()){mCall.clone().enqueue(callback);}else{mCall.enqueue(callback);}}} }MainActivity.java
package com.example.myclient;import android.os.Bundle;import com.example.myclient.http.HttpRequest; import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.android.material.snackbar.Snackbar;import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar;import android.util.Log; import android.view.View; import android.view.Menu; import android.view.MenuItem;import java.io.IOException;import okhttp3.Call; import okhttp3.Callback; import okhttp3.Response;public class MainActivity extends AppCompatActivity {private static final String URL = "http://192.168.20.59/";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Toolbar toolbar = findViewById(R.id.toolbar);setSupportActionBar(toolbar);FloatingActionButton fab = findViewById(R.id.fab);fab.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG).setAction("Action", null).show();}});final HttpRequest request = new HttpRequest(URL);findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {request.request(new Callback() {@Overridepublic void onFailure(Call call, IOException e) {Log.e("error", "請求失敗");}@Overridepublic void onResponse(Call call, Response response) throws IOException {Log.e("success", "請求成功:" + response.body().string());}});}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.menu_main, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();//noinspection SimplifiableIfStatementif (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);} }源碼打包下載地址:
https://github.com/fengfanchen/AndroidReverse/tree/master/OkHttp3Demo
總結
以上是生活随笔為你收集整理的Android笔记-使用okhttp3库发送http请求的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java笔记-使用RestTemplat
- 下一篇: QtJava笔记-Qt与Java进行SS