# AsReaderSDK `AsReaderSDK` は、**JVMA SDK** を提供するトップレベルのクラスです。 このクラスは、AsReader との接続・制御を行う `DeviceManager` クラスと、 自販機とのデータ送受信を行う `ASKManager` クラスのインスタンスを保持しています。 --- ## getInstance AsReaderSDK インスタンスを返します。 ```java public static AsReaderSDK getInstance() ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - AsReaderSDK - AsReaderSDKインスタンス ``` ### サンプルコード ```java AsReaderSDK mReader = AsReaderSDK.getInstance(); ``` --- ## initialize 初期化処理を行います(デフォルトは USB接続)。 ```java public void initialize(@NonNull Context context) ``` ### パラメータ ```{list-table} :align: left :class: list-table * - 引数名 - 型 - 説明 * - context - Context - コンテキスト ``` ### サンプルコード ```java AsReaderSDK.getInstance().initialize(getApplicationContext()); ``` --- ## initialize (with ConnectionType) 初期化処理を行います。 ```java public void initialize(@NonNull Context context, ConnectionType connectionType) ``` ### パラメータ ```{list-table} :align: left :class: list-table * - 引数名 - 型 - 説明 * - context - Context - コンテキスト * - connectionType - ConnectionType - [`ConnectionType`](Enum.md#connectiontype) を参照 ``` ### サンプルコード ```java AsReaderSDK.getInstance().initialize(getApplicationContext(), ConnectionType.USB); ``` --- ## changeSDKLogType SDKLog を出力するディレクトリを選択します。 ```java public void changeSDKLogType(SDKLog.LogType logType) ``` ### パラメータ ```{list-table} :align: left :class: list-table * - 引数名 - 型 - 説明 * - logType - SDKLog.LogType - SDKLog を出力するディレクトリ [`LogType`](Enum.md#logtype) を参照 ``` ### サンプルコード ```java AsReaderSDK.getInstance().changeSDKLogType(SDKLog.LogType.LogType_APP); ``` --- ## getDeviceManager DeviceManager インスタンスを返します。 ```java public DeviceManager getDeviceManager() ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - DeviceManager - インスタンス [`DeviceManager`](DeviceManager.md)を参照 ``` ### サンプルコード ```java DeviceManager deviceManager = AsReaderSDK.getInstance().getDeviceManager(); ``` --- ## getASKManager ASKManager インスタンスを返します。 ```java public ASKManager getASKManager() ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - ASKManager - インスタンス [`ASKManager`](ASKManager.md)を参照 ``` ### サンプルコード ```java ASKManager askManager = AsReaderSDK.getInstance().getASKManager(); ``` --- ## setLogLevel ログレベルを設定します。 ```java public void setLogLevel(LogLevel level) ``` ### パラメータ ```{list-table} :align: left :class: list-table * - 引数名 - 型 - 説明 * - level - LogLevel - ログレベル [`LogLevel`](Enum.md#loglevel) を参照 ``` ### サンプルコード ```java AsReaderSDK.getInstance().setLogLevel(SDKLog.LogLevel.Debug); ``` --- ## getLogLevel 現在設定されているログレベルを取得します。 ```java public LogLevel getLogLevel() ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - LogLevel - ログレベル [`LogLevel`](Enum.md#loglevel) を参照 ``` ### サンプルコード ```java SDKLog.LogLevel level = AsReaderSDK.getInstance().getLogLevel(); ``` --- ## setLog ログ出力の有効/無効を設定します。 ```java public void setLog(boolean enable) ``` ### パラメータ ```{list-table} :align: left :class: list-table * - 引数名 - 型 - 説明 * - enable - boolean - 出力する:true 出力しない:false ``` ### サンプルコード ```java AsReaderSDK.getInstance().setLog(true); ``` --- ## removeSDKLog 出力したログをすべて削除します。 ```java public void removeSDKLog() ``` ### サンプルコード ```java AsReaderSDK.getInstance().removeSDKLog(); ``` --- ## getVersion SDK のバージョン番号を返します。 ```java public String getVersion() ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - String - バージョン ``` ### サンプルコード ```java String version = AsReaderSDK.getInstance().getVersion(); ``` --- ## checkBlePermission BLE の利用に必要な権限や接続状態を確認し、現在の状態を返します。 ```java public PermissionState checkBlePermission(Activity activity) ``` ### パラメータ ```{list-table} :align: left :class: list-table * - 引数名 - 型 - 説明 * - activity - Activity - チェックに使用する `Activity` インスタンス ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - PermissionState - 権限状態 [`PermissionState`](Enum.md#permissionstate) を参照 ``` ### サンプルコード ```java PermissionState permissionState = AsReaderSDK.getInstance().checkBlePermission(this); ``` --- ## open BLE デバイスに接続します。 ```java public boolean open(BluetoothDevice bluetoothDevice) ``` ### パラメータ ```{list-table} :align: left :class: list-table * - 引数名 - 型 - 説明 * - bluetoothDevice - BluetoothDevice - BLE デバイス ``` ### 戻り値 ```{list-table} :align: left :class: list-table * - 型 - 説明 * - boolean - 接続成功:true 接続失敗:false ``` ### サンプルコード ```java AsReaderSDK.getInstance().open(bluetoothDevice); ``` --- ## closeBle AsReaderとBLEデバイスとの接続を切断します。 ```java public void closeBle() ``` ### サンプルコード ```java AsReaderSDK.getInstance().closeBle(); ``` --- ## setBLEScanCallback BLE デバイスのスキャン結果を受け取るためのコールバックを設定します。 ```java public void setBLEScanCallback(BLEScanCallback bleScanCallback) ``` ### サンプルコード ```java AsReaderSDK.getInstance().setBLEScanCallback(new BLEScanCallback() { @Override public void onBLEScanError(String errorMsg) { // errorMsg: 詳細のエラーメッセージ } @Override public void onBLEScanResult(BluetoothDevice bluetoothDevice, String name, String rssi) { // bluetoothDevice: Bluetooth デバイス // name: デバイス名 // rssi: RSSI } }); ``` --- ## startBLEScanDevice BLE デバイスの検索を開始します。 ```java public void startBLEScanDevice() ``` ### サンプルコード ```java AsReaderSDK.getInstance().startBLEScanDevice(); ``` --- ## stopBLEScanDevice BLE デバイスの検索を停止します。 ```java public void stopBLEScanDevice() ``` ### サンプルコード ```java AsReaderSDK.getInstance().stopBLEScanDevice(); ```