OkHttp工具类 get 和 post(带Token)以及调用

OkHttp工具类 get 和 post(带Token)以及调用

 

例:

OkHttp工具类 get 和 post(带Token)以及调用_第1张图片

 

 

OkHttp工具类 get 和 post(带Token)

package com.sgy.sgy_img2;

import java.util.Map;
import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;

/**
 * 工具类 (本人自写,略有点简陋)
 * Android OkHttp网络请求
 * get 和 post (带Token)
 */
/*
    依赖:
    compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
    compile 'com.squareup.okhttp3:logging-interceptor:3.4.2'
    compile 'net.qiujuer.common:okhttp:3.0.0'
    compile 'com.google.code.gson:gson:2.2.4'
 */
public class OkHttp {

    /**
     * post请求 + token
     * @param address
     * @param token
     * @param callback
     * @param map
     */
    public static void post(String address, String token, okhttp3.Callback callback, Map map) {
        OkHttpClient client = new OkHttpClient();
        FormBody.Builder builder = new FormBody.Builder();

        if (map!=null) {
            for (Map.Entry entry:map.entrySet()) {
                builder.add(entry.getKey(),entry.getValue());
            }
        }
        FormBody body = builder.build();
        Request request = new Request.Builder()
                .url(address)
                .addHeader("token",token)
                .post(body)
                .build();
        client.newCall(request).enqueue(callback);
    }



    /**
     * get 请求 + token
     * @param address
     * @param token
     * @param callback
     */
    public static void get(String address, String token, okhttp3.Callback callback) {
        OkHttpClient client = new OkHttpClient();
        FormBody.Builder builder = new FormBody.Builder();

        Request request = new Request.Builder()
                .url(address)
                .addHeader("token",token)
                .build();
        client.newCall(request).enqueue(callback);
    }

}

 

OkHttp工具类 get 和 post 调用(带Token)

/**
 * Android OkHttp网络请求
 * get 和 post (带Token)
 */
public class MainActivity extends AppCompatActivity {

    String url = "http://www.lygjjdj.com:82/HZZHDJ/api/getMyInformation.do";
    String token = "847f1f8f0bde740400212d783942a753";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        okget();
        okpost();

    }

    /**
     * OkHttp网络请求 post调用
     */
    public void okpost() {
        Map map = new HashMap<>();
//        map.put("phone", id.getText().toString());
//        map.put("password", password.getText().toString());
        OkHttp.post( url , token , new okhttp3.Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                Log.d("111111工具类post 请求失败","======e.getMessage()"+e.getMessage());
            }
            @Override
            public void onResponse(Call call, Response response) throws IOException {
                //请求成功返回结果 ,如果希望返回的是字符串
                final String responseData=response.body().string();
                // 注意,此时的线程不是ui线程,
                // 如果此时我们要用返回的数据进行ui更新,操作控件,就要使用相关方法
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        // 更新UI的操作
                        // Log.d("111111请求成功======",responseData );
                        Bean bean = new Gson().fromJson(responseData, Bean.class );
                        Log.d("111111工具类post 请求成功","======"+bean.getData().getHeadImg());
                        Log.d("111111工具类post 请求成功","======"+bean.getData().getLoginName());
                    }
                });
            }
        },map);

    }
    
    /**
     * OkHttp网络请求 get调用
     */
    public void okget() {
        OkHttp.get( url , token , new okhttp3.Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                Log.d("111111工具类get 请求失败","======e.getMessage()"+e.getMessage());
            }
            @Override
            public void onResponse(Call call, Response response) throws IOException {
                //请求成功返回结果 ,如果希望返回的是字符串
                final String responseData=response.body().string();
                // 注意,此时的线程不是ui线程,
                // 如果此时我们要用返回的数据进行ui更新,操作控件,就要使用相关方法
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        // 更新UI的操作
                        // Log.d("111111请求成功======",responseData );
                        Bean bean = new Gson().fromJson(responseData, Bean.class );
                        Log.d("111111工具类get 请求成功","======"+bean.getData().getHeadImg());
                        Log.d("111111工具类get 请求成功","======"+bean.getData().getLoginName());
                    }
                });
            }
        });
    }

}

 

 

 

 

你可能感兴趣的:(项目开发,网络请求工具类)