com.nttdocomo.device
クラス StorageDevice

Object
  拡張com.nttdocomo.device.StorageDevice

public class StorageDevice
extends Object
 [iアプリオプションAPI]

ストレージデバイスを定義します。 ストレージデバイスがアクセス可能かどうか、などの状態を取得したり、 実際にフォルダやファイルにアクセスするためのインスタンスを取得したりすることができます。

ストレージデバイス内のフォルダやファイルにアクセスするには、 デバイス名を指定してストレージデバイスのインスタンスを取得した後にアクセス権を指定してフォルダを取得します。 なお、デバイス名は ASCII 文字列で、最大でも 8 文字です。

外部メモリにアクセスするには、 デバイス名として "/ext0" を指定してインスタンスを取得します。 基本的に、外部メモリのスロットおよびメディアに対する操作はこのクラスで行いますが、 メディア内のファイルシステムに対する操作は com.nttdocomo.fs パッケージの Folder クラスや File クラスで行います。

DoJa API では、アクセス権を表すインスタンスは DoJaStorageService クラスを使用して取得します。 アクセス権の考え方やインスタンスの取得方法については DoJaStorageService クラスの説明を参照してください。

ストレージデバイス機能全体における注意事項
[DoJa-5.1 (905i) 以降] ネイティブ機能がストレージデバイスを占有使用する場合など、ストレージデバイスへのアクセスが禁止される場合が存在します。 そのようなアクセス禁止中に、ストレージデバイスに対するファイル入出力を伴なう ( IOException が発生し得る)メソッドを呼び出した場合、 IOException が発生します。 ファイル入出力を伴なうメソッドは、このクラスのメソッドに限りません。

導入されたバージョン:
DoJa-4.1(902i)

フィールドの概要
static String CAPABILITY_FAT_LONG_NAME
           メディアの能力を表す文字列で、FAT でロングネームをサポートしていることを表します(= "FAT_LONG_NAME")。
static String CAPABILITY_FAT12
           メディアの能力を表す文字列で、FAT12 であることを表します(= "FAT12")。
static String CAPABILITY_FAT16
           メディアの能力を表す文字列で、FAT16 であることを表します(= "FAT16")。
static String CAPABILITY_FAT32
           メディアの能力を表す文字列で、FAT32 であることを表します(= "FAT32")。
static String CAPABILITY_MINISD
           メディアの能力を表す文字列で、miniSD Memory Card もしくは microSD Memory Card であることを表します(= "miniSD")。
static String CAPABILITY_SD
           メディアの能力を表す文字列で、SD Memory Card であることを表します(= "SD")。
static String CAPABILITY_SD_BINDING
           メディアの能力を表す文字列で、SD-Binding をサポートしていることを表します(= "SD-Binding")。
static String CATEGORY_ENCRYPTION
           メディアの能力のカテゴリを表す文字列で、暗号化を表します(= "encryption")。
static String CATEGORY_FILESYSTEM
           メディアの能力のカテゴリを表す文字列で、ファイルシステムを表します(= "filesystem")。
static String CATEGORY_HARDWARE
           メディアの能力のカテゴリを表す文字列で、ハードウェアを表します(= "hardware")。
 
メソッドの概要
 String[] getCapability(String category)
           メディアの能力を取得します。
 String getDeviceName()
           ストレージデバイスのデバイス名を取得します。
 Folder getFolder(AccessToken accessToken)
           フォルダのインスタンスを取得します。
static StorageDevice getInstance(String deviceName)
           デバイス名を指定してストレージデバイスのインスタンスを取得します。
 String getMediaId()
           メディアの識別子を取得します。
 String getPrintName()
           ストレージデバイスの表示名を取得します。
 boolean isAccessible()
           メディアにアクセス可能かどうかを取得します。
 boolean isReadable()
           メディアが読み出し可能かどうかを取得します。
 boolean isRemovable()
           メディアがリムーバブルかどうかを取得します。
 boolean isWritable()
           メディアが書き込み可能かどうかを取得します。
 
クラス Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

CATEGORY_HARDWARE

public static final String CATEGORY_HARDWARE

メディアの能力のカテゴリを表す文字列で、ハードウェアを表します(= "hardware")。 メディアの能力を取得する際に getCapability(String) メソッドの引数に指定します。

関連項目:
定数フィールド値

CAPABILITY_SD

public static final String CAPABILITY_SD

メディアの能力を表す文字列で、SD Memory Card であることを表します(= "SD")。 ハードウェアを表すカテゴリのメディアの能力を取得した際、 SD Memory Card であった場合に getCapability(String) メソッドの戻り値として返されます。

関連項目:
定数フィールド値

CAPABILITY_MINISD

public static final String CAPABILITY_MINISD

メディアの能力を表す文字列で、miniSD Memory Card もしくは microSD Memory Card であることを表します(= "miniSD")。 ハードウェアを表すカテゴリのメディアの能力を取得した際、 miniSD Memory Card もしくは microSD Memory Card であった場合に getCapability(String) メソッドの戻り値として返されます。

関連項目:
定数フィールド値

CATEGORY_FILESYSTEM

public static final String CATEGORY_FILESYSTEM

メディアの能力のカテゴリを表す文字列で、ファイルシステムを表します(= "filesystem")。 メディアの能力を取得する際に getCapability(String) メソッドの引数に指定します。

関連項目:
定数フィールド値

CAPABILITY_FAT12

public static final String CAPABILITY_FAT12

メディアの能力を表す文字列で、FAT12 であることを表します(= "FAT12")。 ファイルシステムを表すカテゴリのメディアの能力を取得した際、 FAT12 であった場合に getCapability(String) メソッドの戻り値として返されます。

関連項目:
定数フィールド値

CAPABILITY_FAT16

public static final String CAPABILITY_FAT16

メディアの能力を表す文字列で、FAT16 であることを表します(= "FAT16")。 ファイルシステムを表すカテゴリのメディアの能力を取得した際、 FAT16 であった場合に getCapability(String) メソッドの戻り値として返されます。

関連項目:
定数フィールド値

CAPABILITY_FAT32

public static final String CAPABILITY_FAT32

メディアの能力を表す文字列で、FAT32 であることを表します(= "FAT32")。 ファイルシステムを表すカテゴリのメディアの能力を取得した際、 FAT32 であった場合に getCapability(String) メソッドの戻り値として返されます。

関連項目:
定数フィールド値

CAPABILITY_FAT_LONG_NAME

public static final String CAPABILITY_FAT_LONG_NAME

メディアの能力を表す文字列で、FAT でロングネームをサポートしていることを表します(= "FAT_LONG_NAME")。 ファイルシステムを表すカテゴリのメディアの能力を取得した際、 FAT でロングネームをサポートしている場合に getCapability(String) メソッドの戻り値として返されます。

関連項目:
定数フィールド値

CATEGORY_ENCRYPTION

public static final String CATEGORY_ENCRYPTION

メディアの能力のカテゴリを表す文字列で、暗号化を表します(= "encryption")。 メディアの能力を取得する際に getCapability(String) メソッドの引数に指定します。

関連項目:
定数フィールド値

CAPABILITY_SD_BINDING

public static final String CAPABILITY_SD_BINDING

メディアの能力を表す文字列で、SD-Binding をサポートしていることを表します(= "SD-Binding")。 暗号化を表すカテゴリのメディアの能力を取得した際、 SD-Binding をサポートしている場合に getCapability(String) メソッドの戻り値として返されます。

関連項目:
定数フィールド値
メソッドの詳細

getInstance

public static StorageDevice getInstance(String deviceName)

デバイス名を指定してストレージデバイスのインスタンスを取得します。

同じデバイス名に対しては常に同じインスタンスを返します。

ADF に UseStorage キーを指定した i アプリのみこのメソッドを呼び出すことができます。

パラメータ:
deviceName - 取得したいストレージデバイスのデバイス名を指定します。 外部メモリにアクセスするには "/ext0" を指定します。
戻り値:
ストレージデバイスのインスタンスを返します。
例外:
IllegalStateException - ダウンロード即起動アプリがこのメソッドを呼び出した場合に発生します。
NullPointerException - 引数 deviceName に null が指定された場合に発生します。
IllegalArgumentException - 引数 deviceName で指定されたストレージデバイスが存在しない場合に発生します。
SecurityException - ADF に UseStorage キーの指定がないアプリケーションが、 このメソッドを呼び出した場合に発生します。
SecurityException - ロック機能などのネイティブ独自のセキュリティ設定により、 ストレージデバイスの使用が許可されない場合に発生します。

getDeviceName

public String getDeviceName()

ストレージデバイスのデバイス名を取得します。 このクラスのインスタンスを取得する際に getInstance(java.lang.String) メソッドの引数として指定したデバイス名を返します。

戻り値:
デバイス名を返します。

getPrintName

public String getPrintName()

ストレージデバイスの表示名を取得します。

表示名は、例えばユーザに対して外部メモリのスロットにメディアを差すよう促す場合に、 ダイアログに表示する文字列を 「sd.getPrintName() + "にアクセスできません。メディアが正しくセットされているかどうか確認してください。"」 というようにして生成することを想定しています。 そうすると、例えば miniSD をサポートしている端末では「miniSD にアクセスできません…」のように、 Memory Stick Duo をサポートしている端末では「Memory Stick Duoにアクセスできません…」のように表示することができます。

表示名としてどのような文字列を返すかは機種依存ですが、 半角 20 文字、あるいは、全角 10 文字以内の文字列です。

戻り値:
表示名を返します。

isRemovable

public boolean isRemovable()

メディアがリムーバブルかどうかを取得します。

戻り値:
メディアがリムーバブルな場合は true を、 そうでない場合は false を返します。

isAccessible

public boolean isAccessible()

メディアにアクセス可能かどうかを取得します。

リムーバブルなメディアがアクセス不能とみなされるのは、以下の場合を含みます。

  • メディアが挿入されていない場合。
  • 対応していないフォーマットな場合。
  • メディアが壊れている場合。

戻り値:
メディアがアクセス可能な場合は true を、 そうでない場合は false を返します。

isReadable

public boolean isReadable()

メディアが読み出し可能かどうかを取得します。

戻り値:
メディアが読み出し可能縺ョ繧、繝ウ繧ケ繧ソ繝ウ繧ケ繧貞叙蠕励☆繧矩圀縺ォ getInstance(java.lang.String) 繝。繧ス繝