アプリを国際化してAndroid Marketから世界へ発信Androidで動く携帯Javaアプリ作成入門(8)(1/2 ページ)

本連載で、SDKとEclipseを使ってAndroidの携帯端末で動くJavaアプリを作成し、Android Marketでの配布を目指しましょう

» 2009年08月05日 00時00分 公開
[緒方聡株式会社イーフロー]

Android国際化のススメ

 作成したアプリをできるだけたくさんのユーザーに使ってもらうためには、どうすればよいでしょうか。

 これまでのケータイアプリでは、“配布する場所”と“方法”が最も重要でした(参考「携帯アプリを無料で公開して使ってもらうには?」)。Androidアプリの場合は、あらゆるユーザーがAndroid Marketからアプリをダウンロードするため、配布場所と方法は確立しています。「あらゆるユーザー」とは、「あらゆる“国”の、あらゆる“端末”を持つユーザー」という意味になるため、アプリがカバーする言語や端末を増やすことが多くのユーザーを取り込む第一歩となります。

 そこで重要なのは、「英語をサポートすることだ」と考えます。

Androidは複数の言語がプリセット

 Androidには、複数の言語がプリセットされていて、ユーザーの好みに応じて言語を切り替えられるようになっています。

図1 地域/言語を選択 図1 地域/言語を選択

日本語IMEとして「OpenWnn」

 なお、2009年6月17日に公開されたSDK 1.5 r3から、日本語IMEとして「OpenWnn」が組み込まれています。ようやく日本語入力環境が完備されたといってよいでしょう。

図2 日本語版と英語版のアプリ一覧 図2 日本語版と英語版のアプリ一覧

 ユーザーが言語を切り替えると、端末全体がその言語に切り替わりますが、「それに連動してアプリも言語が切り替わる」という仕組みがAndroidには用意されています。今回は、その仕組みを利用して国際化対応アプリの作成方法を解説します。

多種端末対応にもなる

 また、同じ仕組みを利用して、端末のハードウェア的な差異にも対応可能です。多くの端末をサポートすることもユーザーのカバレッジを増やす手段の1つです。こちらも併せて解説します。

 なお、国際化プログラミングの基礎については、以下の記事を参考にしておいてください。

国際化と多種端末対応のためのリソースの設定方法

 ADT(Android Development Tools Plugin for the Eclipse IDE)で作成した直後のリソースファイルは、以下のようになっています。

図3 初期状態のリソースフォルダ構成 図3 初期状態のリソースフォルダ構成

 このdrawable、layout、valuesはデフォルトで使用されるリソースです。例えば、「values-ja-land」というフォルダを作成して、その中にstring.xmlを配置すれば、横長端末で日本語に設定されている場合に限り、この内部のリソースが自動的に使用されます。

 この、drawable、layout、valuesのフォルダ名の後ろに付ける修飾語句には厳密な決まりがあります。以下の表1が修飾語句をまとめたものです。

優先度 修飾語句
1 MCCとMNC Mobile Country CodeとMobile Network Code mcc310-mnc004
mcc208-mnc00
mcc234-mnc00
2 言語と地域 ISO 639-1形式の2文字で言語コードを、ISO 3166-1-alpha-2形式の2文字で地域コードを指定(地域コードの前には「r」を付与) en-rUS
es-rES
ja-rJP
3 画面の向き 縦か、横か、正方形かを指定 port
land
square
4 画面解像度 92dpi
108dpi
5 タッチスクリーンタイプ タッチなし、スタイラス、指 notouch
stylus
finger
6 キーボードの利用有無 表に出ているタイプ、隠れているタイプ、ソフトキー keysexposed
keyshidden
keyssoft
7 主要なテキスト入力方法 キーなし、キーボード、テンキー nokeys
qwerty
12key
8 主要なタッチスクリーン以外の操作方法 操作系なし、十字キー、トラックボール、ホイール nonav
dpad
trackball
wheel
9 画面サイズ 大きな方を先に書く 320x240
640x480
10 SDKバージョン ndroid 1.0 SDKならv1、Android 1.1 SDKならv2、Android 1.5 SDKならv3 v1
v2
v3
表1 修飾語句と、その説明

 修飾語句は複数同時に指定できますが、同一修飾語句を複数指定できません。

 リソースは複数用意していても、Androidが自動的に最も適合するものを選択するようになっています。コードを駆使して開発者が選ばせたり、ユーザーが好きなものを選んだりはできません。

 次ページからは、Androidが最も適合するリソースを選択する際の流れを説明します。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。