20171202小Dome
来源:互联网 发布:手机系统检测软件 编辑:程序博客网 时间:2024/06/07 02:31
public class DBUtils { private static volatile DBUtils instance; private final BeanDao dao; //gen中的...Dao类 private DBUtils(Context context) { DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(context, "poss", null); SQLiteDatabase database = helper.getWritableDatabase(); DaoMaster daoMaster = new DaoMaster(database); DaoSession daoSession = daoMaster.newSession(); dao = daoSession.getBeanDao(); //gen中的...Dao类的方法 } public static DBUtils getInstance(Context context){ if (instance == null) { synchronized (DBUtils.class) { if (null == instance) { instance = new DBUtils(context); } } } return instance; } public BeanDao getDao(){ return dao; //返回 }}
public interface ApiService { @GET("api/data/Android/{page}/{num}") //有些路径和参数放这 Call<Bean1<List<Bean2>>> get(@Path("page") int page, @Path("num") int num);}
//M层public class RetorfidUtils { private Retrofit retrofit; private static volatile RetorfidUtils retrofitutils; private RetorfidUtils(String baseurl){ retrofit = new Retrofit.Builder() .addConverterFactory(GsonConverterFactory.create()) .baseUrl(baseurl) .build(); } public static RetorfidUtils getInstence(String url){ if(null==retrofitutils){ synchronized (RetorfidUtils.class){ if(retrofitutils==null){ retrofitutils = new RetorfidUtils(url); } } } return retrofitutils; } public void get(final Mview mview,int page,int num){ ApiService aClass = retrofit.create(ApiService.class); Call<Bean1<List<Bean2>>> call = aClass.get(page, num); call.enqueue(new Callback<Bean1<List<Bean2>>>() { @Override public void onResponse(Call<Bean1<List<Bean2>>> call, Response<Bean1<List<Bean2>>> response) { Bean1<List<Bean2>> body = response.body(); Log.e("adfsatstg",body.toString()); mview.Success(body); } @Override public void onFailure(Call<Bean1<List<Bean2>>> call, Throwable t) { mview.Failed(t); } }); }}
//P层public class Presenter { private IView iView; public void AtthView(IView iView){ this.iView = iView; } public void get(String url,int page,int num){ RetorfidUtils.getInstence(url).get(new Mview() { @Override public void Success(Object o) { iView.onSueecss(o); Log.e("13841351865468",o.toString()); } @Override public void Failed(Throwable t) { iView.onFailed(t); } },page,num); }}
public class Fragment01 extends Fragment implements IView{ private List<Bean> list; @BindView(R.id.recyc) RecyclerView recyc; private RAdapter adapter; private BeanDao dao; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = View.inflate(getActivity(), R.layout.fragment01, null); ButterKnife.bind(this, view); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); list = new ArrayList<Bean>(); LinearLayoutManager manager=new LinearLayoutManager(getActivity()); recyc.setLayoutManager(manager); adapter = new RAdapter(getActivity(),list); recyc.setAdapter(adapter); dao = DBUtils.getInstance(getActivity()).getDao(); //判断有没有数据 put(); } @Override public void onSueecss(Object o) { Bean1<List<Bean2>> personBean=(Bean1<List<Bean2>>) o; List<Bean2> results = personBean.getResults(); //循环添加到数据库 for (int i=0;i<results.size();i++){ Bean bean = new Bean(); bean.setName(results.get(i).getDesc()); List<String> images = results.get(i).getImages(); if(images==null||images.size()==0){ }else { bean.setImg(images.get(0)); } dao.insertOrReplace(bean); } put(); } @Override public void onFailed(Throwable t) { } public void put(){ List<Bean> been = dao.loadAll(); if(been==null||been.size()==0){ Presenter presenter=new Presenter(); presenter.AtthView(this); presenter.get("http://gank.io/",10,1); }else { list.clear(); list.addAll(been); adapter.notifyDataSetChanged(); } }}
阅读全文
0 0
- 20171202小Dome
- Phonegap(cordova)小Dome
- Android ContentProvider小dome
- Android 闹钟小Dome
- Dome小总结
- dome
- 短信验证码自动填写小DOME
- [UWP小白日记-2]SQLite数据库DOME
- 学习Bootstrap后制作一个小dome的所思
- dome资料
- 蓝牙Dome
- myBatis dome
- jsp dome
- 在ListView下面添加一个相对布局的小Dome-布局优化
- 贪吃蛇—蓝鸥游戏/AR/VR在线公开课小项目Dome(一)
- 及其简单的Rxjava+Retrofit+Fresco+ok,mvp小Dome解析数据
- BJCA证书加密Dome
- HDU Dome of Circus
- 网络获取+动画
- 网络判断+数据拼接
- Rxjava
- GPS修改,定位修改,GPS修改器,模拟GPS,虚假定位
- 自定义view轮播图
- 20171202小Dome
- json--1.概述
- ButterKnife的使用详解
- 简单自定义viewpager,小圆点控件
- Retrofit的简单使用
- GreenDao简单操作
- 题库错题簿1—10
- shiro 框架之拦截器机制
- 题库错题簿11—30