这里用的是 马伟奇 前辈的框架RetrofitUtils,封装了Retrofit。
1.project下的依赖
allprojects {
repositories {
jcenter()
maven { url "https://jitpack.io" }
}
}
2.module下的依赖
compile 'com.github.open-android:RetrofitUtils:0.1.9'
3.创建MyApplication
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); ItheimaHttp.init(this, "http://www.oschina.net/"); } }4.在注册文件中声明Application的name
<application android:name=".application.MyApplication"5.权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />6.get请求
String url = "action/apiv2/news?pageToken=";
ItheimaHttp.send(ItheimaHttp.newGetRequest(url), new HttpResponseListener<String>() { @Override public void onResponse(String s, Headers headers) { } });7.post请求,其实就是修改newGetRequest为newPostRequest,添加请求头,和参数(requestbody)
Request request = ItheimaHttp.newGetRequest(loginUrl);
8.如果想自动解析为bean,获取该网址的json,在bean里GsonFormat一键创建,再把String替换为所要解析的bean即可。request.putHeader("cookie","111");request.putParams("keep_login", "111") .putParams("username", "111") .putParams("pwd", "111");Call call = ItheimaHttp.send(request, new HttpResponseListener<String>() { @Override public void onResponse(String s, Headers headers) { }});
ItheimaHttp.send(ItheimaHttp.newGetRequest(url), new HttpResponseListener<NewsBean>() { @Override public void onResponse(NewsBean newsBean, Headers headers) { } });几行代码,就解决了网络请求这块内容,十分方便