ダウンロード サンプルファイル (2.0 MB)
プロジェクトの作成
では、Androidアプリケーションのプロジェクトを新規作成しましょう。Eclipseの[新規]-[Androidアプリケーション・プロジェクト]を選択します。今回は「Trendwatcher」という名前で作成し、アクティビティは[Blank Activity]を選択しました。このスケルトンのアプリケーションに、必要なコードを追加していきます。
ライブラリの追加
Twitter4Jのサイトから、ライブラリ(執筆時点では、twitter4j-4.0.1.zip)をダウンロードします。
zipファイルを解凍すると、多くのファイルが生成されますが、今回のアプリでは、 libフォルダにできるtwitter4j-core-4.0.1.jarというファイルのみ使用します。これを、プロジェクトのlibsフォルダにコピーしておきます。
twitter4j-core-4.0.1.jarには、Twitter APIを利用するための、基本的なコードが含まれています。
permissionの追加
Twitter APIを利用するには、インターネットへのアクセスが必要ですので、アプリケーションのpermissionの設定をしておきます。AndroidManifest.xmlに、次の行を追加します。
<uses-permission android:name="android.permission.INTERNET"/>
レイアウトの変更
最新のADTでアプリケーションを新規作成すると、フラグメント(fragment_main.xml)を使用したスケルトンアプリケーションになります。今回のアプリでは、このfragment_main.xmlに、ボタンとリストビューを追加します。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.rakuraku.android.Twitter.MainActivity$PlaceholderFragment" >
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/trend_button" />
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</ListView>
</LinearLayout>
なお、スケルトンアプリケーションでは、フラグメントはRelativeLayoutとなっていますが、ボタンとListViewを縦に配置するため、LinearLayoutに変更します。
LinearLayoutは、向き(orientation)を縦(vertical)にし、横幅(layout_width)と高さ(layout_height)をともに、画面いっぱい(match_parent)に設定しています。
ボタンは横幅を画面いっぱいに指定し、高さを自動調整(wrap_content)にしています。
リストビューでは、横幅、高さとも、画面いっぱいに指定します。
Twitterオブジェクトの生成
ここからはコードの追加です。まずは、Twitter4Jライブラリの初期化処理である、Twitterオブジェクトの生成を行います。
Twitterオブジェクトは、Twitter4Jライブラリのメインのオブジェクトです。このオブジェクトの生成時に、OAuth認証用の4つのキーコード(consumerKey、consumerSecret、accessToken、accessTokenSecret)を設定します。
キーの設定には、プロパティファイルに記述する方法と、プログラム内で直接指定する方法の2つあります。今回のアプリケーションでは、プログラム内に記述しています。
public static class PlaceholderFragment extends Fragment {
// Twitterオブジェクト
private Twitter twitter = null;
public PlaceholderFragment() {
// OAuth認証用設定(1)
ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
configurationBuilder.setOAuthConsumerKey("XXXXX");
configurationBuilder.setOAuthConsumerSecret("XXXXX");
configurationBuilder.setOAuthAccessToken("XXXXX");
configurationBuilder.setOAuthAccessTokenSecret("XXXXX");
// Twitterオブジェクトの初期化(2)
this.twitter =
new TwitterFactory(configurationBuilder.build()).getInstance();
}
}
ConfigurationBuilderというクラスを利用して、必要な4つのキーコードを設定します(1)。そして、TwitterFactoryクラスのgetInstanceメソッドで、Twitterオブジェクトを生成します(2)。
なお、ここでconfigurationBuilder.build()を指定しない場合、プロパティファイル(twitter4j.properties)から自動的に設定が読み込まれます。
PlaceholderFragmentについて
前述のサンプルコードは、MainActivity.java内のコードですが、PlaceholderFragmentというフラグメントクラスの定義と、コンストラクタになっています。
スケルトンアプリでは、フラグメントクラス(PlaceholderFragment)は、アクティビティクラス(MainActivity)の内部で、定義されています。
最後に
今回は、主にTwitter APIを利用するための準備編でした。次回は、Twitter4Jライブラリを非同期で実行する部分など、残りのコードを解説していきます。
この記事は参考になりましたか?
既に会員の方はを行ってください。
- Web APIで楽々Androidアプリ連載記事一覧
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト 高江 賢(タカエ ケン)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア


