# 開発環境の構築 ## SDKの追加 1. Android Studio のプロジェクトで、 「app」→「libs」→右クリック→**「Open in Finder」** を選択します。 ![](media/image3.png){width="3.25in" height="4.3in"} 2. 表示された Finder ウィンドウで「libs」フォルダを開き、 このフォルダに **`asr-a3xd-sdk.aar`** を貼り付けます。 貼り付け後、「libs」配下に `asr-a3xd-sdk.aar` が表示されます。 ![](media/image4.png){width="5.6in" height="3in"} 3. 「build.gradle(Module: app)」をダブルクリックして開きます。 ![](media/image6.png){width="2.75in" height="4.6in"} 4. 依存関係にライブラリを追加します。 その後、画面上部に表示される **「Sync Now」** をクリックし、同期を行います。 ![](media/image7.png){width="6in" height="3.8in"} 5. 同期に成功すると、以下のような表示になります。 これで **SDKの追加が完了** です。 ![](media/image8.png){width="6in" height="1.5in"} --- ## SDKの使用 ### ライブラリのインポート `import` 文を使用して、対象クラスにライブラリを読み込みます。 ```java import jp.co.asterisk.asreader.a3xd.sdk.AsReaderSDK; ``` ### `AsReaderSDK` の初期化 ```java AsReaderSDK asReaderSDK = AsReaderSDK.getInstance(); ``` --- ### インタフェース `DeviceManagerCallback` の実装 1. インタフェース `DeviceManagerCallback` を実装します。 ```java // MainActivity で DeviceManagerCallback を実装する例 public class MainActivity extends AppCompatActivity implements DeviceManagerCallback { ``` 2. コールバックリスナーを設定します。 ```java AsReaderSDK.getInstance().getDeviceManager().setCallback(this); ``` 3. 赤線(エラー表示)部分にカーソルを合わせ、 表示された **「Implement methods」** をクリックします。 ![](media/image13.png){width="5.2in" height="1.6in"} 4. 追加したいメソッドを選択し、**OK** をクリックします。 ![](media/image14.png){width="5.6in" height="4in"} 5. `DeviceManagerCallback` のメソッドが自動で生成されます。 ![](media/image15.png){width="5.8in" height="3.5in"} --- ## SDKの初期化 SDKを初期化します。 ```java AsReaderSDK.getInstance().initialize( context: this); ``` --- ### パワーオン AsReader の電源をオンにします。 ```java AsReaderSK.getInstance() .getDeviceManager() .setPowerWithOption( power: true, beep: true, vib: true, led: true, aimer: true, PowerOnBeep: true ); ``` --- ### パワーオフ AsReader の電源をオフにします。 ```java AsReaderSK.getInstance() .getDeviceManager() .setPowerWithOption( power: false, beep: true, vib: true, led: true, aimer: true, PowerOnBeep: true ); ``` --- ### インベントリ開始 AsReader に接続し、RFタグデータのインベントリ(読み取り)を開始します。 インタフェース [`onTagReceived`](./api/RFManagerCallback.md#ontagreceived)でインベントリ結果を受け取ります。 ```java AsReaderSK.getInstance() .getRFIDManager() .startInventory( maxTags: 0, maxTime: 0, repeatCycle: 0 ); @Override public void onTagReceived(int[] dest) { } ``` --- ### インベントリ停止 RFタグのインベントリを停止します。 ```java AsReaderSK.getInstance().getRFIDManager().stopDecode(); ```