OkHttpClient 进行网络请求
2018-01-30 18:38
465 查看
package com.example.mvpdemotwo.modle;
import android.util.Log;
import android.widget.Toast;
import com.example.mvpdemotwo.MainActivity;
import java.io.IOException;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
/**
* Created by hasee on 2018/1/30.
*/
public class LoginModle {
//model层的login方法,对应presenter中的login方法
public void login(String mobile, String password) {
//如果mvc的话,直接在这个位置去联网请求
//如果是mvp的话,我们需要把联网的操作放到modle中
//构建一个OkHttpClient对象
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.build();
//通过表单的形式,构建一个RequestBody,通过添加key-value的形式,上传参数
RequestBody requestBody = new FormBody.Builder()
.add("source","android")
.add("mobile",mobile)
.add("password",password)
.build();
//通过我们构造的requestBody对象,去构造一个Request
Request request = new Request.Builder()
.url("https://www.zhaoapi.cn/user/login")
.post(requestBody)
.build();
//使用okHttpClient对象执行newCall,传入一个Request,去构造一个call请求
Call call = okHttpClient.newCall(request);
//通过这个call请求去异步的请求登录接口
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
Log.e("tag","============================onFailure");
//okhttp的回调是在子线程的
//切到主线程,更新UI
runOnUiThread(new Runnable() {
@Override
public void run() {
//登录失败
Toast.makeText(MainActivity.this, "登录失败", Toast.LENGTH_LONG).show();
}
});
}
@Override
public void onResponse(Call call, Response response) throws IOException {
runOnUiThread(new Runnable() {
@Override
public void run() {
//登录成功
Toast.makeText(MainActivity.this, "登录成功", Toast.LENGTH_LONG).show();
}
});
Log.e("tag","============================onResponse");
}
});
}
}
import android.util.Log;
import android.widget.Toast;
import com.example.mvpdemotwo.MainActivity;
import java.io.IOException;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
/**
* Created by hasee on 2018/1/30.
*/
public class LoginModle {
//model层的login方法,对应presenter中的login方法
public void login(String mobile, String password) {
//如果mvc的话,直接在这个位置去联网请求
//如果是mvp的话,我们需要把联网的操作放到modle中
//构建一个OkHttpClient对象
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.build();
//通过表单的形式,构建一个RequestBody,通过添加key-value的形式,上传参数
RequestBody requestBody = new FormBody.Builder()
.add("source","android")
.add("mobile",mobile)
.add("password",password)
.build();
//通过我们构造的requestBody对象,去构造一个Request
Request request = new Request.Builder()
.url("https://www.zhaoapi.cn/user/login")
.post(requestBody)
.build();
//使用okHttpClient对象执行newCall,传入一个Request,去构造一个call请求
Call call = okHttpClient.newCall(request);
//通过这个call请求去异步的请求登录接口
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
Log.e("tag","============================onFailure");
//okhttp的回调是在子线程的
//切到主线程,更新UI
runOnUiThread(new Runnable() {
@Override
public void run() {
//登录失败
Toast.makeText(MainActivity.this, "登录失败", Toast.LENGTH_LONG).show();
}
});
}
@Override
public void onResponse(Call call, Response response) throws IOException {
runOnUiThread(new Runnable() {
@Override
public void run() {
//登录成功
Toast.makeText(MainActivity.this, "登录成功", Toast.LENGTH_LONG).show();
}
});
Log.e("tag","============================onResponse");
}
});
}
}
相关文章推荐
- 安卓使用OkHttpClient进行网络请求
- OkHttpClient请求网络数据
- 常用的几种网络请求OkHttpClient , HttpClient和 HttpURLConnection
- 关于Android网络访问请求的一些总结 包括HttpClient HttpUrlConnection Volley
- 通过HttpURLConnection进行网络请求
- HttpClient与HttpURLConnection网络请求工具类
- 12_Android中HttpClient的应用,doGet,doPost,doHttpClientGet,doHttpClient请求,另外借助第三方框架实现网络连接的应用,
- Android网络数据请求之HttpClient
- httpClient通过代理(Http Proxy)进行请求
- Android Asynchronous Http Client-Android异步网络请求客户端接口
- AsyncHttpClient请求网络数据小节!
- AsyncHttpClient 网络请求+ fastJson解析数据
- httpclient发送网络请求
- HttpClient实现网络请求
- Mvp设计模式实现okHttpClient请求展示在RecycleView
- Android_网络请求数据之HttpClient方式(核心代码)
- 网络请求之HttpClient
- OkGoHttp让网络请求更简单
- OKHttp网络框架源码解析(一)okHttp框架同步异步请求流程和源码分析
- 使用OkHttpClient处理json请求处理的方式