本发明属于属于物联网技术领域,尤其涉及一种跑步机与Android设备结合使用的方法。
背景技术:
随着人们健康意识的提升,人们对健康的关注和投入越来越大,跑步机具有所需的场地小、健身便捷等特点,已经越来越多地进入了家庭,利用跑步机进行健身锻炼日益成为大众健身方式的重要选择。并且手机设备越来越普遍,人们在使用健身器材的时候更愿意通过手势设备,比如手机来进行查看运动数据。以往的连接方式是主动连接器材设备,然后仅仅通过数字变化来体现,不够直观,无法直观的显示运动数据。
技术实现要素:
为解决上述技术问题,本发明提供一种跑步机与Android设备结合使用的方法。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
本发明采用如下技术方案:
在一些可选的实施例中,提供一种跑步机与Android设备结合使用的方法,包括:
Android工程和Unity3D工程进行结合;
Android设备通过自身的蓝牙模块和跑步机进行蓝牙连接;
所述Android设备获取运动数据并对所述运动数据进行组装,将运动数据显示到3D界面之上。
在一些可选的实施例中,所述Android工程和Unity3D工程进行结合的过程包括:
将Unity3D工程导出为Android工程;
建立新Android工程,将Unity3D工程导出的Android工程中的相关文件拷贝到所述新Android工程中;
新建Activity类并继承UnityPlayerActivity类;
在新建的Activity界面布局中设置一个ViewGroup,在代码中将mUnityPlayer对象作为一个View视图添加到ViewGroup中。
在一些可选的实施例中,所述UnityPlayerActivity类为导出Android工程时自动生成的类。
在一些可选的实施例中,所述相关文件包括:asset文件、jar包、so文件及java文件。
在一些可选的实施例中,所述Android设备通过自身的蓝牙模块和跑步机进行蓝牙连接的过程包括:
启动所述Android设备和所述跑步机;
所述Android设备展示3D的同时搜索所述跑步机上的蓝牙设备;
所述Android设备向搜索到的所述跑步机发送请求连接消息;
所述Android设备与所述跑步机蓝牙连接。
在一些可选的实施例中,所述Android设备获取运动数据并对所述运动数据进行组装,将运动数据显示到3D界面之上的过程包括:
所述Android设备的Android代码中通过onRnningDataChanged()回调函数接收运动数据并进行组装;
Unity3D通过AndroidJavaObject类调用Android,进而获取数据,在3D中解析并驱动3D场景变化。
在一些可选的实施例中,所述运动数据包括:速度、时间和距离。
本发明所带来的有益效果:跑步机与Android设备通过蓝牙自动连接,直接通过手机设备查看运动数据,并且将运动数据通过3D形式展现,更加直观,增加用户体验。
为了上述以及相关的目的,一个或多个实施例包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明某些示例性方面,并且其指示的仅仅是各个实施例的原则可以利用的各种方式中的一些方式。其它的益处和新颖性特征将随着下面的详细说明结合附图考虑而变得明显,所公开的实施例是要包括所有这些方面以及它们的等同。
附图说明
图1是本发明一种跑步机与Android设备结合使用的方法的流程示意图。
具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。其他实施方案可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。
如图1所示,在一些说明性的实施例中,提供一种跑步机与Android设备结合使用的方法,包括:
101:Android工程和Unity3D工程进行结合;
102:Android设备通过自身的蓝牙模块和跑步机进行蓝牙连接;
103:所述Android设备获取运动数据并对所述运动数据进行组装,将运动数据显示到3D界面之上。
在一些说明性的实施例中,所述Android工程和Unity3D工程进行结合的过程包括:
将Unity3D工程导出为Android工程;
建立新Android工程,将Unity3D工程导出的Android工程中的相关文件拷贝到所述新Android工程中,相关文件包括:asset文件、jar包、so文件及java文件;
新建Activity类并继承UnityPlayerActivity类,UnityPlayerActivity类为导出Android工程时自动生成的类;
在新建的Activity界面布局中设置一个ViewGroup,在代码中将mUnityPlayer对象作为一个View视图添加到ViewGroup中。
在一些说明性的实施例中,所述Android设备通过自身的蓝牙模块和跑步机进行蓝牙连接的过程包括:
启动所述Android设备和所述跑步机;
所述Android设备展示3D的同时搜索所述跑步机上的蓝牙设备;
所述Android设备向搜索到的所述跑步机发送请求连接消息;
所述Android设备与所述跑步机蓝牙连接。
在一些说明性的实施例中,所述Android设备获取运动数据并对所述运动数据进行组装,将运动数据显示到3D界面之上的过程包括:
所述Android设备的Android代码中通过onRnningDataChanged()回调函数接收运动数据并进行组装,;
Unity3D通过AndroidJavaObject类调用Android,进而获取数据,在3D中解析并驱动3D场景变化。
Unity3D中通过AndroidJavaObject类调用Android中定义的方法,获取返回值,并进行解析,调用方法如下:
AndroidJavaClass jc = new AndroidJavaClass ("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject> ("currentActivity"); string name = jo.Call <string>("getName", "成功调用android方法");
通过上面的代码可以获取到name值,然后在Unity3D里面对label设置之后,就能显示到3D界面上了。
label.text = name;
蓝牙配对链接成功之后,Android中将获取到的速度、时间、距离组装起来,等待Unity进行调用,进而可以显示到3D界面之上。
在一些说明性的实施例中,所述运动数据包括:速度、时间和距离。
通过本发明的方式,直接打开Android设备上的APP即可去自动连接器材设备,然后通过动态的3D场景展示。Android4.0之前的设备上蓝牙功耗较大,从4.0之后,变成了低功耗蓝牙,至此,通过android设备进行蓝牙连接不必过于担心电量消耗。
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。