本發(fā)明的實施方式涉及通信與計算機技術(shù)領(lǐng)域,更具體地,本發(fā)明的實施方式涉及用于記錄用戶行為的方法、系統(tǒng)及移動終端。
背景技術(shù):
本部分旨在為權(quán)利要求書中陳述的本發(fā)明的實施方式提供背景或上下文。此處的描述不因為包括在本部分中就承認是現(xiàn)有技術(shù)。
目前無論是互聯(lián)網(wǎng)產(chǎn)品還是移動應用產(chǎn)品,都越來越強調(diào)用戶體驗,都希望將用戶使用產(chǎn)品時的行為記錄下來,通過獲得用戶操作相關(guān)的數(shù)據(jù),通過對用戶操作相關(guān)的數(shù)據(jù)進行統(tǒng)計、分析,寄希望于從中發(fā)現(xiàn)用戶使用規(guī)律,并將這些規(guī)律與自身產(chǎn)品營銷策略等相結(jié)合,從而發(fā)現(xiàn)目前自身產(chǎn)品營銷活動中可能存在的問題,并為進一步修正或重新制定網(wǎng)絡營銷策略提供依據(jù)。
以移動終端為例,記錄用戶的行為數(shù)據(jù)包括用戶在應用中的停留時間、用戶的觸屏操作、用戶的按鍵操作、用戶輸入的文本數(shù)據(jù)等等??衫?,移動端應用中用戶行為統(tǒng)計,可以記錄用戶從哪個頁面跳轉(zhuǎn)到哪個頁面,在頁面上都點擊了哪些按鈕,點擊了幾次等等。通過記錄以上種種的用戶行為,可以分析用戶對該應用的瀏覽習慣與使用習慣,分析用戶的興趣點所在等大量的行為相關(guān)數(shù)據(jù)。
目前,已經(jīng)出現(xiàn)一些在移動端記錄用戶行為的技術(shù)。
技術(shù)實現(xiàn)要素:
但是,現(xiàn)有技術(shù)在移動端記錄用戶行為數(shù)據(jù)時,往往是由應用的開發(fā)者來進行的,針對移動端的應用的每一個頁面,該應用的開發(fā)人員需要改寫應用代碼的內(nèi)容,根據(jù)不同應用的頁面的特點,在不同的位置插 入代碼,以達到記錄用戶行為數(shù)據(jù)的目的。這樣一來,就需要編寫大量繁瑣重復的代碼,記錄用戶在不同使用場景下的行為信息,大大降低了產(chǎn)品研發(fā)的效率,增大了產(chǎn)品研發(fā)的成本,而且,在應用實際的使用過程中,由于額外記錄用戶行為相關(guān)代碼的增加,也使得移動終端系統(tǒng)中工作量增加,在某些情況下,很有可能造成移動終端系統(tǒng)處理速度變慢等不良影響,用戶體驗較差,增加了對用戶行為數(shù)據(jù)進行分析挖掘的復雜難度。
在現(xiàn)有技術(shù)中,由于移動終端應用中代碼增加帶來的用戶體驗較差的情況,是非常令人煩惱的過程。
為此,非常需要一種改進的用于記錄用戶行為的方法、系統(tǒng)及移動終端,以使在不影響移動終端性能的同時,記錄用戶行為。
在本上下文中,本發(fā)明的實施方式期望提供一種用于記錄用戶行為的方法、系統(tǒng)及移動終端。
在本發(fā)明實施方式的第一方面中,提供了一種用于記錄用戶行為的方法,包括:應用啟動時,將特定系統(tǒng)函數(shù)替換為重寫的預定函數(shù);以及響應用戶操作,調(diào)用所述預定函數(shù),記錄所述用戶的行為。
在本發(fā)明的一個實施例中,基于前述方案,該方法包括:通過重寫所述系統(tǒng)函數(shù)獲得所述預定函數(shù)。
在本發(fā)明的另一實施例中,基于前述方案,所述特定系統(tǒng)函數(shù)為回調(diào)函數(shù)。
在本發(fā)明的又一個實施例中,基于前述方案,所述應用啟動時,將特定系統(tǒng)函數(shù)替換為重寫的預定函數(shù),包括:通過生命周期回調(diào)函數(shù)將所述特定系統(tǒng)函數(shù)替換為重寫的預定函數(shù)。
在本發(fā)明的又一個實施例中,基于前述方案,所述響應用戶操作,調(diào)用所述預定函數(shù),記錄所述用戶的行為,包括下列中的至少一種:響應按鍵事件,記錄所述用戶的按鍵輸入;響應觸摸事件,記錄所述用戶的觸摸操作;響應屏幕旋轉(zhuǎn)事件,記錄所述用戶的屏幕旋轉(zhuǎn)事件;以及響應菜單選擇事件,記錄所述用戶的菜單選擇事件。
在本發(fā)明的又一實施例中,基于前述方案,所述響應用戶操作,調(diào) 用所述預定函數(shù),記錄所述用戶的行為,包括:獲取用戶輸入數(shù)據(jù)。
在本發(fā)明的又一實施例中,基于前述方案,所述獲取用戶輸入數(shù)據(jù),包括:通過所述用戶的所述觸摸事件的相關(guān)信息獲取所述用戶輸入數(shù)據(jù)。
在本發(fā)明的又一實施例中,基于前述方案,所述通過所述用戶的所述觸摸事件的相關(guān)信息獲取所述用戶輸入數(shù)據(jù),包括:獲取所述用戶的所述觸摸事件的相關(guān)信息,所述相關(guān)信息包括坐標信息;通過所述坐標信息判斷所述用戶的點擊的位置是否為文本輸入框的位置;以及如果所述點擊的位置為文本輸入框的位置,則在所述文本輸入框中綁定記錄事件。
在本發(fā)明的再一實施例中,基于前述方案,所述回調(diào)函數(shù)包括Window.Callback。
在本發(fā)明實施方式的第二方面中,提供了一種用于記錄用戶行為的系統(tǒng),包括:啟動模塊,用于應用啟動時,將特定系統(tǒng)函數(shù)替換為重寫的預定函數(shù);以及記錄模塊,用于響應用戶操作,調(diào)用所述預定函數(shù),記錄所述用戶的行為。
在本發(fā)明的一個實施例中,基于前述方案,該系統(tǒng)包括:重寫模塊,用于通過重寫所述系統(tǒng)函數(shù)獲得所述預定函數(shù)。
在本發(fā)明的另一實施例中,基于前述方案,所述啟動模塊,包括:替換子模塊,用于通過生命周期回調(diào)函數(shù)將所述特定系統(tǒng)函數(shù)替換為重寫的預定函數(shù)。
在本發(fā)明的又一實施例中,基于前述方案,所述記錄模塊包括:按鍵輸入子模塊,用于響應按鍵事件,記錄所述用戶的按鍵輸入;觸摸事件子模塊,用于響應觸摸事件,記錄所述用戶的觸摸事件;屏幕旋轉(zhuǎn)子模塊,用于響應屏幕旋轉(zhuǎn)事件,記錄所述用戶的屏幕旋轉(zhuǎn)事件;以及菜單選擇子模塊,用于響應菜單選擇事件,記錄所述用戶的菜單選擇事件。
在本發(fā)明的又一實施例中,基于前述方案,所述記錄模塊包括:數(shù)據(jù)輸入子模塊,用于獲取用戶輸入數(shù)據(jù)。
在本發(fā)明的又一實施例中,基于前述方案,所述數(shù)據(jù)輸入子模塊包括:信息獲取子模塊,用于獲取所述用戶的觸摸事件的相關(guān)信息,所述 相關(guān)信息包括坐標信息;判斷子模塊,用于通過所述坐標信息判斷所述用戶的點擊的位置是否為文本輸入框的位置;文本子模塊,用于如果所述點擊的位置為文本輸入框的位置,則在所述文本輸入框中綁定記錄事件。
在本發(fā)明實施方式的第三方面中,提供了一種移動終端,包括:處理器;存儲器,存儲用于所述處理器控制如第一方面所述的方法。
根據(jù)本發(fā)明實施方式的用于記錄用戶行為的方法、系統(tǒng)及移動終端,通過應用啟動時,將特定系統(tǒng)函數(shù)替換為重寫的預定函數(shù);以及響應用戶操作,調(diào)用所述預定函數(shù),記錄所述用戶的行為的方式。可以方便快捷的實現(xiàn)對用戶行為的記錄,而無需該應用的開發(fā)人員針對的移動端的應用的每一個頁面,改寫應用代碼的內(nèi)容,從而顯著地降低了應用開發(fā)的時間,并且減少了由于應用記錄用戶行為而帶來的移動終端系統(tǒng)處理速度變慢等不良影響,為用戶帶來了更好的體驗。
附圖說明
通過參考附圖閱讀下文的詳細描述,本發(fā)明示例性實施方式的上述以及其他目的、特征和優(yōu)點將變得易于理解。在附圖中,以示例性而非限制性的方式示出了本發(fā)明的若干實施方式,其中:
圖1示意性地示出了根據(jù)本發(fā)明實施方式的用于記錄用戶行為的方法的流程圖;
圖2示意性地示出了根據(jù)本發(fā)明另一實施例的用于記錄用戶行為的方法的記錄內(nèi)容示意圖;
圖3示意性地示出了根據(jù)本發(fā)明又一實施例的用于記錄用戶行為的方法的流程圖;
圖4示意性地示出了根據(jù)本發(fā)明又一實施例的用于記錄用戶行為的方法的輸出結(jié)果;
圖5示意性地示出了根據(jù)本發(fā)明一實施例的用于記錄用戶行為的系統(tǒng)的框圖;
圖6示意性地示出了根據(jù)本發(fā)明又一實施例的用于記錄用戶行為的 系統(tǒng)的框圖;
圖7示意性地示出了根據(jù)本發(fā)明再一實施例的用于記錄用戶行為的系統(tǒng)的框圖;
圖8示意性地示出了根據(jù)本發(fā)明一實施例的移動終端的示意圖;
在附圖中,相同或?qū)臉颂柋硎鞠嗤驅(qū)牟糠帧?/p>
具體實施方式
下面將參考若干示例性實施方式來描述本發(fā)明的原理和精神。應當理解,給出這些實施方式僅僅是為了使本領(lǐng)域技術(shù)人員能夠更好地理解進而實現(xiàn)本發(fā)明,而并非以任何方式限制本發(fā)明的范圍。相反,提供這些實施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的范圍完整地傳達給本領(lǐng)域的技術(shù)人員。
本領(lǐng)域技術(shù)技術(shù)人員知道,本發(fā)明的實施方式可以實現(xiàn)為一種系統(tǒng)、裝置、設備、方法或計算機程序產(chǎn)品。因此,本公開可以具體實現(xiàn)為以下形式,即:完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等),或者硬件和軟件結(jié)合的形式。
根據(jù)本發(fā)明的實施方式,提出了一種用于記錄用戶行為的方法、系統(tǒng)及移動終端。
此外,附圖中的任何元素數(shù)量均用于示例而非限制,以及任何命名都僅用于區(qū)分,而不具有任何限制含義。
下面參考本發(fā)明的若干代表性實施方式,詳細闡釋本發(fā)明的原理和精神。
發(fā)明概述
本發(fā)明人發(fā)現(xiàn),現(xiàn)有技術(shù)中,移動端記錄用戶行為的方法需要針對應用每一個頁面進行代碼的編寫工作,從而引入大量的工作量,而且降低用戶的使用體驗。
為此,本發(fā)明的實施方式提供了用于記錄用戶行為的方法、系統(tǒng)及移動終端,通過應用啟動時,將特定系統(tǒng)函數(shù)替換為重寫的預定函數(shù); 以及響應用戶操作,調(diào)用所述預定函數(shù),記錄所述用戶的行為??梢苑奖憧旖莸膶崿F(xiàn)對用戶行為的記錄,而無需該應用的開發(fā)人員針對的移動端的應用的每一個頁面,改寫應用代碼的內(nèi)容,從而顯著地降低了應用開發(fā)的時間,并且減少了由于應用記錄用戶行為而帶來的移動終端系統(tǒng)處理速度變慢等不良影響,為用戶帶來了更好的體驗。
在介紹了本發(fā)明的基本原理之后,下面具體介紹本發(fā)明的各種非限制性實施方式。
應用場景總覽
場景一、二、三、四和五是可應用于其中的五個示例性應用場景,易于理解的是,這里描述的應用場景僅是示例性的,而不是對本發(fā)明的限制。
場景一、用戶使用移動終端,進行觸摸操作的時候,可以獲取到用戶在屏幕上進行觸摸的位置,觸摸的時間長度,進而還可以記錄觸摸的初始位置以及觸摸的終止位置,通過以上信息內(nèi)容進而記錄用戶行為。
場景二、用戶使用移動終端,進行按鍵操作的時候,可以獲取到用戶在屏幕上按鍵的具體內(nèi)容,進行按鍵的時間,還包括獲取按鍵的撤銷操作等等信息,通過以上信息內(nèi)容進而記錄用戶行為。
場景三、用戶使用移動終端,進行屏幕旋轉(zhuǎn)操作的時候,可以獲取到用戶的屏幕旋轉(zhuǎn)的方向,屏幕旋轉(zhuǎn)的角度,以及屏幕旋轉(zhuǎn)的開始結(jié)束時間等信息,通過以上信息內(nèi)容進而記錄用戶行為。
場景四、用戶使用移動終端,進行菜單選擇操作的時候,可以獲取到用戶的菜單選擇的具體菜單控件,用戶在菜單中選擇的選項內(nèi)容,以及該選項內(nèi)容指向的其他應用頁面等信息,通過以上信息內(nèi)容進而記錄用戶行為。
場景五、用戶使用移動終端,進行文本輸入操作的時候,可以獲取到用戶的文本輸入的內(nèi)容,文本輸入的內(nèi)容可例如包括英文、中文、其他語言文字以及標點符號、表情符號等等,通過以上信息內(nèi)容進而記錄用戶行為。
示例性方法
下面結(jié)合應用場景一、二、三、四和五,參考圖1-4來描述根據(jù)本發(fā)明示例性實施方式的用于記錄用戶行為的方法。需要注意的是,上述應用場景僅是為了便于理解本發(fā)明的精神和原理而示出,本發(fā)明的實施方式在此方面不受任何限制。相反,本發(fā)明的實施方式可以應用于適用的任何場景。
圖1示意性地示出了根據(jù)本發(fā)明實施方式的用于記錄用戶行為的方法的流程圖
如圖1所示,在S100中,應用啟動時,將特定系統(tǒng)函數(shù)替換為重寫的預定函數(shù)。在本發(fā)明的實施例中,移動終端可例如運行Android系統(tǒng),Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動設備,如智能手機和平板電腦,由Google公司和開放手機聯(lián)盟領(lǐng)導及開發(fā)。在Android系統(tǒng)上,特定系統(tǒng)函數(shù)可例如為回調(diào)函數(shù)(window.callback),回調(diào)函數(shù)是一個通過函數(shù)指針調(diào)用的函數(shù)。
還可例如,通過重寫系統(tǒng)函數(shù)獲得所述預定函數(shù)。重寫又稱Overriding,是指子類繼承父類之后對父類的函數(shù)進行重新定義和實現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),即說該方法被重寫。重寫的預定函數(shù)可例如,將回調(diào)函數(shù)進行重寫,生成預定函數(shù),通過預定的函數(shù)進行后續(xù)的處理。
可例如,通過生命周期回調(diào)函數(shù)(ActivityLifecycleCallbacks)將特定系統(tǒng)函數(shù)替換為重寫的預定函數(shù)。Activity:是Android應用程序提供交互界面的一個重要組件,用于應用和用戶之間的交互。ActivityLifecycleCallbacks:生命周期回調(diào)函數(shù),Application通過ActivityLifecycleCallbacks使用接口提供了一套回調(diào)方法,用于讓開發(fā)者對Activity的生命周期事件進行集中處理。ActivityLifecycleCallbacks接口回調(diào)可以簡化監(jiān)測Activity的生命周期事件,使得事件在一個類中作統(tǒng)一處理。替換:在父類方法被重寫之后使用子類來替換父類來實現(xiàn)方法替換的目的。
在S110中,響應用戶操作,調(diào)用預定函數(shù),記錄用戶的行為。在本發(fā)明的實施例中,移動終端可例如運行Android系統(tǒng),在Android系統(tǒng)上,通過響應用戶的操作進行后續(xù)處理,用戶操作可例如,用戶啟動應用的操作,還可例如,在該應用后臺運行期間,用戶激活屏幕之后,即可響應操作。通過上文所述的預定函數(shù),記錄用戶的行為,用戶的行為可例如包括用戶觸屏事件、用戶旋轉(zhuǎn)屏幕事件、用戶文本輸入事件,然而本發(fā)明不以此為限。
根據(jù)本發(fā)明實施方式的用于記錄用戶行為的方法,通過應用啟動時,將特定系統(tǒng)函數(shù)替換為重寫的預定函數(shù);以及響應用戶操作,調(diào)用所述預定函數(shù),記錄所述用戶的行為的方式,可以方便快捷的實現(xiàn)對用戶行為的記錄,而無需該應用的開發(fā)人員針對的移動端的應用的每一個頁面,改寫應用代碼的內(nèi)容,從而顯著地降低了應用開發(fā)的時間,并且減少了由于應用記錄用戶行為而帶來的移動終端系統(tǒng)處理速度變慢等不良影響,為用戶帶來了更好的體驗。
在本發(fā)明的再一實施例中,基于前述方案,所述回調(diào)函數(shù)包括Window.Callback。Android系統(tǒng)在創(chuàng)建頁面時會調(diào)用Window.Callback方法來實現(xiàn)該頁面對用戶操作的處理,包括屏幕觸摸操作,用戶按鍵輸入操作,窗口內(nèi)容變化等操作信息的處理。在本發(fā)明的實施例中,通過把該Window.Callback接口內(nèi)的方法函數(shù)進行重寫來截獲并處理用戶操作行為來達到記錄用戶操作的目的。
圖2示意性地示出了根據(jù)本發(fā)明一實施例的用于記錄用戶行為的方法的記錄內(nèi)容示意圖;圖2所示的方法可應用于圖1所示的實施方式中。
如圖2所示,在本發(fā)明的又一個實施例中,基于前述方案,響應用戶操作,調(diào)用預定函數(shù),記錄用戶的行為,包括下列中的至少一種:
響應按鍵事件,記錄用戶的按鍵輸入。
響應觸摸事件,記錄用戶的觸摸操作;還可例如,通過對用戶觸摸操作的記錄,可例如,通過觸摸事件中的位置信息、觸摸時間信息等相關(guān)信息的記錄,進而記錄用戶的點擊,長按,拖動,放大,縮小,頁面打開關(guān)閉等事件。在記錄用戶觸摸事件中,還可例如,根據(jù)用戶觸摸的 位置以及觸摸的控件等相關(guān)信息,進而判斷用戶是否要進行文本輸入的操作,如果用戶要進行文本輸入的操作,還可例如,獲取用戶文本操作的內(nèi)容。
響應屏幕旋轉(zhuǎn)事件,記錄用戶的屏幕旋轉(zhuǎn)事件。
響應菜單選擇事件,記錄用戶的菜單選擇事件。
在本發(fā)明的再一實施例中,基于前述方案,可例如,通過Window.Callback內(nèi)的dispatchKeyEvent(按鍵事件分發(fā)函數(shù))、dispatchTouchEvent(觸摸事件分發(fā)函數(shù))、onContentChanged(屏幕旋轉(zhuǎn)事件分發(fā)函數(shù))和onMenuItemSelected(菜單選擇事件分發(fā)函數(shù))方法進行重寫。其中dispatchKeyEvent方法用于監(jiān)聽用戶按鍵輸入,重寫dispatchTouchEvent方法用于監(jiān)聽用戶觸摸屏幕和點擊,重寫onContentChanged方法用于監(jiān)聽記錄手機屏幕旋轉(zhuǎn),重寫onMenuItemSelected方法來監(jiān)聽用戶菜單操作。
根據(jù)本發(fā)明實施方式的用于記錄用戶行為的方法,通過響應用戶操作,調(diào)用所述預定函數(shù),記錄所述用戶的行為??梢苑奖憧旖莸膶崿F(xiàn)對用戶行為的記錄,用戶步驟記錄全面,通過對響應按鍵事件,記錄用戶的按鍵輸入;響應觸摸事件,記錄用戶的觸摸操作;響應屏幕旋轉(zhuǎn)事件,記錄用戶的屏幕旋轉(zhuǎn)事件;以及響應菜單選擇事件,記錄用戶的菜單選擇事件等事件的記錄,能夠記錄用戶在應用程序啟動后的所有操作,包括點擊,長按,拖動,文本輸入,手機按鍵,放大,縮小,頁面打開關(guān)閉,屏幕旋轉(zhuǎn)等。
圖3示意性地示出了根據(jù)本發(fā)明一示例性實施例的用于記錄用戶行為的方法的流程圖;圖3所示的方法可應用于圖1所示的實施方式中。
在本發(fā)明的又一實施例中,基于前述方案,響應用戶操作,調(diào)用預定函數(shù),記錄用戶的行為,包括:獲取用戶輸入數(shù)據(jù)??衫?,獲取用戶輸入數(shù)據(jù),包括:通過用戶的觸摸事件的相關(guān)信息獲取用戶輸入數(shù)據(jù)。還可例如,如圖3所示,通過用戶的觸摸事件的相關(guān)信息獲取用戶輸入數(shù)據(jù),包括如下過程:
如圖3所示,在S300中,獲取用戶的觸摸事件的相關(guān)信息,相關(guān)信 息包括坐標信息;可例如,在獲取用戶的觸摸事件時,獲取本次觸摸事件的相關(guān)信息,相關(guān)信息中可例如包括觸摸事件中觸摸的坐標信息,還可例如包括觸摸事件的時間信息、觸摸事件的持續(xù)時間等信息,本發(fā)明不以此為限。
在S310中,通過坐標信息判斷用戶的點擊的位置是否為文本輸入框的位置;在獲取到用戶的觸摸事件的相關(guān)信息后,可例如通過用戶點擊時的點擊點在屏幕上的坐標,進而計算出用戶所點擊的控件,并判斷用戶的點擊的位置是否為文本輸入框。如果用戶的點擊的位置為文本輸入框,則進入步驟S320。如果用戶的點擊的位置不為文本輸入框,則繼續(xù)記錄該用戶其他的操作。
在S320中,如果點擊的位置為文本輸入框的位置,則在文本輸入框中綁定記錄事件。通過綁定的記錄事件,可以記錄在該文本框中用戶輸入的內(nèi)容。綁定:將兩個不同的對象聯(lián)系在一起,一個對象內(nèi)容發(fā)生改變時另一個也會產(chǎn)生相應的改變。
圖4示意性地示出了根據(jù)本發(fā)明又一實施例的用于記錄用戶行為的方法的輸出結(jié)果;通過本發(fā)明的用于記錄用戶行為的方法對移動端應用進行處理,處理之后的輸出結(jié)果如圖4所示。
根據(jù)本發(fā)明實施方式的用于記錄用戶行為的方法,通過響應用戶操作,調(diào)用所述預定函數(shù),記錄所述用戶的行為??梢苑奖憧旖莸膶崿F(xiàn)對用戶行為的記錄,用戶步驟記錄全面,通過對響應按鍵事件,記錄用戶的按鍵輸入;集成方便,不用再手動在每個頁面替換相應的監(jiān)聽方法;影響小,集成本API(應用程序編程接口)之后對應用程序性能幾乎無影響。
示例性設備
在介紹了本發(fā)明示例性實施方式的方法之后,接下來,參考圖5~8對本發(fā)明示例性實施方式的、用于記錄用戶行為的系統(tǒng)做示例性說明。
圖5示意性地示出了根據(jù)本發(fā)明一實施例的用于記錄用戶行為的系統(tǒng)的框圖。如圖5所示,用于記錄用戶行為的系統(tǒng),包括:
啟動模塊400用于應用啟動時,將特定系統(tǒng)函數(shù)替換為重寫的預定函數(shù)。
記錄模塊410用于響應用戶操作,調(diào)用所述預定函數(shù),記錄所述用戶的行為。
根據(jù)本發(fā)明實施方式的用于記錄用戶行為的系統(tǒng),通過啟動模塊,在應用啟動時,將特定系統(tǒng)函數(shù)替換為重寫的預定函數(shù);以及記錄模塊,響應用戶操作,調(diào)用所述預定函數(shù),記錄所述用戶的行為??梢苑奖憧旖莸膶崿F(xiàn)對用戶行為的記錄,而無需該應用的開發(fā)人員針對的移動端的應用的每一個頁面,改寫應用代碼的內(nèi)容,從而顯著地降低了應用開發(fā)的時間,并且減少了由于應用記錄用戶行為而帶來的移動終端系統(tǒng)處理速度變慢等不良影響,為用戶帶來了更好的體驗。
圖6示意性地示出了根據(jù)本發(fā)明又一實施例的用于記錄用戶行為的系統(tǒng)的框圖;如圖6所示,用于記錄用戶行為的系統(tǒng),包括:
啟動模塊400,包括:
替換子模塊400A用于通過生命周期回調(diào)函數(shù)將所述特定系統(tǒng)函數(shù)替換為重寫的預定函數(shù)。
記錄模塊410包括:
按鍵輸入子模塊410A用于響應按鍵事件,記錄所述用戶的按鍵輸入。
觸摸事件子模塊410B用于響應觸摸事件,記錄所述用戶的觸摸事件。
屏幕旋轉(zhuǎn)子模塊410C用于響應屏幕旋轉(zhuǎn)事件,記錄所述用戶的屏幕旋轉(zhuǎn)事件。
菜單選擇子模塊410D用于響應菜單選擇事件,記錄所述用戶的菜單選擇事件。
數(shù)據(jù)輸入子模塊410E用于獲取用戶輸入數(shù)據(jù)。
重寫模塊420用于通過重寫所述系統(tǒng)函數(shù)獲得所述預定函數(shù)。
圖7示意性地示出了根據(jù)本發(fā)明再一實施例的用于記錄用戶行為的裝置的框圖;如圖7所示,用于記錄用戶行為的系統(tǒng)的數(shù)據(jù)輸入子模塊410E包括:
信息獲取子模塊410E1用于獲取所述用戶的觸摸事件的相關(guān)信息,所述相關(guān)信息包括坐標信息。
判斷子模塊410E3用于通過所述坐標信息判斷所述用戶的點擊的位置是否為文本輸入框的位置。
文本子模塊410E5用于如果所述點擊的位置為文本輸入框的位置,則在所述文本輸入框中綁定記錄事件。
圖8示意性地示出了根據(jù)本發(fā)明一實施例的移動終端的示意圖。
下面參照圖8來描述根據(jù)本發(fā)明的這種實施方式的移動終端80。圖8示意性示出本發(fā)明實施方式的移動終端的框圖,該移動終端80僅僅是一個示例,不應對本發(fā)明實施例的功能和使用范圍帶來任何限制。
如圖8所示,移動終端80以通用計算設備的形式表現(xiàn)。移動終端80的組件可以包括但不限于:上述至少一個處理單元801、上述至少一個存儲單元802、連接不同系統(tǒng)組件(包括存儲單元802和處理單元801)的總線803。
總線803表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲器總線或者存儲器控制器、外圍總線、圖形加速端口、處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。
存儲單元802可以包括易失性存儲器形式的可讀介質(zhì),例如隨機存取存儲器(RAM)8021和/或高速緩存存儲器8022,還可以進一步只讀存儲器(ROM)8023。
存儲單元802還可以包括具有一組(至少一個)程序模塊8024的程序/實用工具8025,這樣的程序模塊8024包括但不限于:操作系統(tǒng)、一個或者多個應用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個或某種組合中可能包括網(wǎng)絡環(huán)境的實現(xiàn)。
移動終端80也可以與一個或多個外部設備804(例如鍵盤、指向設備、藍牙設備等)通信,還可與一個或者多個能與移動終端80交互的設備通信,和/或該移動終端80能與一個或多個其它計算設備進行通信的任何設備(例如路由器、調(diào)制解調(diào)器等等)通信。這種通信可以通過輸 入/輸出(I/O)接口805進行。并且,移動終端80還可以通過網(wǎng)絡適配器806與一個或者多個網(wǎng)絡(例如局域網(wǎng)(LAN),廣域網(wǎng)(WAN)和/或公共網(wǎng)絡,例如因特網(wǎng))通信。如圖所示,網(wǎng)絡適配器806通過總線803與移動終端80的其它模塊通信。應當明白,盡管圖中未示出,可以結(jié)合移動終端80使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設備驅(qū)動器、冗余處理單元、外部磁盤驅(qū)動陣列、RAID系統(tǒng)、磁帶驅(qū)動器以及數(shù)據(jù)備份存儲系統(tǒng)等。
在一些可能的實施方式中,本發(fā)明的各個方面還可以實現(xiàn)為一種程序產(chǎn)品的形式,其包括程序代碼,當所述程序產(chǎn)品在終端設備上運行時,所述程序代碼用于使所述終端設備執(zhí)行本說明書上述“示例性方法”部分中描述的根據(jù)本發(fā)明各種示例性實施方式的用于記錄語音筆記的方法中的步驟,例如,所述終端設備可以執(zhí)行如圖1中所示的步驟S100,應用啟動時,將特定系統(tǒng)函數(shù)替換為重寫的預定函數(shù);S110,響應用戶操作,調(diào)用預定函數(shù),記錄用戶的行為。
所述程序產(chǎn)品可以采用一個或多個可讀介質(zhì)的任意組合??勺x介質(zhì)可以是可讀信號介質(zhì)或者可讀存儲介質(zhì)。可讀存儲介質(zhì)例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導體的系統(tǒng)、裝置或器件,或者任意以上的組合??勺x存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個或多個導線的電連接、便攜式盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPROM或閃存)、光纖、便攜式緊湊盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。
程序產(chǎn)品可以采用便攜式緊湊盤只讀存儲器(CD-ROM)并包括程序代碼,并可以在終端設備,例如個人電腦上運行。然而,本發(fā)明的程序產(chǎn)品不限于此,在本文件中,可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
可讀信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了可讀程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形 式,包括——但不限于——電磁信號、光信號或上述的任意合適的組合??勺x信號介質(zhì)還可以是可讀存儲介質(zhì)以外的任何可讀介質(zhì),該可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
可讀介質(zhì)上包含的程序代碼可以用任何適當?shù)慕橘|(zhì)傳輸,包括——但不限于——無線、有線、光纜、RF等等,或者上述的任意合適的組合。
可以以一種或多種程序設計語言的任意組合來編寫用于執(zhí)行本發(fā)明操作的程序代碼,所述程序設計語言包括面向?qū)ο蟮某绦蛟O計語言—諸如Java、C++等,還包括常規(guī)的過程式程序設計語言—諸如“C”語言或類似的程序設計語言。程序代碼可以完全地在用戶計算設備上執(zhí)行、部分地在用戶設備上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算設備上部分在遠程計算設備上執(zhí)行、或者完全在遠程計算設備或服務器上執(zhí)行。在涉及遠程計算設備的情形中,遠程計算設備可以通過任意種類的網(wǎng)絡——包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計算設備,或者,可以連接到外部計算設備(例如利用因特網(wǎng)服務提供商來通過因特網(wǎng)連接)。
應當注意,盡管在上文詳細描述中提及了移動設備的若干裝置或子裝置,但是這種劃分僅僅并非強制性的。實際上,根據(jù)本發(fā)明的實施方式,上文描述的兩個或更多裝置的特征和功能可以在一個裝置中具體化。反之,上文描述的一個裝置的特征和功能可以進一步劃分為由多個裝置來具體化。
此外,盡管在附圖中以特定順序描述了本發(fā)明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實現(xiàn)期望的結(jié)果。附加地或備選地,可以省略某些步驟,將多個步驟合并為一個步驟執(zhí)行,和/或?qū)⒁粋€步驟分解為多個步驟執(zhí)行。
雖然已經(jīng)參考若干具體實施方式描述了本發(fā)明的精神和原理,但是應該理解,本發(fā)明并不限于所公開的具體實施方式,對各方面的劃分 也不意味著這些方面中的特征不能組合以進行受益,這種劃分僅是為了表述的方便。本發(fā)明旨在涵蓋所附權(quán)利要求的精神和范圍內(nèi)所包括的各種修改和等同布置。