環境要件
Android 2.3 以降
インストール
- JAR パッケージの導入
VODUpload Android SDK の ZIP パッケージをダウンロードした後、以下の手順を実行します (適用可能な開発環境は Android Studio または Eclipse です)。
- SDK を解凍して、libs ディレクトリにある aliyun-oss-sdk-android-xxx.jar、okhttp-2.7.0.jar、okio-2.6.0.jar、および aliyun-vod-upload-android-sdk-xxx.jar の JAR パッケージを入手します。
- 4 つの JAR パッケージをプロジェクトの libs ディレクトリにインポートします。
- 権限の設定
以下は、VODUpload Android SDK に必要な Android の権限です。 これらの権限が AndroidManifest.xml ファイルに設定されていることを確認します。 権限が設定されていないと、SDK は正常に動作しません。
<uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
VODUpload インスタンスの作成
コールバック関数の設定
VODUploadCallback callback = new VODUploadCallback() {
/**
* Triggered when the file upload starts
*/
void onUploadStarted() {;}
/**
* Callback after successful upload
*/
void onUploadSucceed(UploadFileInfo info) {;}
/**
* Upload failed
*/
void onUploadFailed(UploadFileInfo info, String code, String message) {;}
/**
* Callback upload progress
* @param uploadedSize The number of uploaded bytes
* @param totalSize The total number of required bytes
*/
void onUploadProgress(UploadFileInfo info, long uploadedSize, long totalSize) {;}
/**
* This API is called back after the upload credential expires
* Obtain a new upload credential in the callback and call resumeUploadWithAuth to continue upload
*/
void onUploadTokenExpired() {;}
/**
* Triggered when the status switches from normal to abnormal during upload
*/
void onUploadRetry(String code, String message) {;}
/**
* Triggered when the status is resumed from abnormal during upload
*/
void onUploadRetryResume() {;}
};
VODUploadClient uploader = new VODUploadClientImpl(getContext());
アップロード SDK の初期化
以下、いずれかの方法で権限付与情報を入力します。
- AccessKey
簡単ですが安全ではありません。 この方法は、テスト環境で使用することを推奨します。
uploader.init("<accessKeyId>", "<accessKeySecret>", callback);
- トークン
安全ですが複雑です。 この方法は、本番環境で使用することを推奨します。 トークンの有効期限は一時的であり、ある期間に限り有効です。 そのため、トークンの送信は安全です。
uploader.init("<accessKeyId>", "<accessKeySecret>", "<secretToken>", "<expireTime>", callback);
リストの管理
- アップロードするファイルの追加
注 アップロード可能なファイルサイズは 5 MB までです。
uploader.addFile("<uploadFilePath>", "<endpoint>", // For example, the Hangzhou regio "http://oss-cn-hangzhou.aliyuncs.com" "<bucketName>", // Enter the actual bucket name "<objectKey>");
アップロード中に、メディアセットの属性 (タイトル、タグ、説明、カテゴリ、カバー URL、カスタムデータ) を次の方法で取得します。addFile には、reload 関数が含まれており、最後のパラメーターは VodInfo のオブジェクトです。 定義は次のとおりです。private String title; private String desc; private Integer cateId; private List<String> tags; private String userData; private String coverUrl;
- アップロードしたファイルの削除は、下記のとおりです。
index
は、listFiles によって返されるリスト内の要素のインデックスに対応しています。uploader.deleteFile(index);
- リスト内の 1 つのファイルのアップロードをキャンセル
uploader.cancelFile(index);
- リスト内の 1 つのファイルのアップロードを再開
uploader.resumeFile(index);
- アップロードファイルリストの取得
List list = uploader.listFiles();
- アップロードファイルリストの消去
upload.clearFiles();
アップロードの制御
- アップロードの開始
uploader.start();
- アップロードの停止
uploader.stop();
- アップロードの一時停止
uploader.pause();
- アップロードの再開
uploader.resume();
- トークンが無効になった後のアップロード再開
uploader.resumeWithToken("<accessKeyId>", "<accessKeySecret>", "<secretToken>", "<expireTime>");