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