SlideShare a Scribd company logo
1 of 319
Androidアプリケーション開発
入門トレーニング

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

1
Ver2.00(03)
テキストのご利用に関して
・本コースのテキストは、Creative Commons License BY-NC-SA
4.0のもとで提供されます。OESF会員またはコンソーシアムメン
バーでない限り、改変の有無にかかわらず、いかなる形態において
も商用目的での利用は禁止されています。
・本教育プログラムは、その中で提供される教材全てを含め、OESF
からのいかなる保証もなしに提供されます。OESFは、本コースの
内容またはコースの詳細な情報を使用することに起因して、または
誤って使用することに起因して何らかの障害や法的な行為が生じて
も、いかなる責任も負いません。

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

2
トレーニングの目的
• Android上で動作するアプリケーションの開発に
必要な知識を身につける
–
–
–
–

Androidが提供する機能
開発環境
開発ツールの使用方法
アプリケーションの実行方法、デバッグ方法

• 演習を通して、アプリケーション開発を体験する

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

3
トレーニングスケジュール
• 1日目
–
–
–
–

1章 Androidとは
2章 Androidアプリケーションのアーキテクチャ
3章 開発環境の準備
4章 チュートリアル

• 2日目
– 5章 演習
– 6章 トレーニングのまとめ

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

4
受講するに当たって必要なスキル
• Java言語の経験がある事
– 2日目の演習では、実際にJavaでプログラミングを行い
ます
– 基本的なJavaの言語仕様について理解があれば問題あ
りません

• Eclipseを使用した経験がある事
– 演習ではEclipseを使用してプログラミングを実施しま
す

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

5
1. Androidとは

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

6
1章の概要
•
•
•
•
•
•

Androidとは?
Androidが注目される理由
Androidで何ができるの?
技術的側面からみたAndroid
アプリケーション開発に必要な環境
アプリケーションの配布方法

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

7
1.1.Androidとは?
• Androidとは
– 携帯端末用プラットフォームである
– 主に携帯電話のプラットフォームとして利用されてい
る

• Androidの歴史
日付
内容
2003年10月

Android社発足

2005年 8月

GoogleがAndroid社を買収

2007年11月

Open Handset Allience(OHA)が発足
開発ツール Android SDK 1.0 リリース

2008年10月

世界初のAndroid搭載スマートフォン 「T-Mobile G1」 発売

2009年 4月

開発ツール Android SDK 1.5r1 リリース

2009年 5月

開発ツール Android SDK 1.5r2 リリース

2009年 7月

NTTドコモより、日本国内初のAndroid携帯 「HT-03A」発売
開発ツール Android SDK 1.5r3 発表
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

8
1.1.Androidとは?
続き
日付

内容

2009年 9月

開発ツール Android SDK 1.6 発表

2009年10月

開発ツール Android SDK 2.0 発表

2010年 1月

開発ツール Android SDK 2.1 発表

2010年 5月

開発ツール Android SDK 2.2 発表

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

9
1.1.Androidとは?
• Androidに関する主な組織
団体名
Open Handset
Alliance
(OHA)

Open Embeded
Software Foundation
(OESF)

説明
• Androidの普及促進を目的に設立された団体。対応
端末・ソフトウェアの開発、サービスの普及活動
を行う
• Androidの仕様策定、成果物の管理はOHAによって
行われている
• T-mobile(米)、Motorola(米)、NTTドコモ(日) 等、71
社が参加(2010年5月現在)
• http://www.openhandsetalliance.com/index.html

• Androidをベースにした組み込みシステムの共通フ
レームワーク、プラットフォームの開発と普及を
目的として設立された団体
• 事業分野に応じて組織されたワーキンググループ
を中心に活動をしている
• 75社が参加(2010年5月現在)
This • http://www.oesf.jp/
material is licensed under the Creative
10
Commons License BY-NC-SA 4.0.
1.2.Androidが注目される理由
• 今、Androidが注目されている
– どれくらい注目されているか?
• Androidを搭載するハードウェアが続々発表されている
ハードウェア

概要

携帯電話

2009年5月 NTTドコモ HT-03A(HTC Magic)発売
2009年6月 HTC(台) HTC Hero発表
2009年7月 T-Mobile myTouch 3G発売

2010年1月 Google NEXUS ONE発表
2010年4月 NTTドコモ Xperia発表
メディアプレイヤ

クリエイティブ Zii EGGを発表

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

11
1.2.Androidが注目される理由
• 今、Androidが注目されている
– どれくらい注目されているか?
• “Android”のWeb検索件数が2008年後半から増加している
(Google Trend調べ)
■主な出来事
A: T-Mobile G1発表
Android Marketオープン
B: OHAがAndroid SDK 2.0リリース
C: Google Nexus One発表
D: ソニーエリクソン Xperia X10の
小型版発表
E: マイクロソフトがAndroidを
特許侵害と非難

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

12
1.2.Androidが注目される理由
• Androidが注目される4つの理由
1. Androidは無償で使用できる為、プラットフォーム開
発コストの削減が期待されている
2. 開発ツール、技術ドキュメント、ソースコードを誰
でも無償で入手する事ができる
3. Java SEを知っていれば学習コストが低い
4. 携帯電話以外の組込み開発分野へ展開されている

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

13
1.2.Androidが注目される理由
• Androidは無償で使用できる為、プラットフォー
ム開発コストの削減が期待されている
– Androidをプラットフォームに採用する事で、プラット
フォーム開発費の削減が期待されている
※ドライバ等のハードウェアに依存するソフトウェアは開発が必要
削減されるコス
ト

アプリケーション開発費
プラットフォーム開発費
ハードウェア開発費

Android採用前

Android採用後

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

14
1.2.Androidが注目される理由
• 開発ツール、技術ドキュメント、ソースコードを
誰でも無償で入手する事ができる
– AndroidはApache License 2.0ライセンスの下、ドキュメ
ント、プログラムソースがオープンに公開されている
• ドライバ、GoogleMapsAPIのようなプロプリエタリなモジュー
ルは、ソースの提供はされていない

– 開発ツールはOHAより無償で入手できる

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

15
1.2.Androidが注目される理由
• Java SEを知っていれば学習コストが低い
– AndroidアプリケーションはJava SEで開発できる為、
Javaの言語仕様を知っていれば、開発言語に関する学
習は必要ない
– AndroidアプリケーションはEclipseを使用できる為、
Eclipseを使用したことのある開発者であれば開発ツー
ルの使用方法を学習するコストは低い

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

16
1.2.Androidが注目される理由
• 携帯電話以外の組込み開発分野へ展開されている
– 携帯電話以外の機器での利用が研究開発されている
• 携帯電話以外にAndroidが移植されているハードウェア
– ネットブック
– ナビゲーションシステム(カーナビ等)
– TVレコーダ(デジタル放送録画・再生)
– その他デジタル家電
» 組込みシステム開発技術展(ESEC2010)で多数展示

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

17
1.3.Androidで何ができるの?
• 開発者はAndroidが提供する以下の機能を利用し
たアプリケーションを作成する事ができる
– フルブラウザによるWebサイトの閲覧
– 2D/3Dグラフィックスの描画
– 音声、映像、静止画メディアの表示・再生
• 対応フォーマット(MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、
GIF)

–
–
–
–
–
–

GSM(2G)、 3Gによる音声通話
Bluetooth、EDGE、WiFiによるデータ通信
カメラ(静止画/動画)
GPS
各種センサー
SQLiteによるデータストレージ
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

18
1.3.Androidで何ができるの?
• Androidで制御可能なセンサー装置
#

センサー名

概要

1 加速度センサー

加速度を検知する

2 傾きセンサー

方位角、傾斜角(水平状態の上下傾き)、回転角
(水平状態の左右傾き)を検知する

3 温度センサー

温度を検知する

4 磁気センサー

磁場を検知する

5 明るさセンサー

明るさを検知する

6 接近センサー

対象物との距離を検知する

7 ジャイロスコープ

角速度を検知する

8 圧力センサー

実機に対してかけられた圧力を検知する

※センサーの利用にはハードウェアの対応が必要
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

19
1.3.Androidで何ができるの?
• Androidアプリケーションの紹介

Webブラウザ

電話

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

Google Maps

20
1.3.Androidで何ができるの?
– Webサービスを利用したもの
1.

天気情報表示
– Google Weather APIを使用して天気
情報を表示
①

– 日本語入力(IME)
2.

simeji
– フリック入力を可能にするソフトウ
ェアキーボード

※ フリック入力とは、ソフトウェアキーボードの
キーを
スライドすることで入力文字を選択する入力方
法のこと
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

② 21
1.3.Androidで何ができるの?
– センサーを利用したもの
3.

Google Sky Map
–

4.

傾きセンサー、磁気センサーを
使用して端末を向けている方向
の星空を表示
Labyrinth Lite
– 傾きセンサーを使用したゲーム

③

– カメラを利用したもの
5.

Layer
– カメラで写した実際の映像上に
デジタル情報を表示するブラウ
ザ
④
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

⑤
22
1.4.技術的側面から見たAndroid
• Androidアプリケーションが動作する環境
– AndroidアプリケーションはAndroidランタイムという仮
想マシンの上で動作する
– Androidランタイムの実行基盤としてLinuxを採用してい
る為、アプリケーションはLinux上で動作している
ソフトウェア(Androidプラットフォーム)
アプリケーション

アプリケーション

Androidランタイム
Linuxカーネル

ハードウェア
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

23
1.4.技術的側面から見たAndroid
• Androidは5つの要素で構成されている
Androidの構成要素
アプリ
ケーショ
ン

⑤

Home

アド
レス

電話

アプリ
ケー
ショ
ン

ブラウザ

アプリ
ケーショ
ンフレームワーク

④

アクティ
ビ
ティ

ウィ ウ
ンド
マネージャ

コンテンツ
プロバイダ

ビュー
システム

通知
マネージャ

パッ
ケージ
マネージャ

電話
マネージャ

リ
ソース
マネージャ

位置
マネージャ

ラ ブラ
イ リ

②

サーフェ
ス
マネージャ

メ ア
ディ
フ
レームワーク

SSL

センサー
マネージャ

Androidラ イ
ンタ ム

libc

SQLite

OpenGL |ES

FreeType

WebKit

SGL

コア
ライブラリ

Dalvik VM

Linuxカ
ーネル

①
ディ
スプレイ
ド
ライバ

Bluetooth
ド
ライバ

カメ
ラ
ド
ライバ

フ ッ
ラ シュメ
モリ
ド イ
ラ バ

バインダ
(
IRC)

キーパッ
ド
ド
ライバ

USBド
ライバ

WiFiド
ライバ

オーディ
オ
ド
ライバ

電源管理

ハード ア
ウェ

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

24

③
1.4.技術的側面から見たAndroid
• 構成要素の概要
①.Linuxカーネル
• Linux 2.6をベースにAndroid用の変更を加えたLinuxカーネル
• アプリケーションが動作する為に必要な機能を提供しており、ハード
ウェアドライバを含んでいる

②.ライブラリ
• C/C++で作成されたライブラリ
– Webkit(Webブラウザ描画)、SQLite(データベース)、OpenGL/SE(3D描画)等

• アプリケーションが、アプリケーションフレームワーク経由で使用す
る

③.Androidランタイム
• Androidアプリケーションの実行環境
• Androidで使用するJavaのコアライブラリ、実行環境である仮想マシン
(Dalvik VM)が含まれる
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

25
1.4.技術的側面から見たAndroid
• 構成要素の概要
④.アプリケーションフレームワーク
• アプリケーションの動作やライブラリを使用する為に必要なJava API
を提供する

⑤.アプリケーション
• アプリケーションフレームワークを使用して開発されたAndroidアプ
リケーション
– 具体例として、電話、Webブラウザ、アドレス帳

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

26
1.4.技術的側面から見たAndroid
• 携帯端末を想定した軽量な実行環境
– Dalvik仮想マシン(Dalvik VM)
• メモリの少ない環境に最適化されたJava VM
– Googleが独自開発した仮想マシン
– メモリの少ない環境でも複数のアプリケーションを同時実行でき
るように設計されている

– Dalvik実行形式フォーマット(.dex)
• Dalvik VMでは標準の.class、.jarを.dexに変換して実行
• .classに比べ、稼働時の使用メモリサイズが小さい
Java VM

.class

Dalvik VM
変換

.dex
.jar
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

27
1.4.技術的側面から見たAndroid
– Dalvik VM と Java VM には互換性がない
• 実行ファイルのバイナリ形式が異なる
– Dalvik VM上では、.class、.jar形式のファイルは実行できない
– Java VM上では、.dex形式のファイルは実行できない

Java VM

Dalvik VM

.class

.dex
.jar

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

28
1.4.技術的側面から見たAndroid
• 従来の携帯アプリケーションに比べて制限が少ない為、
PC上で動作するJavaアプリケーションに近い
iアプリ(Doja-5.x)※1

Androidアプリケーション

Javaのサポート

Java ME

Java SE

アプリケーショ
ン
サイズ制限

1MB(機種により異なる)

特になし

ヒープメモリ制
限

6MB~15MB(機種により異な
る)

16MB(SDKの設定値)※2

通信制限

アプリケーションダウンロード
先以外通信不可

特になし

HTTP通信サイズ
制限

リクエストボディ:80KB
レスポンスボディ:150KB

特になし

クッキー

2009年夏モデルより利用可

利用可

文字コード

SJIS

UTF-8

※1 iアプリコンテンツ開発ガイド for DoJa-5.x/5.x LE~ 詳細編 ~ 第3.00版
ScratchPad
永続化方法
ファイル、SQLite
※2 SDKでのデフォルトの設定値となり、機種ごとに変更される場合がある。例えばNexus Oneは24MBである。
This material is licensed under the Creative
29
Commons License BY-NC-SA 4.0.
1.5. アプリケーション開発に必要な環
境
項目

必要な環境

OS

Windows XP, Windows Vista(32 / 64 bit)
Mac OS X 10.5.8以降(x86のみ)
Linux(Ubuntu Hardy Herson にてテスト済)

Java SDK

Java SDK 5, Java SDK 6

Android開発ツール

Android SDK

統合開発環境

Eclipse 3.4 (Ganymede), 3.5 (Galileo),

Android Development Tools(ADT) Plug-in
テキストベース
開発環境

Apache Ant(Windows版は1.7, Mac/Linux版は1.6.5以降)

 実機は必須ではない。開発用にエミュレータが用意されている
 エミュレータではセンサー等、一部利用できないものがある

詳細は http://developer.android.com/intl/ja/sdk/requirements.html
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

30
1.6. アプリケーションの配布方法
• アプリケーションを配布する方法は大きく2つあ
る
– Android Marketから配布する方法
– Android Marketを使用せずに配布する方法
※Android Marketとは?
– Androidアプリケーションの配布・販売を目的としたサイト
– Androidアプリケーションの配布には一般的な方法

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

31
1.6. アプリケーションの配布方法
• Android Marketから配布する方法
– 配布手順
1.

Android Marketに開発者アカウント登録を行う
– 開発者アカウントの登録には、Googleアカウントが必要

2.

アプリケーションの電子証明書を作成する※1
– 証明書の作成にはKeytool(Java SDK同梱)※2を使用する

3.

アプリケーションにデジタル署名する※1
– デジタル署名を行うにはjarsigner (Java SDK同梱)※2を使用する

4.

Android Marketにアプリケーションをアップロードする
※1 Eclipseの機能で証明書の作成、署名を行うことができる
※2 各ツールの使用方法については、ツールのマニュアルを参照

– 必要なもの
•

Googleアカウント
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

32
1.6. アプリケーションの配布方法
• Android Marketから配布する方法
– Android Marketに開発者アカウントを登録する手順
1.

開発者登録サイトから、開発者プロフィールの登録を行う
– 登録サイト
» http://market.android.com/publish/signup

– 入力するプロフィール項目
»
»
»
»

2.
3.

名前
メールアドレス(Google アカウントが必要)
WebサイトURL
電話番号

登録料($25)を支払う
– 支払はGoogle Checkoutからクレジットカードでのみ可能
配布契約書に同意する
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

33
1.6. アプリケーションの配布方法
• Android Marketを使用せずに配布する方法
– アプリケーションファイルを直接配布する
• 配布例
– ホームページでファイルを配布する
– CD、USBメモリ等でファイルを配布する
– LAN環境等のネットワーク上でファイルを配布する

• 配布手順
1.
2.
3.

アプリケーションの電子証明書を作成する
アプリケーションにデジタル署名する
アプリケーションファイルを配布する

• インストール方法
1.
2.

Android端末でファイルをダウンロードしてインストールする
パソコンとAndroid端末をUSB接続し、インストールコマンドを
使用してインストールする
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

34
1.6. アプリケーションの配布方法
• Android Marketを使用せずに配布する方法
– インストール方法①
Android端末でアプリケーションファイルをダウンロードしてイン
ストールする
• 手順
1. Android端末のブラウザでアプリケーションファイルをダウンロー
ドする
2. ダウンロード完了後、ダウンロード履歴からアプリケーションフ
ァイルをクリックする
3. インストール確認画面から”Install”を押す

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

35
1.6. アプリケーションの配布方法
• Android Marketを使用せずに配布する方法
– インストール方法①

ファイルをク
リックする

ダウンロード
ファイルをク
リックする
Installボタンを
クリックする

手順1

手順2
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

手順3
36
1.6. アプリケーションの配布方法
• Android Marketを使用せずに配布する方法
– インストール方法②
パソコンとAndroid端末をUSB接続し、インストールコマンドを使
用してインストールする
• 手順
1.
2.

パソコンとAndroid端末をUSBケーブルで接続する
コマンドプロンプトを起動し、adb install コマンドを実行する
>adb install <アプリケーションファイル名(.apk)>

■コマンドプロンプトの入力( C:Simeji3.0.6.apk )をUSB経由でインストール
C:>adb install C:Simeji3.0.6.apk // ・・・ 手順1
596 KB/s (1413225 bytes in 2.312s)
pkg: /data/local/tmp/Simeji3.0.6.apk
Success // ・・・ 手順2
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

37
2. Androidアプリケーションの
アーキテクチャ

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

38
2章の概要
• 主要コンポーネント
• ライフサイクル
• Androidのセキュリティ

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

39
2.1.主要コンポーネント
• アプリケーションの主要な機能を実現する為、
Androidにはコンポーネントが用意されている
一般的なアプリケーションの主要な機能
ユーザー
インター
フェース

プロセス間
通信

Activity

Intent

外部通信

ファイル
アクセス

バック
グラウンド
実行

Content
Provider

Broadcast
Receiver

Service

実現

Androidの主要コンポーネント
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

40
2.1.主要コンポーネント
• 基本となる5つのコンポーネント
1.
2.
3.
4.
5.

アクティビティ(Activity)
インテント(Intent)
ブロードキャストレシーバ(Broadcast Receiver)
サービス(Service)
コンテントプロバイダ(Content Provider)

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

41
2.1.1.アクティビティ
• アクティビティとは?
– Androidアプリケーションの画面は、アクティビティの
上にボタン、チェックボックス等の部品を配置し、画
面を作成する
– 1画面は1つのアクティビティで構成する
– アクティビティは実行中、一時停止といった状態を持
っている

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

42
2.1.1.アクティビティ
• Androidアプリケーションの画面は、アクティビテ
ィの上にボタン、チェックボックス等の部品を配
置し、画面を作成する
①
②

左図はアクティビティにビュー(ボタン)を配置
している
1. アクティビティ
2. ビュー(ボタン)

左図の画面は以下のような構成になっている
2.ビュー(ボタン)
1.アクティビティ
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

43
2.1.1.アクティビティ
• ユーザーの画面入力に応答する処理を作成する
事ができる
– 画面にて操作の情報(例えばボタンをクリックした
)は、ビューを通じてアクティビティに通知される

– アクティビティでは通知に応答する処理を作成する
事ができる
• ボタンがクリックされた時の例
3.ボタンがクリック時の処理を実
行

1.ボタンをク
リック
ボタン

2.通知

アクティビティ
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

public void onClick(View view)
{
// 画面にメッセージを表示す
る
}
44
2.1.1.アクティビティ
• 1画面は1つのアクティビティで構成する
– 複数の画面を持つアプリケーションの場合、画面の数
だけアクティビティを持っている
アプリケーション

アプリケーション
アクティビティ

アクティビティ

アクティビティ
アクティビティ

1つの画面で構成されている
アプリケーション

3つの画面で構成されている
アプリケーション

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

45
2.1.1.アクティビティ
• アクティビティが表示される仕組み
– アクティビティは画面に1つだけ表示される
• Androidアプリケーションは、複数のアクティビティを持って
いても、表示できるアクティビティは1つだけである
• 新しいアクティビティを表示する場合、前のアクティビティは
隠され、新しいアクティビティが上に表示される
Activity"A"が画面に表示

Activity"B"が画面に表示

Activity"C"が画面に表示

画面"B"に遷移

画面"C"に遷移

画面"A"に戻る

画面"B"に戻る

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

46
2.1.1.アクティビティ
• アクティビティの状態は複数あり、操作により状態が変
化する
• アクティビティの状態は3種類定義されている
1. フォアグラウンド状態
• アクティビティが表示されていて、カーソルがあたっている状態

2. バックグラウンド状態
• アクティビティが別のアクティビティによって隠されている状態

3. ビジブル状態
• アクティビティではない画面(ダイアログ等)が表示されて、アクティビティがカーソ
ルを失っている状態(アクティビティはダイアログ越しに表示されている)
画面"B"に遷移
Dialog

1.フォ
アグラ
ウンド
状態

画面"A"に戻る
2.バッ
クグラ
ウンド
状態

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

3.ビジブル状態

47
2.1.1.アクティビティ
• 画面の種類に応じて、アクティビティが用意され
ている
#
作成する画面
– アクティビティの一例

使用するアクティビティクラス

1

単票画面

Activityクラス

2

一覧表示画面

ListActivityクラス

3

地図画面(Google Map)

MapActivityクラス

1.単票画面(Activity使用)

2.一覧画面(ListActivity使用)

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

3.地図画面(MapActivity使用)
48
2.1.2.ビュー
• ビューとは?
– ボタン、チェックボックス等の部品である
– 複数のビューをまとめる機能を持つビューを、ビュー
グループと呼ぶ
• アクティビティ、ビュー、ビューグループの関係
ユーザーインターフェース
View

View

ViewGroup
View

View

ViewGroup

Activity
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

49
2.1.2.ビュー
• 代表的なビュー
概要

View名
TextView

テキストを表示する

Button

基本的な押しボタン

EditText

テキストの入力をする

CheckBox

ON/OFF状態をもつボタン

Spinner

リストから1つのアイテムを選択するボタ
ン

AnalogClock

イメージ

アナログ時計

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

50
2.1.2.ビュー
• 代表的なビューグループ
名前

概要

LinearLayout

• 水平方向、または垂直方向にビューを配置するビューグ
ループ
• 画面内に収まらない場合は、スクロールバーを表示

TableLayout

• 格子状にビューを配置するビューグループ(HTMLのtableタ
グに似ている)
• 内部にTableRowを指定する

TableRow

• Table行の中にビューを配置するビューグループ

ListView

• 1列のリスト上にビューを配置するビューグループ
• 画面内に収まらない場合は、スクロールバーを表示

TabHost

• タブによって表示を切り替えるビューグループ

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

51
2.1.2.ビュー
• 独自のビューを作成できる(カスタムビュー)
– カスタムビューは3種類の方法で作成できる
• 既存のビューを拡張して作成する
– 既存ビューに機能追加したい場合に有効な手段

• 基底クラス(android.view.View)を継承して作成する
– まったく新しいビューを作成したい場合にとる手段
– 最も自由にビューの開発が可能
– 一から実装になる為、基底クラスに関する深い知識が必要

• 既存のビューや、ビューグループを組み合わせて、新たなビ
ューを作成する
■詳細はAndroid Developersの開発ガイドを参照
http://developer.android.com/intl/ja/guide/topics/ui/custom-components.html
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

52
2.1.3.インテント
• インテントとは?
– コンポーネント間で、処理の依頼や、メッセージをや
りとりする為の仕組み
• インテントを利用できるコンポーネントは、アクティビティ、
ブロードキャストレシーバ、サービス

– インテントを利用する具体例
• アクティビティAからアクティビティBを起動する(画面遷移)
• アドレス帳アプリケーションから電話をかけるアプリケーショ
ンへ電話発信を依頼する

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

53
2.1.3.インテント
• インテントにより、コンポーネントを呼び出すに
は、インテントに、呼び出し先のコンポーネント
の情報を含めて、Androidに呼び出しを依頼する
– コンポーネントAからコンポーネントBを呼び出す例
イ
ンテント
オブジェ
クト
を作成し 送信メ
て、
ソッ を実行する
ド

"B"が起動する

インテント
• "B"を呼び出す

イ
ンテント

イ
ンテント

Android
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

54
2.1.3.インテント
• インテントの使い方には、明示的なインテントと
暗黙的なインテントの2つの使い方がある
– 明示的なインテント
• 呼び出し先のコンポーネントが明確な場合、コンポーネントを直接指
定して呼び出す方法。同一アプリケーション内のコンポーネントを呼
び出す場合に使用する(画面遷移等)
– コンポーネントを指定して呼び出す例
アプリ
ケーショ
ン
"B"が起動する

インテント
• "B"を呼び出す

イ
ンテント

イ
ンテント

Android

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

55
2.1.3.インテント
– 暗黙的なインテント
• 呼び出し先のコンポーネントを指定せず、アクション(下図の例では
” 電話をかける”を指す)のみを指定する方法。主に他アプリケーショ
ンのコンポーネントを呼び出す場合に使用する(別アプリケーション
画面等)
• 起動するコンポーネントは各アプリケーションの設定情報からAndroid
が決定する
– アクションのみ指定して呼び出す例
アプリ
ケーショ
ン

インテント

電話アプリ
ケーショ
ン

• 電話番号xxx-xxxx-xxxx
へ電話をかける

イ
ンテント

イ
ンテント
に指定さ
れたアクショ
ン
(
電話をかける)
から該当するアプ
リ
ケーショ 要素を選定する
ン、

イ
ンテント

Androidがアプリ
ケーショ
ンが起動し 対象の要素
、
が実行さ
れる

Android

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

56
2.1.3.インテント
– 暗黙的なインテント(続き)
• 暗黙的なインテントを使用すると、Androidに含まれているア
プリケーションと連携して、以下の事ができる
– 電話アプリケーション
» 指定した番号のダイヤルウィンドウを開く
– アドレス帳アプリケーション
» アドレス帳のリストを表示する
» アドレス帳の中から1つのアドレス情報を表示する
» 指定のアドレス情報を編集する
– Webブラウザ
» 指定したURLアドレスのWebサイトをブラウザで表示する

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

57
2.1.3.インテント
– 暗黙的なインテント(続き)
• 暗黙的なインテントは、システム全体へ向けてブロードキャストする
ことができる。
• ブロードキャストされるインテントは、「システムの起動完了」や「
電池残量の変化が発生した」等といった、状況の変化を伝える手段と
して使用している
• ブロードキャストされたインテントはブロードキャストレシーバのみ
が受け取れるインテントとなる

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

58
2.1.4.ブロードキャストレシーバ
• ブロードキャストレシーバとは?
– ブロードキャストされたインテントに応答する為の仕
組みがブロードキャストレシーバである
– ブロードキャストレシーバクラスを継承して独自のブ
ロードキャストレシーバを作ることができる

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

59
2.1.4.ブロードキャストレシーバ
• ブロードキャストレシーバの使用例
– Android端末起動時にメールをチェックする
1.

ブロードキャストレシーバでAndroid端末起動完了時のブロ
ードキャストインテントを受信する

2.

ブロードキャストレシーバからメールチェックサービスを呼
び出す

※ ブロードキャストレシーバから直接メールチェック処理を実行する事も
可能だが、時間のかかる処理の場合はサービスを使用する方が効率が良
② メールチェック
メールチェッ
い
① 起動完了メッセージ
クサービス
サービス実行
インテン
ト

ブロードキャス
ト
レシーバ

インテン
ト
ブロードキャストインテント送
信

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

インテント送信
60
2.1.4.ブロードキャストレシーバ
• ブロードキャストレシーバを使用する事で、シス
テムの通知をきっかけとした処理を作ることがで
きる
#
状況
設定値
– Intentクラスの定数名
ブロードキャストされるインテントのアクション定義(一部抜粋
1 ACTION_BOOT_COMPLETED
システムの起動が完 android.intent.action. BOOT_COMPLETED
)
了した
2

ACTION_TIME_CHANGED

時刻が設定された

android.intent.action.TIME_SET

3

ACTION_TIMEZONE_CHANGED

タイムゾーンが変更
された

android.intent.action.TIMEZONE_CHANGED

4

ACTION_PACKAGE_ADDED

アプリケーションが
新しくインストール
された

android.intent.action. PACKAGE_ADDED

5

ACTION_PACKAGE_REMOVED

アプリケーションが
アンインストールさ
れた

android.intent.action. PACKAGE_REMOVED

6

ACTION_BATTERY_CHANGED

充電中か否か、電池

android.intent.action. BATTERY_CHANGED

■その他の設定値は、以下URLを参照
残量が変更された
http://developer.android.com/intl/ja/reference/android/content/Intent.html
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

61
2.1.5.サービス
• サービスとは?
– 独立したスレッドで処理を実行する為の仕組み
– サービスはフォアグラウンドのアクティビティとは別スレッド
で実行される。このため、他アクティビティによる割込みが発
生しても処理を続けることができる
音楽を再生(サービス未使用)

音楽を再生(サービス使用)

割込み

割込み

メ
ール受信により

メ
ール受信により
中断

中断

アクティ
ビティ

アクティ
ビティ

サービス開始

再生開始

サービス

音楽再生

中断に関係なく
処理を
完了
再生開始

アクティビティから直接音楽再生した場合と、サービ
ス経由で音楽再生した場合で、メール受信によるアク
ティビティの割込みが発生した時の動作の違い

音楽再生

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

62
2.1.5.サービス
• サービスを使用したアプリケーションの紹介
– DroidTracker
• GPSで取得した位置情報を、SMS、メール、twitterで送信する
アプリケーション
• GPS機能による位置情報の取得をサービスで処理
• SMS、メール、twitter送信機能をサービスで処理

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

63
2.1.6.コンテントプロバイダ
• コンテントプロバイダとは?
– アプリケーションが保持しているデータ※を他アプリ
ケーションからアクセス(検索、追加、更新、削除)
できるようにする仕組み
– 具体的な例
• アプリケーションから通話ログを参照する
• アプリケーションからブラウザのブックマークにWebサイトを
追加する
※ データとはアプリケーションが、ファイル、データベースに永続化している
情報を示す

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

64
2.1.6.コンテントプロバイダ
• なぜ他アプリケーションのデータにアクセスする
為にコンテントプロバイダを使用するのか?
– アプリケーションの保持するデータは外部アプリケー
ションから直接アクセスできない
セキュリティの壁

アプリケー
ション

情報の取得
外部アプリ
ケーション

ストレージ
情報の編集
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

65
2.1.6.コンテントプロバイダ
• 外部アプリケーションからのアクセスを実現する
仕組みとしてコンテントプロバイダがある

セキュリティの壁

アプリケー
ション

コンテント
プロバイダ

情報の取得
外部アプリ
ケーション

ストレージ
情報の編集
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

66
2.1.6.コンテントプロバイダ
• コンテントプロバイダは、安全なアクセスを実
現する為に、インターフェースを取り決めてい
る
– 主なインターフェース
# イベント名

内容

1 検索(query)

データを検索し、
検索結果を返す

インターフェー
スが決まってい
る

コンテント
プロバイダ
query

2 追加(insert)

データを追加す
る

insert

3 更新
(update)

データを更新す
る

update

4 削除
(delete)

データを削除す
る

外部アプリ
ケーション

delete

■詳細はAndroid Developersの開発ガイドを参照
http://developer.android.com/intl/ja/reference/android/content/ContentProvider.html
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

67
2.1.6.コンテントプロバイダ
• Androidにはコンテントプロバイダによって公開
されているデータがある
– 公開されているデータ
•
•
•
•
•
•
•

通話ログ
コンタクトリスト
ブラウザのブックマーク
ブラウザの検索履歴
メディア内の画像
メディア内の映像
メディア内のオーディオ

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

68
2.2. ライフサイクル
• ライフサイクルとは?
– アクティビティ、サービスにはオブジェクト生成~
破棄に至るまでのライフサイクルが定義されている
Activity起動

Service起動

フ ア
ォ
グラ
ウンド

実行中

・
"戻る"で元画面に復帰
・
他Activityの割込み
・
端末スリ
ープ
・
長時間無操作状態が続いた

・
Activityがフォ
アグラ
ウンド

に表示(
戻るボタ
ン等)

プ
ロセス破棄

実行中

・
他アプリ
ケーショ
ンから
メ を
モリ 要求さ
れる

一時停止

ビジブル

・
他アプリ
ケーショ
ンから
メ を
モリ 要求さ
れる

・
処理完了
・
停止命令

・
他Activityの割込み
・
長時間無操作状態が続いた

状態遷移方向
終了
状態

バッ
ク
グラ
ウンド

Service破棄
Activity破棄

アクティビティのライフサイクル under the Creative サービスのライフサイクル
This material is licensed
Commons License BY-NC-SA 4.0.

69
2.2.1. アクティビティのライフサイクル
• アクティビティのライフサイクル
– アクティビティの3種類の状態遷移が定められている
(フォアグラウンド、バックグラウンド、ビジブル)
– 状態の変化が発生した時、イベントが通知される
Activity起動
フ ア
ォ
グラ
ウンド

実行中

・
"戻る"で元画面に復帰
・
他Activityの割込み
・
端末スリ
ープ
・
長時間無操作状態が続いた

・
Activityがフォ
アグラ
ウンド

に表示(
戻るボタ
ン等)

プ
ロセス破棄

・
他アプリ
ケーショ
ンから
メ を
モリ 要求さ
れる

一時停止

ビジブル

・
他アプリ
ケーショ
ンから
メ を
モリ 要求さ
れる

・
他Activityの割込み
・
長時間無操作状態が続いた

状態遷移方向
終了
状態

バッ
ク
グラ
ウンド

This material isActivity破棄 under the Creative
licensed
Commons License BY-NC-SA 4.0.

70
2.2.1. アクティビティのライフサイクル
• 通知されるイベントを含むライフサイクル
Activity起動

onCreate()
・
"戻る"で元画面に復帰

onStart()

フ ア
ォ
グラ
ウンド

プ
ロセス破棄

onRestart()

onResume()

実行中
・
他Activityの割込み
・
端末スリ
ープ
・
長時間無操作状態が続いた

onPause()
・
他アプリ
ケーショ
ンから
メ を
モリ 要求さ
れる

一時停止
・
Activityがフ アグラ
ォ
ウンド

ビジブル

・
他Activityの割込み
・
長時間無操作状態が続いた

に表示(
戻るボタ
ン等)

onStop()
・
他アプリ
ケーショ
ンから
メ を
モリ 要求さ
れる

終了
・
Activityがフ アグラ
ォ
ウンド

に表示(
戻るボタ
ン等)
バッ
ク
グラ
ウンド

状態遷移方向

onDestroy()
状態
Activity破棄
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

Activityのイ
ベント

71
2.2.1. アクティビティのライフサイクル
• アクティビティでは以下のイベントが通知される
。開発者はこれらの通知に応答する処理を作成で
きる
– 通知されるイベント
# イベント名
内容
1 onCreate

最初の起動時に発生するイベント

2 onStart

アクティビティが表示される直前に発生するイベント

3 onResume

アクティビティが利用可能な状態(アクティブ状態)になる直前
に発生するイベント

4 onPause

アクティビティがビジブルになる直前に発生するイベント

5 onStop

onPauseの後、しばらく使用しない状態になった場合に発生するイ
ベント
(メモリ不足の際、イベントが発生しない場合がある)

6 onRestart

終了状態のアクティビティが再度表示される際に発生するベント

7 onDestory

アクティビティが破棄される直前に発生するイベント
(メモリ不足の際、イベントが発生しない場合がある)
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

72
2.2.1. アクティビティのライフサイクル
• アクティビティの通知イベントに関する注意
– onStop、onDestroyは必ず通知される保証はない
• Androidはメモリ不足の状態に
なった場合、使用していないアプ
リケーションプロセスを強制終了
する。
• この場合、アクティビティのライフサ
イクルでは、onStop、onDestroy
のは通知される事が保証されて
いない
• 必ず必要な処理の場合はonPause
で処理を行う

onCreate()
・
"戻る"で元画面に復帰

onStart()

onResume()

プロセス破棄

実行中
・
他Activityの割込み
・
端末スリ
ープ
・
長時間無操作状態が続いた

onPause()
・
他アプリ
ケーショ
ンから
メ を
モリ 要求さ
れる

一時停止
・
他Activityの割込み
・
長時間無操作状態が続いた

onStop()
・
他アプリ
ケーショ
ンから
メ を
モリ 要求さ
れる

使用可能メモリが不足した場合の
遷移ルート
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

終了

onDestroy()

73
2.2.2. サービスのライフサイクル
• サービスには右図のようなライフ
サイクルが定義されている
• アクティビティと同じように状態
変化時にイベントが通知される為
、通知に応答する処理を作成する
事ができる
# イベント
名

最初の起動時に発生するイベント

2 onStart

サービスが起動される直前に発生するイベ
ント

3 onDestroy

サービスが破棄される直前に発生するイベ
ント

onCreate()

onStart()

内容

1 onCreate

Service起動

実行中

・
処理完了
・
停止命令

onDestroy()

状態遷移方向

状態

Service破棄

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

Activityのイベント

74
2.3. Androidのセキュリティ
• ネットワークや、カメラ等のハードウェアの機能
を利用する為には、アプリケーション毎に利用許
可情報を設定する
– アプリケーションは、OS、アプリケーション、ユーザ
ーデータ等に影響を与える可能性のある操作はできな
いように制限されている

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

75
2.3. Androidのセキュリティ
• アプリケーションに利用許可を設定する方法
1. AndroidManifest.xmlにuses-permissionタグを追加する
2. android:nameに許可する機能の設定値を設定する
※ 下記の例では、アプリケーションがインターネットへ接続す
る事を許可している
■設定例
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android=http://schemas.android.com/apk/res/android
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
・・・
インターネット接続許可
</application>
情報の設定
<uses-sdk android:minSdkVersion=“7" />
<uses-permission android:name=“android.permission.INTERNET“/> // ・・・ 手順1,2
</manifest>
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

76
2.3. Androidのセキュリティ
• Androidアプリケーションが以下の機能を利用す
るには許可情報をAndroidManifest.xmlに設定する
許可情報設定値の一例
設定値(android.permission)

説明

INTERNET

インターネットへの接続

ACCESS_FINE_LOCATION

位置情報(GPS等)へのアクセス

CALL_PHONE

呼び出し画面を使用せずに発呼する

READ_CONTACTS

アドレス帳の読み込み

WRITE_CONTACTS

アドレス帳への書き込み

CAMERA

カメラデバイスへのアクセス

その他の設定値は、以下URLを参照
http://developer.android.com/intl/ja/reference/android/Manifest.permission.html
This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

77
2.3. Androidのセキュリティ
• 利用許可情報を含めたアプリケーションは、イン
ストール時に許可する情報の確認が行われる

インターネット接続許
可の確認

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

78
3. 開発環境の準備

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

79
3章の概要
• インストールする開発ツール
• 各開発ツールのインストール方法
– 開発ツールはC:android_trainingdevtoolsに格納されて
いるものを使用する

• エミュレータの準備
– Android Virtual Device(AVD)の作成
– AVDの動作確認

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

80
3.1. インストールする開発ツール
• 本トレーニングでは下記の開発ツールのインスト
ールを行う
ソフトウェア

バージョン

統合開発環境

Eclipse 3.5 (Galileo)

Java SDK

JDK 1.6.0_20

Android SDK

2.1 r2

Android Plug-in

Android Development Tools (ADT) Ver.0.9.X

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

81
3.2.各開発ツールのインストール方法
• Android SDKのインストール
1. スタートメニューの[すべてのプログラム]-[アクセサリ]の[エクスプロー
ラ] からエクスプローラを起動し、C:android_trainingdevtoolsを開く
2. android-sdk_r06-windows.zipのファイルを右クリックし、[プログラムから
開く]-[Compresses (zip) Folders]を選択する
3. zip内のandroid-sdk-windowsフォルダをC:android_trainingtoolsに移動させ
る

3

2

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

82
3.2.各開発ツールのインストール方法
• 環境変数の設定
1.
2.

スタートメニューの [コントロールパネル]からコントロールパネ
ルを開き、[システム]をダブルクリックする
システムのプロパティウィンドウの[詳細設定]タブの[環境変数]
ボタンをクリックする

1

2

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

83
3.2.各開発ツールのインストール方法
3.

環境変数ウィンドウの[システムの環境変数]から[Path]を選択し
、[編集]ボタンをクリックする

4.

システム変数の編集ウィンドウの変数値の先頭に
C:android_trainingtoolsandroid-sdk-windowstools;を追加する
システム変数の編集ウィンドウの[OK]ボタンをクリックする
環境変数ウィンドウの[OK]ボタンをクリックする

5.
6.

追加する

4
3

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

84
3.2.各開発ツールのインストール方法
7.

環境変数の変更が反映されていることを確認する
1. スタートメニュー[すべてのプログラム]-[アクセサリ]の[コマンドプロ
ンプト]をクリックし、コマンドプロンプトを起動する
2. コマンドプロンプトからコマンド set<sp>|<sp>find<sp> “android” を実
行し、Pathの設定が表示されることを確認する(出力結果は、下図を
参照)
※ <sp>

・・・ 半角スペースの意

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

85
3.2.各開発ツールのインストール方法
• Android Development Tools (ADT)のインストール
1.
2.

デスクトップにあるeclipseをダブルクリックし、Eclipseを起動
する
Eclipseのメニュー[Help]から[Install New Software…+を選択する

1

2

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

86
3.2.各開発ツールのインストール方法
3.

Proxyを利用しているネットワーク環境の場合、以下の設定を行
う
i.
ii.
iii.

Eclipseのメニュー[Window]から[Preferences]を選択する
Preferencesウィンドウから[General]-[Network Connections]を選択す
る
Network Connectionsの画面から「Manual Proxy Configuration」を選択
し、以下の項目を設定する
–
–

HTTP Proxy: Proxyサーバアドレス(右図の例では、192.168.1.1)
iii
Port
: Proxyサーバのポート番号(右図の例では 80)

ii

i

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

87
3.2.各開発ツールのインストール方法
4.

Available SoftwareウィンドウのWork withの入力欄に
http://dl-ssl.google.com/android/eclipse/を入力し、Enterキーを押
す

4

http://dl-ssl.google.com/android/eclipse/

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

88
3.2.各開発ツールのインストール方法
• サーバに接続できない場合の代替方法
4-1. Available Softwareウィンドウの[Add...]ボタンをクリックする
4-2. Add Siteウィンドウで[Archive]ボタンをクリックする
4-3. ファイル名にC:android_trainingdevtoolsforOfflineフォルダ下
のADT-0.9.X.zipを入力し、[開く]ボタンをクリックし、[OK]ボ
タンをクリックする
4-1
C:android_trainingdevtoolsforOffline
4-2
4-3

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

89

89
3.2.各開発ツールのインストール方法
5.
6.

Available Softwareウィンドウで、Android DDMS、Android
Development Toolsをチェックし、[Next]ボタンをクリックする
Installウィンドウで[Next]ボタンをクリックする

5

6

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

90
3.2.各開発ツールのインストール方法
8.

9.

Installウィンドウで[I Accept the terms of the license agreements]を
チェックし、[Finish]ボタンをクリックする。インストールが開
始する
インストールが完了し、Sowftware Updatesのメッセージが表示
されたら[Yes]をクリックし、Eclipseを再起動する

8

9

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

91
3.2.各開発ツールのインストール方法
10. Eclipse再起動後、ツールバーにAndroid Development Toolsのボタ
ンが追加されていることを確認する
10

Android Development Tools
のツールボタンが表示され
ている

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

92
3.2.各開発ツールのインストール方法
• Eclipseの設定を行う
– ADTにAndroid SDKを認識させる
1. Eclipseのメニュー[Window]から[Preferences]を選択する

1

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

93
3.2.各開発ツールのインストール方法
2.

3.
4.

Preferencesウィンドウから[Android]を選択する。選択するとエラ
ーメッセージが表示されるので、[OK]をクリックしてメッセージ
ウィンドウを閉じる
SDK Locationに「 C:android_trainingtoolsandroid-sdk -windows」
を入力する
Preferenesウィンドウ上部のエラーメッセージが消えていること
を確認し、[OK]ボタンをクリックする
3

2

エラーメッセージ
が表示されていな
い事を確認する
C:android_trainingtoolsandroid-sdkwindows

4
This material is licensed under the Creative Commons License BY-NC-SA 4.0.

94
3.2.各開発ツールのインストール方法
5.

Proxyを利用しているネットワーク環境の場合、以下の設定を行
う
i.
ii.

Preferencesウィンドウから[Android]-[Launch]を選択する
Launchの画面から[Default Emulator Options]にProxy設定を追加する
(書式: -http-proxy<sp><Proxy サーバアドレス>:<ポート番号> )
–

Proxyサーバアドレスが「 http://192.168.1.1 」、ポート番号が「80」の
場合、
以下のように設定する
ii
»
-http-proxy<sp>http://192.168.1.1:80
<sp> ・・・半角スペース
の意 i

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

95
3.2.各開発ツールのインストール方法
6.

Eclipseのメニュー[Window]から[Android SDK and AVD Manager]を
選択する

6

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

96
3.2.各開発ツールのインストール方法
7.
8.

Android SDK and AVD Managerウィンドウの左カラムからAvailable
Packagesを選択する
右カラムのURLを[+]をクリックして展開し、[SDK Platform Android
2.1, API-7, revision 2]にチェックを入れ、[Install Selected]ボタンを
クリックする

※ オフライン環境では講師の指示に従いC:android_trainingdevtoolsforOffline の
platformフォルダをC:android_trainingtoolsandroid-sdk-windowsにコピーすること

7
8

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

97
3.2.各開発ツールのインストール方法
9.

Choose Packages to Installウィンドウにて[Accept]を選択し[Install]
ボタンをクリックする
10. インストールが終了したら、[Close]ボタンをクリックし、インス
トールを終了する。

10

9

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

98
3.3.エミュレータの準備
• エミュレータのデバイスイメージであるAndroid
Virtual Device(AVD)を作成する
1.

Eclipseのメニュー[Window]から[Android SDK and AVD Manager]を
選択する

1

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

99
3.3.エミュレータの準備
2.

Android SDK Devicesウィンドウの[New]ボタンをクリックする

2

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

100
3.3.エミュレータの準備
3.

Create new Android Virtual Deviceウィンドウ表示されたら、各値
を以下のように設定する
項目名
Name

Android 2.1-update1

Skin

3

default

Target

4.

設定値

WVGA800

設定完了後、[Create AVD] ボタン
をクリックする

4
This material is licensed under the Creative Commons License BY-NC-SA 4.0.

101
3.3.エミュレータの準備
• エミュレータを起動し、AVDが作成できているこ
とを確認する
1.
2.

EclipseにおいてAndroid SDK and AVD Managerを立ち上げ、AVD Nameが
Defaultを選択し、[Start]ボタンをクリックする。
Launch Optionウィンドウにて[Scale display to real size]にチェックを入れ
、[Screen Size (in)]に 6 と入力し[Launch]ボタンをクリックする

1

環境により適宜最適サイ
ズを入力する

2
This material is licensed under the Creative Commons License BY-NC-SA 4.0.

102
3.3.エミュレータの準備
3.

下図のようなエミュレータ画面が表示される事を確認する

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

103
4. チュートリアル

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

104
4章の概要
• HelloWorldアプリケーションの作成を通じて、開
発ツールの操作方法を習得する
– Android Development Tools(ADT)
– エミュレータ、Android Virtusl Device(AVD)
– Dalvik Debug Monitor Services (DDMS)

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

105
4.1. ADTでアプリケーションを作成する
• Android Development Tools(ADT)とは?
– AndroidアプリケーションをEclipseで開発する為のPlugin

• ADTが提供する機能
– Androidプロジェクトの作成
– Androidアプリケーションの実行・デバッグ
– リソースファイルの作成支援
• リソースファイルについては本節で解説

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

106
実
習

4.1.1. Hello Worldの表示
• 初めにAndroidプロジェクトを作成し、下記のア
プリケーションを作成する
– 完成イメージ
新規作成したプロジェクトは、左図
のようなHello World HelloWorld!と表
示されるアプリケーションとして作
成される

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

107
実
習

4.1.1. Hello Worldの表示
• Androidプロジェクトを作成する
1.
2.
3.

デスクトップのeclipseをダブルクリックし、Eclipseを起動する
Eclipseのメニュー[File]から[new]-[Other]を選択する
Newウィンドウの[Android]-[Android Project]を選択し[Next]ボタン
をクリックする

3

2

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

108
実
習

4.1.1. Hello Worldの表示
3.

[New Android Project]ウィンドウからProject Name、Build Target、
Propertiesに下記を入力する

Project Nameに HelloWorld を入力する

Build Targetで Android 2.1-update1 をチェッ
クする
Propertiesの各項目に以下を入力する
Application Name :HelloWorld
Package Name
:jp.oesf.tutorial
Create Activity
:HelloWorld
MinSDK Version
:7

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

109
実
習

4.1.1. Hello Worldの表示
4.
5.

Android Projectが生成され、左図のように表示される
Package ExplorerからHelloWorldプロジェクトを選択し、右クリッ
ク[Run As]-[Android Application]を選択する

4

5

5

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

110
実
習

4.1.1. Hello Worldの表示
6.

エミュレータが別ウィンドウで起動し、下記画面が表示される
ことを確認する
• アプリケーションタイトルが HelloWorld である
• アプリケーションに Hello World, HelloWorld! と表記されている

6

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

111
4.2. 画面デザインを作成する
• 画面デザインをリソースファイルで作成する
– リソースファイルとは?
• ソースコード以外の全て外部ファイル
• Androidプロジェクトでは/res以下に格納されているファイル

– リソースファイルの種類(一部抜粋)
#

リソースファイル

内容

1 res/drawable(-Xdpi)/*.*

画像ファイル(.png、.jpeg、.gif)

2 res/layout/*.xml

画面デザイン情報(ex. main.xml)

3 res/values/colors.xml

色情報

4 res/values/dimens.xml

サイズ情報(ex. 5px,10dip,20pt)

5 res/values/strings.xml

文字列情報

■リソースファイルに関する説明
http://developer.android.com/intl/ja/guide/topics/resources/resources-i18n.html
This material is licensed under the Creative Commons License BY-NC-SA 4.0.

112
4.2. 画面デザインを作成する
• ADTには、リソースファイルの作成支援機能があ
る
– ADTは3種類のリソースファイルエディタを提供する
• レイアウトエディタ
– 画面デザインリソースファイルの作成をサポート

• リソースエディタ
– 画面デザインリソースファイル以外のリソースファイルの作成をサポー
ト

• マニフェストエディタ
– AndroidManifest.xmlの作成をサポート

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

113
実
習

4.2. 画面デザインを作成する
• レイアウトエディタの機能を使用して、
HelloWorldにボタン、チェックボックス、テキス
ト入力を含む画面を作成する
– 完成イメージ
• ボタン、チェックボックスはレイアウトエデ
ィタのGUI機能を利用して追加する
• テキスト入力は、画面デザインリソースファ
イル(XMLファイル)を直接編集して追加す
る
• 各ビューの表示文字列は以下の通り設定する
# ビュー

表示文字列

1 ボタン

Button01

2 チェックボック
ス

CB1

3 テキスト入力

EditText

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

114
実
習

4.2.1. リソースファイルの作成
• 画面デザインリソースファイルを開く
1.
2.

Package Explorerからres/layout/main.xmlをダブルクリックする
res/layout/main.xmlのファイルがレイアウトエディタで開かれ、
右図の画面が表示されることを確認する
2

1

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

115
実
習

4.2.1. リソースファイルの作成
• レイアウトエディタのLayoutタブで、画面デザイ
ンにボタン、チェックボックスを追加する
1.
2.
3.

[Views]からButtonを選択し、スクリーン上にドラッグ&ドロップ
する
右図のようにボタンが表示される
同様に、 [Views]からCheckBoxをスクリーン上にドラッグ&ドロ
ップし、表示されることを確認する
2
1
ドラッグ&ド
ロップ

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

116
実
習

4.2.1. リソースファイルの作成
4.

4.

スクリーン上のCheckBox01を選択し、PropertiesビューからTextプ
ロパティを CheckBox01 から CB1 に変更する
同様に@+id/Button01のTextプロパティをButton01に変更する
Package ExplorerからHelloWorldプロジェクトを選択し、右クリッ
ク[Run As]-[Android Application]を選択する

5
5

5

4

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

117
実
習

4.2.1. リソースファイルの作成
6.

エミュレータが起動し、下記画面が表示されることを確認する
• 画面にボタン、チェックボックスが表示されている
• ボタンの表示文字列が Button01 であることを確認する
• チェックボックスの表示文字列が CB1 であることを確認する

6

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

118
実
習

4.2.1. リソースファイルの作成
• レイアウトエディタの<ファイル名>タブで、画面
デザインにテキスト入力を追加する
1.

レイアウトエディタのmain.xmlタブをクリックし、レイアウトエ
ディタにXMLソースが表示されることを確認する
■res/layout/main.xml(一部割愛)

1

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=http://schemas.android.com/apk/res/android
・・・・・・・・・・・
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button
android:text="Button01"
android:id="@+id/Button01“
・・・・・・・・・></Button>
<CheckBox
android:id="@+id/CheckBox01“
android:text="CB1“
・・・・・・・・・ ></CheckBox>
</LinearLayout>

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

119
実
習

4.2.1. リソースファイルの作成
2.

テキスト入力ビューである EditTextタグをmain.xmlに追加する
■res/layout/main.xml(一部割愛)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=http://schemas.android.com/apk/res/android
・・・・・・・・・・・
>
<TextView
・・・・・・・・・・・
/>
<Button
・・・・・・・・・></Button>
<CheckBox
・・・・・・・・・ ></CheckBox>
<EditText
android:id="@+id/EditText01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="EditText"></EditText>
</LinearLayout>

2

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

120
実
習

4.2.1. リソースファイルの作成
3.

Layoutタブに表示を切り替えて、下記のようにEditTextが表示さ
れている事を確認する

表示切替

LayoutタブでEditTextが
表示されている

3
追加したEditText

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

121
実
習

4.2.1. リソースファイルの作成
4.

Package ExplorerからHelloWorldプロジェクトを選択し、右クリッ
ク[Run As]-[Android Application]を選択する
エミュレータが起動し、右画面が表示されることを確認する

5.

• テキスト入力が表示されている
• テキスト入力の表示文字列が EditText である

4

5

5

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

122
4.2.1. リソースファイルの作成
• レイアウトエディタ使用時の注意点
1.

Layoutタブでビューグループ(Layoutに含まれているビュー)を
ドラッグ&ドロップでスクリーンに張り付けても、スクリーン
上にViewGroupが表示されない
• 以下の事は、XMLを直接編集する事で対応する
– ビューグループの中にボタン等のViewを配置する

2.

カスタムビューは[Views]から選択する事はできない
• XMLを直接編集する事で対応する

1

LinearLayoutを配置した
が
表示されない

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

123
4.2.1. リソースファイルの作成
• リソースファイルを使用した画面作成の仕組み
– アクティビティはRクラスを使用し、画面デザインリソースファイ
ルの内容を取得する
• Rクラス
– ビルド時に自動生成されるクラス
– プログラムからリソースファイルの情報を取得する為に必要なクラス

– 取得したリソースファイル情報から、Activity#setContentViewによ
って画面デザインを表示する
■HelloWorld.java

R.layout.mainがmain.xmlを示す
public class HelloWorld extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
・・・・・・・・・・・
>
・・・・・・・・・・・
<EditText
android:id="@+id//EditText01“
・・・・・・・・・・・
android:text="EditText"></EditText>
</LinearLayout>

■setContentView
画面デザインをアクティビティ上に表示
する
This material is licensed under the Creative Commons License BY-NC-SA 4.0.

124
4.2.1. リソースファイルの作成
• Rクラスとリソースファイルの関係
– プログラムとリソース情報は、リソースIDで関連付けられている
■HelloWorld.java
setContentView(R.layout.main);
参照

■R.java

public static final class layout {
public static final int main=0x7f030000;
}
リソースID

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

リソース
ファイル

125
実
習

4.3. デザイン以外のリソースを使用す
る
• HelloWorldに追加したボタンの表示文字列
Button01を Hello Button に変更する
• 表示文字列は文字列リソースファイルに設定する
– 完成イメージ

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

126
4.3. デザイン以外のリソースを使用す
る
• 文字列リソースファイルは、アプリケーションで
使用する文字列を定義したリソースファイルであ
る
1. 画面上に表示す
る文字列を文字
(res/values/strings.xml)
列リソースファ
■文字列リソースファイル(res/values/strings.xml)

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, HelloWorld!</string>
<string name="app_name">HelloWorld</string>
</resources>

文字列
を参照
する

イルに追加する

■画面デザインリソースファイル(res/layout/main.xml)上のTextView
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>

2. TextViewのTextプロパティから文字列
リソースファイルの文字列を参照す
る

実行

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

3. strings.xmlに設
定されている文
字列が表示され
ている

127
実
習

4.3. デザイン以外のリソースを使用す
る
• 文字列リソースファイルに文字列設定を追加する
1.
2.

Package Explorerからres/values/strings.xmlをダブルクリックする
res/values/strings.xmlのファイルがリソースエディタで開かれ、
右図の画面が表示されることを確認する
2

1

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

128
実
習

4.3. デザイン以外のリソースを使用す
る
3.
4.

Resourcesタブの*Add…+ボタンをクリックし、追加要素の選択画
面を表示する
選択画面から、String を選択し、[OK] ボタンをクリックする

3
4

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

129
実
習

4.3. デザイン以外のリソースを使用す
る
5.
6.

ResourcesタブのResouces
Elementsに String が追加されて
いることを確認する
ResourcesタブのAttributes for StringのName、Valueに以下の値を入
力する
Attributes for Stringの設定値
項目名

5

Name

button_label

Value

6

設定値

Hello Button

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

130
実
習

4.3. デザイン以外のリソースを使用す
る
7.
8.
9.

Package Explorerからres/layout/main.xmlをダブルクリックする
レイアウトエディタが起動したら、Layoutタブを開いてButton01
を選択する
PropertiesビューからTextプロパティを@string/button_label に変
更する

8

7

9

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

131
実
習

4.3. デザイン以外のリソースを使用す
る
10. Package ExplorerからHelloWorldプロジェクトを選択し、右クリッ
ク[Run As]-[Android Application]を選択する
11. エミュレータが起動し、右画面が表示されることを確認する
• ボタンの表示文字列が Hello Button になっている

11

10

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

132
4.4. マニフェストファイルを変更する
• マニフェストエディタ
– マニフェストファイルを変更する為の5つの機能がある
• Manifestタブ
– バージョン情報、拡張情報等

• Applicationタブ
– 使用コンポーネント情報、アイコン、アプリケーション名等

• Permissionsタブ
– アクセス制限設定

• Instrumentationタブ
– プロファイラ等の情報収集用クラスの設定(TestRunner等)

• AndroidManifest.xmlタブ
– XMLファイルの直接編集

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

133
4.4. マニフェストファイルを変更する
• マニフェストファイルとは?
– AndroidManifest.xml(アプリケーションに1つ存在)
– アプリケーションに関する以下の情報を定義する
•
•
•
•
•

アプリケーションのアイコン、タイトルの設定
使用するコンポーネント(Activity、Service等)の定義
コンポーネントの振る舞いに関する定義
アプリケーションのアクセス制限設定
ライブラリの使用設定

■マニフェストファイルに関する説明
http://developer.android.com/intl/ja/guide/topics/manifest/manifest-intro.html

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

134
4.4.1.アプリケーションにアクティビティ
を追加
• アプリケーションにアクティビティを追加する
ファイル名
追加アクティビティ HelloWorld2.java
追加画面デザイン
リソースファイル

res/layout/
helloworld2.xml

– アプリケーションにアクティビティ
HelloWorld2を追加する
– HelloWorld2の画面デザインデザインリソ
ースファイルがhelloworld2.xmlである

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

135
4.4.1.アプリケーションにアクティビティ
を追加
• アプリケーションに追加したアクティビティを利
用できるようにApplicationタブで設定する
1.
2.

Package ExplorerからAndroidManifest.xmlをダブルクリックする
AndroidManifest.xmlのファイルがマニフェストエディタで開かれる。マ
ニフェストエディタのApplicationタブを選択し、右図の画面が表示され
ることを確認する

2

1
This material is licensed under the Creative Commons License BY-NC-SA 4.0.

136
4.4.1.アプリケーションにアクティビティ
を追加
3.
4.

Application Nodesの*Add…+ボタンをクリックし、追加要素の選択画面を
表示する
選択画面から Activity を選択し、[OK]ボタンをクリックする

4

3

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

137
4.4.1.アプリケーションにアクティビティ
を追加
5.
6.

Application NodesにActivityが追加されていることを確認する
Attributes for Activityの Name に下の値を入力する

項目名
Name

5

設定値
HelloWorld2

6

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

138
4.4.2.インターネットへのアクセス許可を
設定
• インターネットへのアクセス許可をPermissonsタ
ブで設定する
1.
2.

Package ExplorerからAndroidManifest.xmlをダブルクリックする
AndroidManifest.xmlのファイルがマニフェストエディタで開かれる。マ
ニフェストエディタのPermissonsタブを選択し、右図の画面が表示され
ることを確認する
2

1
This material is licensed under the Creative Commons License BY-NC-SA 4.0.

139
4.4.2.インターネットへのアクセス許可を
設定
3.
4.

Permissionsの*Add…+ボタンをクリックし、追加要素の選択画面を表示す
る
選択画面から Uses Permisson を選択し、[OK]ボタンをクリックする

3
4

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

140
4.4.2.インターネットへのアクセス許可を
設定
5.
6.

5

Permissionsに Permission が追加されていることを確認する
Attributes for Uses Permissionの Name のプルダウンから
android.permission.INTERNETを選択する

6

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

141
4.5. エミュレータの使用方法
• エミュレータとは?
– Android Virtual Device(AVD)を読み込み、パソコン上でのハード
ウェア動作をエミュレートする

• エミュレータでサポートされていない機能・設定
–
–
–
–
–
–
–

実際の電話からの着信、実際の電話への発信
USB接続
カメラ・ビデオ撮影
ヘッドフォン接続
Bluetoothを使った通信
接続状態の設定
電池の充電レベル、AC電源の設定

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

142
4.5. エミュレータの使用方法
• Android Virtual Device(AVD)とは?
– Android端末情報を持っているもの
• Android動作環境情報
(Androidのバージョン毎の動作環境)
• スキン情報(外観、モニターサイズ)
• SD Card情報

命令

Android Virtual Device
( AVD )

操作

emulator.exe
使用者

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

143
4.5. エミュレータの使用方法
• エミュレータの操作方法

#

内容

デバイス
キー

1 音量DOWN
2 音量UP

1 2 3
11

4

3 電源

電源入・切

10

5

4 選択ボタ
ン

選択ボタン

9 8 7 6

5 通話終了
6 検索
7 戻る

前の画面に戻る

8 メニュー
12

検索ウィジッドに移動

メニューを画面に表示

9 ホーム

ホームを表示

10 通話開始
8

11 十字キー

カーソルの移動

12 キーボー
ド

キー入力 144

This material is licensed under the Creative Commons License BY-NC-SA 4.0.
4.5. エミュレータの使用方法
• 画面向きの切り替え(Ctrl + F11)
– デバイスの向きに合わせた画面表示

縦長表示(ポートレート)

横長表示(ランドスケープ)

Androidエミュレータに関する詳細情報
http://developer.android.com/intl/ja/guide/developing/tools/emulator.html
This material is licensed under the Creative Commons License BY-NC-SA 4.0.

145
4.6. デバッグツールの使用方法
• ADT
– Eclipseのデバッグ機能がAndroidアプリケーション開発で利用でき
る
• ブレークポイント
• ステップ実行

• Dalvik Debug Monitor Services(DDMS)
– Android SDK同梱のデバッグツール
– 以下の機能がある
• モニタリング
• エミュレータ操作
• エミュレータ・ハードウェア内の情報取得

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

146
4.6.1.ADTの使用方法
• ブレークポイント/ステップ実行使用方法
– ブレークポイントの設定方法、ステップ実行の方法は全てEclipse
の使用方法と同じ
Debugビューと
ステップ実行

ブレークポイント
による処理中断

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

147
4.6.1.ADTの使用方法
• ADTでデバッグする際の注意
– ハードウェア(実際のAndroid端末)を使用してデバッグをするに
はAndroidManifest.xmlに設定が必要
■AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="jp.oesf.mtgeduwg.training.rssreader"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name"
android:debuggable="true">
・・・
</application>
デバッグの設定
<uses-sdk android:minSdkVersion=“7" />
</manifest>
This material is licensed under the Creative Commons License BY-NC-SA 4.0.

148
4.6.2.DDMSの使用方法
• DDMSを起動する2つの方法
–

ddmsコマンドを実行する
1.
2.

スタートメニューの[すべてのプログラム]-[アクセサリ]の[コマンド
プロンプト]を選択し、コマンドプロンプトを起動する
コマンドプロンプトで ddms と入力後、[Enter]キーを押す

コマンドから起動した
DDMS

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

149
4.6.2.DDMSの使用方法
• DDMSを起動する2つの方法
–

EclipseからDDMSを利用する
1.

Eclipseのメニュー[Window]から[Open Perspective]-*Other…+-[DDMS]を
選択する

EclipseのDDMSパースペクティ
ブ

※コマンド起動したDDMSに比べ一部使用できない機能がある
This material is licensed under the Creative Commons License BY-NC-SA 4.0.

150
4.6.2.DDMSの使用方法
• DDMSのデバッグ機能
– モニタリング
1.
2.

アプリケーションが出力するログの参照
リソース使用状況の参照

– エミュレータへのデータ送信
1.
2.
3.

電話発信
SMS送信
位置情報送信

– スクリーンショットの取得
– プロセス管理
1. ガベージコレクション実行
2. プロセス停止

– ファイル操作
This material is licensed under the Creative Commons License BY-NC-SA 4.0.

151
4.6.3.アプリケーションログの参照
• アプリケーションログの参照
– LogCatビューから、アプリケーションが出力しているログを参照
する事ができる
LogCat
アプリケーションから出
力されているログ情報を
表示
Logレベル
レベル

E

エラー情報

W

警告情報

I

動作情報

D

デバッグ情報

V

詳細情報

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

152
4.6.3.アプリケーションログの参照
• アプリケーションログの参照
– ログを出力するには、android.util.Logクラスのログ出力メソッドを
使用する
■サンプルコード
import android.util.Log;
Log.e(“HelloWorld”, “Error Message”);
Log.w(“HelloWorld”, “Warning Message”);
Log.i(“HelloWorld”, “Infomation Message”);
グ
Log.d(“HelloWorld”, “Debug Message”);
Log.v(“HelloWorld”, “Verbose Message”);

// エラーを出力するログ
// ワーニングを出力するログ
// アプリケーション動作の情報を出力するロ
// デバッグ情報を出力するログ
// 詳細情報を出力するログ

ログ出力

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

153
実
習

4.6.4.Hello Worldからログを出力する
• HelloWorldの起動時にアプリケーションログを出
力
1.
2.

Package ExplorerからHelloWorld.javaをダブルクリックする
HelloWorld.javaのソースコードが開かれ、右図の画面が表示され
ることを確認する。
2
1

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

154
実
習

4.6.4.Hello Worldからログを出力する
3.

HelloWorld#onCreateにログ出力を行う5つのコードを追加する
■HelloWorld.java
package jp.oesf.tutorial;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class HelloWorld extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

Log.e("HelloWorld", "Error Message");
Log.w("HelloWorld", "Warning Message");
Log.i("HelloWorld", "Infomation Message");
Log.d("HelloWorld", "Debug Message");
Log.v("HelloWorld", "Verbose Message");

3

}
}
This material is licensed under the Creative Commons License BY-NC-SA 4.0.

155
実
習

4.6.4.Hello Worldからログを出力する
4.
5.

Package ExplorerからHelloWorldプロジェクトを選択し、右クリッ
ク[Run As]-[Android Application]を選択する
エミュレータが起動し、右画面が表示されることを確認する
5

4

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

156
実
習

4.6.4.Hello Worldからログを出力する
6.
7.

EclipseのパースぺクティブをDDMSに変更し、DDMSの画面が表示
されることを確認する
LogCatビューに5つのログが出力されていることを確認する
6

7

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

157
4.6.5.リソース使用状況の確認
• リソース使用状況を参照する
– 参照できる情報と表示画面
• infoビュー(コマンド実行時のみ)
– プロセス情報(ID、DalvikVM情報)を表示する

• Threadsビュー
– 動作しているスレッドの情報を表示する

• VM Heapビュー
– ヒープメモリの使用状況を表示する

• Allocation Trackerビュー
– メモリ確保状況(確保クラス、メソッド等)を表示する

• Sysinfoビュー (コマンド実行時のみ)
– システム状態(CPU使用率、メモリ状況)をグラフ表示する

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

158
4.6.5.リソース使用状況の確認
• VM Heap情報を参照する

Heap情報を表示したい
プロセスにUpdate設定
をする

下記項目を一覧表示
オブジェクトの型
オブジェクトの個
数
使用メモリ合計
最小使用メモリ
最大使用メモリ
平均使用メモリ

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

159
実
習

4.6.6.エミュレータへ電話発信
• 電話発信(エミュレータに電話発信する)
1. Emulator Control ビューを選択する
2. Incoming numberに電話番号(09010000001)を入力する
3. Voiceを選択し、[Call]ボタンをクリックする

発信元番号入力
ex.
Incoming number : 09010000001
Voiceを選択

Call
: 発信する
Hang Up : 電話を切る

1
2

Emulator Control
エミュレータに対して電話
発信、SMS送信、位置情報
の送信を行う

3

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

160
実
習

4.6.6.エミュレータへ電話発信
4. エミュレータに09010000001から着信されることを確認する
4
09010000001から
エミュレータに着信

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

161
4.6.7.エミュレータへSMS発信
• SMS送信(エミュレータにSMS送信する)
1. Emulator Control ビューを選択する
2. Incoming numberに電話番号(09010000001)を入力する
3. SMSを選択、Messageに送信メッセージ(Hello Android)を入力し
、[Send]ボタンをクリックする

発信元番号・メッセージ入力
ex.
Incoming number : 09010000001
SNSを選択
Message
: Hello Android

2

3
Send : 送信する
This material is licensed under the Creative Commons License BY-NC-SA 4.0.

162
4.6.7.エミュレータへSMS発信
4.

エミュレータで09010000001からメッセージが着信していること
を確認する

SMSが着信したこ
とが通知される

Messagingアプリケー
ションに送信したメッ
セージが記録されてい
る

4

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

163
4.6.8.エミュレータへ位置情報送信
• 位置情報を送信する
1.
2.
3.
4.

Emulator Control ビューを選択する
Manualタブを開き、Decimalを選択する
Longitude(経度)/Latitude(緯度)を入力する
[Send]ボタンをクリックする

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

164
4.6.9.その他エミュレータの機能
• スクリーンショットの取得
1.
2.

[Screen Capture]ボタンをクリックすると、Device Screen Capture
ウィンドウに端末のスクリーンショットが表示される
[Save]ボタンをクリックし、保存ウィンドウからファイルを保存
する
1
2

Device Screen Capture
プレビュー表示が表示
される

保存も含めて以下の
機能がある
Refresh : 再取得する
Save
: 保存する
Done : 終了する

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

165
4.6.9.その他エミュレータの機能
• ガベージコレクションを実行する
1.
2.

Devicesビューからガベージコレクションを実行したプロセスを選
択する
HeapビューのCause GCボタンをクリックする
2
1

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

166
4.6.9.その他エミュレータの機能
• プロセスを停止する
1.
2.

Devicesビューからガベージコレクションを実行したプロセスを選
択する
DevicesビューのStop Processボタンをクリックする
2
1

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

167
4.6.9.その他エミュレータの機能
• 端末内のファイル取得/転送/削除を行う
1.
2.

FileExplorerビューを選択する
操作に対応するボタンをクリックする(ファイル取得/転送/削
除)
1

File Explorer
端末内のファイル情報を表示す
る
※ 実機の場合はアクセス制限
がかかっている為、参照で
きる範囲が限られる

2

: 端末からファイルを取り出
す
: 端末へファイルを転送する
:ファイルを削除する

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

168
5. 実習

This material is licensed under the Creative
Commons License BY-NC-SA 4.0.

169
5.1.概要
実習の進め方
• 5ステップでAndroidアプリケーション作成を学ぶ
5.2.

5.3.

5.4.

• 画面デザインの作り方

• 画面遷移の方法

• データベースの全件検
索と一覧表示

• メニュー画面を作成する

• 「ボタンをクリックした」
ことを認識する
• 一覧形式の画面を追加する
• インテントを使用して画面
遷移を行う

5.5.

5.6.

• データベースの1件検
索と画面表示

• データベースにテーブル
を作成する
• データを一覧形式で表示
する

• オプションメニューの
作り方

• 画面間でパラメータを受
け渡す
• データを絞り込み検索す
る

• オプションメニューを追
加する
• オプションメニューのク
リックを認識する

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

170
5.1.概要
実習の準備
• 実習用スケルトンプロジェクトをEclipseに取り込む
– 格納場所
• C:android_trainingskeleton_project
– ここでは、「RssReaderSkeleton1」を取り込む

– 取り込み方法
• Eclipseを起動して「File」メニューから「Import」を選択し、「Import
」ダイアログを表示する
• 「Import」ダイアログの「General」から「Existing Projects into
Workspace」を選択して「Next」ボタンを押し、スケルトンプロジェ
クトのルートディレクトリを指定して取り込む
– 「Copy projects into workspace」にチェックを入れる

This material is licensed under the Creative Commons License BY-NC-SA 4.0.

171
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門
Androidアプリケーション開発入門

More Related Content

What's hot

ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発Akira Inoue
 
SAP Applicationのソース・エンドポイントとしての利用
SAP Applicationのソース・エンドポイントとしての利用SAP Applicationのソース・エンドポイントとしての利用
SAP Applicationのソース・エンドポイントとしての利用QlikPresalesJapan
 
SQL Server/SQL Database の新機能のお話し
SQL Server/SQL Database の新機能のお話しSQL Server/SQL Database の新機能のお話し
SQL Server/SQL Database の新機能のお話しInsight Technology, Inc.
 
Fuchsia概略その1
Fuchsia概略その1Fuchsia概略その1
Fuchsia概略その1l_b__
 
z/OS Small Enhancements - Episode 2016A
z/OS Small Enhancements - Episode 2016Az/OS Small Enhancements - Episode 2016A
z/OS Small Enhancements - Episode 2016AMarna Walle
 
UEFI時代のブートローダ
UEFI時代のブートローダUEFI時代のブートローダ
UEFI時代のブートローダTakuya ASADA
 
Microsoft MVP/Regional Director x Microsoft Japan Digital Days #MSDD2021
Microsoft MVP/Regional Director x Microsoft Japan Digital Days #MSDD2021Microsoft MVP/Regional Director x Microsoft Japan Digital Days #MSDD2021
Microsoft MVP/Regional Director x Microsoft Japan Digital Days #MSDD2021Rie Moriguchi
 
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)Nanik Tolaram
 
Q4.11: ARM Architecture
Q4.11: ARM ArchitectureQ4.11: ARM Architecture
Q4.11: ARM ArchitectureLinaro
 
俺の俺による俺のための App Service Environment
俺の俺による俺のための App Service Environment俺の俺による俺のための App Service Environment
俺の俺による俺のための App Service EnvironmentSunao Tomita
 
Safety-Certifying Open Source Software: The Case of the Xen Hypervisor
Safety-Certifying Open Source Software: The Case of the Xen HypervisorSafety-Certifying Open Source Software: The Case of the Xen Hypervisor
Safety-Certifying Open Source Software: The Case of the Xen HypervisorStefano Stabellini
 
[SCCM 友の会] System Center Configuration Manager この秋おさえておきたい最新機能!
[SCCM 友の会]  System Center Configuration Manager  この秋おさえておきたい最新機能![SCCM 友の会]  System Center Configuration Manager  この秋おさえておきたい最新機能!
[SCCM 友の会] System Center Configuration Manager この秋おさえておきたい最新機能!TAKUYA OHTA
 
Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Emma Haruka Iwao
 
Microsoft Build 2022をさらに楽しむためのおすすめセッション/サンプル コード Powered by Microsoft MVPs
Microsoft Build 2022をさらに楽しむためのおすすめセッション/サンプル コード Powered by Microsoft MVPsMicrosoft Build 2022をさらに楽しむためのおすすめセッション/サンプル コード Powered by Microsoft MVPs
Microsoft Build 2022をさらに楽しむためのおすすめセッション/サンプル コード Powered by Microsoft MVPsRie Moriguchi
 
Machine configoperatorのちょっとイイかもしれない話
Machine configoperatorのちょっとイイかもしれない話 Machine configoperatorのちょっとイイかもしれない話
Machine configoperatorのちょっとイイかもしれない話 Toshihiro Araki
 
Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...
Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...
Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...オラクルエンジニア通信
 
【de:code 2020】 今すぐはじめたい SQL Database のかしこい使い分け術 前編
【de:code 2020】 今すぐはじめたい SQL Database のかしこい使い分け術 前編【de:code 2020】 今すぐはじめたい SQL Database のかしこい使い分け術 前編
【de:code 2020】 今すぐはじめたい SQL Database のかしこい使い分け術 前編日本マイクロソフト株式会社
 
Android組み込み開発テキスト pandaboard es編
Android組み込み開発テキスト pandaboard es編Android組み込み開発テキスト pandaboard es編
Android組み込み開発テキスト pandaboard es編OESF Education
 
“見てわかる” ファイバーチャネルSAN基礎講座(第5弾)~さあ、いよいよ、運用です!~
“見てわかる” ファイバーチャネルSAN基礎講座(第5弾)~さあ、いよいよ、運用です!~“見てわかる” ファイバーチャネルSAN基礎講座(第5弾)~さあ、いよいよ、運用です!~
“見てわかる” ファイバーチャネルSAN基礎講座(第5弾)~さあ、いよいよ、運用です!~Brocade
 

What's hot (20)

ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
 
SAP Applicationのソース・エンドポイントとしての利用
SAP Applicationのソース・エンドポイントとしての利用SAP Applicationのソース・エンドポイントとしての利用
SAP Applicationのソース・エンドポイントとしての利用
 
SQL Server/SQL Database の新機能のお話し
SQL Server/SQL Database の新機能のお話しSQL Server/SQL Database の新機能のお話し
SQL Server/SQL Database の新機能のお話し
 
Fuchsia概略その1
Fuchsia概略その1Fuchsia概略その1
Fuchsia概略その1
 
z/OS Small Enhancements - Episode 2016A
z/OS Small Enhancements - Episode 2016Az/OS Small Enhancements - Episode 2016A
z/OS Small Enhancements - Episode 2016A
 
UEFI時代のブートローダ
UEFI時代のブートローダUEFI時代のブートローダ
UEFI時代のブートローダ
 
Microsoft MVP/Regional Director x Microsoft Japan Digital Days #MSDD2021
Microsoft MVP/Regional Director x Microsoft Japan Digital Days #MSDD2021Microsoft MVP/Regional Director x Microsoft Japan Digital Days #MSDD2021
Microsoft MVP/Regional Director x Microsoft Japan Digital Days #MSDD2021
 
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
 
JS7 JobScheduler プレビュー
JS7 JobScheduler プレビューJS7 JobScheduler プレビュー
JS7 JobScheduler プレビュー
 
Q4.11: ARM Architecture
Q4.11: ARM ArchitectureQ4.11: ARM Architecture
Q4.11: ARM Architecture
 
俺の俺による俺のための App Service Environment
俺の俺による俺のための App Service Environment俺の俺による俺のための App Service Environment
俺の俺による俺のための App Service Environment
 
Safety-Certifying Open Source Software: The Case of the Xen Hypervisor
Safety-Certifying Open Source Software: The Case of the Xen HypervisorSafety-Certifying Open Source Software: The Case of the Xen Hypervisor
Safety-Certifying Open Source Software: The Case of the Xen Hypervisor
 
[SCCM 友の会] System Center Configuration Manager この秋おさえておきたい最新機能!
[SCCM 友の会]  System Center Configuration Manager  この秋おさえておきたい最新機能![SCCM 友の会]  System Center Configuration Manager  この秋おさえておきたい最新機能!
[SCCM 友の会] System Center Configuration Manager この秋おさえておきたい最新機能!
 
Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Ceph アーキテクチャ概説
Ceph アーキテクチャ概説
 
Microsoft Build 2022をさらに楽しむためのおすすめセッション/サンプル コード Powered by Microsoft MVPs
Microsoft Build 2022をさらに楽しむためのおすすめセッション/サンプル コード Powered by Microsoft MVPsMicrosoft Build 2022をさらに楽しむためのおすすめセッション/サンプル コード Powered by Microsoft MVPs
Microsoft Build 2022をさらに楽しむためのおすすめセッション/サンプル コード Powered by Microsoft MVPs
 
Machine configoperatorのちょっとイイかもしれない話
Machine configoperatorのちょっとイイかもしれない話 Machine configoperatorのちょっとイイかもしれない話
Machine configoperatorのちょっとイイかもしれない話
 
Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...
Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...
Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...
 
【de:code 2020】 今すぐはじめたい SQL Database のかしこい使い分け術 前編
【de:code 2020】 今すぐはじめたい SQL Database のかしこい使い分け術 前編【de:code 2020】 今すぐはじめたい SQL Database のかしこい使い分け術 前編
【de:code 2020】 今すぐはじめたい SQL Database のかしこい使い分け術 前編
 
Android組み込み開発テキスト pandaboard es編
Android組み込み開発テキスト pandaboard es編Android組み込み開発テキスト pandaboard es編
Android組み込み開発テキスト pandaboard es編
 
“見てわかる” ファイバーチャネルSAN基礎講座(第5弾)~さあ、いよいよ、運用です!~
“見てわかる” ファイバーチャネルSAN基礎講座(第5弾)~さあ、いよいよ、運用です!~“見てわかる” ファイバーチャネルSAN基礎講座(第5弾)~さあ、いよいよ、運用です!~
“見てわかる” ファイバーチャネルSAN基礎講座(第5弾)~さあ、いよいよ、運用です!~
 

Viewers also liked

2015年度研究室プレ卒研用Android講座1
2015年度研究室プレ卒研用Android講座12015年度研究室プレ卒研用Android講座1
2015年度研究室プレ卒研用Android講座1Hokuto Tateyama
 
はじめる前に知っておきたいAndroidアプリ開発のポイント
はじめる前に知っておきたいAndroidアプリ開発のポイントはじめる前に知っておきたいAndroidアプリ開発のポイント
はじめる前に知っておきたいAndroidアプリ開発のポイントShinobu Okano
 
Android学ぶを君へ。生き抜くためのナレッジ共有
Android学ぶを君へ。生き抜くためのナレッジ共有Android学ぶを君へ。生き抜くためのナレッジ共有
Android学ぶを君へ。生き抜くためのナレッジ共有Shinobu Okano
 
Developers Summit 2017 17-A-7 執筆を支える技術と技術書のトレンド
Developers Summit 2017 17-A-7 執筆を支える技術と技術書のトレンドDevelopers Summit 2017 17-A-7 執筆を支える技術と技術書のトレンド
Developers Summit 2017 17-A-7 執筆を支える技術と技術書のトレンドMasahiro Hidaka
 
2015年度研究室プレ卒研用Android講座2
2015年度研究室プレ卒研用Android講座22015年度研究室プレ卒研用Android講座2
2015年度研究室プレ卒研用Android講座2Hokuto Tateyama
 
クロスプロモーション(無料のプロモーション)でスマホアプリの広告収益最大化
クロスプロモーション(無料のプロモーション)でスマホアプリの広告収益最大化クロスプロモーション(無料のプロモーション)でスマホアプリの広告収益最大化
クロスプロモーション(無料のプロモーション)でスマホアプリの広告収益最大化TakashiOkaniwa
 
海外向けスマホアプリプロモーションサービスについて
海外向けスマホアプリプロモーションサービスについて海外向けスマホアプリプロモーションサービスについて
海外向けスマホアプリプロモーションサービスについてTakashiOkaniwa
 
Techno TUT コードとコード進行について 
Techno TUT コードとコード進行について Techno TUT コードとコード進行について 
Techno TUT コードとコード進行について Hokuto Tateyama
 
第25回プロコン一関大会課題部門-富山(射水)-「DTN通信を用いた災害時の 安否及び避難所情報収集システム」
第25回プロコン一関大会課題部門-富山(射水)-「DTN通信を用いた災害時の安否及び避難所情報収集システム」第25回プロコン一関大会課題部門-富山(射水)-「DTN通信を用いた災害時の安否及び避難所情報収集システム」
第25回プロコン一関大会課題部門-富山(射水)-「DTN通信を用いた災害時の 安否及び避難所情報収集システム」Hokuto Tateyama
 
Androidアプリケーション応用 WebAPI開発
Androidアプリケーション応用 WebAPI開発Androidアプリケーション応用 WebAPI開発
Androidアプリケーション応用 WebAPI開発OESF Education
 
Androidタブレットアプリケーション開発入門
Androidタブレットアプリケーション開発入門Androidタブレットアプリケーション開発入門
Androidタブレットアプリケーション開発入門OESF Education
 
Medicine Compliance presentation
Medicine Compliance presentationMedicine Compliance presentation
Medicine Compliance presentationVanessa Li
 
スマホにおけるWebGL入門
スマホにおけるWebGL入門スマホにおけるWebGL入門
スマホにおけるWebGL入門Yohta Kanke
 
WebGLことはじめ
WebGLことはじめWebGLことはじめ
WebGLことはじめKazuya Hiruma
 
Androidプログラミング入門
Androidプログラミング入門Androidプログラミング入門
Androidプログラミング入門OESF Education
 
Android Application Development Advanced
Android Application Development AdvancedAndroid Application Development Advanced
Android Application Development AdvancedOESF Education
 
デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」Hokuto Tateyama
 
Android Studio First Step Guide
Android Studio First Step GuideAndroid Studio First Step Guide
Android Studio First Step GuideMasahiro Hidaka
 

Viewers also liked (20)

2015年度研究室プレ卒研用Android講座1
2015年度研究室プレ卒研用Android講座12015年度研究室プレ卒研用Android講座1
2015年度研究室プレ卒研用Android講座1
 
はじめる前に知っておきたいAndroidアプリ開発のポイント
はじめる前に知っておきたいAndroidアプリ開発のポイントはじめる前に知っておきたいAndroidアプリ開発のポイント
はじめる前に知っておきたいAndroidアプリ開発のポイント
 
Android概要資料
Android概要資料Android概要資料
Android概要資料
 
Android学ぶを君へ。生き抜くためのナレッジ共有
Android学ぶを君へ。生き抜くためのナレッジ共有Android学ぶを君へ。生き抜くためのナレッジ共有
Android学ぶを君へ。生き抜くためのナレッジ共有
 
Developers Summit 2017 17-A-7 執筆を支える技術と技術書のトレンド
Developers Summit 2017 17-A-7 執筆を支える技術と技術書のトレンドDevelopers Summit 2017 17-A-7 執筆を支える技術と技術書のトレンド
Developers Summit 2017 17-A-7 執筆を支える技術と技術書のトレンド
 
2015年度研究室プレ卒研用Android講座2
2015年度研究室プレ卒研用Android講座22015年度研究室プレ卒研用Android講座2
2015年度研究室プレ卒研用Android講座2
 
クロスプロモーション(無料のプロモーション)でスマホアプリの広告収益最大化
クロスプロモーション(無料のプロモーション)でスマホアプリの広告収益最大化クロスプロモーション(無料のプロモーション)でスマホアプリの広告収益最大化
クロスプロモーション(無料のプロモーション)でスマホアプリの広告収益最大化
 
海外向けスマホアプリプロモーションサービスについて
海外向けスマホアプリプロモーションサービスについて海外向けスマホアプリプロモーションサービスについて
海外向けスマホアプリプロモーションサービスについて
 
Techno TUT コードとコード進行について 
Techno TUT コードとコード進行について Techno TUT コードとコード進行について 
Techno TUT コードとコード進行について 
 
第25回プロコン一関大会課題部門-富山(射水)-「DTN通信を用いた災害時の 安否及び避難所情報収集システム」
第25回プロコン一関大会課題部門-富山(射水)-「DTN通信を用いた災害時の安否及び避難所情報収集システム」第25回プロコン一関大会課題部門-富山(射水)-「DTN通信を用いた災害時の安否及び避難所情報収集システム」
第25回プロコン一関大会課題部門-富山(射水)-「DTN通信を用いた災害時の 安否及び避難所情報収集システム」
 
Androidアプリケーション応用 WebAPI開発
Androidアプリケーション応用 WebAPI開発Androidアプリケーション応用 WebAPI開発
Androidアプリケーション応用 WebAPI開発
 
Androidタブレットアプリケーション開発入門
Androidタブレットアプリケーション開発入門Androidタブレットアプリケーション開発入門
Androidタブレットアプリケーション開発入門
 
講座Java入門
講座Java入門講座Java入門
講座Java入門
 
Medicine Compliance presentation
Medicine Compliance presentationMedicine Compliance presentation
Medicine Compliance presentation
 
スマホにおけるWebGL入門
スマホにおけるWebGL入門スマホにおけるWebGL入門
スマホにおけるWebGL入門
 
WebGLことはじめ
WebGLことはじめWebGLことはじめ
WebGLことはじめ
 
Androidプログラミング入門
Androidプログラミング入門Androidプログラミング入門
Androidプログラミング入門
 
Android Application Development Advanced
Android Application Development AdvancedAndroid Application Development Advanced
Android Application Development Advanced
 
デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」
 
Android Studio First Step Guide
Android Studio First Step GuideAndroid Studio First Step Guide
Android Studio First Step Guide
 

Similar to Androidアプリケーション開発入門

【de:code 2020】 セキュリティは万全ですか? Azure Sphere によるセキュリティ紹介
【de:code 2020】 セキュリティは万全ですか? Azure Sphere によるセキュリティ紹介【de:code 2020】 セキュリティは万全ですか? Azure Sphere によるセキュリティ紹介
【de:code 2020】 セキュリティは万全ですか? Azure Sphere によるセキュリティ紹介日本マイクロソフト株式会社
 
クロスプラットフォーム開発を可能にするMonacaとそのセキュリティ対策
クロスプラットフォーム開発を可能にするMonacaとそのセキュリティ対策クロスプラットフォーム開発を可能にするMonacaとそのセキュリティ対策
クロスプラットフォーム開発を可能にするMonacaとそのセキュリティ対策Monaca
 
Android builders summit slide tour
Android builders summit slide tourAndroid builders summit slide tour
Android builders summit slide tourmagoroku Yamamoto
 
Windows Phoneの 企業内活用方法、 社内向けアプリ開発と展開
Windows Phoneの企業内活用方法、社内向けアプリ開発と展開Windows Phoneの企業内活用方法、社内向けアプリ開発と展開
Windows Phoneの 企業内活用方法、 社内向けアプリ開発と展開Akira Onishi
 
クロスプラットフォーム開発入門
クロスプラットフォーム開発入門クロスプラットフォーム開発入門
クロスプラットフォーム開発入門minazou67
 
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019Hiroyuki Mori
 
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンスHTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンスアシアル株式会社
 
Android技術者認定試験を受けてみよう!
Android技術者認定試験を受けてみよう!Android技術者認定試験を受けてみよう!
Android技術者認定試験を受けてみよう!Akira SUGIMOTO
 
Monacaエンタープライズのご紹介
Monacaエンタープライズのご紹介Monacaエンタープライズのご紹介
Monacaエンタープライズのご紹介アシアル株式会社
 
Try Firefox OS
Try Firefox OSTry Firefox OS
Try Firefox OSdynamis
 
アンドロイド勉強会第二回 080525 3
アンドロイド勉強会第二回  080525 3アンドロイド勉強会第二回  080525 3
アンドロイド勉強会第二回 080525 3shimay
 
HTML5スマートフォン業務アプリ開発セミナー(応用)テキストの抜粋
HTML5スマートフォン業務アプリ開発セミナー(応用)テキストの抜粋HTML5スマートフォン業務アプリ開発セミナー(応用)テキストの抜粋
HTML5スマートフォン業務アプリ開発セミナー(応用)テキストの抜粋Staffnet_Inc
 
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみた
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみたCordova を使って本気で商用ハイブリッドアプリ開発をやってみた
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみたShin Ogata
 
Firefox OS 1.0 Application Development
Firefox OS 1.0 Application DevelopmentFirefox OS 1.0 Application Development
Firefox OS 1.0 Application Developmentdynamis
 
HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解Monaca
 
最新AndroidとIoTプラットフォームの今 (WJ2016)
最新AndroidとIoTプラットフォームの今 (WJ2016)最新AndroidとIoTプラットフォームの今 (WJ2016)
最新AndroidとIoTプラットフォームの今 (WJ2016)嶋 是一 (Yoshikazu SHIMA)
 
【de:code 2020】 そのロジック、IoT Edge で動きます - Azure IoT Edge 開発 Deep Dive
【de:code 2020】 そのロジック、IoT Edge で動きます - Azure IoT Edge 開発 Deep Dive【de:code 2020】 そのロジック、IoT Edge で動きます - Azure IoT Edge 開発 Deep Dive
【de:code 2020】 そのロジック、IoT Edge で動きます - Azure IoT Edge 開発 Deep Dive日本マイクロソフト株式会社
 
LG vs. Samsung スマートTV: あなたを追跡できるのはどちら? by イ・サンミン
LG vs. Samsung スマートTV: あなたを追跡できるのはどちら? by イ・サンミンLG vs. Samsung スマートTV: あなたを追跡できるのはどちら? by イ・サンミン
LG vs. Samsung スマートTV: あなたを追跡できるのはどちら? by イ・サンミンCODE BLUE
 
クロスプラットフォーム開発を可能にするMonaca
クロスプラットフォーム開発を可能にするMonacaクロスプラットフォーム開発を可能にするMonaca
クロスプラットフォーム開発を可能にするMonacaMonaca
 
Windows Phone アプリに認証と認可を実装する V1.0
Windows Phone アプリに認証と認可を実装する V1.0Windows Phone アプリに認証と認可を実装する V1.0
Windows Phone アプリに認証と認可を実装する V1.0junichi anno
 

Similar to Androidアプリケーション開発入門 (20)

【de:code 2020】 セキュリティは万全ですか? Azure Sphere によるセキュリティ紹介
【de:code 2020】 セキュリティは万全ですか? Azure Sphere によるセキュリティ紹介【de:code 2020】 セキュリティは万全ですか? Azure Sphere によるセキュリティ紹介
【de:code 2020】 セキュリティは万全ですか? Azure Sphere によるセキュリティ紹介
 
クロスプラットフォーム開発を可能にするMonacaとそのセキュリティ対策
クロスプラットフォーム開発を可能にするMonacaとそのセキュリティ対策クロスプラットフォーム開発を可能にするMonacaとそのセキュリティ対策
クロスプラットフォーム開発を可能にするMonacaとそのセキュリティ対策
 
Android builders summit slide tour
Android builders summit slide tourAndroid builders summit slide tour
Android builders summit slide tour
 
Windows Phoneの 企業内活用方法、 社内向けアプリ開発と展開
Windows Phoneの企業内活用方法、社内向けアプリ開発と展開Windows Phoneの企業内活用方法、社内向けアプリ開発と展開
Windows Phoneの 企業内活用方法、 社内向けアプリ開発と展開
 
クロスプラットフォーム開発入門
クロスプラットフォーム開発入門クロスプラットフォーム開発入門
クロスプラットフォーム開発入門
 
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
 
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンスHTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
 
Android技術者認定試験を受けてみよう!
Android技術者認定試験を受けてみよう!Android技術者認定試験を受けてみよう!
Android技術者認定試験を受けてみよう!
 
Monacaエンタープライズのご紹介
Monacaエンタープライズのご紹介Monacaエンタープライズのご紹介
Monacaエンタープライズのご紹介
 
Try Firefox OS
Try Firefox OSTry Firefox OS
Try Firefox OS
 
アンドロイド勉強会第二回 080525 3
アンドロイド勉強会第二回  080525 3アンドロイド勉強会第二回  080525 3
アンドロイド勉強会第二回 080525 3
 
HTML5スマートフォン業務アプリ開発セミナー(応用)テキストの抜粋
HTML5スマートフォン業務アプリ開発セミナー(応用)テキストの抜粋HTML5スマートフォン業務アプリ開発セミナー(応用)テキストの抜粋
HTML5スマートフォン業務アプリ開発セミナー(応用)テキストの抜粋
 
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみた
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみたCordova を使って本気で商用ハイブリッドアプリ開発をやってみた
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみた
 
Firefox OS 1.0 Application Development
Firefox OS 1.0 Application DevelopmentFirefox OS 1.0 Application Development
Firefox OS 1.0 Application Development
 
HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解
 
最新AndroidとIoTプラットフォームの今 (WJ2016)
最新AndroidとIoTプラットフォームの今 (WJ2016)最新AndroidとIoTプラットフォームの今 (WJ2016)
最新AndroidとIoTプラットフォームの今 (WJ2016)
 
【de:code 2020】 そのロジック、IoT Edge で動きます - Azure IoT Edge 開発 Deep Dive
【de:code 2020】 そのロジック、IoT Edge で動きます - Azure IoT Edge 開発 Deep Dive【de:code 2020】 そのロジック、IoT Edge で動きます - Azure IoT Edge 開発 Deep Dive
【de:code 2020】 そのロジック、IoT Edge で動きます - Azure IoT Edge 開発 Deep Dive
 
LG vs. Samsung スマートTV: あなたを追跡できるのはどちら? by イ・サンミン
LG vs. Samsung スマートTV: あなたを追跡できるのはどちら? by イ・サンミンLG vs. Samsung スマートTV: あなたを追跡できるのはどちら? by イ・サンミン
LG vs. Samsung スマートTV: あなたを追跡できるのはどちら? by イ・サンミン
 
クロスプラットフォーム開発を可能にするMonaca
クロスプラットフォーム開発を可能にするMonacaクロスプラットフォーム開発を可能にするMonaca
クロスプラットフォーム開発を可能にするMonaca
 
Windows Phone アプリに認証と認可を実装する V1.0
Windows Phone アプリに認証と認可を実装する V1.0Windows Phone アプリに認証と認可を実装する V1.0
Windows Phone アプリに認証と認可を実装する V1.0
 

Recently uploaded

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 

Recently uploaded (12)

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 

Androidアプリケーション開発入門