Android SDK 版本
目前SDK只支持Android 5.1版本的系统。
JoyTime SDK压缩包内容简介
- libs
需要导入到libs的jar包。 - jniLibs
需要导入的so库。 - jni
需要放到main下的c文件。 - demo
演示一个用来展示JoyTime SDK接口基本用法的demo应用。
集成步骤
- 复制 libs/joytime_devices_XX.jar 到工程 libs/ 目录下。
- 复制 libs/sdtapi.jar 到工程 libs/ 目录下。
- 复制 jniLibs 文件夹到 app/src/main 目录下。
- 复制jni 文件夹到 app/src/main 目录下。
- 在app的 build.gradle 中加入如下几行
android {
....
sourceSets {
main { jni.srcDirs = [] }
}
....
}
dependencies {
....
//logger
implementation 'com.orhanobut:logger:2.2.0'
//RxJava
implementation 'com.squareup.retrofit2:adapter-rxjava:2.4.0'
implementation 'io.reactivex:rxandroid:1.2.1'
....
}
-
在 AndroidManifest.xml 加入写权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
-
在Application 中初始化Logger
Logger.addLogAdapter(new AndroidLogAdapter());
初始化与使用
- 初始化闸机
/**
* @param path 物理串口地址 例:/dev/ttyS1
* @param baudrate 波特率 9600
* @param instructState 通道指示灯状态:-1当前,0双向禁行,1双向通行,2正禁反通,3反禁正通
* @param gateModel 运行模式:-1当前,0双向通行,1正通反禁,2正通反自由,3反通正自由,4双向自由
* @param direction 方向:翼闸设为0
* @param listener 设备连接状态回调
* @param onGateReplyListener 闸机应答解析回调
*/
ThreeRollerGateDevice.getmInstance().connectThreeRollerGate(final String path, final int baudrate, final int instructState, final int gateModel, final int direction, @NonNull final OnConnectDeviceStateListener listener, final OnGateReplyListener onGateReplyListener);
- 初始化二维读头
/**
* @param path 物理串口地址 例:/dev/ttyS1
* @param baudrate 波特率 9600
* @param intervalTime 防重刷时间 单位毫秒
* @param listener 设备连接状态回调
* @param onReadQRcodeListener 二维读头解析回调
*/
QRcodeDevice.getInstance().connectQRCodeDevice(final String path, final int baudrate, final int intervalTime, @NonNull final OnConnectDeviceStateListener listener, final OnReadQRcodeListener onReadQRcodeListener)
- 初始化二合一读卡器
/**
* @param path 物理串口地址 例:/dev/ttyS1
* @param baudrate 波特率 115200
* @param intervalTime 防重刷时间 单位毫秒
* @param idCardReadModel 读卡模式 默认1
* @param listener 设备连接状态回调
* @param onReadListener 二合一读卡器解析回调
*/
OrdinaryCardReaderDevice.getmInstance().connectOrdinaryCardReaderDevice(final String path, final int baudrate, int intervalTime, final int idCardReadModel, @NonNull final OnConnectDeviceStateListener listener, final IDCardReadRunner.OnReadListener onReadListener)
- 初始化华旭读卡器
/**
* @param intervalTime 防重刷时间 单位毫秒
* @param listener 设备连接状态回调
* @param onReadCardResultListener 华旭读卡器解析回调
*/
UsbIDCardDevice.getmInstance(this).connectUsbIDCardDevice(final int intervalTime, final OnConnectDeviceStateListener listener, final OnReadCardResultListener onReadCardResultListener)
- 开闸
/**
* @param person 开闸人数
*/
ThreeRollerGateDevice.getmInstance().openGate(int person);