com.docomostar.system
クラス ImageStore

Object
  上位を拡張 com.docomostar.system.ImageStore

public final class ImageStore
extends Object

携帯電話のネイティブの画像データ管理機能にアクセスする手段を提供します。 このクラスのインスタンスは、 携帯電話のネイティブの画像データの 1 つのエントリを表します。

このクラスに定義されているクラスメソッドの使い方や、 ネイティブのデータへのアクセス方法に関する規定の大原則は com.docomostar.system パッケージの記述を参照して下さい。

画像データのエントリからは、エントリ ID を取得することが出来るほか、 画像をメディアイメージオブジェクトとして取り出したり、 画像のファイルイメージを取り出すための InputStream を取得することができます。 また、得られたエントリ ID を PhoneTheme.setImageTheme(int, int) メソッドの引数に指定することにより、 そのエントリの画像を待ち受け画像などに設定することができます。

導入されたバージョン:
Star-1.0

メソッドの概要
static int addEntry(MediaImage image)
           ユーザ操作により画像データを新規登録します。
static int[] addEntry(MediaImage[] images) [iアプリオプションAPI]
           ユーザ操作により複数の画像データを新規登録します。
static int addEntry(MediaImage image, boolean exclusive)
           ユーザ操作により画像データを新規登録します。
static ImageStore getEntry(int id)
          画像データのエントリを取得します。
static int[] getEntryIds(int folderId)
          画像データのエントリ ID のリストを取得します。
 int getId()
          画像データのエントリIDを取得します。
 MediaImage getImage()
          画像データのエントリのイメージをメディアイメージとして取得します。
 java.io.InputStream getInputStream()
          画像データのエントリのイメージをファイルイメージとして取り出すための 入力ストリームを取得します。
static ImageStore selectEntry()
          ユーザ操作により画像データのエントリを取得します。
static int selectEntryId() [iアプリオプションAPI]
          ユーザ操作により画像データのエントリIDを取得します。
 
クラス Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

selectEntry

public static ImageStore selectEntry()
                              throws InterruptedOperationException
ユーザ操作により画像データのエントリを取得します。

ADFにAccessUserInfoキーの指定が必要です。 上記以外の動作の詳細については、このクラスの説明、 ならびにその説明から引用されている com.docomostar.system パッケージに記述されている 「エントリ取得時の振る舞い」の説明を参照して下さい。

端末によっては、このメソッドにより Flash® コンテンツを取得できます。

戻り値:
取得した画像データのエントリを返します。 ユーザが選択操作をキャンセルするとnullを返します。 また、選択可能なエントリが存在しない場合にもnullを返します。
例外:
SecurityException -
ADF にAccessUserInfoキーの指定がないアプリケーションが このメソッドを呼び出した場合に発生します。
SecurityException -
ロック機能などのネイティブ独自のセキュリティ設定により、 画像データのエントリを取得できない場合に発生します。
MediaException -
(NO_RESOURCES)
リソース不足により画像データを取得できなかった場合に発生します。
InterruptedOperationException -
競合条件などにより、選択操作が異常終了した場合に発生します。

selectEntryId

public static int selectEntryId()
                         throws InterruptedOperationException [iアプリオプションAPI]
ユーザ操作により画像データのエントリIDを取得します。

このメソッドで得られたエントリ ID を PhoneTheme.setImageTheme(int, int) メソッドの引数に指定することにより、 そのエントリの画像を待ち受け画像などに設定することができます。

パーミッションとしてテーマ設定が許可されているトラステッドStar アプリのみ このメソッドを呼び出すことができます。 上記以外の動作の詳細については、 com.docomostar.system パッケージに記述されている説明を参照してください。

端末によっては、このメソッドをサポートしていない場合があります。 その場合には、例外 UnsupportedOperationException が発生します。

戻り値:
取得した画像データのエントリIDを返します。 ユーザが選択操作をキャンセルすると -1 を返します。 また、選択可能なエントリが存在しない場合にも -1 を返します。
例外:
UnsupportedOperationException -
端末がこのメソッドをサポートしていない場合に発生します。
SecurityException -
ロック機能などのネイティブ独自のセキュリティ設定により、 画像データのエントリIDを取得できない場合に発生します。
InterruptedOperationException -
競合条件などにより、選択操作が異常終了した場合に発生します。

getEntry

public static ImageStore getEntry(int id)
                           throws StoreException
画像データのエントリを取得します。

ADFにAccessUserInfoキーの指定が必要です。 上記以外の動作の詳細については、このクラスの説明、 ならびにその説明から引用されている com.docomostar.system パッケージに記述されている 「エントリ取得時の振る舞い」の説明を参照して下さい。

端末によっては、このメソッドにより Flash® コンテンツを取得できます。

パラメータ:
id - 取得する画像データのエントリIDを指定します。
戻り値:
取得した画像データのエントリを返します。
例外:
SecurityException -
ADF にAccessUserInfoキーの指定がないアプリケーションが このメソッドを呼び出した場合に発生します。
SecurityException -
ロック機能などのネイティブ独自のセキュリティ設定により、 画像データのエントリを取得できない場合に発生します。 以下の場合も含みます。
  • UIM 内情報を用いた実行制限がかけられている場合
  • 指定された ID の画像が、 このアプリケーション自身が保存したものではなく、 かつ、その画像データに再配布不可識別子が設定されている場合
StoreException -
(NOT_FOUND)
指定された ID の画像エントリが存在しない場合に発生します。 Flash® コンテンツの取得をサポートしていない端末において、 指定された ID の画像が Flash® コンテンツであった場合にも発生します。
MediaException -
(NO_RESOURCES)
リソース不足により画像データを取得できなかった場合に発生します。

getEntryIds

public static int[] getEntryIds(int folderId)
                         throws StoreException
画像データのエントリ ID のリストを取得します。

ユーザの選択によらず、 フォルダのエントリ ID を引数 folderId に指定して、 フォルダ直下にある画像データのエントリ ID のリストを取得します。 なお、アプリケーションがサスペンドすることなく、エントリ ID のリストを取得できます。

フォルダのエントリ ID は DataBoxFolder クラスのメソッドにより取得することができます。 引数で指定したエントリ ID のフォルダが、 データ BOX フォルダ配下のマイピクチャフォルダ直下に存在しない場合に例外が発生します。

このメソッドでエントリ ID のリストの対象となる画像データは、 getEntry(int)selectEntry() で取得可能な画像データです。 エントリ ID のリストの対象とならない画像データが、 引数 folderId で指定されたフォルダ直下にある場合には、 このメソッドは例外を発生せずに、それらのエントリ ID を除いたリストを返します。

ADF に AccessUserInfo キーの指定が必要です。

パラメータ:
folderId - フォルダのエントリ ID を指定します。
戻り値:
取得した画像データのエントリ ID のリストを返します。 取得可能なエントリ ID が存在しない場合には null を返します。
例外:
SecurityException -
ADF に AccessUserInfo キーの指定がないアプリケーションがこのメソッドを呼び出した場合に発生します。
SecurityException -
ロック機能などのネイティブ独自のセキュリティ設定により、 画像データのエントリ ID を取得できない場合に発生します。
StoreException -
(NOT_FOUND)
指定されたエントリ ID のフォルダが、マイピクチャフォルダ直下に存在しない場合に発生します。

addEntry

public static int addEntry(MediaImage image)
                    throws InterruptedOperationException

ユーザ操作により画像データを新規登録します。

引数に指定された画像が保持している再配布可能かどうかの設定のままで保存されます。 すなわち、addEntry(image, !image.isRedistributable()) を呼び出すことと等価です。

パラメータ:
image - 登録する画像のメディアイメージを指定します。
戻り値:
登録されたエントリのIDを返します。 ユーザが登録操作をキャンセルした場合、-1 を返します。
例外:
NullPointerException -
引数 image が null の場合に発生します。
MediaException -
(UNSUPPORTED_FORMAT)
引数の image にシステムが提供している以外のメディアイメージ (MediaImageインタフェースを実装した未知のクラスのオブジェクト) が渡された場合に発生します。
MediaException -
(ILLEGAL_STATE)
指定されているメディアイメージが use 状態でない場合に発生します。
MediaException -
(ILLEGAL_STATE)
指定されているメディアイメージの利用が「一度きり」 である場合に発生します。
SecurityException -
ADF にAccessUserInfoキーの指定がないアプリケーションが このメソッドを呼び出した場合に発生します。
SecurityException -
ロック機能などのネイティブ独自のセキュリティ設定により、 画像データを登録できない場合に発生します。
MediaException -
(UNSUPPORTED_FORMAT)
指定された画像の縦もしくは横のいずれかが、 登録可能な画像サイズよりも大きい場合に発生します。
MediaException -
(UNSUPPORTED_FORMAT)
指定された画像のデータサイズが、 登録可能なデータサイズ(bytes)よりも大きい場合に発生します。
MediaException -
(UNSUPPORTED_FORMAT)
指定された画像が、データ BOX に登録できない画像フォーマットである場合に発生します。
InterruptedOperationException -
競合条件などにより、登録操作が異常終了した場合に発生します。

addEntry

public static int[] addEntry(MediaImage[] images)
                      throws InterruptedOperationException [iアプリオプションAPI]

ユーザ操作により複数の画像データを新規登録します。

引数に指定された配列内の全ての画像データを、 それぞれの画像が保持している再配布可能かどうかの設定のままで保存します。

原理的には、

 int[] ret = new int[images.length];
 for (int i = 0; i < images.length; i++) {
     ret[i] = addEntry(images[i], !images[i].isRedistributable());
 }

を行うことで、同等な処理を実現出来ますが、以下の点が異なります。

このメソッドをサポートしていない実装も存在します。 その場合には、例外 UnsupportedOperationException が発生します。 また、一度に登録できる画像の数は機種依存です。 実装が一度に登録可能な画像数を超える長さの配列が指定された場合には、例外が発生します。 また、実装が一度に登録可能な画像合計データサイズを超える配列が指定された場合にも、例外が発生します。

引数 images に、長さ 0 の配列を指定しても、 それを理由に例外が発生することはありません。 その場合はサスペンドせずに null が返されます。

パラメータ:
images - 登録する画像のメディアイメージの配列を指定します。
戻り値:
登録されたエントリの ID の配列を返します。 戻り値を int[] ids とすると、 images[i] に対応するエントリ ID は、 ids[i] に格納されています。
ユーザが登録操作をキャンセルした場合や、 データ保存領域の容量を超えているために登録できない場合 (データBOXに登録可能な残り画像データサイズ、もしくは残り画像数を超えた場合) には null を返します。
例外:
UnsupportedOperationException -
端末がこのメソッドをサポートしていない場合に発生します。
NullPointerException -
引数 images が null の場合に発生します。
MediaException -
(NO_RESOURCES)
引数 images に、 一度に登録可能な画像数を超える長さの配列が指定された場合に発生します。
NullPointerException -
引数 images のいずれかの要素に null が含まれていた場合に発生します。
MediaException -