国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Android的習(xí)慣培養(yǎng)應(yīng)用的設(shè)計(jì)與實(shí)現(xiàn)*

2013-06-01 09:44陳岑沈奇威廖建新
關(guān)鍵詞:好友界面服務(wù)器

陳岑,沈奇威,廖建新

(1 北京郵電大學(xué)網(wǎng)絡(luò)與交換技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100876; 2 東信北郵信息技術(shù)有限公司,北京 100191)

基于Android的習(xí)慣培養(yǎng)應(yīng)用的設(shè)計(jì)與實(shí)現(xiàn)*

陳岑1,2,沈奇威1,2,廖建新1,2

(1 北京郵電大學(xué)網(wǎng)絡(luò)與交換技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100876; 2 東信北郵信息技術(shù)有限公司,北京 100191)

Android是以Linux為核心的手機(jī)操作平臺(tái),本文介紹了一款基于Android系統(tǒng)的名為 “習(xí)以為常”的習(xí)慣培養(yǎng)應(yīng)用的設(shè)計(jì)與開(kāi)發(fā),包括應(yīng)用的總體設(shè)計(jì)、模塊分析和關(guān)鍵技術(shù)點(diǎn)。此外,還結(jié)合了社交化和游戲化的思路來(lái)提高用戶粘度,并且對(duì)未來(lái)的設(shè)計(jì)與優(yōu)化進(jìn)行展望。

Android;習(xí)慣培養(yǎng);習(xí)以為常;游戲化

1 引言

近年來(lái),Google智能手機(jī)平臺(tái)Android得到了手機(jī)行業(yè)及客戶的普遍認(rèn)可[1],呈爆炸性的趨勢(shì)發(fā)展,為移動(dòng)運(yùn)營(yíng)商、手機(jī)制造商、軟件開(kāi)發(fā)商及客戶提供了無(wú)限的發(fā)展空間[2],使市場(chǎng)上不斷涌現(xiàn)出大量的基于Android平臺(tái)的軟件和增值服務(wù)。

目前市面上有不少習(xí)慣培養(yǎng)的網(wǎng)站,但是由于網(wǎng)站本身的局限性,不能讓用戶可以隨時(shí)隨地的記錄下自己習(xí)慣培養(yǎng)的過(guò)程。故由此角度出發(fā),利用手機(jī)的隨時(shí)、隨地、隨身的特性,開(kāi)發(fā)了一款名為“習(xí)以為常”的習(xí)慣培養(yǎng)的Android應(yīng)用,突破了碎片化的限制,應(yīng)用可以隨時(shí)提醒用戶進(jìn)行習(xí)慣簽到,用戶也可以隨時(shí)隨地記錄下自己的習(xí)慣培養(yǎng)過(guò)程。

2 總體設(shè)計(jì)及模塊分析

2.1 總體設(shè)計(jì)

這是一款意在幫助用戶堅(jiān)持培養(yǎng)好習(xí)慣的應(yīng)用,主要功能是為用戶推薦好習(xí)慣;用戶選擇希望堅(jiān)持的好習(xí)慣,并定制詳細(xì)的培養(yǎng)計(jì)劃;通過(guò)簽到的方式來(lái)記錄習(xí)慣培養(yǎng)的過(guò)程。為了鼓勵(lì)和督促用戶的堅(jiān)持,應(yīng)用引入了社交化和游戲化的思路。

總體結(jié)構(gòu)如圖1所示。按照功能劃分,應(yīng)用主要由服務(wù)器交互模塊、數(shù)據(jù)模塊、功能模塊和UI模塊這四大模塊組成。

服務(wù)器交互模塊負(fù)責(zé)檢查網(wǎng)絡(luò)環(huán)境以及與服務(wù)器端進(jìn)行數(shù)據(jù)的交互,包括數(shù)據(jù)信息的獲取以及上傳,例如獲取好友信息以及提交習(xí)慣簽到。

圖1 習(xí)以為常總體設(shè)計(jì)圖

數(shù)據(jù)模塊包括應(yīng)用中的SQLite數(shù)據(jù)庫(kù)、Preference存儲(chǔ)和文件存儲(chǔ)。數(shù)據(jù)模塊統(tǒng)一管理了應(yīng)用中的數(shù)據(jù)處理及緩存。

功能模塊包含了應(yīng)用的核心功能——用戶、習(xí)慣和簽到這3個(gè)主要功能的處理。

UI模塊則是面向用戶,獲取用戶的操作,并以友好的方式將用戶所需的信息呈現(xiàn)給用戶。

這四個(gè)模塊分工合作,完成了整個(gè)應(yīng)用的良好運(yùn)作。

2.2 模塊分析

2.2.1 服務(wù)器交互模塊

這個(gè)模塊主要是向其他模塊提供服務(wù)以及與服務(wù)器進(jìn)行交互。主要分為HTTP請(qǐng)求模塊和HTTP結(jié)果解析模塊。

HTTP是應(yīng)用層協(xié)議,用于分布式協(xié)作超媒體信息系統(tǒng),是一個(gè)客戶端和服務(wù)器端請(qǐng)求和應(yīng)答的標(biāo)準(zhǔn)。HTTP被廣泛地運(yùn)用于移動(dòng)終端與服務(wù)器端的交互,它是一個(gè)基于“請(qǐng)求-響應(yīng)”模式的協(xié)議,一個(gè)客戶機(jī)與服務(wù)器建立連接后,發(fā)送一個(gè)請(qǐng)求給服務(wù)器。服務(wù)器接到請(qǐng)求后,給予相應(yīng)的響應(yīng)信息[3]。

HTTP請(qǐng)求模塊統(tǒng)一封裝了應(yīng)用與服務(wù)器交互的接口,使得其他模塊可以方便快捷地向服務(wù)器發(fā)起請(qǐng)求獲取數(shù)據(jù),而不用考慮細(xì)節(jié)。請(qǐng)求的方式包括GET和POST兩種。

HTTP結(jié)果解析模塊采用的是輕量級(jí)的數(shù)據(jù)傳輸格式JSON,載荷高、易于通過(guò)編碼進(jìn)行解析的特點(diǎn)使其非常適合移動(dòng)互聯(lián)網(wǎng)領(lǐng)域的數(shù)據(jù)傳輸。解析模塊根據(jù)獲取的結(jié)果類型,將結(jié)果封裝到對(duì)應(yīng)的對(duì)象結(jié)構(gòu)中,方便其他模塊的調(diào)用使用。例如,請(qǐng)求獲取習(xí)慣庫(kù)信息后,將得到的習(xí)慣信息解析封裝到習(xí)慣對(duì)象中。

2.2.2 數(shù)據(jù)模塊

數(shù)據(jù)模塊對(duì)應(yīng)的正是Android手機(jī)應(yīng)用中數(shù)據(jù)存儲(chǔ)的3種主要方式,即SQLite數(shù)據(jù)庫(kù)、Preference存儲(chǔ)和文件存儲(chǔ)[4]。該模塊的數(shù)據(jù)來(lái)源主要是服務(wù)器交互模塊提供的服務(wù)器數(shù)據(jù)以及本地的緩存數(shù)據(jù),數(shù)據(jù)處理后則提供給功能模塊進(jìn)行下一步操作。

(1) SQLite數(shù)據(jù)庫(kù)

Android中通過(guò)SQLite數(shù)據(jù)庫(kù)引擎來(lái)實(shí)現(xiàn)結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ), 從而可以高效的存儲(chǔ)獲取信息[5]。在本應(yīng)用中,將用戶信息以及消息信息存儲(chǔ)在SQLite中,便于啟動(dòng)時(shí)快速的獲取用戶信息實(shí)現(xiàn)自動(dòng)登錄,以及及時(shí)呈現(xiàn)消息列表。

(2)Preference存儲(chǔ)

Preference提供了一種輕量級(jí)的數(shù)據(jù)存儲(chǔ)方式,應(yīng)用場(chǎng)合主要是數(shù)據(jù)比較少、單一的配置信息。它以“鍵-值”對(duì)的方式將數(shù)據(jù)保存在一個(gè)XML配置文件中[6]。應(yīng)用中對(duì)Preferences的存取方式進(jìn)行了封裝,優(yōu)化了整體的代碼架構(gòu)。

該存儲(chǔ)方式主要應(yīng)用于記錄用戶的設(shè)置選擇以及操作習(xí)慣,例如記錄用戶是否選擇將習(xí)慣的簽到信息分享至新浪微博,之后再簽到的時(shí)候就會(huì)默認(rèn)呈現(xiàn)用戶之前的選擇,為用戶提供更好的使用體驗(yàn)。

(3)文件存儲(chǔ)

除了SQLite數(shù)據(jù)庫(kù)和Preference存儲(chǔ)這兩種方式存儲(chǔ)之外,文件存儲(chǔ)也是Android平臺(tái)重要的存儲(chǔ)方式。文件存儲(chǔ)方式適用于文本文件、PDF文件、音視頻文件和圖片等。應(yīng)用中的圖像以及習(xí)慣、簽到等信息由于數(shù)據(jù)較大,所以采用文件存儲(chǔ)的方式進(jìn)行緩存。

這些信息的緩存可以大大節(jié)約用戶的流量損耗,并且縮短信息呈現(xiàn)至用戶的耗時(shí),大大優(yōu)化了用戶體驗(yàn)。同時(shí)考慮到長(zhǎng)時(shí)間緩存造成的耗費(fèi)空間的問(wèn)題,我們也在應(yīng)用中為用戶提供清除緩存的功能,用戶可以根據(jù)自己的需要選擇性的刪除緩存。

2.2.3 功能模塊

這是應(yīng)用的核心模塊,包含了最主要的功能,以及相關(guān)的處理流程和處理邏輯。該模塊從UI模塊獲取用戶的需求,從數(shù)據(jù)模塊中獲取相應(yīng)的數(shù)據(jù),再返回給UI模塊呈現(xiàn)給用戶。該模塊主要?jiǎng)澐譃楹灥?、?xí)慣、用戶模塊。

(1)習(xí)慣模塊

該模塊提供了如下功能:系統(tǒng)習(xí)慣庫(kù)的查看、用戶習(xí)慣的新建或者加入、自己或者其他用戶的習(xí)慣查看、習(xí)慣修改等功能。

通過(guò)數(shù)據(jù)統(tǒng)計(jì)與分析,我們?yōu)橛脩敉扑]了一些優(yōu)質(zhì)的習(xí)慣,包括學(xué)習(xí)、養(yǎng)生、工作、運(yùn)動(dòng)和其他這5大分類,用戶可以看到每個(gè)習(xí)慣的概況以及正在堅(jiān)持該習(xí)慣的其他用戶的動(dòng)態(tài)。此外,用戶還可以根據(jù)自己的需求創(chuàng)建新的習(xí)慣。

如圖2所示,用戶在加入習(xí)慣時(shí),需要設(shè)定每一個(gè)習(xí)慣的詳細(xì)目標(biāo)、每周計(jì)劃的完成次數(shù)以及可見(jiàn)權(quán)限,成功加入習(xí)慣之后,應(yīng)用還會(huì)推薦用戶設(shè)置提醒鬧鐘以及邀請(qǐng)好友一起來(lái)培養(yǎng)這個(gè)習(xí)慣。

如圖3所示,用戶正在堅(jiān)持的習(xí)慣不僅僅展示了上述信息,還包括當(dāng)前進(jìn)度的展示、每周完成的情況等詳細(xì)數(shù)據(jù),讓用戶從多角度對(duì)自己的進(jìn)度進(jìn)行評(píng)估。

圖2 習(xí)慣定制界面

圖3 用戶習(xí)慣列表界面

(2)簽到模塊

該模塊提供如下功能:對(duì)習(xí)慣的簽到、簽到詳情的呈現(xiàn)、多種簽到流的呈現(xiàn)以及對(duì)簽到的鼓勵(lì)及評(píng)論等。

如圖4所示,應(yīng)用中為習(xí)慣的每一次簽到提供了多種類型的可選信息,包括文字、圖片、是否保存地址、是否發(fā)送至新浪微博、是否@好友這些內(nèi)容。用戶可以根據(jù)自己的需求進(jìn)行選擇,讓用戶可以全面的記錄下自己每一次的習(xí)慣簽到。

如圖5所示,應(yīng)用中以信息流的形式來(lái)呈現(xiàn)簽到信息,類型包括了熱門動(dòng)態(tài)、最新動(dòng)態(tài)、好友動(dòng)態(tài)、某個(gè)習(xí)慣下參與者的動(dòng)態(tài)等,讓用戶可以多維度的查看簽到信息。此外,用戶還可以對(duì)每條簽到進(jìn)行鼓勵(lì)和評(píng)論。

圖4 習(xí)慣簽到界面

圖5 簽到動(dòng)態(tài)界面

(3)用戶模塊

該模塊提供了如下功能:優(yōu)質(zhì)用戶及微博好友的推薦、用戶的交互等功能。

應(yīng)用引入了新浪微博的用戶信息,讓用戶可以在應(yīng)用內(nèi)便捷的與新浪微博好友進(jìn)行互動(dòng),同時(shí)好友間的互動(dòng)行為,例如評(píng)論、鼓勵(lì)和提醒簽到,也是對(duì)用戶堅(jiān)持習(xí)慣的一個(gè)督促。

2.2.4 UI模塊

該模塊是與用戶直接交互的部分,總體框架采用左側(cè)抽屜拉出的方式來(lái)組織菜單結(jié)構(gòu),并在首頁(yè)中嵌套基于Tab的菜單結(jié)構(gòu),這種結(jié)構(gòu)可以讓用戶很便捷的點(diǎn)取最重要的功能,同時(shí)將比較次要的功能隱藏在左側(cè)抽屜中,不占主要內(nèi)容的呈現(xiàn)空間。

3 關(guān)鍵技術(shù)點(diǎn)

3.1 圖像緩存機(jī)制

Android主要應(yīng)用在嵌入式設(shè)備當(dāng)中,而嵌入式設(shè)備由于一些條件限制,通常都不會(huì)有很高的配置,特別是內(nèi)存是比較有限。

在應(yīng)用中會(huì)需要呈現(xiàn)大量的圖片,圖片獲取的機(jī)制是首先判斷是否已經(jīng)緩存在內(nèi)存中,如果內(nèi)存中沒(méi)有,再去SD中讀取,如果兩者都沒(méi)有則從網(wǎng)上采取異步的方式獲取。

在應(yīng)用中使用SoftReference<Bitmap>軟存儲(chǔ)機(jī)制來(lái)對(duì)圖片進(jìn)行統(tǒng)一管理。SoftReference即對(duì)象的軟引用。如果一個(gè)對(duì)象具有軟引用,內(nèi)存空間足夠,垃圾回收器就不會(huì)回收它;如果內(nèi)存空間不足了,就會(huì)回收這些對(duì)象的內(nèi)存。只要垃圾回收器沒(méi)有回收它,該對(duì)象就可以被程序使用。軟引用可用來(lái)實(shí)現(xiàn)內(nèi)存敏感的高速緩存。使用軟引用能防止內(nèi)存泄露,增強(qiáng)程序的健壯性。

3.2 Fragment實(shí)現(xiàn)代碼復(fù)用

在應(yīng)用中,每個(gè)界面會(huì)根據(jù)當(dāng)前的需求,對(duì)習(xí)慣、簽到、用戶模塊進(jìn)行組合呈現(xiàn),而每個(gè)模塊都會(huì)根據(jù)不同的參數(shù)設(shè)置,有不同的具體呈現(xiàn)。在這里我們引入了設(shè)計(jì)模式中的策略模式,并通過(guò) Android中的Fragment類來(lái)實(shí)現(xiàn)這個(gè)功能。Fragment是Android honeycomb 3.0新增的概念,與Activity類十分相似,但是可以在Activity類中復(fù)用不同的Fragment類,這樣實(shí)現(xiàn)了界面和功能的復(fù)用,可以快速拓展新功能和迭代新版本。

例如,在圖6中,習(xí)慣列表HabitsFragment、簽到動(dòng)態(tài)ChecksFragment和好友列表UsersFragment組成了個(gè)人信息界面PersonActivity。而在圖7中,使用詳細(xì)進(jìn)度CalendarFragment和簽到動(dòng)態(tài)ChecksFragment又可以組成習(xí)慣詳情界面HabitActivity。

圖6 個(gè)人信息界面

圖7 習(xí)慣詳情界面

4 游戲化的功能設(shè)計(jì)思路

本節(jié)將從游戲激勵(lì)大腦的幾種方式入手[7],介紹應(yīng)用中功能的設(shè)計(jì)。

4.1 用經(jīng)驗(yàn)值條來(lái)度量進(jìn)程

網(wǎng)絡(luò)游戲中會(huì)經(jīng)??吹綄⑼婕抑鸺?jí)分級(jí),以進(jìn)度條的方式呈現(xiàn)玩家的成長(zhǎng),玩家在不斷肯定自我的過(guò)程中有更大的前進(jìn)動(dòng)力。借鑒這個(gè)思路,我們記錄用戶在每一個(gè)習(xí)慣培養(yǎng)中的進(jìn)度,包括總進(jìn)度和每周進(jìn)度,并通過(guò)數(shù)字以及進(jìn)度條的方式將這些信息最直觀的呈現(xiàn)給用戶,讓用戶清晰的了解到自己當(dāng)前的狀況,激勵(lì)用戶更好的去堅(jiān)持培養(yǎng)習(xí)慣。

4.2 把任務(wù)分割成可計(jì)量的短期和長(zhǎng)期目標(biāo)

游戲中經(jīng)常把目標(biāo)分成很多小任務(wù),讓用戶可以較為簡(jiǎn)單的完成這些小任務(wù),逐步達(dá)到最后的目標(biāo)。借鑒該思路,我們將每個(gè)習(xí)慣劃分為培養(yǎng)、鞏固和完成階段,讓用戶從一開(kāi)始就對(duì)總體有清晰的了解;同時(shí)我們還將階段繼續(xù)細(xì)分,以周為單位對(duì)用戶的簽到進(jìn)行統(tǒng)計(jì)總結(jié),從而在每個(gè)階段也都有更為詳細(xì)的短期目標(biāo)。

4.3 獎(jiǎng)勵(lì)成就

在游戲中,每達(dá)到一個(gè)小目標(biāo),你就會(huì)得到獎(jiǎng)勵(lì)。每一個(gè)小小的獎(jiǎng)勵(lì)都能最大化地滿足人們的自尊心。所以我們?cè)趹?yīng)用中,鼓勵(lì)用戶去鼓勵(lì)和評(píng)論好友的簽到,鼓勵(lì)可以加強(qiáng)被鼓勵(lì)用戶的信心,而評(píng)論加強(qiáng)了用戶間的交流,你可以由此找尋到志同道合的伙伴。

4.4 及時(shí)的反饋

在網(wǎng)絡(luò)游戲中當(dāng)你完成一個(gè)任務(wù)、學(xué)習(xí)到一種新的技能時(shí),你能馬上去施展這項(xiàng)技能,這種反饋?zhàn)屓藗兏哟_信獎(jiǎng)勵(lì)。如果行動(dòng)和結(jié)果的時(shí)間跨度很大,那么是比較難意識(shí)到這兩者之間的關(guān)系,所以及時(shí)的反饋是非常的重要。

4.5 合作和集體的歸屬感

最最刺激大腦的關(guān)鍵因素其實(shí)來(lái)自于其他人。與他人合作,產(chǎn)生的集體歸屬感讓用戶對(duì)游戲產(chǎn)生更深的依賴。所以在該應(yīng)用中,我們引入了社交化,通過(guò)導(dǎo)入用戶的新浪微博好友,通過(guò)豐富的交互手段,如鼓勵(lì)用戶邀請(qǐng)好友一起培養(yǎng)習(xí)慣,或者結(jié)實(shí)培養(yǎng)相同習(xí)慣的好友等等,實(shí)現(xiàn)用戶間的彼此鼓勵(lì)與監(jiān)督,共同進(jìn)步。

5 未來(lái)展望

該應(yīng)用目前主要是借鑒了游戲化的一些思路,未來(lái)可以考慮將游戲化直接融入到應(yīng)用中,來(lái)增加應(yīng)用的趣味性以及用戶黏度,從此角度我們提出了“植物養(yǎng)成”的游戲模式。

在應(yīng)用中,每一個(gè)習(xí)慣培養(yǎng),都將得到一顆植物種子,通過(guò)不斷的簽到,植物會(huì)逐次經(jīng)歷發(fā)芽——生長(zhǎng)——花苞——開(kāi)花的生長(zhǎng)過(guò)程,至于每一個(gè)習(xí)慣對(duì)應(yīng)的花朵,需要用戶成功培養(yǎng)該習(xí)慣之后才能看到,這樣增加了用戶的好奇心,增加了用戶堅(jiān)持習(xí)慣的動(dòng)力。同時(shí)結(jié)合本應(yīng)用的社交功能,也為用戶提供相互澆水、施肥的功能,鼓勵(lì)用戶一起培養(yǎng)植物。這種游戲模式與習(xí)慣培養(yǎng)緊密的結(jié)合,相信會(huì)對(duì)用戶有一定的激勵(lì)作用。

[1] 王希貝. Android開(kāi)源手機(jī)與知識(shí)產(chǎn)權(quán)保護(hù)淺析[J]. 中國(guó)發(fā)明與專利, 2010,(11):68—69.

[2] 賈理華,樂(lè)燕芬,施偉斌.基于Android平臺(tái)簡(jiǎn)易即時(shí)通訊的研究與設(shè)計(jì)[J]. 常州工學(xué)院學(xué)報(bào), 2010,(4):51-53.

[3] Krishnarnurthy B, gexford J. Web協(xié)議與實(shí)踐[M]. 北京:科學(xué)出版社, 2005.

[4] 黃佳星, 王晶, 沈奇威. 基于Android的移動(dòng)互聯(lián)網(wǎng)應(yīng)用框架方案[J], 電信工程技術(shù)與標(biāo)準(zhǔn)化, 2012,25(8)77-80.

[5] http://www.ibm.com/developerworks/cn/opensource/os-cn-sqlfte/.

[6] 郭宏志. Android應(yīng)用開(kāi)發(fā)詳解[M]. 北京:電子工業(yè)出版社,2010.

[7] http://v.163.com/movie/2010/11/M/4/M78DCK15U_ M78DCO0M4.html.

Design and implementation of a habit develop software based on Android platform

CHEN Cen1,2, SHEN Qi-wei1,2, LIAO Jian-xin1,2
(1 State Key Laboratory of Networking and Switching Technology, Beijing University of Posts and Telecommunications, Beijing 100876,China; 2 EBUPT Information Technology Co., Ltd., Beijing 100191, China)

Android is a mobile operating platform based on Linux.This paper introduced the general design, module analysis and the key technologies of design and develop a habit develop application under Android platform. In addition, a combination of socializing and game-oriented ideas to improve the user viscosity, and the functional design of the future prospects do.

Android; habit; just hold on; gamif i cation

TN929.5

A

1008-5599(2013)09-0081-05

2013-08-28

國(guó)家 973 計(jì)劃項(xiàng)目(No. 2013CB329102);國(guó)家自然科學(xué)基金資助項(xiàng)目(No. 61372120, 61271019, 61101119, 61121001, 61072057,60902051);長(zhǎng)江學(xué)者和創(chuàng)新團(tuán)隊(duì)發(fā)展計(jì)劃資助(No. IRT1049)。

猜你喜歡
好友界面服務(wù)器
國(guó)企黨委前置研究的“四個(gè)界面”
通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
屬羊
基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開(kāi)發(fā)方法研究
刪除好友
中國(guó)服務(wù)器市場(chǎng)份額出爐
人機(jī)交互界面發(fā)展趨勢(shì)研究
得形忘意的服務(wù)器標(biāo)準(zhǔn)
計(jì)算機(jī)網(wǎng)絡(luò)安全服務(wù)器入侵與防御
手機(jī)界面中圖形符號(hào)的發(fā)展趨向