Retrofit使用步骤:
step2,3补充
tab01.java
public class tab01 extends Fragment {
private TextView textView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_tab01, container, false);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
initView();
initRetrofit();
}
private void initRetrofit() {
//获取Retrofit对象,设置地址
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Constant.URL_BASE)
.build();
Log.i("LHD","1");
RequestServices requestServices = retrofit.create(RequestServices.class);
Call<ResponseBody> call = requestServices.getString();
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
if (response.isSuccessful()) {
try {
//返回的结果保存在response.body()中
String result = response.body().string();
//onResponse方法是运行在主线程
//在这里直接更新UI
textView.setText(result);
} catch (IOException e) {
e.printStackTrace();
}
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
}
});
}
private void initView() {
textView = (TextView) getView().findViewById(R.id.text_1);
}
}
RequestServices.java
Constant.java
慕课网代码:
登录页:
Button使用onClick:
创建retrofit对象
Service接口
获取登录
UserinfoModel.java
获取code,会抛出异常(需要开启线程)
一般使用异步请求: