コード例 #1
0
ファイル: SearchAsyncLoader.java プロジェクト: gontaaa/test
  @Override
  public List<Status> loadInBackground() {

    try {
      // 大阪のWOEID
      // int osaka = 15015370;

      // トレンドを取得する
      // Trend[] trend = this.twitter.getPlaceTrends(osaka).getTrends();

      // 取得したトレンドから、ランダムで1つを選択する
      // Random rnd = new Random();
      // String q = trend[rnd.nextInt(trend.length)].getQuery();

      // 検索文字列を設定する
      Query query = new Query(keyword);
      query.setLocale("ja"); // 日本語のtweetに限定する
      query.setCount(100); // 最大20tweetにする(デフォルトは15)
      query.resultType(Query.RECENT);

      QueryResult result = null;

      // 最大1500件(15ページ)なので15回ループ
      for (int i = 1; i <= 15; i++) {
        result = twitter.search(query);
        System.out.println("ヒット数 : " + result.getTweets().size());
        System.out.println("ページ数 : " + new Integer(i).toString());

        /*
        // 検索結果を見てみる
        for (Status tweet : result.getTweets()) {
            // 本文
            String str = tweet.getText();
            java.util.Date hiduke = tweet.getCreatedAt();
            System.out.println(hiduke + str);
            // ハッシュタグとURLの削除

        }
        if (result.hasNext()) {
            query = result.nextQuery();
        } else {
            break;
        }
        */
        if (result.getTweets().size() < 100) {
          break;
        }
      }

      // 検索の実行
      // QueryResult result = this.twitter.search(query);

      return result.getTweets();

    } catch (TwitterException e) {
      Log.d("twitter", e.getMessage());
    }

    return null;
  }
コード例 #2
0
  /**
   * Search tweets with the keyword "word"
   *
   * @param word : keyword
   */
  public void doSearch(String word) {
    List<Status> listStatus;
    listCleanTweets = new ArrayList<Tweet>();
    listDirtyTweets = new ArrayList<Tweet>();

    try {
      Query query = new Query(word);
      query.resultType(ResultType.mixed);
      query.setLang("fr");
      query.count(30);
      QueryResult result = InterfaceG.twitter.search(query);

      listStatus = result.getTweets();

      for (Status status : listStatus) {
        Tweet tclean =
            new Tweet(
                status.getId(),
                status.getUser().getName(),
                cleanTweet(status.getText()),
                status.getCreatedAt().toString(),
                -1);
        listCleanTweets.add(tclean);

        Tweet tdirty =
            new Tweet(
                status.getId(),
                status.getUser().getName(),
                status.getText(),
                status.getCreatedAt().toString(),
                -1);
        listDirtyTweets.add(tdirty);
      }

      setChanged();
      notifyObservers();
    } catch (TwitterException te) {
      System.out.println("doSearch:TwitterExc");
      System.out.println(te.getMessage());
      System.exit(-1);
    } catch (IOException e) {
      System.out.println("doSearch:IOExc");
      System.out.println(e.getMessage());
    }
  }