本發(fā)明涉及一種智能穿戴設(shè)備多級菜單頁面顯示方法和智能穿戴設(shè)備。
背景技術(shù):
智能腕帶或智能手表是一種智能穿戴設(shè)備,通過智能腕帶、手表或手環(huán)可以記錄佩戴者日常的睡眠數(shù)據(jù)、運動數(shù)據(jù)、飲食數(shù)據(jù)、提供鬧鐘和消息推送等實時數(shù)據(jù)和服務(wù)。功能更為完善的智能腕帶還可以實現(xiàn)語音信號傳輸或者語音通信功能,例如打電話或者聽音樂等。為了實現(xiàn)上述諸多功能,需要形成復(fù)雜的菜單結(jié)構(gòu)使得用戶查找到對應(yīng)的功能。
現(xiàn)有技術(shù)中實現(xiàn)多級頁面和多級菜單的顯示方法通常采用的核心數(shù)據(jù)結(jié)構(gòu)是樹狀的菜單結(jié)構(gòu),具體來說建立一個包括左右級菜單、父菜單、子菜單的結(jié)構(gòu)體指針。在進入每一級菜單是需要執(zhí)行初始化函數(shù)指針,退出該菜單時需要執(zhí)行結(jié)束函數(shù)指針。現(xiàn)有技術(shù)中的顯示方法對于智能腕帶或者智能手表來說,流程稍顯冗余復(fù)雜,不利于后期的控制和維護。
所述,現(xiàn)有技術(shù)中多級頁面和菜單的顯示方法存在流程冗余復(fù)雜且不利于后期控制和維護的缺點。
技術(shù)實現(xiàn)要素:
本發(fā)明旨在設(shè)計并提出一種智能穿戴設(shè)備多級菜單頁面顯示方法,克服現(xiàn)有技術(shù)中多級頁面和菜單的顯示方法流程冗余復(fù)雜、不利于后期控制和維護的缺陷。
本發(fā)明提供一種智能穿戴設(shè)備多級菜單頁面顯示方法,其中,所述菜單包括按階層顯示出的可以執(zhí)行設(shè)備動作指令的多級顯示區(qū)域,所述顯示方法還包括:保存并判斷當(dāng)前設(shè)備狀態(tài);根據(jù)當(dāng)前設(shè)備狀態(tài)和設(shè)備動作事件調(diào)用根據(jù)多級菜單、多級菜單對應(yīng)頁面和動作指令構(gòu)建的結(jié)構(gòu)體中的動作指令回調(diào)函數(shù),設(shè)備顯示模塊恢復(fù)、維持或跳轉(zhuǎn)顯示多級菜單中的一級菜單所對應(yīng)的頁面。
進一步的,所述顯示方法還包括,將菜單按照階層分組定義為不同的枚舉類型并賦予菜單枚舉標(biāo)識,其中所述菜單包括主菜單、從屬于主菜單的多個子菜單,所述子菜單包括多個一級菜單,以及從屬于一級菜單的多個二級菜單。
進一步的,所述顯示方法還包括,所述結(jié)構(gòu)體包括多個結(jié)構(gòu)體變量,所述結(jié)構(gòu)體變量用于記錄當(dāng)前頁面屬性、當(dāng)前頁面所包含的子菜單屬性和當(dāng)前頁面所包含的子頁面屬性,以及與所述當(dāng)前頁面屬性、子菜單屬性和子頁面屬性對應(yīng)的多個不同動作指令回調(diào)函數(shù)。
進一步的,用于記錄當(dāng)前頁面屬性的結(jié)構(gòu)體變量包括多個成員變量,所述成員變量用于記錄當(dāng)前頁面標(biāo)識,以及當(dāng)前頁面標(biāo)識對應(yīng)的菜單枚舉標(biāo)識。
進一步的,用于記錄當(dāng)前頁面所包含的子菜單屬性的結(jié)構(gòu)體變量包括多個成員變量,所述成員變量用于記錄當(dāng)前頁面是否有子菜單、子菜單的首地址、子菜單的長度和子菜單對應(yīng)頁面屬性。
進一步的,所述動作指令函數(shù)還包括與頁面對應(yīng)的且與不同動作指令匹配的多個函數(shù)指針變量。
進一步的,所述顯示方法還包括,建立鏈表,鏈表包括按順序排列的多個結(jié)點,所述多個結(jié)點依次包括設(shè)備狀態(tài)、動作指令、當(dāng)前頁面屬性、當(dāng)前頁面子菜單屬性、當(dāng)前頁面子頁面屬性和動作指令回調(diào)函數(shù)。
進一步的,所述動作指令包括觸屏動作指令和/或按鍵動作指令。
進一步的,所述動作指令為按鍵動作指令;保存并判斷當(dāng)前設(shè)備顯示狀態(tài),如果判斷當(dāng)前設(shè)備顯示狀態(tài)為滅屏,則任意按鍵動作指令首先觸發(fā)點亮顯示屏幕,調(diào)用滅屏前的當(dāng)前頁面屬性和當(dāng)前頁面菜單枚舉標(biāo)識并恢復(fù)滅屏前的當(dāng)前頁面;如果判斷當(dāng)前設(shè)備顯示狀態(tài)為亮屏,則按鍵動作觸發(fā)調(diào)用當(dāng)前頁面屬性、當(dāng)前頁面包含的子菜單屬性,當(dāng)前頁面包含的子頁面屬性并調(diào)用結(jié)構(gòu)體中對應(yīng)的動作指令回調(diào)函數(shù),跳轉(zhuǎn)顯示對應(yīng)的頁面;如果當(dāng)前頁面不響應(yīng)其中某一個按鍵動作,則維持當(dāng)前頁面。
本發(fā)明所提供的智能穿戴設(shè)備多級菜單頁面顯示方法,通過枚舉分別為不同層級的菜單賦予并分配不同的菜單枚舉標(biāo)識,從而實現(xiàn)對菜單的劃分,簡化流程,使之更為清晰。通過結(jié)構(gòu)體中多個結(jié)構(gòu)體變量和動作指令回調(diào)函數(shù)建立與設(shè)備運行狀態(tài)、按鍵事件與頁面顯示狀態(tài)之間的數(shù)據(jù)關(guān)系,實現(xiàn)通過按鍵事件對多級菜單和頁面顯示的控制和調(diào)配。同時,由于通過結(jié)構(gòu)體和與結(jié)構(gòu)體對應(yīng)的鏈表建立了任意一級菜單及其對應(yīng)頁面和按鍵事件、以及動作指令回調(diào)函數(shù)之間的關(guān)系,可以實現(xiàn)不同層級頁面之間的跳轉(zhuǎn)或者切換。綜上所述,本發(fā)明提供的智能穿戴設(shè)備多級菜單頁面顯示方法具有數(shù)據(jù)結(jié)構(gòu)更清晰,更容易控制,便于后期添加和維護的優(yōu)點。
本發(fā)明同時公開了智能穿戴設(shè)備,應(yīng)用多級菜單頁面顯示方法,其中菜單包括按階層顯示出的可以執(zhí)行設(shè)備動作指令的多級顯示區(qū)域;所述顯示方法包括:保存并判斷當(dāng)前設(shè)備狀態(tài);根據(jù)當(dāng)前設(shè)備狀態(tài)和設(shè)備動作事件調(diào)用根據(jù)多級菜單、多級菜單對應(yīng)頁面和動作指令構(gòu)建的結(jié)構(gòu)體中的動作指令回調(diào)函數(shù),使得設(shè)備顯示模塊恢復(fù)、維持或跳轉(zhuǎn)顯示多級菜單中的一級菜單所對應(yīng)的頁面。
本發(fā)明所公開的智能穿戴設(shè)備具有多級菜單頁面顯示迅速,數(shù)據(jù)結(jié)構(gòu)合理,后期維護和調(diào)節(jié)便利,利于后續(xù)開發(fā)的優(yōu)點。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明所提出的智能穿戴設(shè)備多級菜單頁面顯示方法的流程圖;
圖2為本發(fā)明所提出的智能穿戴設(shè)備多級菜單頁面顯示方法中的數(shù)據(jù)結(jié)構(gòu)示意圖;
圖3為本發(fā)明所提出的智能穿戴設(shè)備多級菜單頁面顯示方法中多級菜單的數(shù)據(jù)架構(gòu)示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本實施例旨在針對現(xiàn)有技術(shù)智能穿戴設(shè)備中多級頁面和菜單的顯示方法存在流程冗余復(fù)雜,不利于后期控制和維護的缺點,設(shè)計一種全新的智能穿戴設(shè)備多級菜單頁面顯示方法。本實施例中所指的智能穿戴設(shè)備,優(yōu)選是指智能手表、智能手環(huán)或者智能腕帶的其中一種,也可以是頭戴式智能設(shè)備或者其它類似的智能終端。但是、智能手表、智能手環(huán)或者智能腕帶的一個特點是其本身硬件結(jié)構(gòu)簡單,按鍵及顯示屏幕較小,并且需要長時間獨立在戶外運行,電源要求高。因此,相對于其它的智能穿戴設(shè)備,需要一種更為簡潔、流程清晰且利于維護的算法支持器多級頁面和菜單的顯示。對于這種智能穿戴設(shè)備來說,通常可以響應(yīng)的動作為按鍵動作或者觸屏動作,或者按鍵動作和觸屏動作的組合。在本實施例中,以按鍵動作為一種優(yōu)選的實施方式,并且以設(shè)置三個按鍵,即左按鍵、右按鍵和確定鍵為一種理想的硬件結(jié)構(gòu),對本實施例所提供的多級菜單頁面顯示方法進行詳細的介紹。按鍵也可以根據(jù)實際的使用需要設(shè)計多個或少于三個,或者設(shè)計為按鍵和觸屏的組合方式。其本質(zhì)與設(shè)計為三個按鍵無異,按鍵和觸屏動作的基本觸發(fā)電路與現(xiàn)有技術(shù)中的一致,在此不再贅述。
具體來說,系統(tǒng)通過智能穿戴設(shè)備的顯示屏將可以執(zhí)行的命令以階層的方式通過多個顯示區(qū)域顯示出來,也就是以菜單的方式顯示在智能穿戴設(shè)備的顯示屏上。在本實施例中,所指的可以執(zhí)行的命令指的就是左按鍵、右按鍵和確定鍵的動作,定義為按鍵事件。與現(xiàn)有技術(shù)完全不同,本實施例首先將菜單按照階層定義為不同的枚舉類型并逐一賦予不同的菜單枚舉標(biāo)識。菜單中包括主菜單、以及從屬于主菜單的多個子菜單。參見圖3所示,子菜單中還包括多個一級菜單,以及從屬于一級菜單的多個二級菜單。采用枚舉類型的方式,對主菜單和子菜單分別分組定義,主菜單Main View包括若干個一級菜單, 分別賦予其菜單枚舉標(biāo)識, 記為View_1, View_2, View_3, … , View_n;賦予從屬于一級菜單的多個二級菜單下一級枚舉標(biāo)識,以一級菜單View_1為例,附屬于一級菜單View_1的二級菜單記為Sub_View_11, Sub_View_12, … , Sub_View_1n。這樣即通過枚舉類型的方式使得菜單和子菜單形成了對應(yīng)的關(guān)系,并且進一步賦予了以階層形式顯示的每一個菜單的具體菜單枚舉標(biāo)識,形成View_ID并分配其存儲空間,組成基本的數(shù)據(jù)架構(gòu)。
菜單通過按鍵事件觸發(fā)執(zhí)行頁面跳轉(zhuǎn)。因此,菜單項必須通過一種數(shù)據(jù)存儲結(jié)構(gòu)和頁面形成聯(lián)系。為了實現(xiàn)這一目的,參見圖2所示,在本實施例中,進一步構(gòu)建頁面結(jié)構(gòu)體。頁面結(jié)構(gòu)體中包括多個結(jié)構(gòu)體變量。這些結(jié)構(gòu)體變量用于記錄當(dāng)前頁面的屬性、當(dāng)前頁面包含的子菜單的屬性和當(dāng)前頁面所包含的子頁面屬性,以及根據(jù)當(dāng)前頁面屬性、子菜單屬性和子頁面屬性形成的動作指令回調(diào)函數(shù),從而進一步形成按鍵事件和可以通過按鍵事件執(zhí)行的菜單動作建立對應(yīng)關(guān)系。當(dāng)然,上述的各個參數(shù)也可以通過嵌套在頁面結(jié)構(gòu)體中的對應(yīng)任意頁面構(gòu)建的多個子結(jié)構(gòu)體進行定義,或者獨立為任意頁面構(gòu)建的包括上述屬性的多個結(jié)構(gòu)體進行定義。
具體的,在頁面結(jié)構(gòu)體中,用于記錄當(dāng)前頁面屬性的結(jié)構(gòu)體變量包括多個成員變量,或者說至少包括兩個成員變量,其中之一用于賦予并記錄當(dāng)前頁面標(biāo)識,即Page_ID。如果顯示區(qū)域在記錄當(dāng)前Page_ID后即滅屏,則存儲的這一成員變量不發(fā)生變化。同時,還有一個成員變量用于記錄對應(yīng)當(dāng)前頁面的菜單枚舉標(biāo)識,即View_ID。
進一步,用于記錄當(dāng)前頁面所包含的子菜單屬性的結(jié)構(gòu)體變量也同樣包括多個成員變量,分別用于記錄當(dāng)前頁面是否有子菜單、子菜單的首地址和子菜單的長度和子菜單對應(yīng)頁面的屬性。具體來說,如果當(dāng)前頁面對應(yīng)有子菜單,則記錄子菜單的菜單枚舉標(biāo)識并將菜單枚舉標(biāo)識作為結(jié)構(gòu)體成員變量標(biāo)識,并且將子菜單數(shù)組首地址賦予該成員變量。進一步計算子菜單的長度,記為變量sub_page_length。如果沒有子菜單,則上述兩個成員變量均為空,記為Null,對應(yīng)記錄子菜單屬性的成員變量。再利用多個成員變量分別記錄對應(yīng)其中任一子菜單的子頁面?zhèn)€數(shù)和子頁面首地址,如果沒有對應(yīng)的子頁面對應(yīng)變量則為空,記為Null。
對應(yīng)當(dāng)前頁面屬性、子菜單屬性和按鍵事件,在結(jié)構(gòu)體中通過結(jié)構(gòu)體變量建立對應(yīng)的動作指令函數(shù)。具體來說,包括右鍵down_button函數(shù)指針變量,左鍵up_button函數(shù)指針變量和確認鍵set_button函數(shù)指針變量。并進一步通過鏈表建立結(jié)構(gòu)體中結(jié)構(gòu)體變量和函數(shù)指針變量的關(guān)系。
具體來說,在內(nèi)存中劃分具體的內(nèi)存空間存儲當(dāng)前設(shè)備狀態(tài)和動作指令,并按照存儲設(shè)備狀態(tài)、動作指令、當(dāng)前頁面屬性、當(dāng)前頁面子菜單屬性、當(dāng)前頁面子頁面屬性和動作指令回調(diào)函數(shù)的結(jié)點順序建立鏈表,從而建立不同階層菜單以及不同階層頁面之間的數(shù)據(jù)關(guān)系,同時可以將動作指令回調(diào)函數(shù)指針指向鏈表中的同級菜單或者不同級菜單,以便在后期維護過程中,可以任意修改,即可以實現(xiàn)在不同級或同級菜單、頁面之間的跳轉(zhuǎn)。
參見圖1所示,在一種具體的應(yīng)用環(huán)境中進一步說明本發(fā)明所公開的智能穿戴設(shè)備多級菜單頁面顯示方法。首先對內(nèi)存中存儲的當(dāng)前設(shè)備的顯示狀態(tài)進行判斷,如果設(shè)備處于滅屏狀態(tài),則任意按鍵動作指令首先觸發(fā)點亮顯示屏幕。由于在建立頁面結(jié)構(gòu)體時,設(shè)定了如果顯示區(qū)域在記錄當(dāng)前Page_ID后即滅屏,則存儲的這一成員變量不發(fā)生變化,所以亮屏之后旋即恢復(fù)到當(dāng)前Page_ID和View_ID對應(yīng)的頁面。
如果設(shè)備處于亮屏狀態(tài),或者從滅屏狀態(tài)恢復(fù)到亮屏狀態(tài),則在利用Page_ID和View_ID在結(jié)構(gòu)體中找到當(dāng)前頁面是否有子菜單、子菜單的首地址和子菜單的長度和子菜單對應(yīng)頁面的屬性,再對應(yīng)找到按鍵事件和按鍵事件對應(yīng)的動作指令回調(diào)函數(shù)指針變量,相應(yīng)的通過動作指令回調(diào)函數(shù)指針變量的指示位置實現(xiàn)對應(yīng)子菜單即子菜單對應(yīng)子頁面的顯示。
如果當(dāng)前頁面不響應(yīng)其中的某一個按鍵動作,則維持顯示當(dāng)前Page_ID和View_ID對應(yīng)的頁面。
當(dāng)然,顯示狀態(tài)指示設(shè)備狀態(tài)中的一種,除了顯示狀態(tài)之外。還可以對設(shè)備其它的狀態(tài)進行存儲和判定,從而根據(jù)判定結(jié)果和設(shè)備動作事件調(diào)用包括多級菜單、多級菜單對應(yīng)頁面和動作指令的結(jié)構(gòu)體中的動作指令回調(diào)函數(shù),使得設(shè)備顯示模塊恢復(fù)、維持或跳轉(zhuǎn)顯示多級菜單中的一級菜單所對應(yīng)的頁面。這里所述的其它狀態(tài),可以是是否處于通話狀態(tài)、是否處于音頻信號播放狀態(tài)、或者是否處于運動記錄狀態(tài)、信息推送狀態(tài)、飲食記錄狀態(tài)、睡眠記錄狀態(tài)中的任意一種。也可以根據(jù)智能設(shè)備的功能,選用其它的狀態(tài)信息作為判定信息。
本發(fā)明所提供的智能穿戴設(shè)備多級菜單頁面顯示方法,通過枚舉分別為不同層級的菜單賦予并分配不同的菜單枚舉標(biāo)識,從而實現(xiàn)對菜單的劃分,簡化流程,使之更為清晰。通過結(jié)構(gòu)體中多個結(jié)構(gòu)體變量和動作指令回調(diào)函數(shù)建立與設(shè)備運行狀態(tài)、按鍵事件與頁面顯示狀態(tài)之間的數(shù)據(jù)關(guān)系,實現(xiàn)通過按鍵事件對多級菜單和頁面顯示的控制和調(diào)配。同時,由于通過結(jié)構(gòu)體和與結(jié)構(gòu)體對應(yīng)的鏈表建立了任意一級菜單及其對應(yīng)頁面和按鍵事件、以及動作指令回調(diào)函數(shù)之間的關(guān)系,可以實現(xiàn)不同層級頁面之間的跳轉(zhuǎn)或者切換。綜上所述,本發(fā)明提供的智能穿戴設(shè)備多級菜單頁面顯示方法具有數(shù)據(jù)結(jié)構(gòu)更清晰,更容易控制,便于后期添加和維護的優(yōu)點。
本發(fā)明同時公開了一種應(yīng)用上述實施例所公開的智能穿戴設(shè)備多級菜單頁面顯示方法的智能穿戴設(shè)備。多級菜單頁面顯示的方法的具體流程和數(shù)據(jù)構(gòu)成方式如上述實施例的詳細描述,在此不再贅述。應(yīng)用上述多級菜單頁面顯示方法的智能穿戴設(shè)備可以實現(xiàn)同樣的技術(shù)效果。同時,本發(fā)明所公開的智能穿戴設(shè)備具有多級菜單頁面顯示迅速,數(shù)據(jù)結(jié)構(gòu)合理,后期維護和調(diào)節(jié)便利,利于后續(xù)開發(fā)的優(yōu)點。
最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。