Android Studio Mavenの依存関係(推奨)
dependencies {
compile 'com.aliyun.dpa:oss-android-sdk:+'
compile 'com.squareup.okhttp3:okhttp:3.4.1'
compile 'com.squareup.okio:okio:1.9.0'
}
JARパッケージの直接導入
OSS Android SDK ZIPパッケージをダウンロードしたら、次の手順を実行します(Android StudioとEclipseに適用)。
OSS Android SDK ZIPパッケージをダウンロードしたら、次の手順を実行します(Android StudioとEclipseに適用)。
- 公式サイトからSDKパッケージをダウンロードしてください。
- SDKパッケージを解凍し、以下のJARパッケージを入手してください:aliyun-oss-sdk-android-x.x.x.jar、 okhttp-3.x.x.jar (http://http://square.github.io/okhttp/ “okhttp-3..“)、および okio-1.x.x.jar (https://search.maven.org/remote_content?g=com.squareup.okio&a=okio&v=LATEST “aaa”) 。
- 3つのJARパッケージを”libs”ディレクトリにインポートします。
- aliyun-oss-sdk-android-x.x.x.jarの詳細は以下になります。
ソースコードをjar packageにコンパイル
プロジェクトのソースをクローンすることが可能です。'gradle'コマンドでjar packageを作成してください。
プロジェクトをクローンする
git clone https://github.com/aliyun/aliyun-oss-android-sdk.git
プロジェクトの保管場所の入力
$ cd aliyun-oss-android-sdk/oss-android-sdk/
パッケージスクリプトを実行してください
注意: スクリプトの実行にはjdk 1.7が必要です$ ../gradlew releaseJar
jar packageが作成されたディレクトリーへ移動する
$ cd build/libs && ls
##パーミッション設定
以下は、OSS Android SDKに必要なAndroidのアクセス許可です。これらのアクセス許可が "AndroidManifest.xml"ファイルに既に設定されていることを確認してください。そうしないと、SDKは正常に動作しません。
##難読化の設定
難読化設定に以下を追加します。
-keep class com.alibaba.sdk.android.oss。 {*; }-dontwarn okio。-dontwarn org.apache.commons.codec.binary。**
## SDKの同期インタフェースと非同期インタフェースの説明
ネットワーク要求はモバイル開発のUIスレッドで処理できないため、SDKの多くのインターフェイスでは、要求を処理するための同期呼び出しと非同期呼び出しの両方がサポートされています。同期インタフェース呼び出しは、返された結果を待つ間に他の要求をブロックしますが、非同期インタフェースはリクエストで要求された実行結果を返すコールバック関数しか必要としません。
UIスレッドは、同期インタフェース呼び出しをサポートしていません。例外が発生した場合は、ClientExceptionまたはServiceExceptionがスローされます。 ClientExceptionは、ネットワーク例外や無効なパラメータなどのローカル例外を示します。 ServiceExceptionは、認証エラーまたはサーバーエラーなど、OSSによって返されるサービス例外を示します。
非同期要求処理中に例外が発生すると、例外はコールバック関数によって処理されます。
非同期インターフェイスが呼び出されると、関数はタスクを返します。タスクをキャンセルしたり、タスクが終了するまで待ったり、結果を直接取得することができます。例えば、
```java
OSSAsyncTask task = oss.asyncGetObejct(...);
task.cancel(); // Taskをキャンセルする
task.waitUntilFinished(); // Task完了まで待つ
GetObjectResult result = task.getResult(); // 結果が返すまでブロックする
注意:インタフェースは、メソッドの同期呼び出しと非同期呼び出しの両方をサポートしています。このドキュメントを簡潔にするために、重要なインタフェースを同期モードと非同期モードで呼び出す方法の例を示します。他のインタフェースでは、非同期モードのみが記述されます。