一種基于symbian系統(tǒng)的手機桌面布局的實現(xiàn)方法
【專利摘要】本發(fā)明一種基于symbian系統(tǒng)的手機桌面布局的實現(xiàn)方法,使得基于symbian系統(tǒng)的手機用戶可以根據(jù)自己的實際需要選擇具體的多窗口布局,而且每個窗口的刷新都不會引起其他窗口的刷新,不僅界面功能上更加實用而且刷新時資源浪費也將大大減少。
【專利說明】—種基于symbian系統(tǒng)的手機桌面布局的實現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于symbian系統(tǒng)的手機桌面布局的實現(xiàn)方法。
【背景技術(shù)】
[0002]目前symbian系統(tǒng)自帶的手機桌面,功能比較單一,用戶不能根據(jù)自己的愛好和需要添加自己喜歡的模塊和布局?,F(xiàn)有的第三方手機桌面都是在切換到手機桌面的時候用自己程序的一個視圖蓋住手機桌面,若手機桌面的任一地方的刷新都要引起手機整個桌面的重新繪制,資源比較浪費,對低端的symbian系統(tǒng)手機更是不適合,而且如果手機桌面同時有多個地方進行刷新,就會造成沖突。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于針對symbian系統(tǒng)自帶的桌面功能單一,用戶不能隨意改變布局和第三方手機桌面刷新時資源的浪費和沖突的問題,提供了一種多窗口的手機桌面布局的實現(xiàn)方法。
[0004]一種基于symbian系統(tǒng)的手機桌面布局的實現(xiàn)方法,包括以下幾個步驟:
步驟1、點擊程序圖標(biāo),啟動手機桌面客戶端,進入后臺主界面;
步驟2、手機桌面客戶端啟動監(jiān)聽函數(shù)HandleWsEventL判斷系統(tǒng)是否進入手機系統(tǒng)桌面,如果已經(jīng)進入手機系統(tǒng)桌面,則轉(zhuǎn)入步驟3,否則轉(zhuǎn)入步驟2繼續(xù)進行監(jiān)聽;
步驟3、用戶選擇窗口布局類型后,初始化所需要的RWindow窗口類型,對當(dāng)前手機桌面的分辨率以及每個獨立RWindow窗口的坐標(biāo)進行獲??;
步驟4、根據(jù)步驟3的計算結(jié)果和所選擇的窗口布局類型,把當(dāng)前手機桌面初始化為多個獨立的RWindow窗口,且可以進一步將每個獨立的RWindow窗口拆分成若干小區(qū)域進行繪制;向加載服務(wù)器獲取預(yù)先制作的各種風(fēng)格的窗口背景圖片,將原始整張背景圖按照窗口布局類型進行切割,然后加載到對應(yīng)的每個獨立的RWindow窗口,所述的每個獨立的RWindow窗口在各自對應(yīng)的區(qū)域內(nèi)監(jiān)聽事件,互不干擾且分別對事件進行攔截處理,并各自通知所屬的RWindow窗口進行刷新;
步驟5、創(chuàng)建Window Server通信的窗口服務(wù)消息句柄RWsSession類,用于協(xié)調(diào)每個Rffindow窗口發(fā)送到應(yīng)用程序的異步事件,這樣使得后臺與多個獨立前臺RWindow窗口連接起來,構(gòu)成通信機制;
步驟6、使用回調(diào)函數(shù)EEventFocusGroupChanged對當(dāng)前顯示給用戶的窗口變化狀態(tài)做出回調(diào)響應(yīng),然后將窗口的變化信息傳遞給監(jiān)聽函數(shù)HandleWsEventL用于對事件進行處理,如果是回到手機系統(tǒng)桌面那么馬上將手機桌面切換至步驟3和4所建立的多RWindow窗口界面,如果是其他界面則交給系統(tǒng)處理;
步驟7、使用監(jiān)聽函數(shù)HandleKeyEvent用來對系統(tǒng)按鍵進行監(jiān)聽,如果檢測到用戶在手機桌面上使用左右鍵和導(dǎo)航鍵及OK鍵時,程序自動屏蔽系統(tǒng)的響應(yīng),并且把系統(tǒng)攔截到的事件交給多RWindow窗口界面處理,讓程序自行處理用戶窗口事件,使得按鍵處理和系統(tǒng)原始按鍵相互區(qū)別,其他數(shù)字鍵盤上的操作繼續(xù)交給系統(tǒng)處理;
步驟8、當(dāng)用戶返回手機系統(tǒng)桌面,監(jiān)聽函數(shù)HandleKeyEvent就對用戶操作進行判斷,設(shè)立一個全局變量參數(shù)index,對每個RWindow窗口進行標(biāo)記,該全局變量參數(shù)index值會根據(jù)手機按鍵的上下鍵移動發(fā)生變化,當(dāng)用戶移動到當(dāng)前選中的RWindow窗口的時候,該全局變量參數(shù)index的值隨之改變;當(dāng)劃分的某個RWindow窗口里的內(nèi)容需要刷新的時候,因為會有多個事件傳遞,所以手機客戶端需要根據(jù)當(dāng)前全局變量參數(shù)index的值來判斷哪個RWindow窗口需要操作,使傳遞過來的事件與RWindow窗口對應(yīng),這樣就可以對當(dāng)前Rffindow窗口進行數(shù)據(jù)交互處理;
步驟9、所有RWindow窗口都可以通過步驟5的消息句柄RWsSession進行消息通信,這樣使得每一個RWindow窗口在已劃分的手機桌面區(qū)域內(nèi)中獨立運行,互不影響。
[0005]采用了本發(fā)明的技術(shù)方案后,基于symbian系統(tǒng)的手機用戶可以根據(jù)自己的實際需要選擇具體的多窗口布局,而且每個窗口的刷新都不會引起其他窗口的刷新,不僅界面功能上更加實用而且刷新時資源浪費也將大大減少。
【專利附圖】
【附圖說明】
[0006]圖1為本發(fā)明的流程示意圖。
[0007]以下結(jié)合附圖和具體實施例對本發(fā)明作進一步詳述。
【具體實施方式】
[0008]如圖1所示,本發(fā)明一種基于symbian系統(tǒng)的手機桌面布局的實現(xiàn)方法,包括以下幾個步驟:
步驟1、點擊程序圖標(biāo),啟動手機桌面客戶端,進入后臺主界面;
步驟2、手機桌面客戶端啟動監(jiān)聽函數(shù)HandleWsEventL判斷系統(tǒng)是否進入手機系統(tǒng)桌面,如果已經(jīng)進入手機系統(tǒng)桌面,則轉(zhuǎn)入步驟3,否則轉(zhuǎn)入步驟2繼續(xù)進行監(jiān)聽;
步驟3、用戶選擇窗口布局類型后,初始化所需要的RWindow窗口類型,對當(dāng)前手機桌面的分辨率以及每個獨立RWindow窗口的坐標(biāo)進行獲?。?br>
步驟4、根據(jù)步驟3的計算結(jié)果和所選擇的窗口布局類型,把當(dāng)前手機桌面初始化(new)為多個獨立的RWindow窗口,且可以進一步將每個獨立的RWindow窗口拆分成若干小區(qū)域進行繪制,向加載服務(wù)器獲取預(yù)先制作的各種風(fēng)格的窗口背景圖片,將原始整張背景圖按照窗口布局類型進行切割,然后加載到對應(yīng)的每個獨立的RWindow窗口,所述的每個獨立的RWindow窗口在各自對應(yīng)的區(qū)域內(nèi)監(jiān)聽事件,互不干擾且分別對事件進行攔截處理,并各自通知所屬的RWindow窗口進行刷新;
例如,手機桌面包括若干窗口,其中一個窗口用來顯示天氣情況、一個窗口用來顯示新聞,還有一個窗口用來顯示程序快捷方式,如短信、電話等,其中顯示天氣的窗口的刷新不會引起新聞窗口的刷新。
[0009]步驟5、使用程序?qū)γ總€RWindow窗口進行二次布局劃分,使用CFbsBitmapDevice方法創(chuàng)建圖形遮罩層,為RWindow窗口背景添加透明效果,使得每個RWindow窗口內(nèi)的圖片能夠清晰顯示不失真,同時為每個RWindow窗口添加不同風(fēng)格的字體以及為每個RWindow窗口填充色澤,整體風(fēng)格能夠醒目; 步驟6、創(chuàng)建Window Server通信的窗口服務(wù)句柄RWsSession類,用于協(xié)調(diào)每個RWindow窗口發(fā)送到應(yīng)用程序的異步事件,比如重繪事件和用戶輸入事件等,這樣使得后臺與該多個獨立前臺RWindow窗口連接起來,構(gòu)成通信機制;
步驟7、使用回調(diào)函數(shù)EEventFocusGroupChanged對當(dāng)前顯示給用戶的窗口變化狀態(tài)做出回調(diào)響應(yīng),然后將窗口的變化信息傳遞給監(jiān)聽函數(shù)HandleWsEventL用于對事件進行處理,如果是回到手機系統(tǒng)桌面那么馬上將手機桌面切換至步驟3和4所建立的多RWindow窗口界面,如果是其他界面則交給系統(tǒng)處理;
步驟8、使用監(jiān)聽函數(shù)HandleKeyEvent用來對系統(tǒng)按鍵進行監(jiān)聽,如果檢測到用戶在手機桌面上使用左右鍵和導(dǎo)航鍵及OK鍵時,程序自動屏蔽系統(tǒng)的響應(yīng),并且把系統(tǒng)攔截到的事件交給多RWindow窗口界面處理,讓程序自行處理用戶窗口事件,使得按鍵處理和系統(tǒng)原始按鍵相互區(qū)別,其他數(shù)字鍵盤上的操作繼續(xù)交給系統(tǒng)處理;
步驟9、當(dāng)用戶返回手機系統(tǒng)桌面,監(jiān)聽函數(shù)HandleKeyEvent就對用戶操作進行判斷,設(shè)立一個全局變量參數(shù)index,對每個RWindow窗口進行標(biāo)記,該全局變量參數(shù)index值會根據(jù)手機按鍵的上下鍵移動發(fā)生變化,即加I或者減1,當(dāng)用戶移動到當(dāng)前選中的RWindow窗口的時候,該全局變量參數(shù)index的值隨之改變;當(dāng)劃分的某個RWindow窗口里的內(nèi)容需要刷新的時候,因為會有多個事件傳遞,所以手機客戶端需要根據(jù)當(dāng)前全局變量參數(shù)index的值來判斷哪個RWindow窗口需要操作,使傳遞過來的事件與RWindow窗口對應(yīng),這樣就可以對當(dāng)前RWindow窗口進行數(shù)據(jù)交互處理;
步驟10、所有RWindow窗口都可以通過步驟6的消息句柄RWsSession進行消息通信,這樣使得每一個RWindow窗口在已劃分的手機桌面區(qū)域內(nèi)中獨立運行,互不影響,任何一個RWindow窗口的刷新都不會像系統(tǒng)原始單窗口那樣所有資源都需要重新繪制,不僅提高了效率和節(jié)省了內(nèi)存。
[0010] 以上所述,僅是本發(fā)明較佳實施例而已,并非對本發(fā)明的技術(shù)范圍作任何限制,故凡是依據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施例所作的任何細微修改、等同變化與修飾,均仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。
【權(quán)利要求】
1.一種基于Symbian系統(tǒng)的手機桌面布局的實現(xiàn)方法,其特征在于包括以下幾個步驟: 步驟1、點擊程序圖標(biāo),啟動手機桌面客戶端,進入后臺主界面; 步驟2、手機桌面客戶端啟動監(jiān)聽函數(shù)HandleWsEventL判斷系統(tǒng)是否進入手機系統(tǒng)桌面,如果已經(jīng)進入手機系統(tǒng)桌面,則轉(zhuǎn)入步驟3,否則轉(zhuǎn)入步驟2繼續(xù)進行監(jiān)聽; 步驟3、用戶選擇窗口布局類型后,初始化所需要的RWindow窗口類型,對當(dāng)前手機桌面的分辨率以及每個獨立RWindow窗口的坐標(biāo)進行獲取; 步驟4、根據(jù)步驟3的計算結(jié)果和所選擇的窗口布局類型,把當(dāng)前手機桌面初始化為多個獨立的RWindow窗口,且可以進一步將每個獨立的RWindow窗口拆分成若干小區(qū)域進行繪制;向加載服務(wù)器獲取預(yù)先制作的各種風(fēng)格的窗口背景圖片,將原始整張背景圖按照窗口布局類型進行切割,然后加載到對應(yīng)的每個獨立的RWindow窗口,所述的每個獨立的RWindow窗口在各自對應(yīng)的區(qū)域內(nèi)監(jiān)聽事件,互不干擾且分別對事件進行攔截處理,并各自通知所屬的RWindow窗口進行刷新; 步驟5、創(chuàng)建Window Server通信的窗口服務(wù)消息句柄RWsSession類,用于協(xié)調(diào)每個Rffindow窗口發(fā)送到應(yīng)用程序的異步事件,這樣使得后臺與多個獨立前臺RWindow窗口連接起來,構(gòu)成通信機制; 步驟6、使用回調(diào)函數(shù)EEventFocusGroupChanged對當(dāng)前顯示給用戶的窗口變化狀態(tài)做出回調(diào)響應(yīng),然后將窗口的變化信息傳遞給監(jiān)聽函數(shù)HandleWsEventL用于對事件進行處理,如果是回到手機系統(tǒng)桌面那么馬上將手機桌面切換至步驟3和4所建立的多RWindow窗口界面,如果是其他界面則交給系統(tǒng)處理; 步驟7、使用監(jiān)聽函數(shù)HandleKeyEvent用來對系統(tǒng)按鍵進行監(jiān)聽,如果檢測到用戶在手機桌面上使用左右鍵和導(dǎo)航鍵及OK鍵時,程序自動屏蔽系統(tǒng)的響應(yīng),并且把系統(tǒng)攔截到的事件交給多RWindow窗口界面處理,讓程序自行處理用戶窗口事件,使得按鍵處理和系統(tǒng)原始按鍵相互區(qū)別,其他數(shù)字鍵盤上的操作繼續(xù)交給系統(tǒng)處理; 步驟8、當(dāng)用戶返回手機系統(tǒng)桌面,監(jiān)聽函數(shù)HandleKeyEvent就對用戶操作進行判斷,設(shè)立一個全局變量參數(shù)index,對每個RWindow窗口進行標(biāo)記,該全局變量參數(shù)index值會根據(jù)手機按鍵的上下鍵移動發(fā)生變化,當(dāng)用戶移動到當(dāng)前選中的RWindow窗口的時候,該全局變量參數(shù)index的值隨之改變;當(dāng)劃分的某個RWindow窗口里的內(nèi)容需要刷新的時候,因為會有多個事件傳遞,所以手機客戶端需要根據(jù)當(dāng)前全局變量參數(shù)index的值來判斷哪個RWindow窗口需要操作,使傳遞過來的事件與RWindow窗口對應(yīng),這樣就可以對當(dāng)前Rffindow窗口進行數(shù)據(jù)交互處理; 步驟9、所有RWindow窗口都可以通過步驟5的消息句柄RWsSession進行消息通信,這樣使得每一個RWindow窗口在已劃分的手機桌面區(qū)域內(nèi)中獨立運行,互不影響。
【文檔編號】H04M1/725GK103873677SQ201310191772
【公開日】2014年6月18日 申請日期:2013年5月22日 優(yōu)先權(quán)日:2013年5月22日
【發(fā)明者】許欣欣, 肖任遠 申請人:深圳市明日空間信息技術(shù)有限公司