java retrofit

作者:原创时间:2022-04-18
文档

   

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

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

更确定的说,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;
 
    }
}

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

显示全文
java reverse() java reverse java rotate java rsa加密 java path java paypal java phoenix java ping java pipeline java rsa公钥加密 java rsa私钥加密 java rtp java runnable java runtime.exec java rxjava java sandbox java script java selector java selenium java semaphore java resume java resultset java result java rest java requests java partial java request java parser java repeat java parse java pandas java override java render java region java require java resolve java resources java overload java outofmemory java outer