Androidアプリは、LinuxベースのOSで動作しJavaなどで開発することから、従来のPC用アプリケーションと同じように開発できると考えがちだ。しかし使いやすく安定稼働するアプリを開発するには、Android OSの機構などの理解が不可欠。Androidアプリの開発に役立つ技術知識を、アンチパターンを基に解説する。

 Android OS(以下、Android)の勢いが止まらない。MM総研の調査によると、2011年3月末時点のOS別のスマートフォン契約数シェアは、iOS(iPhone/iPad)が49.6%を占め、Androidは40.4%にとどまっていた。しかし同年12月末時点には、Androidが58.1%、iOSは37.2%と逆転した。

 このシェア拡大とともに、Android端末を企業システムに導入する動きが活発化している。アクシスソフトの小泉裕司氏(執行役員 プロダクト事業本部長 兼 販売推進部長)は、「従来ならノートPCやハンディーターミナルを使う業務システムに、Android端末が使われるようになってきた」と指摘する。

Androidならではの注意点がある

 Androidでは、LinuxベースのOSコアの上で独自形式のJava VM(仮想マシン)を動作させる。Java言語でAndroidアプリを開発できるものの、一般的なアプリケーション開発にはない注意点がある。例えば、Androidは限られた主メモリー容量を効率的に使う機構を持つが、画像データを扱う際にそれが有効に働かないことがある。アシアルの井川数志氏(システムエンジニア)は、このことをはじめとして「Androidアプリの開発に取り組んだ当初は、従来のJava開発の常識からは考えられない事態に戸惑った」と打ち明ける。

 Androidが備える機構などを十分に理解することによって初めて、使いやすく安定稼働するアプリの開発が可能になる。そこで以下では、業務用のAndroidアプリ開発に取り組んだ現場で明らかになってきた五つのアンチパターンについて、Androidの仕組みを交えて順に解説する(図1)。

図1●業務用のAndroidアプリの開発で陥りやすいアンチパターン
Androidが備える機構、アプリ開発言語の適性などを理解しないと、使いやすく安定稼働するアプリの開発は望めない
[画像のクリックで拡大表示]

(1)ユーザー権限管理機構
重要なファイルを端末に保存してはいけない

 Androidアプリは、Androidが持つ保護機構によってセキュリティが確保される。あるアプリが主メモリーやストレージに置いたファイル(あるいはデータ)は、基本的には他のアプリからアクセスできない仕組みである。

 この保護機構があるので、重要なファイルを端末に保存する設計にしても大丈夫と考えるかもしれない。しかし、ここに落とし穴がある。

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。