TozSDK-s2配置文档

Demo下载地址:

一、初始化配置

1. 配置Gradle

  • 在使用TozSDK模块的build.gradle文件中,添加如下配置:
implementation 'com.tozmart:tozmartSDK-s2:1.1.7'
  • 完整配置如下(只供参考),详见demo:
apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.tozmart.tozsdkdemos2"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

    implementation 'com.tozmart:tozmartSDK-s2:1.1.7'
}

2. 配置AndroidManifest

  • 权限申请
    TozSDK使用到了网络权限,需要在AndroidManifest.xml文件中申请:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  • 完整配置如下(只供参考),详见demo:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.tozmart.tozsdkdemos2">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

3. 初始化SDK

  • 新建一个您自己的Activity类(demo中是MainActivity.class),并在该类的onCreate()方法中初始化TozSDK:

注意:在初始化SDK之前要先配置CustomerInfo参数

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    // 配置必需参数
    private CustomerInfo customerInfo = new CustomerInfo();
    customerInfo.setCorId("100"); // 分配的公司帐户id,String型  
    customerInfo.setUserId("10000"); // 用户id,String型  
    customerInfo.setUserName("test"); // 量体用户的名字,String型  
    customerInfo.setUserHeight(180.f); // 量体用户的身高,单位是cm,float型  
    customerInfo.setUserWeight(75.f); // 量体用户的体重,单位是kg,float型  
    customerInfo.setUserGender("1"); // 量体用户的性别,男性是“1”,女性是“0”,String型  
    // 初始化SDK
    TozSDK.init(this, customerInfo);
    ...
}

二、使用SDK提供的组件和接口

1. 使用TozCameraView组件(该组件中集成了量体接口)

  • 先将TozCameraView添加到你的layout布局文件中:
<com.tozmart.toz_sdk.widge.TozCameraView
    android:id="@+id/camera"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:tozLineColor="@android:color/white" />
属性 说明
tozLineColor color 更改cameraView边界线的颜色
  • 确保在activity文件中的onResume、onPause和onDestroy中添加了如下代码
@Override
protected void onResume() {
    super.onResume();
    // 打开相机
    cameraView.start();
}

@Override
protected void onPause() {
    super.onPause();
    // 关闭相机
    cameraView.stop();
}

@Override
protected void onDestroy() {
    super.onDestroy();
    // 回收内存
    cameraView.destroyView();
}
  • 拍摄照片并量体
    只需调用TozCameraView.process()即可完成拍照和量体功能,监听OnProcessListener并在回调中处理结果:
// 添加拍照和量体监听
cameraView.setOnProcessListener(new OnProcessListener() {
    @Override
    public void onPhotoTaken(Bitmap bitmap, boolean isFront) {
        // bitmap是所拍摄的照片;isFront为true表示返回的是正面照,为false表示返回的是侧面照
    }
    @Override
    public void onProcessSuccess(ImageProcessResponseBean responseBean) {
        if (responseBean.getErrNum() > 0) {
            // 拍摄的照片不符合要求,需重拍
        } else {
            // 量体成功
        }
    }
    @Override
    public void onProcessFailed(String msg, int code) {
        // 量体失败
    }
});

返回的ImageProcessResponseBean结构如下:

参数名 类型 说明
ErrNum int 错误信息的个数
ErrInfo List< ImageProcessErrorWarnInfo> 错误信息
  • 其他可自定义功能

    1. 设置指示线的颜色:
      cameraView.setLineColor(R.color.white);

    2. 设置上下指示线的位置:
      cameraView.setLinePositionRatio(0.15f, 0.95f);

    3. 隐藏或显示指示线:
      cameraView.showLineView();
      cameraView.hideLineView();

    4. 切换指示背景显示:
      cameraView.switchTipMask(true, true);
      所需的两个参数如下:

参数 参数类型 说明
showFront boolean true表示拍摄正面的背景,为false表示侧面
showBody boolean true表示显示人体模型,为false表示显示鞋子

2. 使用TozSensorTipView

  • 先将TozSensorTipView添加你的layout布局文件中:
<com.tozmart.toz_sdk.widge.TozSensorTipView
    android:id="@+id/sensorView"
    android:layout_width="150dp"
    android:layout_height="150dp"
    android:layout_centerInParent="true"
    app:tozSensorBallColor="@android:color/holo_green_light"
    app:tozSensorBallErrorColor="@android:color/holo_red_light"
    app:tozSensorCircleLineWidth="10"
    app:tozSensorInCircleColor="@android:color/holo_green_light"
    app:tozSensorInCircleErrorColor="@android:color/holo_red_light"
    app:tozSensorOutCircleColor="@android:color/white"/>

注:使用该View时只可将layout_width和layout_height设置成固定的值,如150dp(不可设置成match_parent或者wrap_content),并且两个值要相等,否则无法正确显示。

属性 说明
tozSensorBallColor color 更改当传感器指示正确时中间圆球的颜色
tozSensorBallErrorColor color 更改当传感器指示错误时中间圆球的颜色
tozSensorCircleLineWidth int 更改圆环的粗细
tozSensorInCircleColor color 更改当传感器指示正确时内圆环的颜色
tozSensorInCircleErrorColor color 更改当传感器指示错误时内圆环的颜色
tozSensorOutCircleColor color 更改外圆环的颜色
  • 确保在activity文件中的onResume和onPause中添加了如下代码
@Override
protected void onResume() {
    super.onResume();
    // 注册传感器监听
    sensorView.registerSensor();
}

@Override
protected void onPause() {
    super.onPause();
    // 取消传感器监听
    sensorView.unregisterSensor();
}
  • 使用TozSensorTipView反馈手机姿势是否正确
// 监听传感器,判断手机的姿势是否符合拍照要求
sensorView.setOnSensorListener(new OnSensorListener() {
    @Override
    public void onSensorOk() {
        // 手机姿势正确,可以进行拍照
    }

    @Override
    public void onSensorError() {
        // 手机姿势错误,提示用户进行调整
    }
});

3. 直接调用量体接口

  • 如果想通过直接提供照片(从相册里选择照片)就获取量体结果,可以调用该接口
ImageProcess.process(frontImage, sideImage, 
new LoadDataCallBack() {
        @Override
        public void onResponseSuccess(ImageProcessResponseBean response) {
            if (response.getErrNum() > 0) {
                // 拍摄的照片不符合要求,需重拍
            } else {
                // 量体成功
            }
        }
        @Override
        public void onResponseFailed(String msg, int code) {
            // 量体失败
        }
        @Override
        public void onNullResponse() {
            // 暂时忽略
        }
    }, true);

该接口共需4个参数:

参数 参数类型 作用
frontImage Bitmap 后台处理所需的正面照片
sideImage Bitmap 后台处理所需的侧面照片
callback LoadDataCallBack 接口回调
isShowDialog boolean 是否显示加载对话框
阅读更多
想对作者说点什么? 我来说一句

WAS集群配置文档WAS集群配置文档

2009年03月12日 560KB 下载

log4j配置文档log4j配置文档

2010年06月30日 3KB 下载

juniper 配置文档

2016年12月07日 52.04MB 下载

神州数码交换机配置手册

2018年04月09日 29.7MB 下载

华为3com配置文档

2008年12月05日 2.31MB 下载

HSCE3com配置文档.

2008年12月05日 1.77MB 下载

NVIDIA 显卡虚拟化配置文档

2018年03月26日 6.64MB 下载

lvs配置文档

2012年02月13日 2.08MB 下载

BES配置文档

2011年10月29日 86KB 下载

没有更多推荐了,返回首页

不良信息举报

TozSDK-s2配置文档

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭