|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Objectcom.docomostar.StarApplication
public abstract class StarApplication
Star アプリケーションの雛型を提供します。 アプリケーションは必ずこのクラスを継承して作成しなければなりません。
このクラスはアプリケーションのライフサイクルを定義します。 ライフサイクルの状態変更をアプリケーションに通知するメソッドや、 アプリケーションから状態変更を要求するためのメソッドなどが定義されています。
Star アプリケーションのライフサイクルには、 Started 状態、 Active 状態、 Suspended 状態、 Terminated 状態の4つの状態があります。 それぞれの状態の定義は以下の通りです。
アプリケーション起動直後の状態です。
このクラスのコンストラクタ内のコード実行中も含まれます。
アプリケーションマネージャ
は、アプリケーションを起動すると、
最初にコンストラクタを実行し、その後に started(int)
メソッドを呼び出します。
started(int)
メソッドの実行が完了すると、
アプリケーションの状態は
Active
状態に移行します。
言い換えると、この状態下で実行して欲しいコードは started(int)
メソッド内に書いておく必要があります。
この状態下では、アプリケーションが
suspend()
メソッドにより自発的にサスペンドすることはできません。
音声着信など
Suspended 状態に移行するような事象が発生した場合にはサスペンドしますが、
その場合でも復帰時には activated(int)
メソッドは呼び出されず、単純にサスペンド直前の状態から実行を再開します。
なお、Started 状態完了後には通常通り
activated(int)
がコールバックされます。
アプリケーション実行中を表す状態です。
この状態に移行する時には activated(int)
メソッドが呼び出されます。
Active 状態には、以下の2つの副状態が規定されています。
各副状態への遷移は、 アプリケーションマネージャ により行われ、副状態が変化するごとに
stateChanged(boolean)
メソッドが呼び出されます。
アプリケーションがバイトコードを実行できない状態です。 この状態に移行することをサスペンドすると表現することもあります。 この状態下では、アプリケーションはシステムメモリを占有したままとなっており、 レジューム時には、サスペンド直前の状態から実行を再開します。
Suspended
状態への移行は、 アプリケーションマネージャによってなされる事がほとんどですが、
suspend()
を呼び出すことで、
アプリケーションが自発的にサスペンドすることもできます。
Active 状態においてサスペンドした場合は、
アプリケーションがレジュームすると、activated(int)
が呼び出され、
Active
状態となります。
Started 状態においてサスペンドした場合には、
レジューム時にはコールバックは行われません。
状態遷移時の通知メソッド(started(int)
、
activated(int)
、
stateChanged(boolean)
)については、以下の事項が保証されています。
そのため、例えば activated(int)
からリターンする前に複数回
Suspended 状態に遷移した場合などでは、
Active 状態下で連続して(間にサスペンド・レジュームなしに)複数回
activated(int)
がコールバックされる可能性があることに注意してください。
このクラスはライフサイクルのほかに、 アプリケーションの実行タイプや表示状態も定義します。 アプリケーションの実行タイプや表示状態を取得するメソッドなどが定義されています。
Star アプリケーションの実行タイプには、 フルアプリ、 ミニアプリ の 2 つのタイプがあります。 Star アプリケーションでは、アプリケーションを格納する Jar パッケージに両方の実行タイプのアプリケーションを格納することができます。 それぞれの実行タイプについて以下に簡単に説明します。
フルアプリ実行環境で動作するアプリケーションです。 フルアプリ実行環境では同時に起動可能なアプリケーションは 1 つです。 フルアプリは、フルアプリ実行環境に与えられる資源を全て占有します。 フルアプリは、Star プロファイルに定義されている全てのクラスを利用できます。
フルアプリの表示状態には通常表示状態のみがあります。 フルアプリの表示状態は遷移することはありません。
ミニアプリ実行環境で動作するアプリケーションです。 ミニアプリ実行環境では同時に起動可能なアプリケーションは複数です。 ミニアプリは、ミニアプリ実行環境に与えられる資源を複数のミニアプリで共有します。 ミニアプリは、Star プロファイルに定義されているクラスのサブセットを利用できます。 ミニアプリから利用できないクラスの一覧は 「ミニアプリ実行環境に関する注意事項」 を参照して下さい。
ミニアプリ実行環境は、複数のミニアプリを同時に表示するためのウィンドウ表示機能 (Widget View) を有しています。 ミニアプリの表示状態には、 Focused 状態、 Unfocused 状態、 Selected 状態、 Unselected 状態 の 4 つの状態があります。 ミニアプリの表示状態はユーザ操作等によって任意のタイミングで遷移します。 ミニアプリのそれぞれの表示状態について以下に簡単に説明します。
このクラスに定義されているアプリケーションの実行タイプや表示状態に関するメソッドの利用方法について以下に説明します。
アプリケーションの実行タイプを取得するには getAppType()
を呼び出します。
アプリケーションの実行タイプは、アプリケーションの起動から終了まで変わりません。
現在の実行タイプのアプリケーションから、
同一 Jar パッケージ内に格納されている別の実行タイプのアプリケーションを連携起動するには
changeAppType(int, Hashtable)
を呼び出します。このメソッドは、現在実行中のアプリケーションを終了して、
別の実行タイプのアプリケーションを起動します。
アプリケーションの現在の表示状態を取得するには getAppFaceState()
を呼び出します。
ミニアプリの起動直後、および、レジューム直後には、必要に応じて現在の表示状態を取得して下さい。
ミニアプリのサスペンド直前とレジューム直後では、表示状態が同じであるとは限りません。
ミニアプリ実行中に表示状態が遷移した場合にその通知を受けるには、
addEventListener(int, StarEventListener)
に該当するイベントを登録します。
ミニアプリ実行中に表示状態が遷移すると、対応するリスナにイベントが通知されます。
ミニアプリが自らサスペンド中に表示状態が遷移したことを契機にレジュームするには、
addWakeupEvent(int)
に該当するイベントを登録します。
ミニアプリが自らサスペンド中に表示状態が遷移すると、
それを契機にミニアプリはレジュームします。
フィールドの概要 | |
---|---|
static int |
ACTIVATED_BY_KEY_TOUCHED
活性化された(レジュームされた)理由を表す定数の一つで、 自らサスペンド中に、 ユーザがキーに触れたことによって活性化されたことを表します(=-4)。 |
static int |
ACTIVATED_BY_NATIVE
活性化された(レジュームされた)理由を表す定数の一つで、 アプリケーションマネージャ などのネイティブ機能により活性化されたことを表します(=-3)。 |
static int |
ACTIVATED_BY_WAKEUP_TIMER
活性化された(レジュームされた)理由を表す定数の一つで、 起床タイマにより活性化されたことを表します(=-1)。 |
static int |
ACTIVATED_BY_WAKEUP_TIMER_DELAYED
活性化された(レジュームされた)理由を表す定数の一つで、 起床タイマにより活性化されたが、 活性化に遅延が生じたことを表します(=-2)。 |
static int |
ACTIVATED_FROM_STARTED_STATE
活性化された理由を表す定数の一つで、 started(int) の実行完了により活性化されたことを表します(=0)。 |
static int |
LAUNCHED_AFTER_DOWNLOAD
ダウンロード直後(通常起動の1回目)に起動されたことを表す起動タイプです(=1)。 |
static int |
LAUNCHED_AS_MAP_PLATFORM_DIRECTLY [iアプリオプションAPI]
連携起動ではなく、直接、地図プラットフォームとして起動されたアプリであることを表す起動タイプです(=26)。 |
static int |
LAUNCHED_BY_BLUETOOTH_REMOTE_DEVICE [iアプリオプションAPI]
Bluetooth 外部機器からの接続により起動されたことを表す起動タイプです(=30)。 |
static int |
LAUNCHED_BY_INVITE_MESSAGE
招集メッセージによって起動されたことを表す起動タイプです(=25)。 |
static int |
LAUNCHED_FROM_BML [iアプリオプションAPI]
BML ブラウザからの連携によって起動されたことを表す起動タイプです(=21)。 |
static int |
LAUNCHED_FROM_BROWSER
ブラウザからの連携によって起動されたことを表す起動タイプです(=5)。 |
static int |
LAUNCHED_FROM_CONTENTS_PACKAGE
コンテンツパッケージから起動されたことを表す起動タイプです(=31)。 |
static int |
LAUNCHED_FROM_DTV [iアプリオプションAPI]
デジタルテレビアプリケーションからの連携によって起動されたことを表す起動タイプです(=17)。 |
static int |
LAUNCHED_FROM_EXT
外部インタフェースから起動されたことを表す起動タイプです(=4)。 |
static int |
LAUNCHED_FROM_FACE
MyFACE から起動されたことを表す起動タイプです(=32)。 |
static int |
LAUNCHED_FROM_FELICA_ADHOC [iアプリオプションAPI]
非接触IC 外部 R/W からの連続データ転送によって起動されたことを表す起動タイプです(=19)。 |
static int |
LAUNCHED_FROM_FULLAPPLI
同一 JAR パッケージ内のフルアプリからの連携によって起動されたことを表す起動タイプです(=22)。 |
static int |
LAUNCHED_FROM_ICCARD_USAGE [iアプリオプションAPI]
IC カード利用状況から起動されたことを表す起動タイプです(=33)。 |
static int |
LAUNCHED_FROM_IMAGE [iアプリオプションAPI]
データ BOX に保存されている画像から起動されたことを表す起動タイプです(=29)。 |
static int |
LAUNCHED_FROM_LAUNCHER
Star アプリからの連携(ランチャモード)によって起動されたことを表す起動タイプです(=8)。 |
static int |
LAUNCHED_FROM_LOCATION_IMAGE [iアプリオプションAPI]
データ BOX に保存されている位置情報埋め込み画像から起動されたことを表す起動タイプです(=14)。 |
static int |
LAUNCHED_FROM_LOCATION_INFO [iアプリオプションAPI]
位置情報から起動されたことを表す起動タイプです(=13)。 |
static int |
LAUNCHED_FROM_MAILER
メーラからの連携によって起動されたことを表す起動タイプです(=6)。 |
static int |
LAUNCHED_FROM_MENU
通常のメニューから起動されたことを表す起動タイプです(=0)。 |
static int |
LAUNCHED_FROM_MENU_FOR_DELETION [iアプリオプションAPI]
ユーザがこのアプリケーションを削除するために、 メニューから起動されたことを表す起動タイプです(=20)。 |
static int |
LAUNCHED_FROM_MINIAPPLI
同一 JAR パッケージ内のミニアプリからの連携によって起動されたことを表す起動タイプです(=23)。 |
static int |
LAUNCHED_FROM_PHONEBOOK [iアプリオプションAPI]
電話帳から起動されたことを表す起動タイプです(=15)。 |
static int |
LAUNCHED_FROM_SCHEDULER [iアプリオプションAPI]
スケジューラからの連携によって起動されたことを表す起動タイプです(=28)。 |
static int |
LAUNCHED_FROM_SELECTED_WORDS [iアプリオプションAPI]
ネイティブアプリ上でユーザが任意に選択した文字列から起動されたアプリであることを表す起動タイプです(=27)。 |