Android コードの更新

MobileFirstV8.0.0 では、Android SDK に対する多くの変更が導入されています。これにより、以前のバージョンで開発されたアプリケーションの変更が必要になる可能性があります。

以下の表では、MobileFirst Android SDK の変更をリストします。

クライアントの作成、および Android 用の新しい V8.0.0 クライアントを使用したサーバーへのアクセスのためのサンプル・コードについては、『サーバーにアクセスするための初期コード (Some initial code for accessing the server)』を参照してください。

表 1. 使用が中止された Android API エレメント
API エレメント マイグレーション・パス
WLConfig WLClient.getConfig() 代替はありません。

WLDevice WLClient.getWLDevice()

WLClient.transmitEvent(org.json.JSONObject event)

WLClient.setEventTransmissionPolicy(WLEventTransmissionPolicy policy)

WLClient.purgeEventTransmissionBuffer()

GeoLocation 用の Android API またはサード・パーティー・パッケージを使用してください。
WL.Client.getUserInfo(realm, key)

WL.Client.updateUserInfo(options)

代替はありません。
WL.Client.getUserInfo(realm, key

WL.Client.updateUserInfo(options)

代替はありません。
WLClient.checkForNotifications() WLAuthorizationManager.obtainAccessToken("", listener) を使用してサーバーへの接続を検査し、アプリケーション管理ルールを適用します。
WLClient.login(java.lang.String realmName, WLRequestListener listener, WLRequestOptions options)

WLClient.login(java.lang.String realmName, WLRequestListener listener)

AuthorizationManager.login() を使用してください。
WLClient.logout(java.lang.String realmName, WLRequestListener listener, WLRequestOptions options)

WLClient.logout(java.lang.String realmName, WLRequestListener listener)

AuthorizationManager.logout() を使用してください。
WLClient.obtainAccessToken(java.lang.String scope,WLResponseListener responseListener) WLAuthorizationManager.obtainAccessToken(String, WLAccessTokenListener) を使用してサーバーへの接続を検査し、アプリケーション管理ルールを適用します。
WLClient.getLastAccessToken()

WLClient.getLastAccessToken(java.lang.String scope)

AuthorizationManager を使用してください。
WLClient.getRequiredAccessTokenScope(int status, java.lang.String header) AuthorizationManager を使用してください。
WLClient.logActivity(java.lang.String activityType) com.worklight.common.Logger を使用してください。詳しくは、『ロガー SDK』を参照してください。
WLAuthorizationPersistencePolicy 代替はありません。許可パーシスタンスを実装するには、許可トークンをアプリケーション・コードに保管し、カスタム HTTP 要求を作成します。詳しくは、『Java™ カスタム・リソース要求実装サンプル』を参照してください。
WLSimpleSharedData.setSharedToken(myName, myValue)

WLSimpleSharedData.getSharedToken(myName)

WLSimpleSharedData.clearSharedToken(myName)

Android API を使用して、アプリケーション間でトークンを共有してください。
WLUserCertificateManager.deleteCertificate(android.content.Context context) 代替はありません。
BaseChallengeHandler.submitFailure(WLResponse wlResponse) BaseChallengeHandler.cancel() を使用します。
ChallengeHandler カスタム・ゲートウェイ・チャレンジには、GatewayChallengeHandler を使用します。MobileFirst セキュリティー検査チャレンジには、SecurityCheckChallengeHandler を使用します。V8.0.0 チャレンジ・ハンドラー API について詳しくは、『クライアント・セキュリティー API (Client security APIs)』を参照してください。
WLChallengeHandler SecurityCheckChallengeHandler を使用します。V8.0.0 チャレンジ・ハンドラー API について詳しくは、『クライアント・セキュリティー API (Client security APIs)』を参照してください。
ChallengeHandler.isCustomResponse() GatewayChallengeHandler.canHandleResponse() を使用します。
ChallengeHandler.submitAdapterAuthentication チャレンジ・ハンドラーで同様のロジックを実装してください。カスタム・ゲートウェイ・チャレンジ・ハンドラーには、GatewayChallengeHandler を使用します。MobileFirst セキュリティー検査チャレンジ・ハンドラーには、SecurityCheckChallengeHandler を使用します。
表 2. サポートされなくなった、レガシー org.apach.http API に依存している Android API
API エレメント マイグレーション・パス
org.apache.http.Header[] は非推奨になっています。そのため、以下のメソッドは削除されました。  

org.apache.http.Header[] WLResourceRequest.getAllHeaders()

代わりに、新しい Map<String, List<String>> WLResourceRequest.getAllHeaders() API を使用してください。

WLResourceRequest.addHeader(org.apache.http.Header header)

代わりに、新しい WLResourceRequest.addHeader(String name, String value) API を使用してください。

org.apache.http.Header[] WLResourceRequest.getHeaders(java.lang.String headerName)

代わりに、新しい List<String> WLResourceRequest.getHeaders(String headerName) API を使用してください。

org.apache.http.Header WLResourceRequest.getFirstHeader(java.lang.String headerName)

代わりに、新しい WLResourceRequest.getHeaders(String headerName) API を使用してください。

WLResourceRequest.setHeaders(org.apache.http.Header[] headers)

代わりに、新しい WLResourceRequest.setHeaders(Map<String, List<String>> headerMap) API を使用してください。

WLResourceRequest.setHeader(org.apache.http.Header header)

代わりに、新しい WLResourceRequest.setHeaders(Map<String, List<String>> headerMap) API を使用してください。
org.apache.http.client.CookieStore WLClient.getCookieStore() java.net.CookieStore getCookieStore WLClient.getCookieStore()
java.net.CookieStore getCookieStore WLClient.getCookieStore()
に置き換えられました。
WLClient.setAllowHTTPClientCircularRedirect(boolean isSet) 代替はありません。MFP クライアントでは、サーキュラー・リダイレクトが許可されます。

WLHttpResponseListener

WLResourceRequestWLHttpResponseListener を取る以下のすべてのメソッド:

WLResourceRequest.send(java.util.HashMap formParameters,WLHttpResponseListener listener)

WLResourceRequest.send(org.json.JSONObject json, WLHttpResponseListener listener)

WLResourceRequest.send(byte[] data, WLHttpResponseListener listener)

WLResourceRequest.send(java.lang.String requestBody,WLHttpResponseListener listener)

WLResourceRequest.send(WLHttpResponseListener listener)

WLClient.sendRequest(org.apache.http.client.methods.HttpUriRequest request,WLHttpResponseListener listener)

WLClient.sendRequest(org.apache.http.client.methods.HttpUriRequest request, WLResponseListener listener)

非推奨になった Apache HTTP クライアント依存関係のために削除されました。要求および応答を完全に制御できる独自の要求を作成してください。