1. 自分のソースコードプロジェクトにScanToolLib.jarとlibnlstools_jni.soをインポートします。
2. ScanToolクラスのオブジェクトを作成し、SetOnImageListenerインターフェースを実装し、OnPreViewCallBackメソッドを実装します。OnPreViewCallBackメソッドは、デコードされた画像に関する情報を返します。
ソースコード例:
ScanTool scanTool = new ScanTool(this); // オブジェクトの作成
scanTool.SetOnImageListener(this); // コールバックインターフェースの実装
scanTool.Connect(DE3_WIDTH, DE3_HEIGHT, 1); // 初期化
@Override
public void OnPreViewCallBack(byte[] data, int width, int height, int decodeState,
CodeCoordinate coordinate, int centerX, int centerY,
int codeType, byte[] code) {
String codeStr = "";
if (code != null && code.length > 128) // 最初の128バイトはヘッダーで、削除する必要があります
codeStr = new String(code, 128, code.length - 128, StandardCharsets.UTF_8); // 必ずこの形式で変換してください
}
パラメータ説明:
- data:画像データ
- width:幅
- height:高さ
- decodeState:デコード状態(1は成功時、その他は成功しない時)
- coordinate:バーコードの座標
- centerX:クロスレーザーのX座標(画像内の座標)
- centerY:クロスレーザーのY座標
- codeType:バーコードタイプ
- code:バーコード内容
3. 戻り値の画像データに基づいて、関連する処理を行います。具体的には、デモプログラム「ScanImageSave.apk」とそのサンプルコードをご参照してください。
関連ファイルを下記リンクからダウンロードしてください。
https://ccloud.ndevor.biz/s/HE6YN3BQPwECdNZ
リンクの内訳:
API説明ドキュメント:
Newland APIでPDAのスキャン画像を保存する方法.doc
デモプログラムとソースコード:
ScanImageSave-2.0.apk
ScanImageSave
APIファイル:
arm64-v8a/libnlstools_jni.so
armeabi-v7a/libnlstools_jni.so
ScanToolLib.jar