|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Objectcom.docomostar.system.ContentsDownloader
public final class ContentsDownloader
コンテンツをダウンロードし、 ネイティブが管理しているストレージ領域に直接保存する機能を提供します。 また、端末によっては、 ダウンロードしたコンテンツをその場で再生することができます。
この機能を用いることで、Star アプリでは扱えなかった大容量コンテンツをダウンロードすることができます。 ダウンロードしたデータは直接ネイティブが管理している領域に保存されます。
このクラスのインスタンスは、以下の状態を持ちます。
setQuery(String)
setExpectedContentType(String)
setRequestMethod(String)
setPlayOptions(Hashtable)
download()
download()
メソッド呼び出しからリターンすると、ダウンロード完了状態へ遷移します。
download()
呼び出し時に例外が発生した場合は、
ダウンロード可能状態のままとなります。
フィールドの概要 | |
---|---|
static String |
DEFAULT_CONTENT_TYPE
デフォルトのコンテントタイプです(="application/x-dcm-fullmusic")。 |
コンストラクタの概要 | |
---|---|
ContentsDownloader(String url)
コンストラクタです。 |
メソッドの概要 | |
---|---|
void |
download()
コンテンツのダウンロード、ならびに、ストレージ(端末メモリ、 または外部メモリ)への保存を行います。 |
void |
setExpectedContentType(String contentType)
ダウンロードしたいコンテンツの Content-Type を指定します。 |
void |
setPlayOptions(java.util.Hashtable params)
コンテンツ再生時の振る舞いを決定するオプションパラメータを指定します。 |
void |
setQuery(String query)
コンテンツダウンロード時に送出するクエリーを指定します。 |
void |
setRequestMethod(String method)
ダウンロード時に用いるリクエストメソッドを指定します。 |
クラス Object から継承されたメソッド |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
public static final String DEFAULT_CONTENT_TYPE
setExpectedContentType(String)
,
定数フィールド値コンストラクタの詳細 |
---|
public ContentsDownloader(String url)
コンストラクタです。 コンテンツをダウンロードしたい URL を指定して、 ContentsDownloader インスタンスを生成します。
ADF に AccessUserInfo キーの指定が必要です。 また、ここで指定した URL との通信については、 ダウンロード可能なデータサイズの上限を除いては、 通常の Star アプリからの HTTP 通信と同様の制限が適用されます。 すなわち、ユーザによる通信可否設定や、 ダウンロード元 URL が正当かどうか、などのチェックが行われます。
url
- コンテンツをダウンロードする URL を指定します。
HTTP または HTTPS のみが指定できます。
IllegalArgumentException
-
Connector.open(String)
を呼び出すと
IllegalArgumentException
が発生する場合Connector.open(String)
を呼び出すと
ConnectionNotFoundException
が発生する場合SecurityException
-
SecurityException
-
メソッドの詳細 |
---|
public void setQuery(String query)
コンテンツダウンロード時に送出するクエリーを指定します。 application/x-www-form-urlencoded 形式にエンコード済みの文字列を指定してください。
ここで指定された文字列は、 リクエストメソッドが GET である場合はリクエストラインの一部として、 POST である場合にはボディとして、ダウンロード元サーバへ送信されます。
このメソッドは、 引数に指定された文字列が URL 中にクエリー文字列として記載できるかどうかのチェックは行いますが、 実際に application/x-www-form-urlencoded 形式かどうかのチェックは行いません。 したがって、application/x-www-form-urlencoded 形式でない文字列が指定されていた場合でも、 ダウンロード時に、指定された文字列をそのまま送出します。
デフォルトでは、クエリーは指定なし(null)の状態になっています。
query
- ダウンロード時に付与するクエリーを
application/x-www-form-urlencoded 形式で指定します。
クエリーを指定しない場合には、空文字列、または null を指定します。
IllegalStateException
-
IllegalArgumentException
-
IllegalArgumentException
-
public void setExpectedContentType(String contentType)
ダウンロードしたいコンテンツの Content-Type を指定します。 コンテンツダウンロード時に、サーバが、ここで指定した Content-Type と異なる Content-Type (大文字小文字は区別しない)を応答した場合には、 ダウンロードに失敗します。
デフォルトでは、DEFAULT_CONTENT_TYPE
が指定されている状態になっています。
contentType
- ダウンロードしたいコンテンツの Content-Type を指定します。
IllegalStateException
-
NullPointerException
-
UnsupportedOperationException
-
public void setRequestMethod(String method)
ダウンロード時に用いるリクエストメソッドを指定します。
文字列定数
HttpConnection.GET
か HttpConnection.POST
を指定できます。
指定可能な定数値と大文字小文字だけが異なる文字列を、
直接指定することも可能です。
デフォルトでは
HttpConnection.GET
が指定されている状態になっています。
method
- ダウンロード時に用いるリクエストメソッドを指定します。
IllegalStateException
-
NullPointerException
-
IllegalArgumentException
-
HttpConnection.GET
、HttpConnection.POST
のいずれでもない(大文字小文字は区別しない)場合に発生します。public void setPlayOptions(java.util.Hashtable params)
コンテンツ再生時の振る舞いを決定するオプションパラメータを指定します。
特に指定しない場合には null を指定してください。
デフォルトでは、パラメータは指定なし(null)の状態になっています。
このメソッドで指定したパラメータは、
ダウンロード・保存された当該コンテンツの再生時の振る舞いを決定するのに利用されます。
ダウンロードしたコンテンツをその場で再生できない端末でも、
本パラメータは有効であることに注意してください。
ここでのパラメータ指定は、
ダウンロード後にその場で再生する場合だけでなく、
後からネイティブ機能を用いて再生する場合にも影響します。
引数に指定するパラメータのキーと値は、
どちらも String
型を指定する必要があります。
String
型以外が指定された場合は例外が発生します。
なお、このメソッドでは、
パラメータの内容に踏み込んだ正当性チェックは行いません。
パラメータの内容に踏み込んだチェックについては
download()
メソッド呼び出し時に行われます。
params
- コンテンツ再生時の振る舞いを決定するオプションパラメータを指定します。
特に指定しない場合には null を指定します。
IllegalStateException
-
IllegalArgumentException
-
ClassCastException
-
public void download() throws InterruptedOperationException, ContentsException
コンテンツのダウンロード、ならびに、ストレージ(端末メモリ、 または外部メモリ)への保存を行います。
このメソッドを呼び出すと、Star アプリケーションはサスペンドし、
コンテンツのダウンロード、ストレージへの保存を行います。
端末によっては、
ダウンロードしたコンテンツを、
ユーザ操作によって再生できるものもあります。
一連の処理が完了(失敗やユーザによる中断を含む)すると、
Star アプリケーションはレジュームします。
ダウンロード、ならびにストレージへの保存が正常に完了した場合
(通信中断等により部分保存となった場合も含む。以下同様。)
は、このメソッドは例外を発生せずにリターンします。
特に、ストレージへの保存完了後であれば、
何らかの原因で処理に失敗した場合でも、
例外は発生しないことに注意してください。
言い換えると、このメソッド呼び出しにおいて例外が発生した場合は、
コンテンツの保存が完了していないことを意味します。
コンテンツをダウンロードする際にサーバへ送出されるリクエストは、
setRequestMethod(String)
にて指定されているリクエストメソッドの種類により異なります。
リクエストメソッド | GET | POST |
---|---|---|
接続先 URL |
|
ContentsDownloader(String) の引数で指定された URL |
Content-Type リクエストヘッダの値 | N/A | application/x-www-form-urlencoded |
HTTP リクエストボディ | N/A | setQuery(String) の引数で指定された文字列 |
以下の機能については、端末によってサポートされていない場合があります。 サポートされていない端末では、 このメソッド呼び出しによるサスペンド中に、 ユーザはその機能を利用することができません。
IllegalStateException
-
IllegalArgumentException
-
setPlayOptions(Hashtable)
で指定されているパラメータが不正である場合に発生します。
SecurityException
-
ContentsException
- ContentsException
- ContentsException
- ContentsException
- InterruptedOperationException
-
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
NTT DOCOMO,INC.
本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。
Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。
FeliCaは、ソニー株式会社が開発した非接触ICカードの技術方式です。FeliCaは、ソニー株式会社の登録商標です。
「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。
その他記載された会社名、製品名などは該当する各社の商標または登録商標です。