本發(fā)明屬于屬于物聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種跑步機(jī)與Android設(shè)備結(jié)合使用的方法。
背景技術(shù):
隨著人們健康意識(shí)的提升,人們對(duì)健康的關(guān)注和投入越來(lái)越大,跑步機(jī)具有所需的場(chǎng)地小、健身便捷等特點(diǎn),已經(jīng)越來(lái)越多地進(jìn)入了家庭,利用跑步機(jī)進(jìn)行健身鍛煉日益成為大眾健身方式的重要選擇。并且手機(jī)設(shè)備越來(lái)越普遍,人們?cè)谑褂媒∩砥鞑牡臅r(shí)候更愿意通過(guò)手勢(shì)設(shè)備,比如手機(jī)來(lái)進(jìn)行查看運(yùn)動(dòng)數(shù)據(jù)。以往的連接方式是主動(dòng)連接器材設(shè)備,然后僅僅通過(guò)數(shù)字變化來(lái)體現(xiàn),不夠直觀,無(wú)法直觀的顯示運(yùn)動(dòng)數(shù)據(jù)。
技術(shù)實(shí)現(xiàn)要素:
為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種跑步機(jī)與Android設(shè)備結(jié)合使用的方法。為了對(duì)披露的實(shí)施例的一些方面有一個(gè)基本的理解,下面給出了簡(jiǎn)單的概括。該概括部分不是泛泛評(píng)述,也不是要確定關(guān)鍵/重要組成元素或描繪這些實(shí)施例的保護(hù)范圍。其唯一目的是用簡(jiǎn)單的形式呈現(xiàn)一些概念,以此作為后面的詳細(xì)說(shuō)明的序言。
本發(fā)明采用如下技術(shù)方案:
在一些可選的實(shí)施例中,提供一種跑步機(jī)與Android設(shè)備結(jié)合使用的方法,包括:
Android工程和Unity3D工程進(jìn)行結(jié)合;
Android設(shè)備通過(guò)自身的藍(lán)牙模塊和跑步機(jī)進(jìn)行藍(lán)牙連接;
所述Android設(shè)備獲取運(yùn)動(dòng)數(shù)據(jù)并對(duì)所述運(yùn)動(dòng)數(shù)據(jù)進(jìn)行組裝,將運(yùn)動(dòng)數(shù)據(jù)顯示到3D界面之上。
在一些可選的實(shí)施例中,所述Android工程和Unity3D工程進(jìn)行結(jié)合的過(guò)程包括:
將Unity3D工程導(dǎo)出為Android工程;
建立新Android工程,將Unity3D工程導(dǎo)出的Android工程中的相關(guān)文件拷貝到所述新Android工程中;
新建Activity類并繼承UnityPlayerActivity類;
在新建的Activity界面布局中設(shè)置一個(gè)ViewGroup,在代碼中將mUnityPlayer對(duì)象作為一個(gè)View視圖添加到ViewGroup中。
在一些可選的實(shí)施例中,所述UnityPlayerActivity類為導(dǎo)出Android工程時(shí)自動(dòng)生成的類。
在一些可選的實(shí)施例中,所述相關(guān)文件包括:asset文件、jar包、so文件及java文件。
在一些可選的實(shí)施例中,所述Android設(shè)備通過(guò)自身的藍(lán)牙模塊和跑步機(jī)進(jìn)行藍(lán)牙連接的過(guò)程包括:
啟動(dòng)所述Android設(shè)備和所述跑步機(jī);
所述Android設(shè)備展示3D的同時(shí)搜索所述跑步機(jī)上的藍(lán)牙設(shè)備;
所述Android設(shè)備向搜索到的所述跑步機(jī)發(fā)送請(qǐng)求連接消息;
所述Android設(shè)備與所述跑步機(jī)藍(lán)牙連接。
在一些可選的實(shí)施例中,所述Android設(shè)備獲取運(yùn)動(dòng)數(shù)據(jù)并對(duì)所述運(yùn)動(dòng)數(shù)據(jù)進(jìn)行組裝,將運(yùn)動(dòng)數(shù)據(jù)顯示到3D界面之上的過(guò)程包括:
所述Android設(shè)備的Android代碼中通過(guò)onRnningDataChanged()回調(diào)函數(shù)接收運(yùn)動(dòng)數(shù)據(jù)并進(jìn)行組裝;
Unity3D通過(guò)AndroidJavaObject類調(diào)用Android,進(jìn)而獲取數(shù)據(jù),在3D中解析并驅(qū)動(dòng)3D場(chǎng)景變化。
在一些可選的實(shí)施例中,所述運(yùn)動(dòng)數(shù)據(jù)包括:速度、時(shí)間和距離。
本發(fā)明所帶來(lái)的有益效果:跑步機(jī)與Android設(shè)備通過(guò)藍(lán)牙自動(dòng)連接,直接通過(guò)手機(jī)設(shè)備查看運(yùn)動(dòng)數(shù)據(jù),并且將運(yùn)動(dòng)數(shù)據(jù)通過(guò)3D形式展現(xiàn),更加直觀,增加用戶體驗(yàn)。
為了上述以及相關(guān)的目的,一個(gè)或多個(gè)實(shí)施例包括后面將詳細(xì)說(shuō)明并在權(quán)利要求中特別指出的特征。下面的說(shuō)明以及附圖詳細(xì)說(shuō)明某些示例性方面,并且其指示的僅僅是各個(gè)實(shí)施例的原則可以利用的各種方式中的一些方式。其它的益處和新穎性特征將隨著下面的詳細(xì)說(shuō)明結(jié)合附圖考慮而變得明顯,所公開(kāi)的實(shí)施例是要包括所有這些方面以及它們的等同。
附圖說(shuō)明
圖1是本發(fā)明一種跑步機(jī)與Android設(shè)備結(jié)合使用的方法的流程示意圖。
具體實(shí)施方式
以下描述和附圖充分地示出本發(fā)明的具體實(shí)施方案,以使本領(lǐng)域的技術(shù)人員能夠?qū)嵺`它們。其他實(shí)施方案可以包括結(jié)構(gòu)的、邏輯的、電氣的、過(guò)程的以及其他的改變。實(shí)施例僅代表可能的變化。除非明確要求,否則單獨(dú)的部件和功能是可選的,并且操作的順序可以變化。一些實(shí)施方案的部分和特征可以被包括在或替換其他實(shí)施方案的部分和特征。本發(fā)明的實(shí)施方案的范圍包括權(quán)利要求書(shū)的整個(gè)范圍,以及權(quán)利要求書(shū)的所有可獲得的等同物。
如圖1所示,在一些說(shuō)明性的實(shí)施例中,提供一種跑步機(jī)與Android設(shè)備結(jié)合使用的方法,包括:
101:Android工程和Unity3D工程進(jìn)行結(jié)合;
102:Android設(shè)備通過(guò)自身的藍(lán)牙模塊和跑步機(jī)進(jìn)行藍(lán)牙連接;
103:所述Android設(shè)備獲取運(yùn)動(dòng)數(shù)據(jù)并對(duì)所述運(yùn)動(dòng)數(shù)據(jù)進(jìn)行組裝,將運(yùn)動(dòng)數(shù)據(jù)顯示到3D界面之上。
在一些說(shuō)明性的實(shí)施例中,所述Android工程和Unity3D工程進(jìn)行結(jié)合的過(guò)程包括:
將Unity3D工程導(dǎo)出為Android工程;
建立新Android工程,將Unity3D工程導(dǎo)出的Android工程中的相關(guān)文件拷貝到所述新Android工程中,相關(guān)文件包括:asset文件、jar包、so文件及java文件;
新建Activity類并繼承UnityPlayerActivity類,UnityPlayerActivity類為導(dǎo)出Android工程時(shí)自動(dòng)生成的類;
在新建的Activity界面布局中設(shè)置一個(gè)ViewGroup,在代碼中將mUnityPlayer對(duì)象作為一個(gè)View視圖添加到ViewGroup中。
在一些說(shuō)明性的實(shí)施例中,所述Android設(shè)備通過(guò)自身的藍(lán)牙模塊和跑步機(jī)進(jìn)行藍(lán)牙連接的過(guò)程包括:
啟動(dòng)所述Android設(shè)備和所述跑步機(jī);
所述Android設(shè)備展示3D的同時(shí)搜索所述跑步機(jī)上的藍(lán)牙設(shè)備;
所述Android設(shè)備向搜索到的所述跑步機(jī)發(fā)送請(qǐng)求連接消息;
所述Android設(shè)備與所述跑步機(jī)藍(lán)牙連接。
在一些說(shuō)明性的實(shí)施例中,所述Android設(shè)備獲取運(yùn)動(dòng)數(shù)據(jù)并對(duì)所述運(yùn)動(dòng)數(shù)據(jù)進(jìn)行組裝,將運(yùn)動(dòng)數(shù)據(jù)顯示到3D界面之上的過(guò)程包括:
所述Android設(shè)備的Android代碼中通過(guò)onRnningDataChanged()回調(diào)函數(shù)接收運(yùn)動(dòng)數(shù)據(jù)并進(jìn)行組裝,;
Unity3D通過(guò)AndroidJavaObject類調(diào)用Android,進(jìn)而獲取數(shù)據(jù),在3D中解析并驅(qū)動(dòng)3D場(chǎng)景變化。
Unity3D中通過(guò)AndroidJavaObject類調(diào)用Android中定義的方法,獲取返回值,并進(jìn)行解析,調(diào)用方法如下:
AndroidJavaClass jc = new AndroidJavaClass ("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject> ("currentActivity"); string name = jo.Call <string>("getName", "成功調(diào)用android方法");
通過(guò)上面的代碼可以獲取到name值,然后在Unity3D里面對(duì)label設(shè)置之后,就能顯示到3D界面上了。
label.text = name;
藍(lán)牙配對(duì)鏈接成功之后,Android中將獲取到的速度、時(shí)間、距離組裝起來(lái),等待Unity進(jìn)行調(diào)用,進(jìn)而可以顯示到3D界面之上。
在一些說(shuō)明性的實(shí)施例中,所述運(yùn)動(dòng)數(shù)據(jù)包括:速度、時(shí)間和距離。
通過(guò)本發(fā)明的方式,直接打開(kāi)Android設(shè)備上的APP即可去自動(dòng)連接器材設(shè)備,然后通過(guò)動(dòng)態(tài)的3D場(chǎng)景展示。Android4.0之前的設(shè)備上藍(lán)牙功耗較大,從4.0之后,變成了低功耗藍(lán)牙,至此,通過(guò)android設(shè)備進(jìn)行藍(lán)牙連接不必過(guò)于擔(dān)心電量消耗。
本領(lǐng)域技術(shù)人員還應(yīng)當(dāng)理解,結(jié)合本文的實(shí)施例描述的各種說(shuō)明性的邏輯框、模塊、電路和算法步驟均可以實(shí)現(xiàn)成電子硬件、計(jì)算機(jī)軟件或其組合。為了清楚地說(shuō)明硬件和軟件之間的可交換性,上面對(duì)各種說(shuō)明性的部件、框、模塊、電路和步驟均圍繞其功能進(jìn)行了一般地描述。至于這種功能是實(shí)現(xiàn)成硬件還是實(shí)現(xiàn)成軟件,取決于特定的應(yīng)用和對(duì)整個(gè)系統(tǒng)所施加的設(shè)計(jì)約束條件。熟練的技術(shù)人員可以針對(duì)每個(gè)特定應(yīng)用,以變通的方式實(shí)現(xiàn)所描述的功能,但是,這種實(shí)現(xiàn)決策不應(yīng)解釋為背離本公開(kāi)的保護(hù)范圍。