1、简介
最近项目中打算换访问网络的框架,好好研究里一番,发现总体评价来说okhttp还是最好的,
尤其是在网络信号不好的情况下,和其他的框架来说还是比较好的,而且谷歌在android4.4
以后也是替换了之前的httpurlconnection
这里只是简单的上手使用,具体的封装使用以后还需要时间进行封装
2.具体的使用
首先你需要导入两个okhttp的jar包
okhttp-2.5.0.jar
okio-1.4.0.jar
3.在代码中的使用(简单的get请求和post请求)
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import com.squareup.okhttp.MediaType;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.Request;
import com.squareup.okhttp.RequestBody;
import com.squareup.okhttp.Response;
import java.io.IOException;
import java.net.URL;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/** 这个是的get请求 */
new Thread() {
@Override
public void run() {
super.run();
String surl = "http://192.168.160.6:8080";
OkHttpClient client = new OkHttpClient();
try {
Request request = new Request.Builder().url(new URL(surl)).build();
Response response = client.newCall(request).execute();
response.code();
System.out.print("MyTagCode==" + response.code());
if (response.isSuccessful()) {
for (int i = 0; i < 100; i++) {
System.out.print("MyTag==" + response.body().string());
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
/**这个是post请求 */
new Thread() {
@Override
public void run() {
super.run();
String surl = "http://192.168.160.6:8080";
OkHttpClient client = new OkHttpClient();
//RequestBody body =RequestBody.create(数据的类型,具体的数据)
MediaType JSON = MediaType.parse("application/json; charset=utf-8");
String json = "{\"sid\":\"7100550720150907163343293\",\"uid\":\"71005507\",\"stime\":\"20150907163343293\",\"acttype\":\"02\",\"actid\":\"\",\"actchose\":\"2\",\"acttime\":\"20150907172353318\"}";
RequestBody body = RequestBody.create(JSON, json);
Request request = new Request.Builder()
.url(surl)
.post(body)
.build();
try {
Response response = client.newCall(request).execute();
System.out.print("MyTag==" + response.body().string());
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
}
}