本申請涉及通信技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)獲取方法和裝置。
背景技術(shù):
移動(dòng)設(shè)備上的大部分應(yīng)用(Application),在啟動(dòng)時(shí)會(huì)通過網(wǎng)絡(luò)向服務(wù)器請求閃屏廣告數(shù)據(jù)并展示給用戶。閃屏廣告數(shù)據(jù)需要不定期的更新,該閃屏廣告數(shù)據(jù)需要在客戶端做到最大程度的實(shí)時(shí)、準(zhǔn)確的展示給用戶。但是在用戶啟動(dòng)應(yīng)用如此短暫的時(shí)間內(nèi),往往因?yàn)榫W(wǎng)絡(luò)延遲或者數(shù)據(jù)量過大等原因造成閃屏廣告數(shù)據(jù)無法返回,用戶需要等待一段時(shí)間。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,為解決相關(guān)技術(shù)中的問題,本申請?zhí)峁┮环N數(shù)據(jù)獲取方法及裝置。
根據(jù)本申請實(shí)施例的第一方面,提供一種數(shù)據(jù)獲取方法,該方法包括步驟:
接收到用戶的應(yīng)用啟動(dòng)指令時(shí),檢測所述應(yīng)用所在設(shè)備是否存儲(chǔ)有目標(biāo)數(shù)據(jù);
如果有,則讀取所述目標(biāo)數(shù)據(jù),基于所述目標(biāo)數(shù)據(jù)更新所述應(yīng)用的界面;所述目標(biāo)數(shù)據(jù)為接收到用戶的應(yīng)用啟動(dòng)指令之前,向服務(wù)器請求并存儲(chǔ)于所述應(yīng)用所在設(shè)備的目標(biāo)數(shù)據(jù)。
根據(jù)本申請實(shí)施例的第二方面,提供一種數(shù)據(jù)獲取裝置,包括:
數(shù)據(jù)請求模塊,被配置為在接收到用戶的應(yīng)用啟動(dòng)指令之前,向服務(wù)器請求目標(biāo)數(shù)據(jù);
數(shù)據(jù)存儲(chǔ)模塊,被配置為存儲(chǔ)服務(wù)器返回的目標(biāo)數(shù)據(jù);
數(shù)據(jù)檢測模塊,被配置為在接收到用戶的應(yīng)用啟動(dòng)指令時(shí),檢測數(shù)據(jù)存儲(chǔ)模塊是否存儲(chǔ)有目標(biāo)數(shù)據(jù);
數(shù)據(jù)讀取更新模塊,被配置為如果檢測到數(shù)據(jù)存儲(chǔ)模塊存儲(chǔ)有目標(biāo)數(shù)據(jù),則讀取所述目標(biāo)數(shù)據(jù),基于所述目標(biāo)數(shù)據(jù)更新所述應(yīng)用的界面。
本申請的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
本申請中,并非是在應(yīng)用啟動(dòng)時(shí)才連接網(wǎng)絡(luò)向服務(wù)器請求數(shù)據(jù),而是在應(yīng)用啟動(dòng)之前就向服務(wù)器請求并存儲(chǔ)數(shù)據(jù)到應(yīng)用所在設(shè)備,應(yīng)用接收到用戶的啟動(dòng)指令時(shí),可以直接從應(yīng)用所在設(shè)備獲取數(shù)據(jù),保證了數(shù)據(jù)獲取的實(shí)時(shí)性。
附圖說明
圖1a為本申請實(shí)施例中一應(yīng)用環(huán)境的網(wǎng)絡(luò)圖。
圖1b為閃頻廣告展示示意圖。
圖2a為本申請實(shí)施例中一種數(shù)據(jù)獲取方法的部分流程圖。
圖2b為本申請實(shí)施例中一種向服務(wù)器請求目標(biāo)數(shù)據(jù)并存儲(chǔ)于應(yīng)用所在設(shè)備的方法的流程圖。
圖2c為本申請實(shí)施例中設(shè)置應(yīng)用被IOS系統(tǒng)喚醒的方法流程圖。
圖2d為本申請實(shí)施例中另一種向服務(wù)器請求目標(biāo)數(shù)據(jù)并存儲(chǔ)于應(yīng)用所在設(shè)備的方法的流程圖。
圖2e為本申請實(shí)施例中另一種數(shù)據(jù)獲取方法的部分流程。
圖2f為本申請實(shí)施例中一種數(shù)據(jù)獲取方法的流程圖。
圖3為本申請實(shí)施例中一種數(shù)據(jù)獲取裝置的框圖。
圖4為本申請實(shí)施例中另一種數(shù)據(jù)獲取裝置的框圖。
具體實(shí)施方式
這里將詳細(xì)地對示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本申請相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
在本申請使用的術(shù)語是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本申請。在本申請和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指并包含一個(gè)或多個(gè)相關(guān)聯(lián)的列出項(xiàng)目的任何或所有可能組合。
應(yīng)當(dāng)理解,盡管在本申請可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”。
圖1a是一種網(wǎng)絡(luò)示意圖。移動(dòng)設(shè)備100通過網(wǎng)絡(luò)110與服務(wù)器120連接,移動(dòng)設(shè)備100具有操作系統(tǒng)。移動(dòng)設(shè)備100上可以安裝應(yīng)用(Application,APP),比如社交APP(YY、QQ)、音頻播放APP(酷我、酷狗)、視頻播放APP(暴風(fēng)影音、騰訊視頻)。對于某些APP,用戶在啟動(dòng)APP后需要獲取一些具有實(shí)時(shí)性的數(shù)據(jù),比如閃屏廣告數(shù)據(jù),以向用戶推廣即將上映的電影、新發(fā)行的歌曲、某網(wǎng)站優(yōu)惠活動(dòng)、節(jié)日祝福等,圖1b為用戶啟動(dòng)手機(jī)上某一應(yīng)用時(shí)展現(xiàn)的中秋祝福的閃屏廣告數(shù)據(jù)。但是這類需要實(shí)時(shí)性的數(shù)據(jù)現(xiàn)有的處理方式是在用戶啟動(dòng)應(yīng)用后,再通過網(wǎng)絡(luò)從服務(wù)器獲得更新的數(shù)據(jù),這往往會(huì)因?yàn)榫W(wǎng)絡(luò)延遲或者數(shù)據(jù)量過大造成用戶需要有一段等待的時(shí)間,導(dǎo)致數(shù)據(jù)傳輸?shù)难舆t,影響用戶使用應(yīng)用的體驗(yàn)。
本申請實(shí)施例所提供的技術(shù)方案可以解決這一技術(shù)問題。與傳統(tǒng)方法中的打開應(yīng)用后再連接網(wǎng)絡(luò)向服務(wù)器請求數(shù)據(jù)的方法不同,本申請采用預(yù)先加載的方式,在應(yīng)用收到用戶的啟動(dòng)指令之前,就向服務(wù)器請求并存儲(chǔ)數(shù)據(jù)于應(yīng)用所在設(shè)備,在應(yīng)用收到用戶的啟動(dòng)指令時(shí),直接從應(yīng)用所在設(shè)備獲取數(shù)據(jù),從而提高了數(shù)據(jù)獲取的實(shí)時(shí)性。接下來對本申請進(jìn)行詳細(xì)說明。
如圖2a所示,圖2a是本申請一示例性實(shí)施例示出的一種數(shù)據(jù)獲取方法的部分流程圖,可以用在移動(dòng)設(shè)備上,包括以下步驟S201至S202:
在步驟S201中,接收到用戶的應(yīng)用啟動(dòng)指令時(shí),檢測所述應(yīng)用所在設(shè)備是否存儲(chǔ)有目標(biāo)數(shù)據(jù)。
在步驟S202中,如果有,則讀取所述目標(biāo)數(shù)據(jù),基于所述目標(biāo)數(shù)據(jù)更新所述應(yīng)用的界面;所述目標(biāo)數(shù)據(jù)為接收到用戶的應(yīng)用啟動(dòng)指令之前,向服務(wù)器請求并存儲(chǔ)于所述應(yīng)用所在設(shè)備的目標(biāo)數(shù)據(jù)。
其中,移動(dòng)設(shè)備可以是智能手機(jī)、平板電腦、音樂播放器、電子書閱讀器或個(gè)人數(shù)字助理等移動(dòng)平臺(tái),且該移動(dòng)設(shè)備具有操作系統(tǒng),操作系統(tǒng)可以是Android系統(tǒng)或IOS系統(tǒng)。
在本申請中,目標(biāo)數(shù)據(jù)可以是服務(wù)器提供的具有實(shí)時(shí)性的數(shù)據(jù),作為一個(gè)例子目標(biāo)數(shù)據(jù)可以是閃屏廣告數(shù)據(jù)。閃屏廣告是指在用戶啟動(dòng)應(yīng)用(比如騰訊新聞APP、天天快報(bào)APP)時(shí)加載,展示時(shí)間固定(比如5秒),廣告可點(diǎn)擊,支持定向投放,展示完畢后自動(dòng)關(guān)閉并進(jìn)入應(yīng)用主頁面的一種廣告形式。閃屏廣告數(shù)據(jù)由應(yīng)用對應(yīng)的服務(wù)器提供,一般一個(gè)應(yīng)用對應(yīng)一個(gè)服務(wù)器,如果一個(gè)服務(wù)器同時(shí)為多個(gè)應(yīng)用提供閃屏廣告數(shù)據(jù),則由服務(wù)器區(qū)分閃屏廣告數(shù)據(jù)對應(yīng)的應(yīng)用。閃屏廣告數(shù)據(jù)還要求一定的實(shí)時(shí)性,要求用戶在打開應(yīng)用的第一時(shí)間就能看到,但是往往會(huì)由于網(wǎng)絡(luò)延遲或者數(shù)據(jù)量過大造成用戶需要有一段等待的時(shí)間。本申請?zhí)峁┑膶?shí)施例可以有效提高數(shù)據(jù)獲取的實(shí)時(shí)性。
在本申請中,應(yīng)用向服務(wù)器請求目標(biāo)數(shù)據(jù)并將所述目標(biāo)數(shù)據(jù)存儲(chǔ)于應(yīng)用所在設(shè)備的實(shí)現(xiàn)方式有多種可能,例如,可以通過將處于休眠狀態(tài)的應(yīng)用喚醒,并執(zhí)行獲取和存儲(chǔ)數(shù)據(jù)的過程,此過程可以參考圖2b中的步驟S201b至S203b:
在步驟S201b中,所述應(yīng)用處于休眠狀態(tài)時(shí),每隔第一預(yù)設(shè)時(shí)間間隔被喚醒后,向服務(wù)器發(fā)出請求,請求服務(wù)器的目標(biāo)數(shù)據(jù)。
在步驟S202b中,如果服務(wù)器返回目標(biāo)數(shù)據(jù),則所述應(yīng)用在將收到的目標(biāo)數(shù)據(jù)存儲(chǔ)于所述應(yīng)用所在設(shè)備后,回到休眠狀態(tài)。
在步驟S203b中,如果服務(wù)器未返回目標(biāo)數(shù)據(jù),則所述應(yīng)用回到休眠狀態(tài)。
在一個(gè)實(shí)施例中,圖2b所描述的用來喚醒應(yīng)用的可以是系統(tǒng),該系統(tǒng)可以是IOS系統(tǒng),但并不排除其他類型的操作系統(tǒng)。通過IOS系統(tǒng)喚醒應(yīng)用的過程可以參考以下描述:
在IOS系統(tǒng)中,Apple(蘋果)官方為開發(fā)者提供了兩個(gè)可以在后臺(tái)更新應(yīng)用程序界面和內(nèi)容的API(Application Programming Interface,應(yīng)用程序編程接口)。其中一個(gè)API是后臺(tái)獲取(Background Fetch),該API允許開發(fā)者在一個(gè)周期間隔后進(jìn)行特定的動(dòng)作,比如獲取數(shù)據(jù)、更新程序界面等等。開發(fā)者利用該API為程序配置后臺(tái)模式,設(shè)定獲取時(shí)間間隔,就可以使應(yīng)用程序在預(yù)設(shè)時(shí)間間隔到達(dá)后被系統(tǒng)喚醒,從而應(yīng)用可以在后臺(tái)完成請求和存儲(chǔ)數(shù)據(jù)。
在IOS系統(tǒng)中,利用IOS系統(tǒng)提供的后臺(tái)獲取(Background fetch)技術(shù)實(shí)現(xiàn)應(yīng)用被喚醒的操作,可參考圖2c,包括以下步驟,S201c至S202c:
在步驟S201c中,利用Background fetch技術(shù)預(yù)先為程序配置后臺(tái)模式。具體如下:
打開蘋果的IDE X CODE,創(chuàng)建一個(gè)新項(xiàng)目;
打開Capabilities頁面下的Background Modes選項(xiàng),并勾選Background fetch選項(xiàng)。
在步驟S202c中,通過對應(yīng)用的UIApplication實(shí)例進(jìn)行設(shè)置完成第一預(yù)設(shè)時(shí)間間隔的設(shè)置。一般在應(yīng)用啟動(dòng)的時(shí)候調(diào)用以下代碼:
[[UIApplication sharedApplication]
setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];
通過該接口應(yīng)用可以設(shè)置請求目標(biāo)數(shù)據(jù)的最小時(shí)間間隔,將此最小時(shí)間間隔作為第一時(shí)間間隔。第一時(shí)間間隔可以根據(jù)目標(biāo)數(shù)據(jù)的更新頻率來確定,如果目標(biāo)數(shù)據(jù)更新頻率較快,最小時(shí)間間隔可以比較小,比如可以是1小時(shí)或0.5小時(shí);如果目標(biāo)數(shù)據(jù)更新頻率較慢,最小時(shí)間間隔可以比較大,比如1天或者0.5天。
某些例子中,按照第一預(yù)設(shè)時(shí)間間隔獲取目標(biāo)數(shù)據(jù),還可以考慮其他一些前提因素,比如移動(dòng)設(shè)備用電情況、所處網(wǎng)絡(luò)環(huán)境等,可以根據(jù)這些因素來確定在第一預(yù)設(shè)時(shí)間間隔到達(dá)時(shí)是否喚醒應(yīng)用。如果電量過低或者網(wǎng)絡(luò)狀況不好,就不喚醒應(yīng)用;如果電量充足或者網(wǎng)絡(luò)狀況良好,就按照第一預(yù)設(shè)時(shí)間間隔進(jìn)行預(yù)設(shè)操作。
完成以上兩步后,就可以實(shí)現(xiàn)喚醒應(yīng)用的操作,應(yīng)用被喚醒后,執(zhí)行獲取和存儲(chǔ)數(shù)據(jù)的過程,存儲(chǔ)數(shù)據(jù)結(jié)束后,可以通知系統(tǒng)獲取結(jié)束,以便使應(yīng)用盡快回到休眠狀態(tài),節(jié)約資源(步驟S202b)。如果請求數(shù)據(jù)失敗,服務(wù)器未返回目標(biāo)數(shù)據(jù)(比如服務(wù)器未接收到請求或者服務(wù)器未返回目標(biāo)數(shù)據(jù)或者應(yīng)用未收到服務(wù)器返回的目標(biāo)數(shù)據(jù)等),也可以通知系統(tǒng)獲取結(jié)束,使應(yīng)用回到休眠狀態(tài)(步驟S203b)。作為一個(gè)例子,可以在請求數(shù)據(jù)失敗1分鐘后使應(yīng)用回到休眠狀態(tài)。
某些例子中,所述向服務(wù)器請求目標(biāo)數(shù)據(jù)并存儲(chǔ)于應(yīng)用所在設(shè)備的實(shí)現(xiàn)方式還可參考圖2d中的步驟S201d至S202d:
在步驟S201d中,與所述應(yīng)用對應(yīng)的常駐內(nèi)存服務(wù),每隔第二預(yù)設(shè)時(shí)間間隔向服務(wù)器發(fā)出請求,請求服務(wù)器的目標(biāo)數(shù)據(jù);所述常駐內(nèi)存服務(wù)在接到用戶的應(yīng)用啟動(dòng)指令之前完成注冊。
在步驟S202d中,所述常駐內(nèi)存服務(wù)在收到服務(wù)器返回的目標(biāo)數(shù)據(jù)后,將收到的目標(biāo)數(shù)據(jù)存儲(chǔ)于所述應(yīng)用所在設(shè)備。
圖2d中的系統(tǒng)可以以Android系統(tǒng)為例,Android系統(tǒng)為開發(fā)者提供了服務(wù)常駐內(nèi)存技術(shù),可以通過該技術(shù)為應(yīng)用創(chuàng)建對應(yīng)的常駐內(nèi)存服務(wù),這樣即使應(yīng)用的進(jìn)程退出時(shí),該常駐內(nèi)存服務(wù)仍然處于運(yùn)行狀態(tài),從而可以完成后臺(tái)更新數(shù)據(jù)的目的。在應(yīng)用接收到用戶的啟動(dòng)指令之前應(yīng)用對應(yīng)的常駐內(nèi)存服務(wù)已被注冊,以便提前請求目標(biāo)數(shù)據(jù)并存儲(chǔ)于應(yīng)用所在設(shè)備。
通過常駐內(nèi)存服務(wù)獲取數(shù)據(jù),需要每個(gè)應(yīng)用都注冊一個(gè)常駐內(nèi)存服務(wù),當(dāng)常駐內(nèi)存服務(wù)過多時(shí)可能造成內(nèi)存不足、系統(tǒng)運(yùn)行較慢,因此可以只對重要的應(yīng)用創(chuàng)建常駐內(nèi)存服務(wù)或者限制常駐內(nèi)存服務(wù)的數(shù)量,以保證系統(tǒng)運(yùn)行流暢。
在注冊常駐內(nèi)存服務(wù)時(shí),還需要開發(fā)人員設(shè)置請求數(shù)據(jù)的第二預(yù)設(shè)時(shí)間間隔,可以在程序內(nèi)設(shè)置一定時(shí)器,循環(huán)檢查,當(dāng)?shù)诙A(yù)設(shè)時(shí)間間隔到達(dá)時(shí),執(zhí)行請求數(shù)據(jù)操作。
在本申請中,移動(dòng)平臺(tái)所處的網(wǎng)絡(luò)可以是2G/3G/4G或WiFi,可以允許設(shè)定在WiFi下請求并緩存數(shù)據(jù),以節(jié)省用戶流量。
在本申請中,將收到的目標(biāo)數(shù)據(jù)存儲(chǔ)于應(yīng)用所在設(shè)備,以便應(yīng)用接收到用戶的啟動(dòng)指令時(shí)可以從應(yīng)用所在設(shè)備讀取數(shù)據(jù),提高數(shù)據(jù)的實(shí)時(shí)性。為此,需要對存儲(chǔ)在應(yīng)用所在設(shè)備的目標(biāo)數(shù)據(jù)需要進(jìn)行管理。在一個(gè)實(shí)施例中,將目標(biāo)數(shù)據(jù)存儲(chǔ)于應(yīng)用所在設(shè)備,刪除歷史目標(biāo)數(shù)據(jù),以減少對設(shè)備內(nèi)存的占用。目標(biāo)數(shù)據(jù)還可以有有效期,可以根據(jù)目標(biāo)數(shù)據(jù)的有效期管理目標(biāo)數(shù)據(jù),對于超過有效期的目標(biāo)數(shù)據(jù)就刪除不再存儲(chǔ)。該有效期由開發(fā)人員設(shè)定,可以是任意一段時(shí)間。作為一個(gè)例子,目標(biāo)數(shù)據(jù)A有效期為3天,如果在這3天內(nèi)未檢測到新的目標(biāo)數(shù)據(jù)B,應(yīng)用所在設(shè)備會(huì)一直存儲(chǔ)目標(biāo)數(shù)據(jù)A,當(dāng)3天有效期到后應(yīng)用所在設(shè)備刪除目標(biāo)數(shù)據(jù)A,此時(shí)應(yīng)用所在設(shè)備沒有任何目標(biāo)數(shù)據(jù);如果3天內(nèi)檢測到新的目標(biāo)數(shù)據(jù)B,應(yīng)用存儲(chǔ)目標(biāo)數(shù)據(jù)B到應(yīng)用所在設(shè)備,也會(huì)將目標(biāo)數(shù)據(jù)A刪除,此時(shí)應(yīng)用所在設(shè)備只存儲(chǔ)目標(biāo)數(shù)據(jù)B。
如圖2e所示為,為本申請實(shí)施例示出的另一種網(wǎng)絡(luò)數(shù)據(jù)獲取方法的部分流程圖,在圖2a所述的基礎(chǔ)上,還包括步驟S203至S204:
在步驟S203中,檢測到所述應(yīng)用所在設(shè)備未存儲(chǔ)有目標(biāo)數(shù)據(jù),則所述應(yīng)用向服務(wù)器發(fā)出請求,請求服務(wù)器的目標(biāo)數(shù)據(jù);
在步驟S204中,如果服務(wù)器返回目標(biāo)數(shù)據(jù),則讀取所述目標(biāo)數(shù)據(jù),基于所述目標(biāo)數(shù)據(jù)更新所述應(yīng)用的界面,并將所述目標(biāo)數(shù)據(jù)存儲(chǔ)于所述應(yīng)用所在設(shè)備。
在本申請中,如果應(yīng)用未啟動(dòng)之前向服務(wù)器請求目標(biāo)數(shù)據(jù)失敗(即服務(wù)器未返回目標(biāo)數(shù)據(jù)),并且存儲(chǔ)于應(yīng)用所在設(shè)備的歷史目標(biāo)數(shù)據(jù)因?yàn)槌^有效期而被刪除,在應(yīng)用啟動(dòng)時(shí)檢測到應(yīng)用所在設(shè)備未存儲(chǔ)有目標(biāo)數(shù)據(jù),這時(shí)應(yīng)用會(huì)再次向服務(wù)器請求目標(biāo)數(shù)據(jù),如果服務(wù)器返回目標(biāo)數(shù)據(jù),則讀取所述目標(biāo)數(shù)據(jù),更新應(yīng)用的界面;如果服務(wù)器未返回目標(biāo)數(shù)據(jù),則直接進(jìn)入應(yīng)用主界面。
下面以應(yīng)用為例進(jìn)行說明,該應(yīng)用可以是手機(jī)應(yīng)用YY,該手機(jī)可以是Android系統(tǒng),處于WiFi環(huán)境下,YY對應(yīng)的服務(wù)器提供目標(biāo)數(shù)據(jù)A(目標(biāo)數(shù)據(jù)A可以是中秋祝福語)。YY在接收到用戶的啟動(dòng)指令之前已經(jīng)完成對應(yīng)常駐內(nèi)存的注冊,因此能夠按照預(yù)設(shè)時(shí)間間隔(比如,可以是5小時(shí))向服務(wù)器請求目標(biāo)數(shù)據(jù)。如圖2f所示,圖2f是本申請一實(shí)施例的流程圖,包括步驟S201f至S210f:
步驟S201f,YY接收到用戶的啟動(dòng)指令之前,如果預(yù)設(shè)時(shí)間間隔到達(dá),YY對應(yīng)的常駐內(nèi)存服務(wù)向服務(wù)器請求目標(biāo)數(shù)據(jù)。
服務(wù)器收到請求后做出反應(yīng),轉(zhuǎn)入步驟S202f,根據(jù)請求結(jié)果決定下一步。如果請求目標(biāo)數(shù)據(jù)成功,服務(wù)器返回目標(biāo)數(shù)據(jù)A,轉(zhuǎn)到步驟S203f,YY存儲(chǔ)目標(biāo)數(shù)據(jù)A到手機(jī),將歷史目標(biāo)數(shù)據(jù)刪除,然后轉(zhuǎn)到步驟S204f;如果請求不成功,服務(wù)器未返回目標(biāo)數(shù)據(jù),直接轉(zhuǎn)到步驟S204f。
步驟S204f,YY接收到用戶的啟動(dòng)指令。
檢測手機(jī)是否有存儲(chǔ)有目標(biāo)數(shù)據(jù)(步驟S205f),如果檢測到目標(biāo)數(shù)據(jù)A,則從讀取目標(biāo)數(shù)據(jù)A,基于目標(biāo)數(shù)據(jù)A更新YY的界面(步驟S206f);如果請求目標(biāo)數(shù)據(jù)失敗,檢測手機(jī)未存儲(chǔ)有目標(biāo)數(shù)據(jù),則轉(zhuǎn)到步驟S207f。
步驟S207f,YY再次向服務(wù)器請求目標(biāo)數(shù)據(jù)。
步驟S208f,判斷請求是否成功,如果請求成功,服務(wù)器返回目標(biāo)數(shù)據(jù)A,則轉(zhuǎn)入步驟S209f,下載目標(biāo)數(shù)據(jù)A,基于目標(biāo)數(shù)據(jù)A更新YY的界面;如果請求不成功,服務(wù)器未返回目標(biāo)數(shù)據(jù),則轉(zhuǎn)入步驟S210f,直接進(jìn)入YY的主界面。
與前述數(shù)據(jù)獲取方法的實(shí)施例相對應(yīng),本申請還提供了數(shù)據(jù)獲取裝置的實(shí)施例。
請參考圖3,數(shù)據(jù)獲取裝置300包括:
數(shù)據(jù)請求模塊301,被配置為在收到用戶的啟動(dòng)指令之前,向服務(wù)器請求目標(biāo)數(shù)據(jù);
數(shù)據(jù)存儲(chǔ)模塊302,被配置為將服務(wù)器返回的目標(biāo)數(shù)據(jù)存儲(chǔ)于所述應(yīng)用所在設(shè)備;
數(shù)據(jù)檢測模塊303,被配置為在接收到用戶的應(yīng)用啟動(dòng)指令時(shí),檢測所述應(yīng)用所在設(shè)備是否存儲(chǔ)有目標(biāo)數(shù)據(jù);
數(shù)據(jù)讀取更新模塊304,被配置為如果檢測到所述應(yīng)用所在設(shè)備存儲(chǔ)有目標(biāo)數(shù)據(jù),則讀取所述目標(biāo)數(shù)據(jù),更新所述應(yīng)用的界面。
在一個(gè)可選的實(shí)現(xiàn)方式中,數(shù)據(jù)請求模塊301具體用于:
所述應(yīng)用處于休眠狀態(tài)時(shí),每隔第一預(yù)設(shè)時(shí)間間隔被喚醒后,向服務(wù)器發(fā)出請求,請求服務(wù)器的目標(biāo)數(shù)據(jù);或
與所述應(yīng)用對應(yīng)的常駐內(nèi)存服務(wù),每隔第二預(yù)設(shè)時(shí)間間隔向服務(wù)器發(fā)出請求,請求服務(wù)器的目標(biāo)數(shù)據(jù);所述常駐內(nèi)存服務(wù)在接到用戶的應(yīng)用啟動(dòng)指令之前完成注冊。
在一個(gè)可選的實(shí)現(xiàn)方式中,數(shù)據(jù)請求模塊301還用于當(dāng)檢測到數(shù)據(jù)存儲(chǔ)模塊未存儲(chǔ)有目標(biāo)數(shù)據(jù)時(shí),所述應(yīng)用向服務(wù)器發(fā)出請求,請求數(shù)據(jù)。
如圖4所示,為本申請根據(jù)一示例性實(shí)施例示出的另一種獲取裝置的框圖,所述裝置在圖3所示的實(shí)施例的基礎(chǔ)上還包括狀:
狀態(tài)檢測模塊305,被配置為在所述第一預(yù)設(shè)時(shí)間間隔到達(dá)且所述應(yīng)用被喚醒之前,檢測所述設(shè)備的電量或所處網(wǎng)絡(luò)的信號(hào)強(qiáng)度,檢測結(jié)果被用于確定是否喚醒所述應(yīng)用。
上述裝置中各個(gè)單元的功能和作用的實(shí)現(xiàn)過程具體詳見上述方法中對應(yīng)步驟的實(shí)現(xiàn)過程,在此不再贅述。
以上所述僅為本申請的較佳實(shí)施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請保護(hù)的范圍之內(nèi)。