CodeZine(コードジン)

特集ページ一覧

BlackBerry Touch APIを使用してタッチ操作対応のアプリケーションを開発する

BlackBerry独自のタッチ指向プログラミングの基礎

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/10/01 14:00

 BlackBerry Stormタッチフォンに続き、BlackBerry Java Development Environment(JDE)API 4.7.0がリリースされました。この記事では、BlackBerry JDE APIでサポートされている主要なタッチプログラミング機能について解説します。また、これらの機能のプログラミング方法がわかる簡単なJavaコードも紹介します。

目次

はじめに

 Research in Motion(RIM)はBlackBerry Stormタッチフォンの発表に続いてBlackBerry Java Development Environment(JDE)API 4.7.0(およびベータ版のバージョン5)をリリースしました。この最新バージョンのJDEでは、タッチ方式のユーザーインターフェースを使用するカスタムアプリケーションの開発がサポートされています。

 RIMは最新のJava ME標準にも対応しており、RIM提供の開発環境は最新のJava ME仕様(MIDP 2.0/CLDC1.1など)のすべての機能をほぼサポートしています。また、BlackBerryデバイスは独自のBlackBerry SDKを使用して記述されたJavaアプリケーションを実行し、Java MEにはない機能を提供します。これらの機能は、BlackBerryデバイスと特定のモデルに合わせて最適化されています(Stormのタッチ機能など)。

 この記事では、BlackBerry JDE APIでサポートされている主要なタッチプログラミング機能についてひととおり解説し、これらの機能のプログラミング方法が分かる簡単なJavaコードを紹介します。

BlackBerry JDE API

 BlackBerryデバイスは、Javaおよび.NETで書かれたアプリケーションを実行できます。Java開発者は、純粋なJava MEアプリケーションを開発することも、RIM独自のSDK(後述)に基づくアプリケーションを開発することもできます。Java MEのサポートは、デバイスの種類およびデバイスに導入されるSDKのバージョンに依存します。

※筆者注

 デバイス、SDK、およびJava ME互換性の対応については、BlackBerryの(使いにくいけれども内容は充実した)ソフトウェア開発者向けWebサイトを参照ください。非常に役に立つ資料が豊富に提供されています。このリソースを有効に利用するには、最初にBlackBerryでのソフトウェア開発を紹介したビデオとAPIドキュメントを見るとよいでしょう。その後で、BlackBerry SDKのJavadocを読んでください。BlackBerryでのプログラミングに関する最も詳細な情報が記載されています。

 開発にあたって、RIMはデフォルトの開発プラットフォームとしてEclipse 3.4.0または3.4.1を推奨しています。また、無料のEclipseプラグインとしてBlackBerry IDE(デバッガーと高機能のマルチデバイスシミュレーターを完備)が提供されています。BlackBerry IDEについてはこの記事で紹介します。

BlackBerry用タッチプログラミングの概要

 BlackBerryのタッチ指向プログラミングの基礎は、タップジェスチャー仮想キーボードという3つの概念で構成されています。これらの概念は、BlackBerryプラットフォームにプログラミング可能な機能として組み込まれています。BlackBerry SDKを実行するタッチスクリーン式デバイスでは、タップはライトタッチ、ダブルタップ、プレスホールド、プレスアンドドラッグ、およびマルチタッチ(2つのUIアイテムを同時にタッチ)として認識されます。また、ジェスチャーは、UI上での1つ以上の接点(つまり指)の動きと、指定されている4つの方向(NORTH、EAST、WEST、SOUTH)として認識されます。動作の特徴は、スワイプ(叩くこと)、移動してタップ、またはクリックとして表されます。

 仮想キーボードは組み込みのUIコンポーネント(net.rim.device.api.ui.VirtualKeyboardクラスのインスタンス)であり、ユーザーが入力フィールドUIコンポーネントに入力するときに自動的に表示されます。または、プログラムで仮想キーボードシングルトンを画面から取得し、インスタンスでshowメソッドを実行することで、仮想キーボードを表示することもできます。

VirtualKeyboard keyboard;
MainScreen screen = new MainScreen( MainScreen.VERTICAL_SCROLL );
keyboard = screen.getVirtualKeyboard();
keyboard.setVisibility( VirtualKeyboard.SHOW );

 次に示すコマンドのグループは、net.rim.device.api.uiパッケージ内にTouchEventクラスおよびTouchGestureクラスの定数としてモデル化されています。

  • タップジェスチャーとドラッグジェスチャーは、タッチイベントの2つの異なるグループとして認識されます。
  • タップとクリックは、従来のコマンドボタンやトラックボールのクリックと互換性のある単純な入力です。
  • タッチジェスチャーは、画面の並べ替え、アイテムのドラッグ、およびスクロールのためのコマンドです。

 BlackBerry SDK 4.7以降を実行し、タッチ操作がデフォルトで有効になっているデバイスは、もともとタッチ操作用に開発されていないアプリケーションであってもタッチ機能をサポートできます。自動的にアクティブ化される仮想キーボードを使用することで、SDKは、クリック、スクロール、編集フィールドへのテキスト入力などのイベントを、タップ、ジェスチャー、または入力により自動的に処理します。

 ただし、これらの機能はいくつかの非常に基本的な動作のみに限定されます。さらに高度で特殊なユーザーインターフェース(UI)対話機能を提供するには、カスタムコードで独自のハンドラを作成する必要があります。

※筆者注

 仮想キーボードのレイアウトは画面の向きによって異なります。横長の場合は、完全なキー配置の仮想キーボード(QWERTYキーボード)が表示されます。縦長の場合は、2つの文字が1つのフィールドに配置された省略形式の仮想キーボードが表示され、ユーザーが選択したキーの実際の値は、キーがクリックされた回数を数えることで取得されます。

 キーボードの外観とレイアウトの制御だけでなく、BlackBerry SDKでは、スペルチェックイベントをプログラムで制御することもできます。この機能についてはこの記事では説明しませんが、仮想キーボードのスペルチェッカーのプログラミングに興味がある場合は、net.rim.blackberry.api.spellcheckパッケージでクラスとサポートされるイベントを調べてみてください。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

あなたにオススメ

著者プロフィール

  • japan.internet.com(ジャパンインターネットコム)

    japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.com や EarthWeb.c...

  • Edmon Begoli(Edmon Begoli)

    大規模な商用プロジェクトやパブリックソフトウェアプロジェクトに携わって10年間のキャリアを持つソフトウェアアーキテクト。現在は大きな公共機関に勤務。

バックナンバー

連載:japan.internet.com翻訳記事

もっと読む

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5