• 検索結果がありません。

資料置き場 Android Developer's Workshop at 築地

N/A
N/A
Protected

Academic year: 2018

シェア "資料置き場 Android Developer's Workshop at 築地"

Copied!
26
0
0

読み込み中.... (全文を見る)

全文

(1)

Android 入門

第 0.0.1 版

2011 年 7 月 2 日

株式会社 ウィズ・ワン

(2)

目次

更新履歴...4

1. はじめに...5

1.1. 前提...5

2. 事前準備(各種インストール)...6

2.1. JDKのインストール...6

2.1.1. 入手元...6

2.1.2. インストール...6

2.1.3. 環境変数の設定...6

2.2. AndroidSDKのインストール...6

2.2.1. 入手元...6

2.2.2. インストール...6

2.3. Eclipseのインストール...7

2.3.1. 入手元...7

2.3.2. インストール...7

2.4. ADTプラグイン インストール...7

2.4.1. Eclipse起動...7

2.4.1. インストール...7

2.4.2. 設定...8

2.5. エミュレータの作成と起動...8

3. 入門編...10

3.1. プロジェクト作成...10

3.2. Androidアプリを動かす...10

3.3. 画面作成方法...10

3.4. コンポーネントの使い方 1...11

3.4.1. コンポーネントオブジェクトの取得方法...11

3.4.2. Buttonイベント(クリック時)の処理...11

3.4.3. TextViewの文字変更方法...11

3.4.4. EditTextの文字取得方法...12

3.5. コンポーネントの使い方 2...12

4. 応用編...14

4.1. 準備 1 – Twitter クライアント情報登録 -...14

4.2. 準備 2 Twitter クライアント用ライブラリ登録 –...15

4.3. 認証...15

4.4. パーミッション...17

(3)

4.6. ツイート...20

4.7. タイムライン更新...21

5. 復習...24

5.1. ブラウザとの連携...24

5.1.1. ブラウザを開く...24

5.1.2. (ブラウザから)コールバック...24

5.2. 画面作成...25

5.3. コンポーネント...25

5.3.1. コンポーネントオブジェクトの取得方法...25

5.3.2. Buttonイベント(クリック時)の処理...25

5.3.3. TextViewの文字変更方法...25

5.3.4. EditTextの文字取得方法...25

6. 便利(うれしくなる?)プラグインの紹介...25

(4)

更新履歴

版数 変更日付 変更内容

0.0.1 2011年 7 月 2 日 初版

(5)

1. はじめに

本書は、アンドロイド開発環境構築および Android 開発の入門プログラム作成手順につい て記述します。

1.1. 前提

 OSは Windows7 SP1 を使用すること。(他の OS の場合、適宜読み替えてくださ い。)。

 ウェブページからファイルをダウンロードする必要があるため、インターネットに 接続できる環境があること。

(6)

2. 事前準備(各種インストール)

2.1. JDKのインストール

2.1.1. 入手元

http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u26-download- 400750.html

1. 上記 URL より、[Accept License Agreement ]ラジオボタンを選択します。 2. [jdk-6u26-windows-i586.exe]リンクを押下しファイルをダウンロードします。

2.1.2. インストール

1. ダウンロードしたファイルを実行しインストールを行います。

2.1.3. 環境変数の設定

1. 「表 事前準備(各種インストール)-1 環境変数設定内容」の通りユーザ環境変数を設 定します。

表 事前準備(各種インストール)-1 環境変数設定内容

変数名 値

JAVA_HOME C:\Program Files\Java\jdk1.6.0_26 PATH %JAVA_HOME%\bin

※ PATH が既に存在する場合は、値を上書きではなく追加してください。

2.2. AndroidSDKのインストール 2.2.1. 入手元

http://developer.android.com/sdk/index.html

1. 上記 URL より、[installer_r11-windows.exe]リンクを押下しファイルをダウンロ ードします。

2.2.2. インストール

1. ダウンロードしたファイルを実行しインストールを行います。

※ インストールには非常に時間がかかることがあります。

※ インストールの途中で「Java SE Development Kit (JDK) not found.」というメッ セージが表示され、次に進むことが出来ない場合がありますが、その際は一度「< Back」ボタンで戻ってから再度進めてください。

※ インストール後に「Android SDK and AVD Manager」などの画面が開きますが、 全て閉じてください。

(7)

2.3. Eclipseのインストール 2.3.1. 入手元

http://www.eclipse.org/downloads/

1. [Eclipse IDE for Java EE Developers]の右の[Windows 32 Bit]リンクを押下し ます。

2. 「Please choose a mirror close to you」の下にあるミラーサイトから適当なもの を選択しダウンロードします。

2.3.2. インストール

1. ダウンロードしたファイルを解凍します。

2. 生成された eclipse フォルダを C:\work に置きます。

2.4. ADTプラグイン インストール

2.4.1. Eclipse起動

1. C:\work\eclipse\eclipse.exeを実行し、eclipse を起動します。

2. 「Workspace Launcher」ダイアログが開くので、「Workspace」に入力された文字 を「.\workspace」に入力しなおします。

3. 「Use this as the default and do not ask again」にチェックをして「OK」ボタン を押下します。チェックをしなくても問題ありませんが、Eclipse を起動する毎に毎 回「Wrokspace Launcher」ダイアログが開きます。

2.4.1. インストール

1. Eclipseが起動するので、メニューから「Help」→「Install New Software...」を選択 します。

2. 「Install」ダイアログが開くので「Add...」ボタンを押下します。

3. 「Add Repository」ダイアログが開くので、「Name」に「ADT Plugin」を、

「Location」に「https://dl-ssl.google.com/android/eclipse/」を入力し、「OK」ボタ ンを押下します。

4. しばらくすると、一覧に「Developer Tools」が表示されるので、「Select All」ボタン を押下し、全ての項目を選択し「Next >」ボタンを押下します。

5. しばらくすると一覧に以下の内容がが表示されるのでさらに「Next >」ボタンを押 下します。

 Android DDMS

 Android Development Tools

 Android Hierarchy Viewer

 Android Traceview

6. 「I Accept the terms of the license agreement」ラジオボックスにチェックを付

(8)

け「Finish」ボタンを押下します。

7. 「Install」ダイアログが閉じ「Installing Software」ダイアログが開きインストール が開始します。

8. 途中で「Security Warning」ダイアログが開くので「OK」ボタンを押下します。 9. しばらくすると「Installing Software」ダイアログが閉じ「Software Updates」ダイ

アログが開くので「Restart Now」ボタンを押下し、Eclipse を再起動します。

2.4.2. 設定

1. Eclipseのメニューから「Window」→「Preferences」を選択します。

2. 「Preferences」ダイアログが表示されるので、左側の一覧から「Android」を選択し ます。

3. 「Preferences」ダイアログの右側に Android 設定画面が表示されるので「SDK Location」に「C:\Program Files\Android\android-sdk」を入力し「OK」ボタンを押 下します。

2.5. エミュレータの作成と起動

1. Eclipseのメニューから「Window」→「Android SDK and AVD Manager」を選択 します。

2. 「Android SDK and AVD Manager 」ダイアログが開くので、左の一覧から

「Availabe Packages」を選択します。

3. 右側の「Android Repostory」にチェックを付け「Install Selected」ボタンを押下し ます。

4. 「Choose Packages to Install」ダイアログが開くので「Accept All」ラジオボック スにチェックを付け、「Install」ボタンを押下します。

5. 「Installing Archives」ダイアログが開きインストールが開始します。 6. 左の一覧から「Virtual devices」を選択し、「New」ボタンを押下します。 7. 「Create new Android Virtual Device (AVD)」ダイアログが表示されるので「表

事前準備(各種インストール)-2 AVD 設定内容」の内容を入力し、「Create AVD」を 押下します。

表 事前準備(各種インストール)-2 AVD 設定内容

名称 入力値 説明

Name 2.1_HVGA エミュレータの名前

Target Android 2.1 – update1 – API Level 7

ターゲットの OS

(9)

SD Card 32(MiB) エミュレータが使用するエミュレータ内 の仮想 SD カードの容量

Snapshot (チェックをつける) エミュレータのスナップショットの有

効・無効設定 Build-in

(Skin枠内)

HVGA 画面サイズ

※ 「Target」は Android2.1 にしていますが、現在市場に出回っている 2.x 系を搭載し ている端末が 2.1 以降となっているためです。Android3.x 系はそれほど出回って おらず、また、1.x 系の端末もほとんど見かけません。2.1 に設定しておくことで 、 2.2や 2.3 の端末でも動作させることができるはずですが、逆に 2.2 や 2.3 にする と 2.1 で動かない可能性があります。また、3.x や 1.x に選択するとこれも 2.x 系の 端末では動作しない可能性があります。

※ 画面の解像度を高くしすぎると、解像度が低い端末では内容が切れてしまうと言っ たことがあります。何かソフトを作る場合は、どのような端末で動作させたいのか を考えて設定してください。なるべく多くの端末でどうさせたいのであれば、本テ キストの通り設定することをおすすめします。

8. 作成したエミュレータ(AVD Name が「2.1_HVGA」となっている)を選択し、

「Start...」ボタンを押下します。

9. 「Launch Options」ダイアログが開くので、「Launch」ボタンを押下しエミュレータ を起動します。

※ 以下のチェックボックスにチェックをつけると、2 回目以降の起動時間が短縮され ます。

 Launch from snapshot

 Save to snapshot

エミュレータが起動したら「Create new Android Virtual Device (AVD)」画面は閉じ てしまってかまいません。

なお、エミュレータ起動時に「emulator: ERROR: no search paths found in this AVD's configuration.Weird, the AVD's config.ini file is malformed. Try re- creating it.」といったエラーメッセージが表示され、エミュレータが起動できない場合 があります。その場合、以下の対処を行うことで起動ができる場合があります。

1. 「C:\Documents and Setting\<ユーザ名>.android\avd」配下の AVD 名フォルダ (本書の場合は「2.1_HVGA.avd」フォルダ)を、日本語が含まれないパス(本書では

「C:\work」とします)にコピーします。

2. 「C:\Documents and Setting\<ユーザ名>.android\avd」配下の AVD 設定ファイ

(10)

ル(本書の場合は「2.1_HVGA.ini」ファイル)の target 項目の値を、1 でコピーした先 のパス(本書の場合は「C:\work\2.1_HVGA.avd」)に変更します。

(11)

3. 入門編

3.1. プロジェクト作成

サンプルアプリのプロジェクトを作成します。

1. Eclipseのメニューの「File」→「New」→「Other...」を選択します。

2. 「New」ダイアログが表示されるので「Wizards」下に表示されている一覧から

「Android」→「Android Project」を選択し「Next >」ボタンを押下します。 3. 「表 入門編-3 プロジェクト設定内容」の内容を入力し、「Finish」ボタンを押下しま

す。

表 入門編-3 プロジェクト設定内容

名称 入力値 説明

Project name Sample プロジェクト名 Build Target Android 2.1-

update1

ターゲット OS のバージョン

Application name

Sample アプリケーション名

Package name sample.androi d

パッケージ名

Create Activity SampleActivit y

アクティビティ名

3.2. Androidアプリを動かす

1. 「Package Explorer」ビューから「Sample」プロジェクトを右クリックし、「Run As」→「Android Application」を選択します。

2. エミュレータの画面に「Hello World, Sample!」が表示されます。

※ エミュレータを閉じてしまっていた場合は自動的にエミュレータが起動しますが、 アプリケーションが表示されるまでにはかなり時間がかかります。エミュレータは なるべく落とさないようにしてください。

※ 以下のエラーが発生する場合があります。

「Error generating final archive: Debug Certificate expired on 11/05/28 14:46」

これの場合、以下のファイルを削除することで解決できます。

C:\Documents and Settings\[ユーザ名]\.android\debug.keystore

(12)

3.3. 画面作成方法

ここでは画面の作成方法を紹介します。入門編 1 で作成したアプリにテキストフィールド、 ボタンを配置してみます。画面へのコンポーネントの配置はソースコードを書くことなく GUIエディタで配置することができます。

1. 「Package Explorer」ビューから「Sample」→「res」→「layout」フォルダ内にある、

「main.xml」を開きます。

2. Android画面用のエディタが開くので、右上の選択ボックスから「 Android 2.1- update1」を選択します。

3. 左上の選択ボックスから「3.2in HVGA slider (ADP1)」を選択します。

4. 左の「Palette」から「Form Widgets」を選択し、その中にある、「Button」をドラッグ アンドドロップで右側の黒い画面内の「Hello World, Sample!」という文字列が表 示されている下に配置します。

5. 左の「Palette」から「Text Fields」を選択し、その中にある、「PlainText」をドラッグ アンドドロップで、4 で配置した Button の下に配置します。

6. 左の「Palette」から「Form Widgets」を選択し、その中にある、「Button」をドラッグ アンドドロップで、5 で配置した Text Fields の下に配置します。

7. Ctrl + S キーを押下し、変更を保存します。

8. 「2.5 エミュレータの作成と起動」の方法で、アプリを動かしてください。作成したと おりの画面が表示されます。

3.4. コンポーネントの使い方 1

コンポーネント(Button や TextView など)オブジェクトの取得方法やイベント処理の方法 について見ていきます。

3.4.1. コンポーネントオブジェクトの取得方法

コンポーネントオブジェクトは以下の方法で取得できます。 Xxxx component = (Xxxx) findViewById(R.id.yyyy);

※ Xxxx はコンポーネントのクラスを指定します。例えば Button なら Button を指定 します。

※ yyyy はコンポーネントの ID を指定します。

(13)

3.4.2. Buttonイベント(クリック時)の処理

component.setOnClickListener(new View.OnClickListener() { public void onClick(View v) {

// クリック時の処理を記述 }

});

3.4.3. TextViewの文字変更方法 component.setText(xxx);

※ xxx は変更する文字列を指定します。

3.4.4. EditTextの文字取得方法 String txt = component.getText();

3.5. コンポーネントの使い方 2

「3.4 コンポーネントの使い方 1」を踏まえて、「3.3 画面作成方法」で配置した画面に対して、 2つめの Button を押下した際、が EditText に入力した文字を TextView に表示してみます。 1. 「Package Explorer」ビューから「Sample」→「res」→「layout」フォルダ内にある、

「main.xml」を開きます。

2. TextViewコンポーネントを右クリックし、「EditID」を選択します。

3. 「android.widget.EditText」ダイアログが開くので「New Id」入力フィールドに

「textView1」と入力し「OK」ボタンを押下します。 4. Ctrl + S キーを押下し、変更を保存します。

5. 「Package Explorer」ビューから「Sample」→「src」→「sample.android」フォルダ 内にある、「SampleActivity.java」を開きます。

6. Sampleクラスの onCreate メソッドを以下のとおり変更します。

(14)

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.main);

Button button = (Button) findViewById(R.id.button2);

// ボタンがクリックされた時に呼び出されるコールバックリスナーを登録します button.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

// idが editText のコンポーネントを取得します。

EditText editTtext = (EditText) findViewById(R.id.editText1); // idが text のコンポーネントを取得します。

TextView text = (TextView) findViewById(R.id.textView1);

// idが text のコンポーネントの内容に id が editText の内容を設定します。 text.setText(editTtext.getText());

} }); }

7. Ctrl + Shift + O キーを押下し、パッケージの解決を行います。 8. Ctrl + S キーを押下し、変更を保存します。

「■Android アプリを動かす」の方法で、アプリを動かしてください。

作成したとおりの画面が表示されます。また、2 つめの Button を押下した際、 が EditText に入力した文字を TextView にも表示されます。

(15)

4. 応用編

ここでは作成した画面を基に簡単な Twitter クライアントを作成してみます。

※ 1 つ目の Button

 押下することで、TextView に表示されたタイムラインを更新

※ 2 つ目の Button

 押下することで、EditText の内容をツイート

4.1. 準備 1 – Twitter クライアント情報登録 -

独自 Twitter クライアントを作成するには独自クライアントの認証が必要です。 認証方式は 2 つ(OAuth/xAuth)が今回は OAuth 認証を利用することとします。

あらかじめ Twitter サイトでクライアントの情報を登録し、Consumer key と Consumer secretを取得します。

1. 以下のサイトにアクセスしてください。 https://dev.twitter.com/apps/

2. 自分の Twitter アカウントでログインしてください。現在の自分のアカウントを利用 したくない人やアカウントを持っていない場合は新たにアカウントを登録してから 、 そのアカウントでログインしてください。

3. 「Register a new application ≫」リンクを押下します。

4. 「表 応用編-4 Twitter クライアント情報設定内容」の内容を入力し、「保存」ボタン を押下します。「表 応用編-4 Twitter クライアント情報設定内容」以外は空欄でか まいません。

表 応用編-4 Twitter クライアント情報設定内容

名称 入力値 説明

Application Name

SampleClient Twitterクライアントの名前を入力します。自 分の好きな名前でかまいません。

Description Twitterク ラ イ ア ント

Twitterクライアントの説明を入力します。 何でもかまいません。

Application Website

http://example.j p/

Twitterクライアントのホームページを入力し ます。ホームページを持っていなくても何かし らアドレスを入力してください。

Application Type

Browser アプリケーションの種別を入力します。今回は

必ず Browser を選択してください。 Callback URL http://example.j

p/

認証に成功した際に移動する URL を入力しま す。今回のクライアントはこの URL は利用し

(16)

ませんが、必ず何かしら URL を指定してくだ さい。

Default Access type

Read & Write アプリケーションがアクセス出来る権限を指 定します。今回は「Read & Write」を選択して ください。

※ コンシューマー・キー、コンシューマー・シークレットは後で利用するため、ブラ ウザの画面をそのまま開いておくか、メモをしておいてください。

4.2. 準備 2 Twitter クライアント用ライブラリ登録 –

TwitterAPIを利用するためにライブラリをプロジェクトに追加する必要があります。 1. 以下のサイトにアクセスしてください。

http://twitter4j.org/ja/index.html

2. 「twitter4j-android-2.2.3.zip」リンクを押下し、ファイルをダウンロードします。 3. 2.でダウンロードしたファイルを解凍します。

4. 解 凍 し た フ ォ ル ダ 内 の 「 lib/twitter4j-core-android-2.2.3.jar 」 を Eclipse の Sampleプロジェクトに配置します。

5. Eclipseの「Package Explorer」ビューから「twitter4j-core-android-2.2.3.jar」を 右クリックし、「Buile Path」→「Add to Build Path」を選択します。

4.3. 認証

ツイートをする前にあらかじめ認証を行う必要があります。ブラウザで認証用の URL にア クセスして認証を行います。

1. 認証画面を開くため、以下の処理を SampleActivity クラスに記述する。

(17)

// 準備 1 で取得したコンシューマー・キーを入れてください。 public static final String CONSUMER_KEY = "XXX";

// 準備 1 で取得したコンシューマー・シークレットを入れてください。 public static final String CONSUMER_SECRET = "XXX";

// 何でもかまいませんが、認証後に呼び出される画面の URL を

// 入力することになります。 URI 形式でかつプロトコルはオリジナルである必要があります。 // 例 え ば プ ロ ト コ ル に http を 指 定 す る と 、 認 証 後 に 画 面 が ア プ リ に 戻 ら ず 、 指 定 し た CALLBACK_URL

// ブラウザが開こうとしてしまいます。

public static final String CALLBACK_URL = "myapp://sample"; private OAuthAuthorization oauth;

private void oauth() {

// 以下 twitter4j を利用して認証画面 URL を生成するための為の処理となります。解説は省略し ます。

ConfigurationBuilder builder = new ConfigurationBuilder(); builder.setOAuthConsumerKey(CONSUMER_KEY);

builder.setOAuthConsumerSecret(CONSUMER_SECRET); Configuration conf = builder.build();

this.oauth = new OAuthAuthorization(conf); this.oauth.setOAuthAccessToken(null); String authUrl = null;

(18)

try {

authUrl = this.oauth.getOAuthRequestToken(CALLBACK_URL) .getAuthorizationURL();

} catch (Exception e) {

Log.e("oauth", e.toString(), e); return;

}

// androidアプリが authUrl をブラウザで開く為の処理となります。

// インテントという仕組みを使うことで、ブラウザ以外のアプリケーションも開くことが可能で す。

// 今回は URI の schema が http なのでブラウザが開きますが、パラメータの指定方法はいろい ろあります。

// 以下のサイトも参考になります。

// http://d.hatena.ne.jp/unagi_brandnew/20100309/1268115942 Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl)); startActivity(intent);

}

2. onCreateメソッドを以下の内容に変更します。 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.main); oauth();

}

3. Ctrl + Shift + O キーを押下し、パッケージの解決を行います。「Organaize Imports」ダイアログが開くので、「android.util.Log」を選択し「Next」ボタンを、

「twitter4j.conf.Configuration」を選択し「Finsh」ボタンを押下してください。 4. Ctrl + S キーを押下し、変更を保存します。

4.4. パーミッション

インターネットにアクセスするために INTERNET パーミッションを設定する必要がありま す。

1. AndroidManifest.xmlを開きます。

(19)

す。

3. ダイアログが開くので「Uses Permission」を選択し、「OK」ボタンを押下します。 4. 「 Attributes for Uses Permission 」 エ リ ア の 「 Name 」 欄 に

「android.permission.INTERNET」を設定します。 5. Ctrl + s キーを押下し、ファイルを保存します。

4.5. 認証後の受付

認証後のコールバックを受け付けるようにします。ブラウザもインテントという仕組みで コールバック URL をアプリに渡します。

CALLBACK_URLで指定したプロトコルから呼ばれるようにするには Intent Filter を設定 する必要があります。

1. インテントを受け付ける為に onNewIntent メソッドを以下の通りオーバーライド します。

private Twitter twitter;

@Override

protected void onNewIntent(Intent intent) { super.onNewIntent(intent);

// コールバック URL とパラメータに認証情報が付加されてきます。 Uri uri = intent.getData();

// 本アプリで指定した CALLBACK_URL で始まる場合は認証情報を解析して、twitter4j 用のイ ンスタンスを生成します。

if (uri != null && uri.toString().startsWith(CALLBACK_URL)) { String verifier = uri.getQueryParameter("oauth_verifier");

(20)

try {

AccessToken accessToken = this.oauth.getOAuthAccessToken(verifier); String token = accessToken.getToken();

String tokenSecret = accessToken.getTokenSecret(); ConfigurationBuilder builder = new ConfigurationBuilder(); builder.setOAuthConsumerKey(CONSUMER_KEY);

builder.setOAuthConsumerSecret(CONSUMER_SECRET); builder.setOAuthAccessToken(token);

builder.setOAuthAccessTokenSecret(tokenSecret); Configuration conf = builder.build();

TwitterFactory twitterFactory = new TwitterFactory(conf); this.twitter = twitterFactory.getInstance();

} catch (Exception e) {

Log.e("onNewIntent", e.toString(), e); }

} }

2. Ctrl + Shift + O キーを押下し、パッケージの解決を行います。 3. Ctrl + s キーを押下し、ファイルを保存します。

4. AndroidManifest.xmlを開きます。

5. 「Application」タブを選択し、「Application Nodes」エリアの「.SampleActivity」 を選択し、「Attributes for .SampleActivity」エリアの「Launch mode」から

「singleTask」を選択します。

6. 「Application Nodes」エリアの「.SampleActivity」を選択し、「Add...」ボタンを押 下します。

7. ダイアログが開くので「Intent Filter」を選択し、「OK」ボタンを押下します。 8. 追加した「Intent Filter」が選択された状態になるので、さらに「Add...」ボタンを押

下します。

9. 「Action」を選択し、「OK」ボタンを押下します。

10. 追加した「Action」が選択された状態になるので、「Attributes for Action」エリアの

「Name」から「android.intent.action.VIEW」を選択します。

11. 7で追加した「Intent Filter」を選択し、「Add...」ボタンを押下します。 12. 「Category」を選択し、「OK」ボタンを押下します。

13. 追加した「Category」が選択された状態になるので、「Attributes for Category」エ

(21)

14. 7で追加した「Intent Filter」を選択し、「Add...」ボタンを押下します。 15. 「Category」を選択し、「OK」ボタンを押下します。

16. 追加した「Category」が選択された状態になるので、「Attributes for Category」エ リアの「Name」から「android.intent.category.BROWSABLE」を選択します。 17. 7で追加した「Intent Filter」が選択し、「Add...」ボタンを押下します。

18. 「Data」を選択し、「OK」ボタンを押下します。

19. 追加した「Data」が選択された状態になるので、「Attributes for Data」エリアの

「Scheme」に「myapp」を入力し、「Host」に「sample」を入力します。 20. Ctrl + s キーを押下し、ファイルを保存します。

4.6. ツイート

1. main.xmlを開き、2 つめの Button コンポーネントを右クリックし、「EditText」を 選択します。

2. 「Resource Chooser」ダイアログが開くので、「New String...」ボタンを押下します。 3. 「Create New Android String」ダイアログが開くので、「New String」エリアの

「String」に「tweet」を入力し、「New R.string.」に「tweet」を入力し、「OK」ボタン を押下します。

4. 「Resource Chooser」ダイアログに戻るので「tweet」を選択し、「OK」ボタンを押下 します。

5. 2つめの Button コンポーネントを右クリックし、「EditId」を選択します。 6. 「android.widget.Button」ダイアログが開くので、「New Id:」欄を「tweet」に置

き換え、「OK」ボタンを押下します。

7. EditTextコンポーネントを右クリックし、「EditText」を選択します。

8. 「Resource Chooser」ダイアログが開くので、「New String...」ボタンを押下します。 9. 「Create New Android String」ダイアログが開くので、「New String」エリアの

「String」を未入力とし、「New R.string.」に「empty」を入力し、「OK」ボタンを押下 します。

10.「Resource Chooser」ダイアログに戻るので「empty」を選択し、「OK」ボタンを押 下します。

11. EditTextコンポーネントを右クリックし、「EditId」を選択します。

12. 「 android.widget.TextView 」 ダ イ ア ロ グ が 開 く の で 、 「 New Id : 」 欄 を

「tweetText」に置き換え、「OK」ボタンを押下します。 13. Ctrl + S キーを押下し、変更を保存します。

14. Sampleクラスを開き、「onCreate」メソッドの最後に以下の内容を追加します。

(22)

Button button = (Button) findViewById(R.id.tweet);

// ボタンがクリックされた時に呼び出されるコールバックリスナーを登録します button.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) { try {

// idが tweetText のコンポーネントを取得します。

EditText editText = (EditText) findViewById(R.id.tweetText); // idが tweetText のコンポーネント内容をつぶやきます。 twitter.updateStatus(editText.getText().toString()); // idが tweetText のコンポーネントの内容をクリアします。 editText.setText("");

} catch (TwitterException e) { Log.e("", e.toString(), e); }

} });

15. Ctrl + Shift + O キーを押下し、パッケージの解決を行います。 16. Ctrl + S キーを押下し、変更を保存します。

4.7. タイムライン更新

1. main.xmlを開き、1 つめの Button コンポーネントを右クリックし、「EditText」を 選択します。

2. 「Resource Chooser」ダイアログが開くので、「New String...」ボタンを押下します。 3. 「Create New Android String」ダイアログが開くので、「New String」エリアの

「String」に「refresh」を入力し、「New R.string.」に「refresh」を入力し、「OK」ボタ ンを押下します。

4. 「Resource Chooser」ダイアログに戻るので「refresh」を選択し、「OK」ボタンを押 下します。

5. 1つめの Button コンポーネントを右クリックし、「EditId」を選択します。 6. 「android.widget.Button」ダイアログが開くので、「New Id:」欄を「refresh」に置

き換え、「OK」ボタンを押下します。

7. TextViewコンポーネントを右クリックし、「EditText」を選択します。

(23)

下します。

9. TextViewコンポーネントを右クリックし、「EditId」を選択します。※ 右クリックで きない場合は、「Outline」ビューの TextView コンポーネントを右クリックしてくだ さい。

10.「android.widget.TextView」ダイアログが開くので、「New Id:」欄を「text」に置 き換え、「OK」ボタンを押下します。

11. Ctrl + S キーを押下し、変更を保存します。

12. SampleActivityクラスを開き、「onCreate」メソッドの最後に以下の内容を追加し ます。

button = (Button) findViewById(R.id.refresh);

// ボタンがクリックされた時に呼び出されるコールバックリスナーを登録します button.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) { try {

// タイムラインの一覧を取得

ResponseList<Status> list = twitter.getFriendsTimeline(); // idが text のコンポーネントを取得します。

TextView text = (TextView) findViewById(R.id.text);

(24)

// タイムラインに一つも内容がない場合 if (list.size() == 0) {

// idが text のコンポーネントの内容をクリアします。 text.setText("");

return; }

// タイムラインの最新のつぶやき情報を取得します。 Status status = list.get(0);

// idが text のコンポーネントの内容に最新のつぶやきの内容を設定します。 text.setText(status.getText());

} catch (TwitterException e) { Log.e("", e.toString()); }

} });

13. Ctrl + Shift + O キーを押下し、パッケージの解決を行います。※ 「Organaize Imports」ダイアログが開くので、「twitter4j.Status」を選択し「Finsh」ボタンを押 下してください。

14. Ctrl + S キーを押下し、変更を保存します。

15. 「2.5 エミュレータの作成と起動」の方法で、アプリを動かしてください。

(25)

5. 復習

5.1. ブラウザとの連携 5.1.1. ブラウザを開く

1. ブラウザを呼び出して指定の URL を開く為には以下の通り記述します。 Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(xxx));

startActivity(intent);

※ xxx にはブラウザで開く URL を指定します。

2. イ ン タ ー ネ ッ ト に ア ク セ ス す る 為 に 、 以 下 の パ ー ミ ッ シ ョ ン を AndroidManifest.xmlに記述します。

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

5.1.2. (ブラウザから)コールバック

1. コールバックを受けるメソッド onNewIntent メソッドをオーバーライドします。

@Override

protected void onNewIntent(Intent intent) { Uri uri = intent.getData();

// 実施したい処理を記述 }

※ uri はブラウザから指定された uri が設定されます。

※ インテントはブラウザ独自ではなく Android の仕組みとして提供されていますので、 ブラウザ以外からも呼び出されることがあります。

2. ブ ラ ウ ザ か ら コ ー ル バ ッ ク を 受 け る 為 に 、 以 下 の Intent Filter を AndroidManifest.xmlに記述します。

<intent-filter>

<action android:name="android.intent.action.VIEW"></action>

<category android:name="android.intent.category.DEFAULT"></category> <category android:name="android.intent.category.BROWSABLE"></category> <data android:host="xxx" android:scheme="yyy"></data>

</intent-filter>

※ xxx にはブラウザからコールバックを受けつける URL のプロトコル部分を指定します。

※ yyy にはブラウザからコールバックを受けつける URL のプロトコルホスト部分を指定 します。

(26)

5.2. 画面作成

main.xmlを開き、GUI エディタで編集します。

5.3. コンポーネント

5.3.1. コンポーネントオブジェクトの取得方法 Xxxx component = (Xxxx) findViewById(R.id.yyyy);

※ Xxxx はコンポーネントのクラスを指定します。例えば Button なら Button を指定し ます。

※ yyyy はコンポーネントの ID を指定します。

5.3.2. Buttonイベント(クリック時)の処理

component.setOnClickListener(new View.OnClickListener() { public void onClick(View v) {

// クリック時の処理を記述 }

});

5.3.3. TextViewの文字変更方法 component.setText(xxx);

※ xxx は変更する文字列を指定します。

5.3.4. EditTextの文字取得方法 String txt = component.getText()

6. 便利(うれしくなる?)プラグインの紹介

 JStyle

 改行文字およびスペースを表示するためのプラグインです。また、太字を通常幅の 文字と同じ幅で表示することも出来ます。※ 通常は固定幅フォントを指定しても、 太字の場合は通常幅の文字よりも幅が広くなります。

(27)

 Pleiades

 Eclipseを日本語化するプラグインです。

http://mergedoc.sourceforge.jp/index.html#pleiades.html

参照

関連したドキュメント

MENU キーを 3 秒間押して設定モードに入ります。次に ( DISP ) キーと ( FUNC ) キー を同時に 3

回転に対応したアプリを表示中に本機の向きを変えると、 が表 示されます。 をタップすると、縦画面/横画面に切り替わりま

QRコード読込画面 が表示されたら、表 示された画面を選択 してウインドウをアク ティブな状態にした 上で、QRコードリー

えて リア 会を設 したのです そして、 リア で 会を開 して、そこに 者を 込 ような仕 けをしました そして 会を必 開 して、オブザーバーにも必 の けをし ます

ダウンロードしたファイルを 解凍して自動作成ツール (StartPro2018.exe) を起動します。.

工場設備の計測装置(燃料ガス発熱量計)と表示装置(新たに設置した燃料ガス 発熱量計)における燃料ガス発熱量を比較した結果を図 4-2-1-5 に示す。図

パキロビッドパックを処方入力の上、 F8特殊指示 →「(治)」 の列に 「1:する」 を入力して F9更新 を押下してください。.. 備考欄に「治」と登録されます。

なお、保育所についてはもう一つの視点として、横軸を「園児一人あたりの芝生