# EmokitWear
Android可穿戴设备 手表根据手表获取的心率测试当前的情绪,目前支持AndroidWear,TicWear系统的手表
#####介绍
当前Android腕表都可以测试心率,这个库就是根据腕表获取的心率来计算当前的心情,主要用到了http://ticwear.com/和http://www.emokit.com/开发包,
详情大家可以进入官网查看
#####EmokitWear结构分析
1.最主要的也就是类库是 library
里面主要封装了手表端采集心率,传递到手机端,手机端连接网络检测当前心情的过程和一些必要的监听<br>
2.手机端腕表端公用的数据 emodata
里面主要是手机端和腕表端公用的数据和类方法
3.手机端程序demo mobile
手机端程序demo
4.玩表单程序demo wear
腕表端程序demo
#####EmokitWearSDK技术文档
1.导入SDK
创建一个AndoridWear工程,将<br>
emokitsdk4.3.jar(手机端引入)<br>
emokitwear.jar(手机端、腕表端都需要引入)<br>
mobvoi-api.jar(手机端、腕表端都需要引入)<br>
三个包引入到工程。<br>
http://www.emokit.com/ <br>
下载emokitsdk4.3.jar<br>
http://developer.ticwear.com/
下载mobvoi-api.jar
2.添加权限<br>
1)手机端添加权限<br>
```xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
```
2)腕表端添加权限<br>
```xml
<uses-permission android:name="android.permission.BODY_SENSORS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DEVICE_POWER" />
```
3.添加AID和KEY
初始化时候手机端需要配置从EmoKit 开发者中心(http://dev.emokit.com/)申请的AID和KEY。
AndroidManifest.xml中配置如下:
```xml
<meta‐data
android:name="EMOKIT_AID"
android:value="XXXXXX"/>
<meta‐data
android:name="EMOKIT_KEY"
android:value="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"/>
```
4.初始化SDK
一定要在Application的onCreate中调用。
1)手机端初始化代码
```java
MobileApiConfiguration configuration = new MobileApiConfiguration.Builder()
.setPlatflag("EmokitWearSDK")//platflag 应用名
.setUserName("userName")//userName 用户名或设备 ID
.setPassword("10000")//password 用户登录密码(默认10000)
.setRcType(rcType)//情绪结果种类,分为24种,7种,5种(见附录5)
.create();
EmokitApiManager.getInstance().mobileApiConfig(mContext,configuration);
```
2)腕表端初始化代码
```java
WearApiConfiguration configuration = new WearApiConfiguration.Builder()
// 设置获取心率的超时时间,如果超过这个时间还没有接收到一个有用的心率值会自动停止获取心率
//获取心率期间最小时间10秒,输入参数小于10秒无效
.setHeartRateDuration(30*1000)
// 设置获取心率的时间,在这个规定时间内获取心率在成功获取第一个心率值开始倒计时
//获取心率超时时间最小20秒,输入参数小于20秒无效
.setHeartRateTimeOut(45 * 1000)
.create();
EmokitApiManager.getInstance().wearApiConfig(getApplication(), configuration);
```
5.设置数据传输Service
1)手机端
手机端为了和腕表进行数据传递需要实现MobileDataTransferService并且在AndroidManifest.xml中注册
```java
public class MobileEmokitService extends MobileDataTransferService{
private MobvoiApiClient mMobvoiApiClient;
@Override
protected void superMobvoiApiClient(MobvoiApiClient superMobvoiApiClient) {
//这个方法将父类的对象传递到子类中,子类可以根据这个对象进行数据的传递或者接收
mMobvoiApiClient = superMobvoiApiClient;
}
@Override
public void onPeerConnected(Node arg0) {
super.onPeerConnected(arg0);
}
@Override
public void onPeerDisconnected(Node arg0) {
super.onPeerDisconnected(arg0);
}
@Override
public void onMessageReceived(MessageEvent messageEvent) {
//必须调用
super.onMessageReceived(messageEvent);
}
@Override
public void onDataChanged(DataEventBuffer eventBuffer) {
//必须调用
super.onDataChanged(eventBuffer);
}
}
```
2)腕表端
腕表端为了和手机进行数据传递需要实现WearDataTransferService并且在AndroidManifest.xml中注册
```java
public class WearEmokitService extends WearDataTransferService {
private MobvoiApiClient mMobvoiApiClient;
@Override
protected void superMobvoiApiClient(MobvoiApiClient superMobvoiApiClient) {
//这个方法将父类的对象传递到子类中,子类可以根据这个对象进行数据的传递或者接收
mMobvoiApiClient = superMobvoiApiClient;
}
@Override
public void onPeerConnected(Node arg0) {
super.onPeerConnected(arg0);
}
@Override
public void onPeerDisconnected(Node arg0) {
super.onPeerDisconnected(arg0);
}
@Override
public void onMessageReceived(MessageEvent messageEvent) {
//必须调用
super.onMessageReceived(messageEvent);
}
@Override
public void onDataChanged(DataEventBuffer eventBuffer) {
//必须调用
super.onDataChanged(eventBuffer);
}
}
```
3)AndroidManifest.xml中注册Service
手机端
```xml
<service
android:name=".emo.MobileEmokitService"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="com.mobvoi.android.wearable.BIND_LISTENER" />
</intent-filter>
</service>
```
腕表端
```xml
<service
android:name=".emo.WearEmokitService"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="com.mobvoi.android.wearable.BIND_LISTENER" />
</intent-filter>
</service>
```
6.注册广播监听
手机端和腕表端注册以下广播,主要是监听和回调方法,例如:开始测试回调,停止测试回调,返回情绪回调等。
1)手机端
Action为
动态注册:
```java
MobileWearableReceive.ACTION_MOBILE_EMO
```
静态注册:
```xml
<action android:name="com.emokit.wear.action.MOBILE_EMO_LISTENER"/>
```
```java
private MobileWearableReceive mMobileWearableReceive = new MobileWearableReceive() {
@Override
public void onStartHeartRateListener() {
//开始测试心率
Toast.makeText(mContext, "StartHeartRate", Toast.LENGTH_SHORT).show();
}
@Override
public void onCancelHeartRateListener() {
//取消测试心率
Toast.makeText(mContext, "CancelHeartRate", Toast.LENGTH_SHORT).show();
}
@Override
public void onArrayHeartRateListener(float[] heartRates) {
//获取心率完成,收到心率数组
Toast.makeText(mContext, "ArrayHeartRate", Toast.LENGTH_SHORT).show();
}
@Override
public void onEmotionListener(String emoJson) {
//获取情绪结果
Toast.makeText(mContext, "Emotion : " + emoJson, Toast.LENGTH_SHORT).show();
}
@Override
public void onErrorListener(String errCode) {
//出错监听
Toast.makeText(mContext, "errCode : " + errCode, Toast.LENGTH_SHORT).show();
}
};
```
2)腕表端
Action为
动态注册:
```java
WearWearableReceive.ACTION_WEAR_EMO
```
静态注册:
```xml
<action android:name="com.emokit.wear.action.WEAR_EMO_LISTENER"/>
```
```java
private WearWearableReceive mWearWearableReceive = new WearWearableReceive() {
@Override
public void onStartHeartRateListener() {
//开始测试心率
Toast.makeText(mContext, "StartHeartRate", Toast.LENGTH_SHORT).show();
}
@Override
public void onCancelHeartRateListener() {
//取消测试心率
Toast.makeText(mContext, "CancelHeartRate", Toast.LENGTH_SHORT).show();
}
@Overr
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Android 项目是使用 Android 操作系统和相关开发工具开发的一款移动应用程序。Android 平台提供了丰富的功能和接口,开发人员可以使用 Java 或 Kotlin 等编程语言编写 Android 应用程序。Android 项目也可以是针对特定设备或特定需求进行自定义开发的软件解决方案。 以下是 Android 项目的一些主要特点和资料介绍: 1. 开放源代码:Android 是基于 Linux 内核的开源操作系统,开发人员可以自由获取、使用和修改源代码。 2. 多样化的硬件设备支持:Android 支持多种硬件设备和屏幕尺寸,可以运行于手机、平板电脑、电视、手表等多种设备上。 3. 灵活的用户界面:Android 提供了丰富的用户界面控件和布局方式,可以实现漂亮、个性化的用户界面。 4. 响应式设计:Android 应用程序可以根据设备类型、屏幕尺寸等因素调整布局和显示方式,以适应不同的设备和用户需求。 5. 多媒体支持:Android 支持常见的音频、视频、图像等多媒体格式,可以实现各种多媒体应用。 6. 数据存储:Android 提供了多种数据存储方式,包括 SQLite 数据库、文件存储、SharedPreferences 等。 7. 网络通信:Android 支持多种网络通信方式,包括 HTTP、TCP、UDP 等。 8. 社交媒体集成:Android 提供了集成社交媒体的功能,可以实现与 Facebook、Twitter、Google+ 等社交媒体的交互。 # 注意 1. 本资源仅用于开源学习和技术交流。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。 3. 不可商用,一切后果由使用者承担。
资源推荐
资源详情
资源评论
收起资源包目录
Android可穿戴设备 手表根据手表获取的心率测试当前的情绪,目前支持AndroidWear,TicWear系统的手表.zip (105个子文件)
mobile-release.apk 2.86MB
wear-release.apk 2.21MB
gradlew.bat 2KB
.gitignore 91B
.gitignore 7B
.gitignore 7B
.gitignore 7B
.gitignore 7B
build.gradle 957B
build.gradle 687B
build.gradle 662B
build.gradle 633B
build.gradle 555B
settings.gradle 51B
gradlew 5KB
wear.iml 9KB
emodata.iml 8KB
mobile.iml 8KB
library.iml 6KB
app.iml 6KB
EmokitWear.iml 941B
emokitsdk4.3.jar 273KB
emokitsdk4.3.jar 273KB
mobvoi-api.jar 269KB
mobvoi-api.jar 269KB
fastjson-1.1.34.android.jar 255KB
emokitwear.jar 52KB
emokitwear.jar 52KB
gradle-wrapper.jar 49KB
WearDataTransferService.java 12KB
MobileDataTransferService.java 12KB
HeartRateDataService.java 7KB
EmotionsUtils.java 5KB
MainActivity.java 4KB
MainActivity.java 4KB
WearSendMobileMessage.java 4KB
MobileSendWearMessage.java 4KB
PublicConstant.java 3KB
WearWearableReceive.java 3KB
MobileWearableReceive.java 2KB
NodeApiAsyncTask.java 2KB
EmokitApiManager.java 2KB
WearApiConfiguration.java 2KB
MobileApiConfiguration.java 2KB
EmoResult.java 2KB
MobileEmokitService.java 1KB
BaseWearableListenerService.java 1KB
WearEmokitService.java 1KB
IWearDataTransferListener.java 877B
MobileApplication.java 789B
WearApplication.java 723B
IHeartRateDataListener.java 721B
IHeartRateEmoResultListener.java 640B
keystore.jks 1KB
README.md 12KB
.name 10B
m.png 39KB
y.png 30KB
w.png 28KB
c.png 28KB
t.png 26KB
d.png 25KB
k.png 22KB
ic_launcher.png 10KB
ic_launcher.png 8KB
ic_launcher.png 8KB
ic_launcher.png 5KB
ic_launcher.png 5KB
ic_launcher.png 3KB
ic_launcher.png 3KB
ic_launcher.png 2KB
ic_launcher.png 2KB
proguard-rules.pro 711B
proguard-rules.pro 711B
proguard-rules.pro 711B
proguard-rules.pro 670B
gradle.properties 855B
gradle-wrapper.properties 230B
redme.rtf 486B
misc.xml 4KB
arrays.xml 2KB
activity_main.xml 2KB
activity_main.xml 2KB
AndroidManifest.xml 2KB
AndroidManifest.xml 1KB
gradle.xml 1KB
modules.xml 696B
compiler.xml 686B
runConfigurations.xml 564B
dimens.xml 358B
AndroidManifest.xml 342B
AndroidManifest.xml 271B
dimens.xml 211B
colors.xml 208B
styles.xml 189B
styles.xml 189B
strings.xml 187B
vcs.xml 167B
encodings.xml 159B
dimens.xml 97B
共 105 条
- 1
- 2
资源评论
阿齐Archie
- 粉丝: 1w+
- 资源: 2301
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功