Esempio n. 1
0
  /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  // IPPからコメント読み込むメソッド
  public void showCommentList(int target_year, int target_month, long until, int near) {

    // オンラインなら外部DBから他人のデータ読み出し//
    try {
      waitBar.setVisibility(View.VISIBLE);
      listView.setVisibility(View.GONE);
    } catch (NullPointerException e) {
      Log.d(TAG, e.toString());
    }

    if (NetworkManager.isConnected(getActivity().getApplicationContext())) {
      adapter.clear();

      // 読みだすデータの日時の範囲を指定
      int year = 0;
      int month = 0;
      long mUntil = 0;
      this.until = until;

      if (target_month == 0 && target_year == 0) {
        // 今月1日のUNIXタイムスタンプ(ミリ秒)を取得
        year = calendar.get(Calendar.YEAR);
        month = calendar.get(Calendar.MONTH);
        calendar.set(year, month, 1, 0, 0, 0);

        since = calendar.getTimeInMillis(); // 今月頭から

        if (until == 0) {
          mUntil = System.currentTimeMillis(); // 現在まで

        } else {
          mUntil = until;
        }

      } else { // 月と日を指定されたら

        year = target_year;
        calendar.set(year, target_month, 1, 0, 0, 0); // 指定月の1日から
        since = calendar.getTimeInMillis();

        if (until == 0) {
          calendar.add(Calendar.MONTH, 1);
          mUntil = calendar.getTimeInMillis(); // 次の月の1日まで
          calendar.add(Calendar.MONTH, -1); // 戻しとく

        } else {
          mUntil = until;
        }
      }

      IPPGeoResourceClient client =
          new IPPGeoResourceClient(getSherlockActivity().getApplicationContext());
      client.setAuthKey(ipp_auth_key);

      jp.innovationplus.ipp.client.IPPGeoResourceClient.QueryCondition condition =
          new jp.innovationplus.ipp.client.IPPGeoResourceClient.QueryCondition();

      condition.setSince(since);
      condition.setUntil(mUntil);
      condition.setCount(10);
      condition.eq("pair_common_id", pair_common_id);

      if (near == 1) {
        condition.setBoundByRadiusSquare(
            mNowLocation.getLatitude(), mNowLocation.getLongitude(), radiusSquare);
      }

      condition.build();
      client.query(CommentGeoResource.class, condition, new CommentGeoGetCallback());

    } else {
      Toast.makeText(
              getSherlockActivity(),
              res.getString(R.string.message_network_disabled),
              Toast.LENGTH_SHORT)
          .show();
    }
  }