Пример #1
0
        @Override
        public int call(Object result) {
          CxTabloid tabloidData = null;
          CxLog.e(TAG, result.toString());
          try {
            tabloidData = new TabloidParse().parseTabloid(result);
          } catch (Exception e) {
            e.printStackTrace();
          }

          if (tabloidData == null || tabloidData.getRc() == 408) {
            showResponseToast(
                CxApplication.getInstance().getString(R.string.cx_fa_net_response_code_null), 0);
            return -2;
          }

          // 请求成功
          if (tabloidData.getRc() == 0) {

            // 将数据插入到库中
            TabloidDao dao = new TabloidDao(CxTabloidActivity.this);
            dao.insertTabloidBatch(tabloidData.getDataList());
          } else {
            if (TextUtils.isEmpty(tabloidData.getMsg())) {
              showResponseToast(
                  CxApplication.getInstance().getString(R.string.cx_fa_net_response_code_fail), 0);
            } else {
              showResponseToast(tabloidData.getMsg(), 0);
            }
          }
          return 0;
        }
Пример #2
0
        @Override
        public int call(Object result) {
          CxTabloidCateConf cateConf = null;
          CxLog.e(TAG, result.toString());
          try {
            cateConf = new TabloidParse().parseCateConf(result);
          } catch (Exception e) {
            e.printStackTrace();
          }

          if (cateConf == null || cateConf.getRc() == 408) {
            showResponseToast(
                CxApplication.getInstance().getString(R.string.cx_fa_net_response_code_null), 0);
            return -2;
          }

          // 请求成功
          if (cateConf.getRc() == 0) {

            // 更新DB (跟库中的版本进行对比,只有版本更新了,才需要更新里面的配置数据)
            TabloidDao dao = new TabloidDao(CxTabloidActivity.this);
            String v2 = dao.getVersion();
            CxLog.e(TAG, "v2" + v2);
            if (!cateConf.getData().getVersion().equals(v2)) {
              // 更新全局配置(先删除,再更新)
              dao.delPubConfig();
              dao.insertPubConfig(cateConf.getData());

              // 先删除所有的配置,然后再添加新获取的数据
              dao.delAllCateConf();
              dao.insertCateConfBatch(cateConf.getData().getConfig());
            }

            if (v2.equals("0")) {
              // 如果缓存中没数据,需要把网络中返回的数据重绘到UI上
              Message msg = new Message();
              msg.obj = cateConf.getData();

              new Handler(Looper.getMainLooper()) {
                public void handleMessage(Message msg) {

                  buildView((TabloidCateConfData) msg.obj); // 重绘显示页面
                };
              }.sendMessage(msg);

              // 库中没有小报数据,则需要从服务器取一次(用户第一次进入会有这种情况)
              getTabloidDataFromServer();
            }

          } else {
            if (TextUtils.isEmpty(cateConf.getMsg())) {
              showResponseToast(
                  CxApplication.getInstance().getString(R.string.cx_fa_net_response_code_fail), 0);
            } else {
              showResponseToast(cateConf.getMsg(), 0);
            }
          }
          return 0;
        }