このページの本文へ

前へ 1 2 3 4 5 6 次へ

車とスマホがつながるSDLの世界 第7回

メニュー画面を表示してみよう

SDL対応アプリ開発環境の構築その3~Android版のSDLのAPIを使いこなす

2019年01月12日 11時00分更新

文● 柴田文彦 編集●アスキー編集部

提供: トヨタ自動車株式会社

  • この記事をはてなブックマークに追加
  • 本文印刷

エミュレーター上に出してみたメニュー画面

SDLのAPIを探訪するための基本方針

 SDL対応アプリ開発環境の構築と、アプリ開発手法を解説するこの連載では、これまで第1回でSDLの車載器エミュレーターの構築方法を解説し、第2回ではGitHubで公開されているAndroidおよびiOS対応のサンプルプロジェクトを入手してそのままビルドし、車載器エミュレーター上でアプリを動作させるための手順を取り上げた。

 残りの2回では、SDLが用意するAPIを利用して、実際のアプリを作っていく方法を解説する。第3回の今回は、Android用のアプリのプロジェクトを、次回の第4回ではiOSのプロジェクトをそれぞれ取り上げる。

 その際には、何らかの実用的なアプリを短時間で作成するのにも無理があるので、どのようなアプリにも間違いなく必要となる領域に話題を絞ることにする。特に、アプリと車載器との情報のやり取りの部分、つまり車載機上にアプリ独自のユーザーインターフェースを構成し、その操作にアプリ側で応答するために必要な処理を中心に解説する。

 車の中というやや特殊な環境でも動作する、というより、車の中だからこそ、十二分に機能を発揮できるアプリのアイディアを、SDL対応アプリとして具体化するための、最初のステップとなる部分だ。

 今回のAndroidアプリのプロジェクトは、前回も利用したSDLのサンプルプロジェクトをベースにする。そこに手を加えることで、ユーザーインターフェースを充実させていく、という方針を取ることにした。Androidのサンプルプロジェクトに含まれるコードは、必要最小限に近いものだからだ。たとえば、車載機のディスプレイ上には、ユーザーが操作できるボタンが1つも配置されていない。それだけに、実際のアプリのベースとなるプロジェクトとして利用しやすい。

 次回の話になるが、iOSについては、標準的な白紙のiOSアプリプロジェクトに、SDLのSDKを追加し、コードを書き加えていく手法を取る。というのも、サンプルプロジェクトの内容が比較的充実しているだけに、ベースのプロジェクトとしては、やや利用しにくいからだ。

 今回作成するAndroidアプリでは、まずユーザーインターフェースの基礎となる車載機側のテンプレートの選択から始めて、テキストメッセージの表示、ソフトボタンの配置、ボタン操作に対して車載機のディスプレイにアラートを表示、サブメニューを含むメニューの追加といった基本的な機能を実現していく。以下に順を追って具体的な手順を詳しく解説しよう。

Androidアプリのサンプルプロジェクトの構成を確認

 すでに述べた通り、Androidアプリについては、SDLのサンプルプロジェクトをベースとして話を始める。もし、Android Studioの標準的なプロジェクトから始める必要がある場合には、SDLのサイトにある公式ドキュメントの中の「Instration」に、プロジェクトの「build.gradle」ファイルを編集してディペンデンシを追加する方法が、また「Integration Basics」には、システムのパーミッションの設定や、Android Oreo以降で必要な、サービスをフォアグラウンドで走らせるための方法などが述べられている。必要に応じて参照していただきたい。

 サンプルプロジェクトを利用すれば、それらの設定はあらかじめ組み込まれているので、ここでは、それらはすでに済んでいるものとして話を進める。

 前回は、とにかく動かしてみることに重点を置いていたので、サンプルプロジェクトの中身についてはほとんど触れなかった。ここでプロジェクトに含まれるJavaソースファイルレベルで、プロジェクトの構成を確認していこう。Androidアプリとして最小限必要なMainActivity.javaに加えて、サンプルプロジェクトには名前が「Sdl」で始まる3つのSDL関連のソースファイルが加えられている(図1)。

図1:SDLがGitHubに公開しているAndroidアプリのサンプルプロジェクトのJavaソースファイル構成。このうち、SdlService.javaを編集していく

 このうち最も重要なのは「SdlService.java」だ。今回実際に書き加えていくプログラムは、すべてこのファイルの中に記述することになる。このファイル名が示す「SDLサービス」という語は、これまでのSDLの解説にも登場しなかった聞き慣れない名前だろう。それもそのはず、その中の「サービス」という部分は、SDLとは何の関係もなく、Androidアプリの中のプログラムの実行形態としての「サービス」だからだ。このサービスの中では、SDLのSDKの中核を担う「SdlManager」クラスを実装し、SDL対応アプリとSDL車載機が連携して動作するための機能を実現する。

 それ以外のSDL関連のソースファイル「SdlReceiver.java」と「SdlRouterService.java」については、説明を割愛する。と言っても、このサンプルプロジェクトに含まれる両ソースコードは、ほとんどプレースホルダーのようなもので、アプリ独自の実装は何も含んでいない。

前へ 1 2 3 4 5 6 次へ

カテゴリートップへ

この連載の記事
1
【整備済み品】 富士通 ノートパソコン LIFEBOOK MU937 超軽量 薄型ノートPC■Win11搭載 / MS Office H&B 2019 / FHD(1920x1080)/第七世代 Celeron/8GBメモリ/SSD 256GB/Webカメラ内蔵/13.3インチ
【整備済み品】 富士通 ノートパソコン LIFEBOOK MU937 超軽量 薄型ノートPC■Win11搭載 / MS Office H&B 2019 / FHD(1920x1080)/第七世代 Celeron/8GBメモリ/SSD 256GB/Webカメラ内蔵/13.3インチ
¥19,800
2
Lenovo ノートパソコン パソコン IdeaPad Slim 3 14.0インチ 第13世代 インテル® Core™ i5 プロセッサー搭載 13420H メモリ16GB SSD512GB MS Office 2024搭載 Windows11 バッテリー駆動14.1時間 重量1.39kg ルナグレー 83K00072JP ノートPC
Lenovo ノートパソコン パソコン IdeaPad Slim 3 14.0インチ 第13世代 インテル® Core™ i5 プロセッサー搭載 13420H メモリ16GB SSD512GB MS Office 2024搭載 Windows11 バッテリー駆動14.1時間 重量1.39kg ルナグレー 83K00072JP ノートPC
¥107,800
3
【整備済み品】中古 ノートパソコン NEC VersaPro VKT16/15.6型・第8世代Core i5-8250U(最大動作3.4GHz)/快適メモリ8GB/ 高速SSD 256GB/Win11 Pro/MS Office 2019付属/テンキー付, Webカメラ, USB3.0, HDMI, VGA, 有線LAN, WIFI内蔵, Bluetooth/ACアダプター付属/180日間保証
【整備済み品】中古 ノートパソコン NEC VersaPro VKT16/15.6型・第8世代Core i5-8250U(最大動作3.4GHz)/快適メモリ8GB/ 高速SSD 256GB/Win11 Pro/MS Office 2019付属/テンキー付, Webカメラ, USB3.0, HDMI, VGA, 有線LAN, WIFI内蔵, Bluetooth/ACアダプター付属/180日間保証
¥26,880
4
【Amazon.co.jp限定】 HP ノートパソコン 15-fd 15.6インチ インテル Core i5-1334U メモリ16GB SSD512GB Windows 11 Microsoft Office 2024搭載 カメラシャッター 指紋認証 薄型 Copilotキー搭載 ナチュラルシルバー (BJ0M4PA-AAAB)
【Amazon.co.jp限定】 HP ノートパソコン 15-fd 15.6インチ インテル Core i5-1334U メモリ16GB SSD512GB Windows 11 Microsoft Office 2024搭載 カメラシャッター 指紋認証 薄型 Copilotキー搭載 ナチュラルシルバー (BJ0M4PA-AAAB)
¥181,469
5
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
¥36,979

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥1,880
2
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,890
3
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
¥980
4
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
5
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥740
6
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥980
7
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
¥5,280
8
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
¥5,545
9
バッファロー SDカード 128GB 100MB/s UHS-1 スピードクラス1 VideoSpeedClass10 IPX7 Full HD データ復旧サービス対応 RSDC-128U11HA/N
バッファロー SDカード 128GB 100MB/s UHS-1 スピードクラス1 VideoSpeedClass10 IPX7 Full HD データ復旧サービス対応 RSDC-128U11HA/N
¥1,980
10
バッファロー マウス 無線 ワイヤレス 5ボタン 【戻る/進むボタン搭載】 小型 軽量 節電モデル 最大584日使用可能 BlueLED ブラック BSMBW315BK
バッファロー マウス 無線 ワイヤレス 5ボタン 【戻る/進むボタン搭載】 小型 軽量 節電モデル 最大584日使用可能 BlueLED ブラック BSMBW315BK
¥1,040

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン