Greendao

创表

package com.example.zhoukaomoni2;

import android.content.Context;

/**
 * Created by 。。。。 on 2018/11/5.
 */

public class DaoMessage {
    private static DaoMessage instance;
    private final DaoSession daoSession;

    private DaoMessage(Context context){
        daoSession = DaoMaster.newDevSession(context,"goods.db");
    }
    public static DaoMessage getInstance(Context context){
        if(instance==null){
            synchronized (DaoMessage.class){
                if(null==instance){
                    instance=new DaoMessage(context);
                }
            }
        }
        return instance;
    }

    public DaoSession getDaoSession() {
        return daoSession;
    }
}

商品

package com.example.zhoukaomoni2;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.facebook.drawee.view.SimpleDraweeView;

import java.util.List;

/**
 * Created by 。。。。 on 2018/11/5.
 */

public class GoodsAdapter extends RecyclerView.Adapter<GoodsAdapter.ViewHolder> {
    private Context context;
    private List<GoodsBean.DataBean> list;

    public GoodsAdapter(Context context, List<GoodsBean.DataBean> list) {
        this.context = context;
        this.list = list;
    }
    public interface OnGoodsClickListener{
        void GoodsClickListener(View itemView,int postion);
    }
    private OnGoodsClickListener listener;
    public void setOnGoodsClickListener(OnGoodsClickListener listener){
        this.listener=listener;
    }
    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View v=View.inflate(context,R.layout.item_goods,null);
        ViewHolder holder=new ViewHolder(v);
        return holder;
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, final int position) {
        String images = list.get(position).getList().get(0).getImages();
        String[] split = images.split("\\|");
        holder.simpleDraweeView.setImageURI(split[0]);
        holder.txttitle.setText(list.get(position).getList().get(0).getTitle());
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(listener!=null){
                    listener.GoodsClickListener(v,position);
                }
            }
        });
    }

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

    class ViewHolder extends RecyclerView.ViewHolder {

        private SimpleDraweeView simpleDraweeView;
        private TextView txttitle;

        public ViewHolder(View itemView) {
            super(itemView);
            simpleDraweeView = itemView.findViewById(R.id.img_image);
            txttitle = itemView.findViewById(R.id.txt_title);
        }
    }
}

储存的

package com.example.zhoukaomoni2;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.facebook.drawee.view.SimpleDraweeView;

import java.util.List;

/**
 * Created by 。。。。 on 2018/11/5.
 */

public class PersonAdapter extends RecyclerView.Adapter<PersonAdapter.ViewHolder> {
    private Context context;
    private List<Person> list;
    public PersonAdapter(Context context, List<Person> list) {
        this.context = context;
        this.list = list;
    }

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

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        holder.simpleDraweeView.setImageURI(list.get(position).getImages());
        holder.txttitle.setText(list.get(position).getTitle());
    }

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

    class ViewHolder extends RecyclerView.ViewHolder {
        private SimpleDraweeView simpleDraweeView;
        private TextView txttitle;

        public ViewHolder(View itemView) {
            super(itemView);
            simpleDraweeView = itemView.findViewById(R.id.img_image);
            txttitle = itemView.findViewById(R.id.txt_title);
        }
    }
}

bean

package com.example.zhoukaomoni2;

import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.Generated;

/**
 * Created by 。。。。 on 2018/11/5.
 */
@Entity
public class Person {
    @Id(autoincrement = true)
    public Long id;
    public String images;
    public String title;
    @Generated(hash = 1947718044)
    public Person(Long id, String images, String title) {
        this.id = id;
        this.images = images;
        this.title = title;
    }
    @Generated(hash = 1024547259)
    public Person() {
    }
    public Long getId() {
        return this.id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getImages() {
        return this.images;
    }
    public void setImages(String images) {
        this.images = images;
    }
    public String getTitle() {
        return this.title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
}

package com.example.zhoukaomoni2;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import java.util.List;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;


public class FirstFragment extends Fragment {
    @BindView(R.id.recyclerview)
    RecyclerView recyclerview;
    Unbinder unbinder;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_first, container, false);
        unbinder = ButterKnife.bind(this, v);
        APIService apiService=HttpUtils.getinstance().create(APIService.class);
        Call<GoodsBean> getgoods = apiService.getgoods();
        getgoods.enqueue(new Callback<GoodsBean>() {
            @Override
            public void onResponse(Call<GoodsBean> call, Response<GoodsBean> response) {
                GoodsBean body = response.body();
                final List<GoodsBean.DataBean> data = body.getData();
                GoodsAdapter adapter=new GoodsAdapter(getActivity(),data);
                RecyclerView.LayoutManager layoutManager=new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);
                recyclerview.setLayoutManager(layoutManager);
                recyclerview.setAdapter(adapter);


                DaoSession daoSession=DaoMessage.getInstance(getContext()).getDaoSession();
                final PersonDao personDao = daoSession.getPersonDao();
                adapter.setOnGoodsClickListener(new GoodsAdapter.OnGoodsClickListener() {
                    @Override
                    public void GoodsClickListener(View itemView, int postion) {
                        GoodsBean.DataBean dataBean = data.get(postion);
                        String images = dataBean.getList().get(0).getImages();
                        String[] split = images.split("\\|");
                        Person person = new Person(null, split[0], dataBean.getList().get(0).getTitle());
                        personDao.insert(person);
                    }
                });
            }

            @Override
            public void onFailure(Call<GoodsBean> call, Throwable t) {

            }
        });
        return v;
    }

    @Override
    public void onDestroyView() {
        super.onDestroyView();
        unbinder.unbind();
    }
}

package com.example.zhoukaomoni2;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import java.util.List;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;


public class TwoFragment extends Fragment {
    @BindView(R.id.recycyler_view)
    RecyclerView recycylerView;
    Unbinder unbinder;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_two, container, false);
        unbinder = ButterKnife.bind(this, v);
        return v;
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        s();
    }
 public void  s(){
     DaoSession daoSession=DaoMessage.getInstance(getContext()).getDaoSession();
     final PersonDao personDao = daoSession.getPersonDao();
     List<Person> list = personDao.queryBuilder().build().list();
     PersonAdapter adapter=new PersonAdapter(getActivity(),list);
     RecyclerView.LayoutManager layoutManager=new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);
     recycylerView.setLayoutManager(layoutManager);
     recycylerView.setAdapter(adapter);
     adapter.notifyDataSetChanged();
 }
    @Override
    public void onDestroyView() {
        super.onDestroyView();
        unbinder.unbind();
    }
}

package com.example.zhoukaomoni2;


import java.util.concurrent.TimeUnit;

import okhttp3.OkHttpClient;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;

/**
 * Created by 。。。。 on 2018/11/5.
 */

public class HttpUtils {
    private static final String Url="http://www.zhaoapi.cn/";
    private final Retrofit retrofit;

    private static final class httputils{
        private static HttpUtils insatnce=new HttpUtils();
    }
    public static HttpUtils getinstance(){
        return httputils.insatnce;
    }
    private HttpUtils(){
        retrofit = new Retrofit.Builder()
                .baseUrl(Url)
                .addConverterFactory(GsonConverterFactory.create())
                .client(buileokHttpClient())
                .build();
    }
    private OkHttpClient buileokHttpClient(){
        return new OkHttpClient.Builder()
                .readTimeout(5000, TimeUnit.MILLISECONDS)
                .writeTimeout(5000,TimeUnit.MILLISECONDS)
                .build();
    }
    public Retrofit getretrofit(){
        return retrofit;
    }
    public <T> T create(Class<T> tClass){
        return retrofit.create(tClass);
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值