选择在低版本中运行的,android 7代码通过学习  https://square.github.io/okhttp/ 中的sAndroidManifest.xml 中新增权限

 

引入 okIo 和okhttp 包

 

搜所okio

 

 

 

 

import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.util.Log;import android.view.View;import android.widget.TextView;import androidx.annotation.NonNull;import androidx.appcompat.app.AppCompatActivity;import com.example.a202007.R;import com.example.a202007.com.mw.dto.SearchDTO;import com.google.gson.Gson;import java.io.IOException;import okhttp3.MediaType;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.RequestBody;import okhttp3.Response;public class OkhttpActivity extends AppCompatActivity {    private TextView okHttp_showcontent;    public static final MediaType JSON= MediaType.get("application/json; charset=utf-8");    private Handler handler = new Handler(){        @Override        public void handleMessage(@NonNull Message msg) {            super.handleMessage(msg);            Log.i("mw",String.valueOf(msg.obj));            okHttp_showcontent.setText((String)msg.obj);        }    };    OkHttpClient client = new OkHttpClient();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_okhttp);        okHttp_showcontent = findViewById(R.id.okHttp_showcontent);    }    public void onOkhttpGetOnClick (View view) throws IOException {        okHttp_showcontent.setText("");        new Thread(new Runnable() {            @Override            public void run() {                Message msg = new Message();                msg.obj = getReq("http://www.mwview.com/v/tool/queryFoodMenuList");                handler.sendMessage(msg);            }        }).start();    }    public void onOkhttpPostOnClick (View view) throws IOException {        okHttp_showcontent.setText("");        new Thread(new Runnable() {            @Override            public void run() {                SearchDTO search = new SearchDTO();                search.setPageNumber(1);                search.setPageSize(20);                search.setSearchProperty("categoryId");                search.setSearchValue("SUBJECT_DETAIL_CATEGORIES_LITERATURE_ART");                String jsonString = new Gson().toJson(new Object());                Message msg = new Message();                msg.obj = postReq("http://www.mwview.com/v/blog/queryBlogList",jsonString);                handler.sendMessage(msg);            }        }).start();    }   public String postReq(String url, String json){        RequestBody body = RequestBody.create(json, JSON);        Request request = new Request.Builder()                .url(url)                .post(body)                .build();        try (Response response = client.newCall(request).execute()) {            return response.body().string();        }catch (IOException e){            Log.e("mw","post=="+e.getMessage());        }        return "";    }    private String getReq(String url)  {        Request request = new Request.Builder()                .url(url)                .build();        try (Response response = client.newCall(request).execute()) {            return response.body().string();        }catch (IOException e){            Log.e("mw",e.getMessage());        }        return "";    }}
<?xml version="1.0" encoding="utf-8"?>        

 

更多相关文章

  1. WKWebView的JS与Native的交互,适配iOS和andriod的HTML代码
  2. Android基于自带的DownloadManager实现下载功能示例
  3. java更改android文件权限--待验证
  4. android关于手机和3.0版本以上平板去标题问题
  5. Android应用程序组件Content Provider的启动过程源代码分析(7)
  6. Android之——通用安装apk方法
  7. 使用Animation轮播图片
  8. Android(安卓)CTS包下载地址
  9. Android(安卓)应用安装流程初探

随机推荐

  1. Android(安卓)exception
  2. android开启Wifi AP
  3. Android(安卓)listview--checkbox
  4. Activity相关工具类
  5. Android(安卓)中的 AndroidManifest.xml
  6. debian linux android ndk compile env s
  7. Android中使用shape定义空心圆和实心圆
  8. Android:方向传感器
  9. android studio recyclerview长按删除
  10. 自定义HttpURLConnection工具类