android 爬坑之路 ——okhttp3网络连接

  • Post author:
  • Post category:其他


  1. 加入网络权限

    在AndroidManifest.xml中加入
 <!--添加 网络权限 用于http请求-->
    <uses-permission android:name="android.permission.INTERNET" />


非常非常非常非常非常非常非常非常非常重要的一点:


在AndroidManifest.xml中的application标签中添加,

否则上不去网

android:usesCleartextTraffic="true"
  1. 添加依赖库:

    在build.gradle文件中的dependencies中增加:
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2',{
        exclude group:'com.android.support',module:'support-annotations'
    })
    //noinspection GradleCompatible
    implementation 'com.android.support:appcompat-v7:26.+'
    implementation 'com.squareup.okhttp3:okhttp:3.8.1'
    testImplementation 'junit:junit:4.12'
    // 支持Gson解析
   implementation 'com.google.code.gson:gson:2.8.0'
  1. 主要代码:
OkHttpClient client = new OkHttpClient();
//1. post传值
	RequestBody		requestBody = new FormBody.Builder()
                        .add("utel", utelValue)
                        .add("upwd", passwordValue)
                        .build();
       Request       request = new Request.Builder()
                        .url("http://127.0.0.1:8080/login")
                        .post(requestBody)
                        .build();
//get传值
 Request       request = new Request.Builder()
                        .url("http://127.0.0.1:8080/login")
                        .build();
                client.newCall(request).enqueue(new Callback() {
                    @Override
                    public void onFailure(Call call, IOException e) {
                        Toast.makeText(LoginActivity.this,"网络连接失败", Toast.LENGTH_SHORT).show();
                    }

                    @Override
                    public void onResponse(Call call, Response response) throws IOException {
                        final String responseString = response.body().string();
                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                try {
                                    resultJsonObject = new JSONObject(responseString);//获取到的结果,已经是json格式了
                                    
                                        //跳转到主界面
                                        Intent intent = new Intent(LoginActivity.this, MainActivity.class);
                                        LoginActivity.this.startActivity(intent);
                                        finish();
                                    }
                                } catch (JSONException e) {
                                    e.printStackTrace();
                                }
                            }
                        });
                    }
                });



版权声明:本文为weixin_44177447原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。