質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.38%

  • Java

    16465questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Android

    7503questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

  • Twitter

    828questions

    Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

  • Processing

    357questions

    Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

  • SDK

    156questions

    SDK(software development kit)は特定のハードウェアのプラットフォーム、開発環境又はソフトウェアパッケージでソフトウェアをつくるのに必要な開発ツールのセットです。SDKはAPI、IDE又は他の開発ツールとフレームワークを組み合わせたもので構成されていることがあります。

【Processing+Android+Twitter4j】特定のライブラリが読み込めません

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 1,252

aibanhow

score 1

プログラミングの質問です。

ProcessingのAndroidモードを使って、タブレット上で動くプログラムを作ろうとしています。 プログラムの仕様は、『外部ライブラリの「Twitter4j」を利用して特定キーワードを含むツイートを取得する』 といったものです。

実機のタブレットで動いた成功例として、

  • 外部ライブラリを使わない単純なプログラム
  • ライブラリ「ketai」を使ってタブレット内部の加速度センサーを数値化する

等がありますが、「twitter4j」をインポートするプログラムに関してのみ、エラーを吐き出してしまいます。

以下に私の、開発環境 / ソースコード / エラー文(※画像) / 備考 を記載します。

【開発環境】

◎ハードウェア

  • PC:Windows10
  • タブレット:ASUS ZenPad (Androidバージョン5.0.2)

◎ソフトウェア

  • Processing:バージョン3.0.1
  • Android SDK:API5.1.1(22)
  • Twitter4j:バージョン4.0.4

【ソースコード(Processing)】

import twitter4j.*;
import twitter4j.api.*;
import twitter4j.conf.*;
import twitter4j.http.*;
import twitter4j.internal.async.*;
import twitter4j.internal.http.*;
import twitter4j.internal.logging.*;
import twitter4j.internal.org.json.*;
import twitter4j.internal.util.*;
import twitter4j.util.*;

Twitter twitter;
Query query = null;
QueryResult queryResult = null;
String queryWord = "なう"; //検索ワード
String resultWord = " "; //検索したツイートを格納するところ
//PImage icon = null; //その人のイメージ画像
String username = null; //user name

int count=0;

String consumerKey = "伏せます";
String consumerSecret = "伏せます";
String accessToken = "伏せます";
String accessSecret = "伏せます";

void setup() {
size(1000, 700);

frameRate(30);

ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setOAuthConsumerKey(consumerKey);
cb.setOAuthConsumerSecret(consumerSecret);
cb.setOAuthAccessToken(accessToken);
cb.setOAuthAccessTokenSecret(accessSecret);

twitter = new TwitterFactory(cb.build()).getInstance();
query = new Query(queryWord);
//ここの数を変えると上から何個目を検索するかが選べる
query.count(1);
}

void draw() {
background(255);
//●秒に一回ツイートを検索、読み込み
if (count%900 == 0) {
try {
queryResult = twitter.search(query);
}
catch(TwitterException e) {
println(e.getStatusCode());
}
if (queryResult != null) {
for (Status status : queryResult.getTweets()) {
resultWord = status.getText(); //tweet
//icon = loadImage(status.getUser().getOriginalProfileImageURL(), "png"); //image
username = status.getUser().getScreenName(); //nameをここで取得
}
}
count = 0;
}

//名前、ツイートを描画
PFont font1 = createFont("MS Gothic", 20);
textFont(font1);
fill(0);
textSize(10);
text(username, 0, 100);
textSize(20);
text(resultWord, 0, 150);
//image(icon, 0, 0, 50, 50);

count++;
}

【エラー文】

※画像を以下へアップロードしています。ご参照下さい アップローダー

【備考】

①参考にしたサイトを以下に記載します。

②マニュアル外の処理

  • Processing2.0.3でAndroidモードにすることができず、Processing3.0.2を使用している
  • Android5.0.2を利用しているため、SDKをAPI5.1.1(22)で利用している

以上になります。

私はデザイン系の勉強をしている大学生です。 自身の作品制作にProcessingを利用するようになったのですが、 上記プログラムのエラーにひと月悩まされており、すがる思いで質問させていただきました。

皆様どうか知恵をお貸し下さい。よろしくお願いいたします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

エラーが出ている twitter4j-examples-4.0.4.jarを見てみましたが、これはJava1.8向けにビルドされており、現在のところAndroidでは使用できません。

また、名前が示す通りこのライブラリはサンプル集なので、動作に必須のものでもありません。 最低限必要なのはtwitter4j-core-<version>.jarだけなので、まずはこれだけ含めてビルドできるかを確認してみてください。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/12/18 05:06 編集

    ご回答下さりありがとうございます。

    ご指示頂いた通りtwitter4j-core-<version>.jarのみの状態でビルドしたところ、無事tweetの内容をAndroidに表示させることが出来ました!
    お陰様で次のステップに進めることができます。
    誠にありがとうございました!

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.38%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • Java

    16465questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Android

    7503questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

  • Twitter

    828questions

    Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

  • Processing

    357questions

    Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

  • SDK

    156questions

    SDK(software development kit)は特定のハードウェアのプラットフォーム、開発環境又はソフトウェアパッケージでソフトウェアをつくるのに必要な開発ツールのセットです。SDKはAPI、IDE又は他の開発ツールとフレームワークを組み合わせたもので構成されていることがあります。