Retrofit+GreenDao请求数据保存数据库

本文展示了如何使用Retrofit进行网络请求,并结合GreenDao将数据保存到本地数据库。当网络不可用时,从数据库读取数据进行展示。主要涉及Recyclerview适配器、数据库创建、Retrofit接口调用以及网络状态判断。
//本篇文章只供参考和学习greendao的使用和retrofit的网络请求判断在没网的时候从数据库读取展示数据

//recyclerview适配器
public class MyAdapter extends RecyclerView.Adapter <MyAdapter.ViewHolder>{


    private Context context;
    private List<CateGory> list;

    public MyAdapter(Context context, List<CateGory> list) {
        this.context = context;
        this.list = list;
    }


    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = View.inflate(context, R.layout.item, null);
        ViewHolder holder = new ViewHolder(view);
        return holder;
    }


    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        holder.tvTitle.setText(list.get(position).getTitle());
        holder.tvTime.setText(list.get(position).getTime());
    }

    @Override
    public int getItemCount() {
        return list.size();
    }


    class ViewHolder extends RecyclerView.ViewHolder{
        @BindView(R.id.tv_title)
        TextView tvTitle;
        @BindView(R.id.tv_time)
        TextView tvTime;

        public ViewHolder(View itemView) {
            super(itemView);
            ButterKnife.bind(this, itemView);
        }
    }
}


//创建数据库
@Entity
public class CateGory {
    @Id
    private Long id;
    private String title;
    private String time;
    //这些是你创建数据库的字段这些创建完直接点Build>>MakeModel就能生成根类在使用greendao的时候到依赖问题
    
}

//泛型类
public class OneBean<T> {
    private boolean error;
    private T results;


    public boolean isError() {
        return error;
    }

    public void setError(boolean error) {
        this.error = error;
    }

    public T getResults() {
        return results;
    }

    public void setResults(T results) {
        this.results = results;
    }
}

//请求的接口bean类
public class MyBean2 {
    private String _id;
    private String createdAt;
    private String desc;
    private String publishedAt;
    private String source;
    private String type;
    private String url;
    private boolean used;
    private String who;

    public String get_id() {
        return _id;
    }

    public void set_id(String _id) {
        this._id = _id;
    }

    public String getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(String createdAt) {
        this.createdAt = createdAt;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值