1. AppPot SDKのインポート
AppPot SDKのjarをライブラリとして追加します。 また、AppPot SDKはgsonを使用しますので、合わせてライブラリとして追加します。
アプリのディレクトリのlibs以下にjarを配置して、build.gradleファイルに以下の設定を追加します。 ライブラリのファイル名はバージョンによって異なりますので、使用する環境に合わせて変更してください。
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile files('libs/AppPotSDK-3.2.0.jar')
compile files('libs/gson-2.2.4.jar')
compile 'com.loopj.android:android-async-http:1.4.9'
compile 'cz.msebera.android:httpclient:4.4.1.2'
// その他のライブラリの設定は省略
}
2. AppPotの初期化とログイン
Login画面のActivityのonCreateなど起動時に実行される場所で、AppPotを使うための初期化を行います。 APService.setServiceInfoメソッドを利用して、companyIdやappId, appVersion, appKeyなどを指定します。 これらの値は実際には、設定ファイルに持つなどして下さい。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 略
initAppInfo();
}
private void initAppInfo() {
final APService service = APService.getInstance();
service.setLogLevel(LogLevel.verbose);
if (service.isInit()) {
return;
}
Log.v(this.getLocalClassName(), "initAppInfo start");
final Resources r = getResources();
try {
service.setServiceInfo(
getApplicationContext(),
AppPotConfig.companyId,
AppPotConfig.appID,
AppPotConfig.appKey,
AppPotConfig.appVersion,
AppPotConfig.hostName,
AppPotConfig.contextRoot,
AppPotConfig.portNumber,
AppPotConfig.isUsePushNotification,
AppPotConfig.isUseSSL);
} catch (Exception e) {
Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
}
Log.v(this.getLocalClassName(), "initAppInfo end");
}
3. モデルの定義
jp.co.ncdc.apppot.stew.dto.APObject
を継承したモデルクラスを定義します。
package jp.apppot.android.sample;
import jp.co.ncdc.apppot.stew.dto.APObject;
public class Company extends APObject {
public int companyCode;
public String companyName;
}