关闭→
当前位置:科普经验站>IT科技>retrofit java

retrofit java

科普经验站 人气:2.56W

<link rel="stylesheet" href="https://js.how234.com/33ae093f85/2aa40b228689631e215b4899cf523297aa/2aa91c3a8282/2ab526399594.css" type="text/css" /><link rel="stylesheet" href="https://js.how234.com/33ae093f85/2aa40b228689631e215b4899cf523297aa/2aa91c3a8282/2ab5313e829c6e3323554585c44e.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><style>pre{overflow-x: auto}</style>

   <link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java retrofit是什么?让我们一起来了解一下吧!

java retrofit是Java在开发时的一种轻量级http请求部分组件,它的作用是能够像接口调用这种方法来进行http调用。Retrofit在它的前期主要是应用在安卓的网络请求框架,之后也被用于java。

java retrofit

更确定的说,Retrofit 是一个 restful 的 http 网络请求框架的封装。

1. App应用程序通过 Retrofit 请求网络,事实上是通过应用 Retrofit 接口层封装去获得参数、Header、Url 等信息,然后由 OkHttp 完成后面的请求动作。

2. 在服务端返回数据之后,OkHttp 把原先的结果过渡给 Retrofit,Retrofit按照用户的需求对结果进行分析。所以,网络请求的本质事实上依旧是由OkHttp完成的,retrofit只是帮使用者来进行工作简便化的,比如配置网络,处理数据等工作,提高这一系列操作的复用性。

实战演练,具体步骤如下:

package request.http.com.httprequest.activity; import android.app.Activity;import android.os.Bundle;import android.support.v7.widget.DefaultItemAnimator;import android.support.v7.widget.DividerItemDecoration;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.RecyclerView;import android.util.Log;import android.widget.ImageView;import butterknife.BindView;import butterknife.ButterKnife;import butterknife.Unbinder;import okhttp3.OkHttpClient;import okhttp3.RequestBody;import okhttp3.logging.HttpLoggingInterceptor;import request.http.com.httprequest.R;import request.http.com.httprequest.adapter.RecyclerViewAdapter;import request.http.com.httprequest.api.RequestApi;import request.http.com.httprequest.bean.TokenInfoBean;import request.http.com.httprequest.bean.goodsBean;import request.http.com.httprequest.bean.goodsSuitBean;import request.http.com.httprequest.bean.singleBean;import request.http.com.httprequest.common.CommonFunc;import request.http.com.httprequest.common.Tools;import request.http.com.httprequest.common.retrofitCommon;import retrofit2.Call;import retrofit2.Callback;import retrofit2.Response; import java.util.ArrayList;import java.util.HashMap;  public class MainActivity extends Activity {    private Unbinder unbinder;    @BindView(R.id.lv_showDetail)    RecyclerView lv_showDetail;    private ArrayList dataBeanList;    private RecyclerViewAdapter adapter;    private DefaultItemAnimator defaultItemAnimator;    private RequestApi requestApi;    private RequestBody body;    private HashMap hashMap;    private   String authorizationCode;    private  String appKey;    private singleBean singleBean;    private TokenInfoBean tokenInfoBean;    private ArrayList singleList;    private goodsSuitBean goodsSuitBean;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        unbinder = ButterKnife.bind(this);        initView();     }    public void  initRecyclerView(){        LinearLayoutManager manager = new LinearLayoutManager(this);        lv_showDetail.setLayoutManager(manager);        DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(this,    DividerItemDecoration.VERTICAL);        dividerItemDecoration.setDrawable(getApplicationContext().getDrawable(R.drawable.rv_item_devider));        lv_showDetail.addItemDecoration(dividerItemDecoration);        adapter = new RecyclerViewAdapter(MainActivity.this, dataBeanList);        lv_showDetail.setAdapter(adapter);        adapter.notifyDataSetChanged();     }    public  void  initView() {        retrofitCommon    retrofitCommon = new retrofitCommon();        authorizationCode = CommonFunc.getBasicAuthorizationCode("user","asdasdsd");        appKey = CommonFunc.getFinplexAppKey();        requestApi=   retrofitCommon.retrofitRequestPost(“访问接口的地址”);        body =  retrofitCommon.getRequestBody("code","1232131312");        hashMap =  retrofitCommon.getRequestParam(authorizationCode,appKey);        requestApi.getGroupGoods(body,hashMap).enqueue(new Callback() {            @Override            public void onResponse(Call call, Response response) {                callSuccessResponse(response);            }            @Override            public void onFailure(Call call, Throwable t) {                callErrorResponse(t);            }        });    }    private  void callSuccessResponse( Response response){        dataBeanList = new ArrayList<>();        goodsBean goods = response.body();        goodsSuitBean = goods.getGoodsSuit();        singleList = goods.getDataList();        tokenInfoBean = goods.getTokenInfo();        for (int i=0;i< singleList.size();i++){             //处理需要显示的数据        }        initRecyclerView();    }    private  void callErrorResponse(Throwable t){        Tools.i("error","error"+t.fillInStackTrace());    }    //去掉base64前缀    public String removeBase64(String baseStr){     String base64Str =   baseStr.substring(baseStr.indexOf(",")+1, baseStr.length());    return  base64Str;     }}

 以上就是小编今天的分享了,希望可以帮助到大家。

TAG标签:#retrofit #java #