RetrofitUtils
public class RetrofitUtils {
private static RetrofitUtils mInstance;
private final Retrofit builder;
public static RetrofitUtils getmInstance() {
if (mInstance==null){
synchronized (RetrofitUtils.class){
if (mInstance==null){
mInstance = new RetrofitUtils();
}
}
}
return mInstance;
}
private RetrofitUtils() {
builder = new Retrofit.Builder()
.baseUrl(CartApi.CARTAPI)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
public <T>T create(Class<T> clazz){
return builder.create(clazz);
}
}
greendao数据库 初始化
public class App extends Application {
private static DaoSession daoSession;
@Override
public void onCreate() {
super.onCreate();
Fresco.initialize(this);
DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(this,"gsc-db",null);
SQLiteDatabase database = devOpenHelper.getWritableDatabase();
DaoMaster daoMaster = new DaoMaster(database);
daoSession = daoMaster.newSession();
}
public static DaoSession getdaosession(){
return daoSession;
}
}
main
public class MainActivity extends AppCompatActivity implements CartContart.Icartview {
private RecyclerView recyclerView;
private CartAdapter cartAdapter;
private CartPresenter cartPresenter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = findViewById(R.id.recy);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
cartAdapter = new CartAdapter(this);
cartPresenter = new CartPresenter(this);
HashMap<String,String> params = new HashMap<>();
params.put("page",1+"");
cartPresenter.cartlist(params);
//网络判断
boolean netWorkAvailable = NetWork.isNetWorkAvailable(this);
List<DataBean> dataBeans = App.getdaosession().getDataBeanDao().loadAll();
if (!netWorkAvailable) {
if (dataBeans.size() != 0) {
CartAdapter adapter = new CartAdapter(this);
recyclerView.setAdapter(adapter);
adapter.setCartBean(dataBeans);
Toast.makeText(this, "有缓存", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "无缓存", Toast.LENGTH_SHORT).show();
}
}
}
@Override
public void success(List<DataBean> result) {
CartAdapter adapter = new CartAdapter(this);
recyclerView.setAdapter(adapter);
adapter.setCartBean(result);
for (int i = 0; i < result.size(); i++) {
DataBean preson=new DataBean(null,
result.get(i).getTitle(),
result.get(i).getUrl(),
result.get(i).getThumbnail_pic_s());
App.getdaosession().getDataBeanDao().insertOrReplace(preson);
}
}