|
hai 2 semanas | |
---|---|---|
.idea | hai 1 mes | |
TYUsbSDK | hai 2 semanas | |
app | hai 1 mes | |
ble | hai 2 semanas | |
gradle | hai 3 meses | |
.gitignore | hai 1 mes | |
README.md | hai 3 meses | |
build.gradle | hai 3 meses | |
demokey | hai 3 meses | |
gradle.properties | hai 1 mes | |
publish.gradle | hai 1 mes | |
settings.gradle | hai 1 mes |
一.测脉使用
1.引入SDK需要的外部三方库,在build.gradle中添加,将TYUsbSDK-1.0.aar放于libs目录
//索引libs目录寻找sdk库
implementation(fileTree("libs"))
//外部引用
implementation 'com.github.felHR85:UsbSerial:6.1.0'
implementation 'com.opencsv:opencsv:5.6'
implementation 'com.aliyun.dpa:oss-android-sdk:2.9.5'
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
implementation 'com.android.volley:volley:1.2.1'
implementation 'com.jakewharton.rxbinding2:rxbinding:2.0.0'
implementation 'io.reactivex.rxjava2:rxjava:2.1.7'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
implementation 'org.greenrobot:eventbus:3.1.1'
implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.41'
2.以第三方开发者的身份对接太一脉诊系统,需添加初始化appId与appSecret。开发时及时向太一团队进行申请,请勿使用案例id和secret。
//生产环境
private String appId = "nehijR6y";
private String appSecret = "f740435d1b84b9944a52f064dd1ecf6e8a76f546";
//测试环境
private String appId = "L9MYjxvu";
private String appSecret = "bb9e56f8ab0a44fd88eae05d0bed3c5ccd0f80e9";
//初始化代码
TaiyiManager.getInstance().init(appId,appSecret,getApplication());
3.在需要进入测脉页面的actvity上实现ResultListener及TaiyiManager.SkipInterface两个接口
public class MainActivity extends AppCompatActivity implements ResultListener, TaiyiManager.SkipInterface {
//用于接收最终返回的结果字符串
@Override
public void onResult(String pr, String measureId) {
Log.w("MainActivity", "onResult:" + pr);
mTextView.setText(pr);
Log.w("MainActivity", "measureId:" + measureId);
}
//用于直接跳过脉诊进行使用
@Override
public void onSkip() {
Intent intent = new Intent(this, SkipActivity.class);
startActivity(intent);
}
}
4.跳转进入测脉页面
//uid表示第三方开发者系统中的当前登录用户uid,后面三格参数依次表示当前Activity实例、未来需要强制跳转的activity、以及监听结果的activity
TaiyiManager.getInstance().toMeasure(uid,MainActivity.this,MainActivity.this,MainActivity.this)
5.测脉完成后在onResult中接收结果
//用于接收最终返回的结果字符串
@Override
public void onResult(String pr, String measureId, String reportData) {
Log.w("MainActivity", "onResult:" + pr);
mTextView.setText(pr);
Log.w("MainActivity", "measureId:" + measureId);
}
//pr为结果字符串, reportData为报告数据
6.跳过测脉的回调在onSkip中操作
//用于直接跳过脉诊进行使用
@Override
public void onSkip() {
Intent intent = new Intent(this, SkipActivity.class);
startActivity(intent);
}
7.最终结果字符串三种数据,根据下方数据格式进行解析即可
//左手
{
"measureId": "0c0580bdfba94bada7cdcf3a3aa11a9a",
"pulseUrl": "https://hybrid.test.reborn-tech.com/report.html#/?mid=0c0580bdfba94bada7cdcf3a3aa11a9a&access_session=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcHBJZCI6Ikw5TVlqeHZ1IiwiYXBwU2VjcmV0IjoiYmI5ZTU2ZjhhYjBhNDRmZDg4ZWFlMDVkMGJlZDNjNWNjZDBmODBlOSJ9.uCy4k-Dafx01XoWJfMIvznOmd8SdjGfewNrHKwdzHko&appId=L9MYjxvu",
"handStyle": "LEFT",
"createTime": "2023-04-18 09:56:32",
"pulseResult": "细"
}
//右手
{
"measureId": "8fb05027f3bd4282be7eb79bbd9ee148",
"pulseUrl": "https://hybrid.test.reborn-tech.com/report.html#/?mid=8fb05027f3bd4282be7eb79bbd9ee148&access_session=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcHBJZCI6Ikw5TVlqeHZ1IiwiYXBwU2VjcmV0IjoiYmI5ZTU2ZjhhYjBhNDRmZDg4ZWFlMDVkMGJlZDNjNWNjZDBmODBlOSJ9.uCy4k-Dafx01XoWJfMIvznOmd8SdjGfewNrHKwdzHko&appId=L9MYjxvu",
"handStyle": "RIGHT",
"createTime": "2023-04-18 10:03:16",
"pulseResult": "软"
}
//双手
{
"measureId": "d8ab2774d6e74dba88d1b72810c957c4",
"pulseUrl": "https://hybrid.test.reborn-tech.com/report.html#/?mid=d8ab2774d6e74dba88d1b72810c957c4&access_session=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcHBJZCI6Ikw5TVlqeHZ1IiwiYXBwU2VjcmV0IjoiYmI5ZTU2ZjhhYjBhNDRmZDg4ZWFlMDVkMGJlZDNjNWNjZDBmODBlOSJ9.uCy4k-Dafx01XoWJfMIvznOmd8SdjGfewNrHKwdzHko&appId=L9MYjxvu",
"handStyle": "DOUBLE",
"createTime": "2023-04-18 10:13:56",
"pulseResult": "细软"
}
8.demo中的TYMeasureHandsActivity为sdk中开源出来的界面,可以选择直接调用sdk中的界面
TaiyiManager.getInstance().toMeasure(uid, MainActivity.this,MainActivity.this,MainActivity.this);
也可以使用该这个demo中开源出来的界面,针对特定功能进行定制
TaiyiManager.getInstance().toTargetMeasure(uid, TYMeasureHandsActivity.class, MainActivity.this,MainActivity.this,MainActivity.this);
在使用sdk双手界面时,在完成第一次脉诊仪设备授权后,可以用下面的两个方法从最外面直接进入左手或右手测脉界面
//直接打开左手测脉过程界面
TaiyiManager.getInstance().toDirectMeasure(uid,MainActivity.this,MainActivity.this,MainActivity.this, true);
//直接打开右手测脉过程界面
TaiyiManager.getInstance().toDirectMeasure(uid,MainActivity.this,MainActivity.this,MainActivity.this, false);