|
NTT DOCOMO and Hitachi Kokusai Electric Know-how & Confidential | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectcom.docomo_um.io.FFSAccessManager
com.docomo_um.io.ApplicationInstallManager
public class ApplicationInstallManager
アプリケーションインストール管理クラスです。
インストールする手順は次の通りです。
なお、インストールとはダウンロード領域からアプリケーション格納エリアへバイナリを移動させることを指します。
用語定義については、com.docomo_um.ioパッケージ説明を参照してください。
①出力ストリームを使いダウンロード領域へバイナリを書き込みます。
②updateApplicationAreaメソッドによって、ダウンロード領域のバイナリをアプリケーション格納エリアへインストールします。
ソースコード例は以下になります。
ApplicationInstallManager appInsManager = ApplicationInstallManager.getInstance();
OutputStream fos = appInsManager.openOutputStream(appInsManager.getFileList().get(0), false);
byte[] capData = new byte[1024];
try {
// 変数capDataはbyteの配列で宣言されており、CAPデータが格納されています。
fos.write(capData);
fos.flush();
} catch (IOException e) {
} finally {
try {
fos.close();
} catch(IOException e) {
}
}
//ダウンロード領域に保存したアプリケーションをインストール
appInsManager.updateApplicationArea(appInsManager.getApplicationAreaList().get(0));
| メソッドの概要 | |
|---|---|
java.util.List<FFSFile> |
getApplicationAreaList()
アプリケーション格納エリアのリストを取得します。 |
java.util.List<FFSFile> |
getFileList()
ダウンロード領域のリストを取得します。 |
static ApplicationInstallManager |
getInstance()
アプリケーションインストール管理クラスのインスタンスを生成します。 |
int |
getRemainSize()
ダウンロード領域の空きメモリサイズ(byte)を取得します。 |
java.io.InputStream |
openInputStream(FFSFile ffsFile)
入力ストリームを取得します。 |
java.io.OutputStream |
openOutputStream(FFSFile ffsFile,
boolean append)
出力ストリームを取得します。 |
void |
updateApplicationArea(FFSFile ffsFile)
ダウンロード領域に保存したアプリケーションをインストールします。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait |
| メソッドの詳細 |
|---|
public static ApplicationInstallManager getInstance()
このメソッドを複数回呼び出した場合には、同一インスタンスを返します。
public java.io.OutputStream openOutputStream(FFSFile ffsFile,
boolean append)
throws java.io.IOException
FFSAccessManager 内の openOutputStreamffsFile - FFSファイルクラスインスタンスを指定します。append - trueの場合はファイルの最後尾に書き込み、falseの場合はファイルの初期化後、先頭から書き込みます。
java.lang.NullPointerException - ffsFileがnullの場合に発生します。
java.lang.IllegalArgumentException - ダウンロード領域以外(アプリケーション格納エリアや通常のFFSファイル)が指定された場合に発生します。
java.io.IOException - FFSファイルのオープンに失敗した場合に発生します。
public java.io.InputStream openInputStream(FFSFile ffsFile)
throws java.io.IOException
FFSAccessManager 内の openInputStreamffsFile - FFSファイルクラスインスタンスを指定します。
java.lang.NullPointerException - ffsFileがnullの場合に発生します。
java.lang.IllegalArgumentException - ダウンロード領域以外(アプリケーション格納エリアや通常のFFSファイル)が指定された場合に発生します。
java.io.IOException - FFSファイルのオープンに失敗した場合に発生します。public java.util.List<FFSFile> getFileList()
ダウンロード領域は一つですので、本メソッドで返却するリストの要素数は必ず一つとなります。
FFSAccessManager 内の getFileListpublic java.util.List<FFSFile> getApplicationAreaList()
インストールを行った場合、アプリケーション格納エリアに格納されているアプリケーションが変更されます。
updateApplicationArea(FFSFile) メソッドが実行され、
格納されているアプリケーションが更新された場合、更新された領域が先頭の要素に入ります。
public void updateApplicationArea(FFSFile ffsFile)
throws jp.co.aplix.avm.LoadableModuleException,
java.io.IOException
本メソッドによって、ダウンロード領域に保存したアプリケーションをインストールします。 インストールするとダウンロード領域のアプリケーションは無くなります。なお、インストール先のアプリケーションが使用していたNVM領域、FFSファイルの内容は初期化されません。
インストール先のアプリケーション格納エリアにアプリケーションがインストール済み、かつ当該アプリケーションが次回モジュール電源ON時に起動するアプリケーションに
設定されていた場合、新たにインストールされたアプリケーションが次回モジュール電源ON時に起動するアプリケーションとして設定されます。
次回モジュール電源ON時に起動するアプリケーションを、インストールしたアプリケーションに切り替えるには、以下の手順を踏んでください。
①ModuleManager.getApplicationList()にて、インストール済みの(次回モジュール電源ON時に起動できる)アプリケーションを取得します。
②ModuleManager.changeApplication(com.docomo_um.module.Application)によって次回モジュール電源ON時に起動するアプリケーションを設定します。
③ModuleManager.reset()、もしくはModuleManager.turnOff()、ModuleManager.turnOff(java.util.Date)にて一度電源をOFFして再起動して下さい。
ffsFile - インストール先のアプリケーション格納エリアを指定します。
アプリケーション格納エリアのリストはgetApplicationAreaList()にて取得してください。
java.lang.NullPointerException - ffsFileがnullの場合に発生します。
java.lang.IllegalArgumentException - ffsFileにアプリケーション格納エリア以外のFFSファイル(ダウンロード領域や通常のFFSファイル)を指定した場合に発生します。
java.lang.IllegalStateException - ダウンロード領域にアプリケーションが無い場合に発生します。
jp.co.aplix.avm.LoadableModuleException - ダウンロード領域のアプリケーションのフォーマットが不正である場合に発生します。
java.io.IOException - 入出力エラーの場合に発生します。ModuleManager.getApplicationList(),
ModuleManager.changeApplication(com.docomo_um.module.Application),
getApplicationAreaList()
public int getRemainSize()
throws java.io.IOException
FFSAccessManager 内の getRemainSizejava.io.IOException - ダウンロード領域の空きメモリサイズ取得に失敗した場合に発生します。
|
Copyright © 2013 NTT DOCOMO, INC. and Hitachi Kokusai Electric Inc. All Rights Reserved. | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||