JSON解析数据 vs 从bomb服务器数据库查询数据
2016-05-25 20:21
686 查看
需求页面:
上面是一个viewpager图片,下面是一个viewpager的fragment
属性和公共方法一样
第一种方法:从bomb网络数据库查询
第二种方法:json解析
另外,第二种方法的handler也可以使用handler.post处理
上面是一个viewpager图片,下面是一个viewpager的fragment
属性和公共方法一样
private ViewPager dis_vp_up; private ViewPager dis_vp_down; private PagerTabStrip pagerTab; private List<DisVpUpEntity> disVpUpList; private List<DisVpDownEntity> disVpDownList; private List<String> disVpDownTabList; private List<Fragment> downFrags; private OkhttpImpl okhttpImpl; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.discovery_fragment, null); dis_vp_up = (ViewPager) view.findViewById(R.id.dis_vp_up); dis_vp_down = (ViewPager) view.findViewById(R.id.dis_vp_down); pagerTab = (PagerTabStrip) view.findViewById(R.id.dis_down_title); pagerTab.setTextColor(Color.parseColor("#dd9c64")); pagerTab.setTabIndicatorColor(Color.parseColor("#dd9c64")); pagerTab.setDrawFullUnderline(false); okhttpImpl = new OkhttpImpl(); loadParseUp(); //抓包解析json方式 sqlCurd(); //从网络服务器数据库查询 return view; } //初始化downviewpager private void initFragments(List<DisVpDownEntity> disDownList, List<String> disDownTabList) { downFrags = new ArrayList<>(); for (int i = 0; i < disDownTabList.size(); i++) { DisDownFragment fragment = new DisDownFragment(); Bundle bundle = new Bundle(); bundle.putString("imgPath", disDownList.get(i).getImgPath()); bundle.putString("buttonPath", disDownList.get(i).getButtonPath()); fragment.setArguments(bundle); downFrags.add(fragment); } } class DisVpDownAdapter extends FragmentPagerAdapter { public DisVpDownAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return downFrags.get(position); } @Override public int getCount() { return downFrags.size(); } @Override public CharSequence getPageTitle(int position) { return disVpDownTabList.get(position); } }
第一种方法:从bomb网络数据库查询
private void sqlCurd() { BmobQuery<DisVpUpEntity> query = new BmobQuery<>(); query.findObjects(getContext(), new FindListener<DisVpUpEntity>() { @Override public void onSuccess(List<DisVpUpEntity> upList) { DisVpUpAdapter adapterUp = new DisVpUpAdapter(upList, getActivity()); dis_vp_up.setAdapter(adapterUp); } @Override public void onError(int i, String s) { } }); BmobQuery<DisVpDownEntity> query2 = new BmobQuery<>(); query2.findObjects(getContext(), new FindListener<DisVpDownEntity>() { @Override public void onSuccess(List<DisVpDownEntity> downList) { disVpDownTabList = new ArrayList<>(); for (DisVpDownEntity disvpdown : downList) { disVpDownTabList.add(disvpdown.getTitle()); } initFragments(downList, disVpDownTabList); DisVpDownAdapter adapterDown = new DisVpDownAdapter(getChildFragmentManager()); dis_vp_down.setAdapter(adapterDown); } @Override public void onError(int i, String s) { } }); }
第二种方法:json解析
private Handler dHandler = new Handler() { @Override public void handleMessage(Message msg) { DisVpUpAdapter adapterUp = new DisVpUpAdapter(disVpUpList, getActivity()); dis_vp_up.setAdapter(adapterUp); initFragments(disVpDownList, disVpDownTabList); DisVpDownAdapter adapterDown = new DisVpDownAdapter(getChildFragmentManager()); dis_vp_down.setAdapter(adapterDown); } }; //下载并解析upviewpager private void loadParseUp() { okhttpImpl.download(Contents.DIS_VP_UP, new OkhttpInterface() { @Override public void parse(String data) { try { disVpUpList = new ArrayList<>(); JSONObject jsonobject = new JSONObject(data); JSONArray result = jsonobject.getJSONArray("result"); for (int i = 0; i < result.length(); i++) { JSONObject jsonUp = (JSONObject) result.get(i); String imgPath = jsonUp.getString("imgPath"); String title = jsonUp.getString("title"); String url = jsonUp.getString("url"); DisVpUpEntity disVpUpEntity = new DisVpUpEntity(imgPath, title, url); disVpUpList.add(disVpUpEntity); } loadParseDown(); } catch (JSONException e) { e.printStackTrace(); } } }); } //下载并解析downviepager private void loadParseDown() { okhttpImpl.download(Contents.DIS_VP_DOWN, new OkhttpInterface() { @Override public void parse(String data) { try { disVpDownList = new ArrayList<>(); disVpDownTabList = new ArrayList<>(); JSONObject jsonObject = new JSONObject(data); JSONArray result = jsonObject.getJSONArray("result"); for (int i = 0; i < result.length(); i++) { JSONObject jsonDown = (JSONObject) result.get(i); String buttonPath = jsonDown.getString("buttonPath"); String imgPath = jsonDown.getString("imgPath"); String title = jsonDown.getString("title"); DisVpDownEntity disVpDownEntity = new DisVpDownEntity(buttonPath, imgPath, title); disVpDownTabList.add(title); disVpDownList.add(disVpDownEntity); } dHandler.sendEmptyMessage(0); } catch (JSONException e) { e.printStackTrace(); } } }); }
另外,第二种方法的handler也可以使用handler.post处理
private Handler dHandler = new Handler() ; private void loadParseUp() { okhttpImpl.download(Contents.DIS_VP_UP, new OkhttpInterface() { @Override public void parse(String data) { try { disVpUpList = new ArrayList<>(); JSONObject jsonobject = new JSONObject(data); JSONArray result = jsonobject.getJSONArray("result"); for (int i = 0; i < result.length(); i++) { JSONObject jsonUp = (JSONObject) result.get(i); String imgPath = jsonUp.getString("imgPath"); String title = jsonUp.getString("title"); String url = jsonUp.getString("url"); DisVpUpEntity disVpUpEntity = new DisVpUpEntity(imgPath, title, url); disVpUpList.add(disVpUpEntity); } loadParseDown(); } catch (JSONException e) { e.printStackTrace(); } } }); } //下载并解析downviepager private void loadParseDown() { okhttpImpl.download(Contents.DIS_VP_DOWN, new OkhttpInterface() { @Override public void parse(String data) { try { disVpDownList = new ArrayList<>(); disVpDownTabList = new ArrayList<>(); JSONObject jsonObject = new JSONObject(data); JSONArray result = jsonObject.getJSONArray("result"); for (int i = 0; i < result.length(); i++) { JSONObject jsonDown = (JSONObject) result.get(i); String buttonPath = jsonDown.getString("buttonPath"); String imgPath = jsonDown.getString("imgPath"); String title = jsonDown.getString("title"); DisVpDownEntity disVpDownEntity = new DisVpDownEntity(buttonPath, imgPath, title); disVpDownTabList.add(title); disVpDownList.add(disVpDownEntity); } //dHandler.sendEmptyMessage(0); dHandler.post(new Runnable() { @Override public void run() { DisVpUpAdapter adapterUp = new DisVpUpAdapter(disVpUpList, getActivity()); dis_vp_up.setAdapter(adapterUp); initFragments(disVpDownList, disVpDownTabList); DisVpDownAdapter adapterDown = new DisVpDownAdapter(getChildFragmentManager()); dis_vp_down.setAdapter(adapterDown); } }); } catch (JSONException e) { e.printStackTrace(); } } }); }
相关文章推荐
- redis之(三)redis的数据类型
- quartz详解3:quartz数据库集群-锁机制
- mysqldump备份及数据还原
- 【转】Mongodb的基本使用总结
- Hibernate中SQL标量查询、实体查询
- Nosql Mongodb 并发控制之乐观锁
- mysql存储过程----三种定义变量方式
- 例6.1:学生选课系统设计(界面设计、类图、数据库ER图)
- Nosql Mongodb 基本操作说明
- Sqlite3常用的插入方法及性能测试
- mysql导出表到CSV文件方法及提示错误[Err] 1290 - The MySQL server is running with the --secure-file-priv option解决办法
- 简单了解SQL(结构化查询语言)
- 使用jacob生成数据库文档
- Oracle出现字符集问题处理方法
- sql学习笔记一 语法
- 2.6 MYSQL的输出格式
- mysql_基础2
- mysql 5.7安装遇到的问题记录
- mysql进行excel文件导出
- mongodb 分组查询