Blackberry Java Development Environment User Manual [ja]

BlackBerry Java Development Environment
バージョン: 4.7.0
基本ガイド
SWDT499912-499912-1212122150-020
目次
1 BlackBerry および BlackBerry デバイスのためのプログラミングについて................... 5
BlackBerry デバイス向け設計の原則..................................................... 5
リリースのサイクルとバージョン........................................................ 6
BlackBerry 向け Java ME と Java API................................................... 7
標準の Java API のサポート........................................................ 8
Java API 拡張機能のサポート....................................................... 8
BlackBerry ソリューション............................................................. 9
BlackBerry Enterprise Solution.................................................... 9
BlackBerry Internet Service....................................................... 10
BlackBerry MDS.................................................................... 10
2 BlackBerry Java Application の設計.................................................... 11
スタンドアロン型アプリケーション...................................................... 11
デスクトップ同期を使用するアプリケーション............................................ 11
ワイヤレスアクセス、ワイヤレス同期、またはワイヤレス警告を使用するアプリケーション.... 11
MIDlet アプリケーション............................................................... 12
CLDC アプリケーション................................................................. 12
API の管理およびコード署名............................................................ 13
オブジェクトモデリング................................................................ 14
マルチスレッド........................................................................ 14
対策:マルチスレッドの使用........................................................ 14
効率的な BlackBerry Java Application の作成に関する対策............................... 14
対策:効率的なコードの作成........................................................ 14
対策:オブジェクトの適切な使用.................................................... 20
対策:コンパイル後コードのサイズ削減.............................................. 20
多言語サポート........................................................................ 21
対策:テキスト文字列のリソースファイルへの格納.................................... 22
マルチメディアサポート................................................................ 22
オーディオのサポート.............................................................. 22
画像処理のサポート................................................................ 22
ビデオのサポート.................................................................. 23
3 UI とナビゲーション設計............................................................... 24
BlackBerry デバイスユーザーの入力とナビゲーション..................................... 24
トラックホイールとトラックボール.................................................. 24
標準の BlackBerry UI と一貫性のある UI の作成......................................... 25
4 メモリの管理.......................................................................... 27
メモリの管理.......................................................................... 27
BlackBerry デバイスのメモリ....................................................... 27
予約される主なリソース............................................................ 27
対策:メモリ使用の最小化.......................................................... 28
利用できるメモリ量が低下した状況の管理................................................ 28
BlackBerry デバイスで利用できるメモリ量が低下した状況の識別....................... 28
リソースの節約........................................................................ 29
対策:効率的なデータ構造選択の使用................................................ 29
対策:オブジェクトグループへオブジェクトの統合.................................... 29
BlackBerry デバイスにおけるガベージコレクション....................................... 30
BlackBerry デバイスでの RAM ガベージコレクション.................................. 30
BlackBerry デバイスにおけるフルガベージコレクション............................... 30
BlackBerry デバイスにおけるアイドル時のガベージコレクション....................... 31
5 データの管理.......................................................................... 32
永続的なメモリにデータを保存するための API のサポート................................. 32
Persistent Store API.............................................................. 32
MIDP Record Management System API................................................. 32
File Connection API............................................................... 33
リムーバブルメディアへの保存.......................................................... 33
microSD メディアカード上のデータへのアクセス...................................... 33
データのバックアップおよび同期........................................................ 34
6 ワイヤレスデータ転送.................................................................. 35
デフォルトと優先のワイヤレスゲートウェイ.............................................. 35
ネットワークゲートウェイとしての BlackBerry Enterprise Server の使用.............. 35
ワイヤレスサービスプロバイダのインターネットゲートウェイの使用.................... 36
代替のデータ転送オプション............................................................ 36
電子メールを使用したデータの転送.................................................. 36
SMS を使用したデータの転送........................................................ 36
PIN メッセージを使用したデータの転送.............................................. 37
7 BlackBerry アプリケーションの統合..................................................... 38
カスタムメニュー項目の追加............................................................ 38
BlackBerry デバイスアプリケーションの呼び出し......................................... 38
電子メールとオーガナイザのデータへのアクセス.......................................... 38
BlackBerry Messenger と BlackBerry Application との併用............................... 39
リスナを使用したアプリケーションの変更への応答........................................ 39
8 セキュリティに関する考慮事項.......................................................... 40
データの暗号化と BlackBerry Application............................................... 40
転送時のデータ暗号化.............................................................. 40
BlackBerry デバイス上のデータ暗号化............................................... 40
メモリへのアクセス.................................................................... 40
認証.................................................................................. 41
BlackBerry デバイスの認証と IT ポリシー........................................... 41
アプリケーションの認証............................................................ 41
サーバー側の認証.................................................................. 41
制御対象 API およびコード署名......................................................... 41
アクセスが制限された BlackBerry API................................................... 42
IT ポリシーのサポート................................................................. 43
アプリケーションの制御................................................................ 43
microSD カード上のファイルの暗号化.................................................... 44
microSD メディアカード上のデータの暗号化.......................................... 44
複数の BlackBerry デバイスでの microSD メディアカードの使用....................... 44
IT ポリシーと microSD メディアカード.............................................. 44
9 BlackBerry Java Application のテスト.................................................. 45
BlackBerry Java Application の難読化.................................................. 45
BlackBerry Java Application の事前検証................................................ 45
BlackBerry Smartphone Simulator 上でのアプリケーションのテスト........................ 46
BlackBerry デバイス上でのアプリケーションのテスト..................................... 46
BlackBerry シミュレータ............................................................... 46
BlackBerry Smartphone Simulator................................................... 46
BlackBerry MDS Simulator.......................................................... 47
BlackBerry Email Simulator........................................................ 47
10 アプリケーションの利用................................................................ 48
コンピュータ接続を介したアプリケーションの配布........................................ 48
アプリケーションのコンピュータからの配布.......................................... 48
アプリケーションの Web ページからの配布........................................... 48
テストのためのアプリケーション配布................................................ 48
ワイヤレスネットワーク上でのアプリケーション配布...................................... 48
ワイヤレスプル(ユーザー実行型).................................................. 49
ワイヤレスプッシュ(サーバー実行型).............................................. 49
11 用語集................................................................................ 50
12 商標などに関する情報.................................................................. 53
基本ガイド

BlackBerry および BlackBerry デバイスのためのプログラミングについて

BlackBerry および BlackBerry デバイスのため
1
のプログラミングについて 
BlackBerry® デバイスには、クライアント/サーバーアプリケーションをサポートする Java® ME ワイヤ レス環境があります。 アプリケーション開発者は、データ入力や検索用の洗練された UI を搭載し、マ ルチスレッド、国際化、ネットワーク通信、およびローカルデータストレージをサポートする BlackBerry® Java Application 作成することができます。 アプリケーションは、基礎となるワイヤレスネットワーク には関係なく、標準の TCP および HTTP 接続を使用してネットワークと通信できます。
またアプリケーション開発者は、BlackBerry Java Application を作成し、基幹となる BlackBerry デバ イスアプリケーション(メッセージリスト、オーガナイザアプリケーション、電話、ブラウザなど)と密 接に統合することによって、実質的にシームレスなユーザー側の使用感を実現することができます。

BlackBerry デバイス向け設計の原則

BlackBerry® デバイス向けに設計されるアプリケーションでは、実現し得る最高のユーザー操作環境と長 時間のバッテリー持続とのバランスを実現しなければなりません。 BlackBerry デバイスアプリケーショ ンを設計するときは、モバイルデバイスとコンピュータとの違いを考慮します。 モバイルデバイスに は、次のような特長があります。
画面サイズが小さく、表示できる文字数が限定される
プロセッサ速度が遅い
標準的な LAN よりも遅延時間が長いワイヤレスネットワークを使用する
利用できるメモリが少ない
バッテリー持続時間が短い
一度に表示される画面は 1 つ
モバイルデバイスユーザーは、コンピュータ上のアプリケーションを使用する場合とは異なる方法で、モ バイルデバイス上のアプリケーションを使用します。 モバイルデバイスでは、ユーザーは情報をすばや く検索できることを期待します。 例えば CRM システムでは大量の情報を提供しますが、ユーザーが一度 に必要とする情報は、そのうちのわずかにすぎません。 BlackBerry デバイスの UI は、ユーザーがタス クを簡単に実行したり、素早く情報にアクセスしたりすることができるように設計されます。
BlackBerry デバイス用のアプリケーションを設計する場合は、その他の BlackBerry デバイスアプリケ ーションとできるだけ一貫性を維持するようにしてください。 次のガイドラインを参考にしてください。
可能な場合は既存の UI を使用または拡張して、アプリケーションがコンポーネントのデフォルト動 作を継承できるようにします。
ユーザーがキーボードおよびトラックボールを最大限活用できるように、できるだけ標準のナビゲー ションモデルに従います。
5
基本ガイド
すべての操作をメニューから使用できるようにします。 メニューで使用できるアクションが、ユー ザーの現在のコンテキストに関連していることを確認します。
アプリケーションを設計するときは、次のガイドラインも参考にしてください。
ユーザーの目前のタスクに集中させたままにします。 データの選択および表示を簡素化し、ユーザ ーがまもなく必要とする情報だけを表示するようにします。
小さい画面を効果的に使用できるように、情報を簡潔に表示します。
アプリケーションを設計する前に、ナビゲーションモデルやアプリケーションの UI 設計における成功事 例について詳細を確認するために、BlackBerry デバイスまたは BlackBerry Smartphone Simulator 上の コアアプリケーションを使用することを検討します。

リリースのサイクルとバージョン

リリースのサイクルとバージョン
すべての BlackBerry® デバイスには、特定のバージョンの BlackBerry® Device Software と BlackBerry® Java® Virtual Machine が入っています。 BlackBerry デバイスに入っている BlackBerry Device Software のバージョンを判断するには、デバイスの[オプション]で[バージョン情報]をクリックし ます。 BlackBerry Device Software はアップグレードが可能です。 例えば、BlackBerry Device Software バージョン 4.0 の入っている BlackBerry デバイスを、BlackBerry Device Software バージ ョン 4.1 にアップグレードすることができます。
Research In Motion では、BlackBerry Device Software と BlackBerry JVM の各メジャーリリースに、 対応する Java API および対応するバージョンの BlackBerry® Java® Development Environment を内蔵 しています。 BlackBerry Device Software のバージョンによって、アプリケーションの開発に使用でき る BlackBerry® Integrated Development Environment のバージョンが決定されます。 例えば、RIM は BlackBerry Device Software バージョン 4.0 と BlackBerry JDE バージョン 4.0 を同時にリリースし ました。 BlackBerry JDE バージョン 4.0 では、BlackBerry Device Software バージョン 4.0 と BlackBerry JVM バージョン 4.0 で導入された API がサポートされています。 BlackBerry JDE バージ ョン 4.0 を使用して作成したアプリケーションは、BlackBerry Device Software バージョン 4.0 以上 が動作する BlackBerry デバイスでのみ動作します。
次の条件で、アプリケーションの開発に使用する BlackBerry JDE のバージョンを判断することができま す。
アプリケーションが特定の BlackBerry デバイスのハードウェア機能や新しくリリースされた API 拡張機能を必要としない場合は、BlackBerry JDE バージョン 4.0 を使用してアプリケーションを開 発します。
アプリケーションが BlackBerry® Pearl™ 8100 スマートフォン上のみで動作するように設計されて いる場合は、BlackBerry JDE バージョン 4.2 以上を使用します。
6
基本ガイド

BlackBerry Java Development Environment

BlackBerry Java Development Environment
BlackBerry® Java® Development Environment は、BlackBerry デバイス用の BlackBerry® Java Application を構築するための、完全に統合された開発およびシミュレーション環境です。 BlackBerry JDE では、開発者は Java® ME プログラミング言語および BlackBerry 用の拡張 Java API を使用して、 アプリケーションを構築できます。
BlackBerry Java Development Environment には、次の開発ツールが含まれます。
BlackBerry® Integrated Development Environment
BlackBerry Smartphone Simulator
Java ME API および BlackBerry API
サンプルアプリケーション
BlackBerry IDE には、BlackBerry Java Application の開発に最適化された編集およびデバッグツール が含まれます。 BlackBerry Smartphone Simulator では完全な Windows® タイプの環境を提供します。 このシミュレータは、UI およびユーザー対話、ネットワーク接続、メールサービス、ワイヤレスデータ 同期をシミュレートするように設計されています。
BlackBerry Java Development Environment Component Package には、サードパーティの IDE
(NetBeans™、Eclipse™ など)内で開発するための次の開発ツールが含まれています。
RAPC:このコマンドプロンプトコンパイラを使用すると、.java および .jar ファイルを BlackBerry Smartphone Simulator または BlackBerry デバイスで実行できる .cod ファイルにコンパイルでき ます。
JavaLoader:このツールを使用すると、テスト用に BlackBerry デバイス上でアプリケーションを追 加および更新したり、アプリケーションの .cod ファイルの情報を表示したりすることができます。
BlackBerry® Signature Tool:このツールを使用すると、コード署名要求を BlackBerry® Signing Authority Tool に送信できます。
Preverify Tool:このツールを使用すると、アプリケーションを BlackBerry デバイスにロードする 前に、クラスを部分的に確認できます。
JDWP:このツールを使用すると、サードパーティの統合開発環境を使用して、アプリケーションをデ バッグできます。

BlackBerry 向け Java ME と Java API

Java® ME は、各種のワイヤレスおよび組み込みデバイス向けの Java API の共通セットを定義する、業 界標準のプラットフォームです。 BlackBerry® デバイス上の Java ME アプリケーションは、BlackBerry® Java® Virtual Machine 内で実行されます。この仮想マシンは、ランタイムサービスのすべてをアプリケ ーションに提供し、一般的なメモリ割り当て、セキュリティチェック、ガベージコレクションなどの機能 を実行します。
7
基本ガイド
Java ME MIDP 標準では、制約のあるワイヤレスデバイスの API と BlackBerry JVM のニーズにユーザー インターフェイスで対応します。 BlackBerry デバイスでは、JSR 118 で規定されている Java ME MIDP 標準をサポートします。 Java ME MIDP 標準では、基になるオペレーティングシステムとは無関係に、あ らゆる BlackBerry デバイスでサポートできる Java API のコアセットを提供します。 たいていの場 合、開発者は MIDP 標準 API を使用して Java アプリケーションを 1 つ作成すれば、多くの各種デバイ スでそのアプリケーションを実行させることができます。
BlackBerry 向け Java ME と Java API

標準の Java API のサポート

BlackBerry® デバイスと BlackBerry® Java® Development Environment では、Java® ME MIDP 標準をサ ポートしています。Java® ME MIDP 標準には、ワイヤレスデバイスアプリケーションの開発に使用可能 な Java API のコアセットが入っています。 BlackBerry デバイスでは、次の JSR をサポートしていま す。
JSR 185:Java Technology for the Wireless Industry(JTWI)
JSR 139:Connected Limited Device Configuration バージョン 1.1
JSR 118:Mobile Information Device Profile バージョン 2.0
JSR 120:Wireless Messaging API(WMA)バージョン 1.1
JSR 135:Mobile Media API(MM API)バージョン 1.1
JSR 179:Location API for Java ME
JSR 75:PIM API のみを対象とする J2ME プラットフォーム用ポータブルオプションパッケージ
(PDAP)のサポート、File Connection API for Java ME(BlackBerry Device Software バージョン
4.2 以上のデバイスでサポート)
JSR 82:Java APIs for Bluetooth®
JSR 172:J2ME Web Services
JSR 177:Security and Trust Services API for J2ME(SATSA)
JSR 205:Wireless Messaging API 2.0
JSR 211:Content Handler API
JSR 238:Mobile Internationalization API
JSR 30:(CLDC Version 1.0)(BlackBerry® Device Software バージョン 4.0 以前のデバイスでサ ポート)
JSR 37:(MIDP バージョン 1.0)(BlackBerry Device Software バージョン 4.0 以前のデバイスで サポート)

Java API 拡張機能のサポート

BlackBerry® デバイスでは、次の Java® API をサポートしています。これらの API は標準の JSR 定義 の一部ではないため、標準の MIDP API ライブラリよりも優れた特徴と機能があります。
8
基本ガイド
API 説明
User Interface API これらの API を使用して、画面やメニュー項目、およびユーザーイ
ンターフェイスのすべてのコンポーネントを作成できます。
Persistent Data Storage API これらの API を使用して、カスタムのデータをローカルでアプリケ
ーション内に格納することができます。
Networking and I/O API これらの API を使用して、ネットワーク接続を確立したり、サーバ
ー側アプリケーションでのデータの読み取りや書き出しを行うこと ができます。
イベントリスナ イベントリスナを使用して、BlackBerry デバイスユーザーや、
BlackBerry デバイス上でシステムによって発生したイベントに応答 することができます。
Application Integration API これらの API を使用して、既存の BlackBerry の電子メール、電
話、カレンダー、連絡先、ブラウザ、カメラ、メディアプレーヤ ー、タスクリストなどのアプリケーションと統合することができま す。
その他のユーティリティ その他の API は、データの暗号化と圧縮、XML 解析、Bluetooth®
接続、ロケーションベースサービスなどに使用できます。

BlackBerry ソリューション

BlackBerry ソリューション
BlackBerry® デバイスユーザーは BlackBerry® Enterprise Server と BlackBerry® Internet Service のいずれかを使用することも、同じデバイス上で両方を使用することも可能です。 BlackBerry Enterprise Server と BlackBerry Internet Service の相違点や自分がサポートする予定のユーザーのタイプを理解 することが重要となります。それは、このことが使用する転送モードやデータ同期の管理方法に影響する 可能性があるためです。

BlackBerry Enterprise Solution

BlackBerry® Enterprise Server は、BlackBerry® Enterprise Solution の一部です。 BlackBerry Enterprise Server は、企業のファイアウォールの内側にあり、組織の BlackBerry デバイスユーザーが 企業メールやオーガナイザデータにアクセスするためのワイヤレスゲートウェイを提供します。 BlackBerry Enterprise Server は、次の主要機能も備えています。
データの暗号化および圧縮
BlackBerry デバイスの管理および監視用ユーティリティ
9
基本ガイド
簡素化されたアプリケーションのプロビジョニング
BlackBerry® Java Application からイントラネットアクセスを行うための認証済みゲートウェイ
BlackBerry ソリューション

BlackBerry Internet Service

BlackBerry® Enterprise Server と関連付けられていない BlackBerry® デバイスユーザーは、BlackBerry® Internet Service を使用できます。 BlackBerry Internet Service は、ユーザーにメールメッセージの 自動配信、メール添付ファイルへのワイヤレスアクセス、インターネットコンテンツへのアクセスを提供 するように設計された、BlackBerry デバイス向けのメールおよびインターネットサービスです。
BlackBerry Internet Service には、サードパーティの BlackBerry® Java Application からインターネ ットへの HTTP および TCP/IP による直接接続のサポートが含まれます。

BlackBerry MDS

BlackBerry® Java Application で企業のファイアウォールの内側にあるリソースにアクセスできるよう にするため、BlackBerry® Enterprise Server には BlackBerry® Mobile Data System が搭載されていま す。 BlackBerry MDS には BlackBerry Java Application 用の HTTP および TCP/IP プロキシ機能があ り、これによって BlackBerry デバイスが追加の VPN ソフトウェアを使用しなくても企業のファイアウ ォールの内側にあるアプリケーションや Web サーバーと通信できるようになります。 BlackBerry Enterprise Server をゲートウェイとして使用してデータを送信するアプリケーションでは、BlackBerry® Enterprise Solution が機能として持っている、簡素化されたエンタープライズ接続や、データの暗号化 と圧縮、ワイヤレスネットワークからの独立性を利用することができます。 BlackBerry MDS にはオープ ンインターフェイス機能もあるため、企業のファイアウォールの内側にあるサーバー側アプリケーション で、BlackBerry デバイス上のアプリケーションにコンテンツをプッシュすることができます。
10
基本ガイド

BlackBerry Java Application の設計

BlackBerry Java Application の設計  
2

スタンドアロン型アプリケーション

BlackBerry® API を使用して、オフラインアプリケーションとして実行できる静的なリファレンスガイド やゲームなどのスタンドアロン型アプリケーションを構築できます。 アプリケーションをコンパイルす る前に、必要なリソースデータを追加することができます。 BlackBerry デバイスユーザーは、ワイヤレ スネットワークや、BlackBerry® Desktop Software を使用してアプリケーションをインストールするこ とができます。 BlackBerry デバイスにアプリケーションをインストールした後、ワイヤレスネットワー クやコンピュータに接続する必要はありません。

デスクトップ同期を使用するアプリケーション

BlackBerry® API を使用して、リファレンスガイドやオーガナイザアプリケーションなど、デスクトップ 同期機能を使用するアプリケーションを構築できます。 ユーザーは、BlackBerry デバイスをコンピュー タに接続して、コンピュータ上にあるデータを管理および同期します。
Research In Motion® では、HotSync® コンジットやその他のダイレクトデータベース同期モジュールを 提供しません。 開発者は同期用のコードを構築する必要があり、BlackBerry デバイスユーザーはデータ 同期処理を手動で開始する必要があります。 アプリケーションが BlackBerry デバイスにインストール されたら、BlackBerry デバイスユーザーは BlackBerry デバイスをシリアル接続、USB 接続、または Bluetooth® 接続を使用してコンピュータに接続し、情報を手動で同期する必要があります。

ワイヤレスアクセス、ワイヤレス同期、またはワイヤレス警告 を使用するアプリケーション

BlackBerry® API を使用すると、BlackBerry® Enterprise Server を使用する環境にある BlackBerry デ バイスに、ワイヤレスネットワーク上でコンテンツを事前にプッシュするアプリケーションを構築できま す。 BlackBerry デバイス用の BlackBerry® Java Application では、インターネットや社内イントラネ ットへのワイヤレス接続を使用して、BlackBerry デバイスのユーザーがリモートデータやアプリケーシ ョンにアクセスできるようにしています。 BlackBerry® Java® Development Environment には、インタ ーネットや社内イントラネット上のサーバーへのネットワーク接続を確立するアプリケーションで使用で きる API が入っています。
11
基本ガイド

MIDlet アプリケーション

MIDlet アプリケーション
MIDlet アプリケーションモデルは、MIDP 仕様の一部です。 MIDlet のメインクラスは、MIDlet クラス を常に拡張し、 startApp()、 pauseApp()および destroyApp()のメソッドを使用する必要があります。
メリット デメリット
アプリケーションは、MIDP 仕様もサポートするほかのデ バイスに移植できます。
アプリケーションは、 javax.microedition.lcdui ライブラリ 内にあるユーザーインターフェイス API のみを使用できます。
モデルでは、アプリケーションを閉じるときに、すべてのアプ リケーションプロセスが終了することを前提としています。
アプリケーションは、デバイスがオンになったときに自動で起 動できません。

CLDC アプリケーション

CLDC アプリケーションモデルは、Java® ME のフレームワーク仕様の 1 つです。 CLDC アプリケーショ ンは、 UiApplication クラスを拡張し、標準の main() メソッドで開始します。
BlackBerry® Java® Development Environment に含まれるサンプルアプリケーションのほとんどで、CLDC アプリケーションモデルが使用されています。 コア BlackBerry アプリケーションのすべてが(メッセ ージリスト、連絡先リスト、カレンダー、ブラウザを含む)、CLDC アプリケーションとして構築されてい ます。
メリット デメリット
BlackBerry User Interface API では、標準の javax.microedition.lcdui ライブラリよりも多くの機能 や柔軟性を備えています。
アプリケーションは、閉じた 後もアクティブなバックグラ ウンドスレッドを実行できま す。
アプリケーションをその他のデバイスに移植できません。
12
基本ガイド
メリット デメリット
アプリケーションは、デバイ スがオンになったときに自動 で起動できます。
アプリケーションは、IPC API を使用して、その他のア プリケーションと情報を交換 できます。
開発者は、CLDC アプリケー ションでインポートできる再 利用可能なライブラリモジュ ールを作成できます。

API の管理およびコード署名

API の管理およびコード署名
BlackBerry デバイス用の BlackBerry® Java Application を開発するとき、BlackBerry® Java® Development Environment では、公開 Javadoc™ ドキュメントとして発行およびドキュメント化されてい る Java API のみを使用できます。 BlackBerry デバイス上の BlackBerry® Java® Virtual Machine は、 基になるデータおよびオペレーティングシステムを保護するように設計されており、アプリケーションで はドキュメント化されていない、またはサポートされていない API を呼び出したり、API を経由して明 示的に公開されていないデータにアクセスしたりすることはできません。 公式に公開されていない Java API を使用しようとすると、アプリケーションは実行時にエラーメッセージを受け取ります。
公開 API は、オープンまたは署名付きのいずれかです。 署名付き API では、BlackBerry デバイスユー ザーデータや、BlackBerry デバイス上にある機密であるとみなされるその他の情報にアクセスするため のメソッドを公開しています。 署名付き API を使用できますが、Research In Motion にコード署名キ ーを要求して受け取る必要があります。 その後、アプリケーションを BlackBerry デバイスにインスト ールする前に、デジタル署名する必要があります。 コード署名では、アプリケーションを認定または承 認しません。機密 API を使用するアプリケーションが悪意を持っている場合に、そのアプリケーション の作成者を RIM が特定することができるようにするためのものです。
コード署名キーを要求するには、 www.blackberry.com/developers/downloads/jde/api.shtml を参照し てください。 コード署名キーを受け取るには、10 日程度かかります。
13
基本ガイド

オブジェクトモデリング

オブジェクトモデリング
アプリケーションモデルとして MIDlet を使用する場合も CLDC 使用する場合も、BlackBerry® デバイス 用のアプリケーションを設計する際にはオブジェクト主導型のアプローチを用いる必要があります。 オ ブジェクト主導型のアプローチでは、開発者はオブジェクトを使用して、特定の処理や機能に共通するコ ードをアプリケーションに含める必要があります。 例えば、開発者が別個のオブジェクトを使用して、 ネットワークアクティビティやデータストレージ、データ処理および操作、ユーザーインターフェイスの 操作を制御する場合があります。 アプリケーションを設計する際は、適したオブジェクトモデルを使用 して開始してください。

マルチスレッド

BlackBerry® オペレーティングシステムはマルチスレッドのオペレーティングシステムです。これは、 BlackBerry デバイス上で同時に多数のアプリケーションやプロセスをアクティブで実行できることを意 味します。 例えばアプリケーションでバックグラウンドスレッドを使用することによって、プロセッサ を多く使用するタスクやネットワーク接続を管理して、メインのスレッドに影響しないようにすることが できます。 アプリケーションでバックグラウンドスレッドを作成し、BlackBerry デバイスユーザーがそ のアプリケーションを閉じても、バックグラウンドスレッドはアクティブのままです。

対策:マルチスレッドの使用

BlackBerry® オペレーティングシステムのマルチスレッドを有効に使用してください。 特に、ネットワ ーク接続やその他の時間のかかる(0.1 秒より長い)操作では、常に新しいスレッドを作成します。 リ スナなど、アプリケーションの起動時にバックグラウンドで実行するプロセスのために、バックグラウン ドスレッドを使用します。

効率的な BlackBerry Java Application の作成に関する対策

対策:効率的なコードの作成

BlackBerry® Java® Application でリソースを効率的に使用するには、次のガイドラインを参考にしてく ださい。
ローカル変数を使用します。
ブール条件を評価する場合は短縮形を使用します。
クラスを final にします。
int を long の代わりに使用します。
14
基本ガイド
ガベージコレクションの使用を避けます。
文字列に静的変数を使用します。
文字列(文字列)コンストラクタの使用を避けます。
効率的なループを作成します。
部分式を最適化します。
除算を最適化します。
java.util.Enumeration の使用を避けます。
instanceof を使用してキャストを実行します。
instanceof を使用して条件を評価します。
StringBuffer.append (StringBuffer)の使用を避けます。
null を返さないようにします。
null をメソッドに渡さないようにします。
null をコンストラクタに渡すときは注意します。
固有の識別子には、 long を使用します。
アプリケーションを適切に終了します。
スタックトレースを出力します。
効率的な BlackBerry Java Application の作成に関する対策
ローカル変数の使用
ローカル変数は、可能であればいつでも使用できます。 クラスのメンバーにアクセスするよりも、ロー カル変数にアクセスする方が効率的です。
ブール値条件を評価するための短縮形の使用
ブール値 条件を評価するには、短縮形を使用します。 これにより、コンパイルされたコードは短くなり ます。
コードサンプル
return( boolean_expression );
クラスを final にする
コードライブラリを作成するときに、開発者がクラスをこれ以上拡張しないことがわかっている場合は、 クラスを final にします。 final キーワードが存在する場合、コンパイラはより効率的なコードを生成 できます。
デフォルトで、BlackBerry® Java® Development Environment コンパイラは、アプリケーションの .cod ファイルで拡張しないすべてのクラスに対して final にします。
15
基本ガイド
効率的な BlackBerry Java Application の作成に関する対策
long の代わりとしての int の使用
Java® では、 long は 64 ビットの整数です。 BlackBerry® デバイスでは 32 ビットのプロセッサを使 用するため、 int を long の代わりに使用すると、処理が 2 ~ 4 倍速くなります。
ガベージコレクションの回避
ガベージコレクションを実行する際は、 System.gc() を呼び出さないようにしてください。これは、使 用可能なメモリが制限されている BlackBerry® デバイスでは処理に時間がかかりすぎるためです。 ガベ ージコレクションは BlackBerry® Java® Virtual Machine で行ってください。
文字列への静的変数の使用
タイプが 文字列の静的フィールド(クラスフィールドともいう)を定義するときに、定数( final)で なく静的変数(final を使用してアプリケーションの速度を上げることができます。 int などの原始的な データ型では、その逆になります。
例えば、 文字列 オブジェクトは次のように作成できます。
private static final String x ="example";
この静的定数( final キーワードで示される)については、定数を使用するたびに、一時的な 文字列 インスタンスが作成されます。 コンパイラでは "x" を削除し、バイトコード内の "example" とい う文字列で置き換えるため、BlackBerry® Java® Virtual Machine では "x" を参照するたびにハッシュ テーブルの参照が行われます。
対照的に、静的変数( final キーワードでない)の場合は、 文字列 が 1 度だけ作成されます。 BlackBerry JVM では、 "x" の初期化時のみハッシュテーブルの参照を行うため、アクセスが速くなり ます。
private static String x = "example";
公開変数(すなわち final フィールド)の使用は可能ですが、変数は非公開としてマークする必要があ ります。
String(文字列)コンストラクタの回避
BlackBerry® Java Application では、引用符で囲まれたそれぞれの文字列は java.lang.String クラス のインスタンスです。 文字列 を作成する際は、 java.lang.String(文字列) コンストラクタを使用し ないでください。
コードサンプル
String str = "abc"; String str = "found " + n + " items";
16
Loading...
+ 39 hidden pages