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

携帯情報端末向けアプリケーション開発のための基 礎技術の習得

N/A
N/A
Protected

Academic year: 2021

シェア "携帯情報端末向けアプリケーション開発のための基 礎技術の習得"

Copied!
7
0
0

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

全文

(1)

携帯情報端末向けアプリケーション開発のための基 礎技術の習得

著者 水野 広治, 篠 競, 白井 治彦

雑誌名 技術部活動報告集

巻 17 (2011年度)

ページ 9‑14

発行年 2012‑03

URL http://hdl.handle.net/10098/7356

(2)

携帯情報端末向けアプリケーション開発のための基礎技術の習得

水野広治,篠 競,白井治彦(第三技術室)

はじめに

最近急速に作及してきたスマートフォンやタブレット端末などの多機能携帯情報端末(以下,情 報端末)は,従来の携帯電話用 OSとは異なり搭載されている多くの機能を日用したアプリケーショ ン(以下,アプリ)を誰でも内出に作成することが Cきるようになった.そして,これらを対象にし たアプリ開発は今後ますます活発になると思われる そこで本研修では,情報端末のアプリ開発,

刊にタブレット端よを対象にした開発環境の構築や,ゴミ機へのインストーノレを含む一連の開発のた めの基襟技術を科得することを目的とした.

研 修 で は,米アップノレが開発した Ii OSJ搭 載 の げadと,米グーグノレが開発した IAndroidOSJ  搭載の Andriodタブレットをアプリ開発の対象とした また,開発のための実施環境は,両情報端 末ともに Mac (OS  X)を用いた.実際のアブリ開発は三つの方法で千丁った 一つは既存の Wcb開発 技 術 を 用 い た 両 端 本1('1け の ア ブ リ 開 発 も う つ は iOSSDKを用いた iPadアプりの開発,そして Android SDK (Software Developmen KiL)と ]DKを用いた Ec1i pseによる Androidアブリの開発で ある.これら開発のための環境構築やアブリ作成の基礎技術を実機て、の動作確認、も合めて実際に行 った.

2.  HTML+CSS+]avaScriptに よ る 開 発 手 法

iPadやAndroidタブレットなど情報端本のアブりの開発には,それぞれ専用の開発環境と百語が 用意されているが,その開発環境や言語の技術習得には少なからず困難が伴う.一方, Wcbサイト の作成に関して多少の知識と経験がある場介,既存の Webサイトなどをアプリ化する開発手法もあ る

この¥Veb技 術 を 使 っ た ア プ リ の 開 発 は2ステップ

c

行なう 最初のステップで開発する Webアプ リは, UJ([.を指定してアクセスし,情報端末用に最適化されているブラウザでの使用が前提だが,

見た目や使用感は通惜のアプリと同様である 利点としては,三の状態で公開することができ,ユ ーザからのフィードパックによりデパツグや改良が迅速に行えることである.

Webアプリのコードを使って,次のステップで開発するアプリ(ネイティブアプりケーション)は,

情報端本にインストーノレして,その機能やハードウェアを利用できるものである.とれは 3,4  草の開発手法によるアブりと同様に, App Store/Android Marketなどに登録できるアブりである

本研修では, iOS, Androidのアプリ開発の両方につい亡研修を行ったが, Web技術を使って作成

(3)

したコードは,どちらの情報端末用のアプリ作成のためにも,ほぽ内容を変更せずに利用できる点 もとの開発手法の長所である

HTMLファイノレ, C55フアイノレ, ]avaScriptファイノレ の三つのファイノレを作成する(図2.l) 

Webアプりの基本的な構造はHTML言語で作成する この HTMLファイルだけでは, PCのブラウザでの表 示と変わらず,情報端末での表示向けとはいえない

これを, CSS(Cascading  $ty1e Sheets)ファイノレを 使って,情報端末に最適化したサイズ,レイアウト,

グラデーンヨン,透明度などのスタイルに変えていく

]avaScriptによって,ボタンなどの振舞いやアニメーション効果などを設計し記述していく 2. 1 Webアプリケー ション

Webアプリは,Web技術を利用して情報端末での使 用に最適化した Webサイトを意味する Webアプリ

の開発のためには通常の Webサイト作成と同様に,

w . .  

サーパ ind

"̲ht>

Ho.~.css

Ho

ej. 

⁝ も

. . . .  

HTMLファイル C臼 ファイル

J

v

Scriptファイ

ω " .

山ノ'jQ川 町 )

HTML5の梅 能(JavaSeriptコド〉

2.1 lI'ebアプリケーγヨンの作 成

]avaScriptのプログラミングでは,コーディングの効率化や,ブラウザによる動作の相違を吸収す るため jQueryライプラリを活用する また,アプリと同様なアニメーション効果を容易に実現で きる jQueryのプラグインである jQTouchライブラリを活用する ここまでで,且映えや動作表現と

してはアプリに近いWebサイトの作成は完了である

このほか,アプリに必要なものとしてデータの保持がある Webアプリの場合,データはサーパ 上のデータベースか, Cookieの中に保持されるのが 般的であった しかし, HTML5の出現によっ て,クライアントサイドにデータを保持する仕組みとしてキーと値の組みを保存する !ocalStorage

とsessionStorage.そしてクライアントサイドのデータベースの三つが利用可能になった こうし た仕組みは,次のステップで最終的なアプリを作成するために益要な機能である

また, HTML5のオフラインアプリケーンヨンキャッシュの機能を利用すると,一度 Webアプリを ダウンロードすれば、次回からはネットワークにアクセスしなくても Webアプリを実行できる

これらのHTML5の機能を付加することでアプリと変わらない Webアプリが作成できる

2.2ネイティプアプリケーション化

最初のステップで開発した Webアプリによって,通常のアプリと同様なルックアンドフィール,

そして情報端末へのデータの保存などが実現できた しかし, Webアプリでは情報端末独自の機能 やハードウェア (GPS,加速度センサー,音声j パイプレーションなど)を利用すること,さらに App Store/Android Market などにアプリを登録~,配布することは出来ない これらを可能にする ために PhoneGap'/ステムを利用する PhoneGapはオープンソースの開発ツールであり, Webアプリ

と情報端末との橋渡Lをしてくれる

PhoneG叩 は iPad,Androidを含め複数のプラットホームに対応しており,アプリ作成のプロジェ ク ト に 必 要 な コ ー ド 頬 に 加 え , プ ラ ッ ト ホ ー ム に 固 有 の ハ ー ド ウ ェ ア の 機 能 を 抽 象 化 し た

(4)

]avaScript APIが用意されている これらの APIWebアプリのコードに追加するだけでそれぞれのハ ードウェアが利用できるようになる

アプリのピノレドには, PhoneG叩 に 加 え て , そ れ ぞ れの情報端末用の SDKなどを用意する必要がある

3, 4章 で 述 べ る よ う に iPadの場合は, iOS  SDK(XcodeSimulatorなど), Androidの場合は,

Android SDK, Apache Antを使用する

アプリのピノレドの方法は,プラットホームにより 多少異なっている iPadの場合,インストーノレした PhoneGapディレクトリ下の適切なディレクトリに,

最初のステップで作成したファイル類をコピーする FinderPhoneGap.xcodeprojをダプノレクリックし、

Xcodeを起動する プロジェクトのウインドウが聞 いたら,シミュレータを指定し, [ヒツレドと実行]ボ タンをクリックする これだけでアプリが作成される

P岡 山p ドウェアの・能

G>S  加速度センサ

, (ィブレ ソヨン

音 声 伝 ど

iOS SDK  Android SOK 

ピルドンミュレーソヨJ

. . .   I 

T7'J 

r '  

iPad  Android Tablot 

伝ど

円高砂

..

2.2ネイティプアプリケ ンヨン化

ピルド後の手順は,他の開発手法と変わらない シミュレータで動作の確認を

L

,必要ならば手 直Lを行う また、最終的なハードウェアの動作確認は,ケーブルを介して情報端末にアプリをダ

ウンロードしてiTう

以上、 ネイティブアプリケーンヨン化の一連の流れを図 2.2に示す 本研修では,最後のアプリ のピノレドとデノ《ツグについては, PhoneGapとiOS SDKの相性問題, iOSの開発者登録などにより十 分な研修は出来なかったが, Web技術を使った開発手法の基礎的な技術知識は得られた

3.  iOS SDKを用いた iPadお よ びiPhoneアプリケーション開発のための技術習得

こ の 章 で は , 現 在 広 く 普 及 Lて い る 情 報 端 末 の ひ と つ で あ る Apple社 製 の iPadお よ び iPhone(iPod touch)用のアプリ開発のための技術習得について述べる このアプリを開発するため に, Mac(OSX)上で iOSSDKを用いた開発方法が広く用いられている iOS SDKを利用すれば Mac上 で ア プ リ の ン ミ ュ レ ー ン ヨ ン 実 行 が 可 能 で あ る しかし,実機へアプりを uploadす る に は iOS Dcveloper Program登録が必要で,年間利用料が$100

度必要となる そのため,今回はシミュレーション開発 の技術習得までとした 本研修で用いた iOS SDKの構成 を図 3.1に示す

iOS SDKは,Xcodeを中心にその他InterfaceBui lder ,  iPhone(iPad)  Simulator, Tnstrumentsで構成される Xcodeは開発の一番中心になるツーノレで,プロジェクト 全体の管理やプログラムソースの入力,実行などを行う lnterface Builderはアプリのューサ'イJ ターフェイス

を視覚的に作成が可能なツールである あらかじめ用意

Xcode 

r J f  

lnterfaω 

Builder  iPhone  Sinlulator  3.1 i 5D'の禍成

Instruents

(5)

されている GUIライブラリから画面に部品を並べ ていくだけで1 ユーザインターフェイスが作成で きる Simulatorは作成したアプリのテストを行 うツーノレで, Mac上で実機の動作のシミュレーシ ョンができる その他 Instrumentsは CPUやメ モリの使用状況などの調査に使用するもので,実 機へのupload時に用いるためここでは省略する

..:→ 3",‑

開発するアプリのプログラムの情成は,基本的 に, TntefaceBuilderを用いて部品を配置して画 面をデザインした xibファイル, Xcodeによって アプリができること(メソッド)を列挙した hファ イル,および具体的にできることをプログラミング Lたメインプログラムである mファイルの三つ か ら構成される 図 3.2にXcodeの実行画面を示す 実際のプログラミングは,Objuctive‑Cと呼ばれる C 言語をベースにしたオブジェクト指向型の言語で行

図3.3はInterfacebuilderを用いて各種部品ライ ブラリより dataPickerを選択して作成アプリに配 置した例を示す このように三つのプログラミング を 行 っ た 後 , ア プ リ の 配 世 お よ び 動 作 は iPhone{iPad) Simulatorを起動することで確認を行 フ

4. Androidアプリケーション開発のための技術習得 4. 1 Androidアプリケーションの開発環債の構築

E

~-一一一一一司主主

S‑

ー ー 山 ・ . ー一一 ‑ ' ‑ = = .

一回一

回一ー ‑ ‑ ‑

132rz=i 

0 ・ ‑ ‑

一 一 一 一 一

ニ玉三三~

 

砂 臨 掴 E

Androidのアプリを作成する場合,さまざまな開発環境があるが,基本的にはJAVA言語での作成 となるため.PCにて JAVASEを利用して開発することになる 研修では,一般的に用いられている 統合開発環境 Eclipseを使用した JAVAとAndroidSDKによる開発環境で行った 尚,開発環境の 構築は, Mac (OSX)に て 行 っ た 具 体 的 な 構 築 手 順 を 図4.1に 示 す 先 ずJAVA言語での開発に必要な JDK (Java  SE Development Kit)のダウンロードとインストーノレを行う必要があるが, Macでは既 に ]avaSEがインストールされているため最新版への更新を

行い,ユーティリティにてデフォノレトランタイムを設定した 次に, Android SDKをインストーノレした 続いて統合開尭環 境 Eclipseのインストーノレを行うが, Mac版には日本語ディ

ストリビューションが提供されていなし、ため日本語化のため の処理を行ったこれは,日本語化された Windows版 Eclipse のプラグインを利用し設定ファイノレにて追加と変更を行うこ

10'イ ン ス ト ル 寸 Android酬 イ ン ス ト ール

Eclipseイ ン スー ルと日本椅 化 A01プラ グ イ ン追 加

‑ . .

Andro;d SDK ラィ プ

 

ラリダウy 4.1 開発環境の術祭手順

(6)

とで実現しているその後, Eclipseにて Android ア プ リ 開 発 の た め の ADT(AndroidDevelopment  Tools)プラグインを迫加し環境設定にてロケーγ

ヨンを設定した 吏に, Android SDKのライブラ リのインストーノレを行い,

J

証後にAVD(仮想デバイ ス)を作成したこのAVDを起動した画面が図 4.2 である これは,アプリ開発で実機を使用できな い場合のエミュレータである 尚,今回はMac

ドライパが未対応のため実施できなかったが, PC  '.2エミ三レータの起動

と憐 ~If端末を U5B 接続することでデノ〈ッグ機能が使用でき, 実行ログやインストーノレ,端末情報国民 認,更には端末操作まで行うことができる

4.2 Androidアプリケーションの作成

開発環境の Eclipseにて Androidアプりを作成する場合,対象となる情報端末または携帯の 05 ノ〈ージョンにより実装している機能が異なるため,開発に当たっては目的とする機種の APIを指定 する必要がある実際に, EclipseAndroidプロジェクトにて APIレベルを指定することで図 4.3 のひな形が作成されるこの作成されたプロジェクトを使用してアプリの作成方法を学習した尚,

Androidアプリでは jAVAのクラスファイノレにて実際の動作を記述する実行コード部分とは別に,画 面のレイアウト,画像,文字列や色などをりソースとして定義している これらリソースとして定 義した定数などは,実行コード部でのメソッドにて使用するこtが可能ある これは,実行コード 部と分けることでリ Yースの変更だ吋で複数の言語や解像度への対応を可能としている

アプリの作成では,先ず必要な定数リソースを定義する 次に,レイアウトを決定するために,

レイアウトエディタにより部品パレットから各部品を選択し画面構 成を蹴隠しながら配置を決定す る この時,部品の必要な属性値をプロパティビューにて設定する続く jAVA言語による実行コー ドの作成では,定数リソースのlDやレイアウトで作成した部品のlDを指定することでアプリを作 成することができる 肢後に,アプリの実行等に

必要な情報が定義されている AndroidManifestフ ァイノレを設定し Eclipseから Androidアプりの 実行を選択すると端末エミュレータが起動しアプ リの動作が確認できる ~I,'] ,実機でのテストは3

~行ファイノレ, リ ソ ー ス フ ァ イ ノ レ , AndoroidManifestファイノレが圧縮されたapk形 式 のパジケージファイノレが作成されているので,そ のAndroidアプりであるパッケージファイノレを読 み込み実行することで硝認できる

5 まとめ

..  ...  ... ,.. 

一 リ

ー .

4.3EdipseAndroidプロジェクト

、、,

、 .・

今回の研修では.Mac環境にて情報端末である iOSiPadAndroidOSAndroidタブレット端

(7)

末 用 ア プ リ を 開 発 す る た め の開発 以 境 の 構 築 と ア プ リ 作 成妓法 の 某 縫 技 術 を 習 得 し た HTML+CSS+JavaScriptを 用 い た既 存の lVeb開 発 技 術 で の ア プリ作成 で は , 携 帯 端 末 用 に 長 適 化 し た Wehア プ リ の 作成と実機での確認を行った.ただし,ネイティブアプリケーション化では, SDKとネ イ テ ィ ブ化ツーノレの相 性に問題が あ り 実 現 で き な か っ た.次に iOSSDKの 開 発 環

1

党を刑いた Xcode による

o s

用 ア プリの開発では, Interface suilderによる山面デザイ ン か ら むmulatcnによる動 作の確認まで行うこ とができた 尚,実機へのインストーノレは,有料会 員 帯 録 が 必 要 な た め 実施 で きなかった 最後に!lndroidOS刑ア プリを対象と したJ.DKと!lndroidSDKによる Eclipseの開発 では,開発環境の構 築 か ら Eclipseに お い て ア プ リ 作 成 プロジェクトに よ る 開 発 と エ ミ ュ レ ータで の確認まで行うとともに , 実機におし、てもアプリパッケージをインストーノレすることで動作の最終 確 認 を 行 う こ と が で き た.とれら三つの力法によるアプリ開 発を実 際に行ったことでアプリ作成の た め の 一 連 の 基 礎的な手法を科 得 することができた

研修日誌

本 研 修 で の 研 修 日 誌 を表 6,1に示す.

6.1 研修日誌

日桟 研修内容

8/3  研修内容および計両の打ち合わせ

/24319/9'15'2129 図書による iPadの開発深境構築とプログラム側発法の竿膏 10/7'1418281]/1'11'18 図軍事による iPadWcb関連技術によるプログラム開発法の学留

11/25, 1211920 凶舎による AndroidWcb関連伎術によるプログラム開発法の学習

1/19272/31017 図書による Androidの│期発環境構築eプログラム開発法の学習

参考文献

1)  森巧尚 よくわかiPrloneアプリ│剃発の教科書,毎日コミコニケーションズ(2011)

2)  高見知英 ・松田幸一・椎木啓祐・嶋崎聡 よくわかるAndriodアプリ開発の教科書,マイナビ (2011) 1)  荻原剛志 詳解ObjecL1vc‑C2.0,ソアトバンククリエイライブ(2008)

4)  ]onathan  Stark : Androi dアブリケ』ーンヨン開発ガイド,オライリー(201I)  5)  ]onathan StariPhofleアプリケーンヨン開発ガイ ,オライリー(2010)

6)  川形 圭 介 , 上 中 正 統 , 尾古豊明, 加藤 勝 也 , 小 林 慎治 瀬 戸 健二,高木基成 H高正博,但子まま Androi タブレッ トアプリ開発ガイド,期泳干土(2011)

参照

関連したドキュメント

 また、学生の在学中に習得する4年間の看護技術の

はじめに ーバからのプログラム配信が可能となった。 インターネットの発展に伴って Java 言語 携帯端末に搭載された

1987 年関西大学工学部卒業.同年富士通(株)入社.2003 年(株)

携帯端末の OS として Linux

オブジェクト指向技術を用いたソフトウエアの開発技法 841

宮崎大学工学部教育研究支援技術センター(以下、技術センター)のガラス技術習得グループは、技

そこで、 LC-ESI-MS を用いた研究成果を多く報告している 沖縄高等専門学校 (沖縄県名護市) 技術支援室 副技術長・技術専門員 藏屋英介 氏 の指導のもと、平成 25 年 2

■ 電池パック(JT-H320BT-10)について(続き) 危険