優(yōu)雅的存儲(chǔ)你的數(shù)據(jù)

當(dāng)每次寫代碼時(shí)有沒有一種到處都是數(shù)據(jù),使用的時(shí)候需要到處傳遞的感覺。比如我有一份數(shù)據(jù)舞吭,有好幾個(gè)頁(yè)面都需要使用,好的做法并不是在第一次使用時(shí)去請(qǐng)求析珊,在后邊不停的去傳遞羡鸥。類似于activity的context,可以將之提取成一個(gè)單例忠寻,在這個(gè)單例中去操作這些數(shù)據(jù)惧浴。

之前都是自己寫了一個(gè)單例,然后每個(gè)數(shù)據(jù)都寫一個(gè)屬性放在其中奕剃,這太有損程序猿的威風(fēng)衷旅。

所以自己將數(shù)據(jù)放在了map中捐腿,并且根據(jù)存儲(chǔ)的Class對(duì)象分類存放。

使用時(shí)根據(jù)需要的Class對(duì)象從map中去取柿顶,map放在了單例之中茄袖。

也就是整個(gè)程序各處都可以使用。

當(dāng)然依然可以添加緩存嘁锯,緩存與否根據(jù)自己的需要來(lái)做宪祥,可以在設(shè)置數(shù)據(jù)之后直接設(shè)置緩存。

聯(lián)網(wǎng)獲取數(shù)據(jù)之后直接將數(shù)據(jù)轉(zhuǎn)化為jsonobject家乘,放入存儲(chǔ)蝗羊。當(dāng)需要使用時(shí)直接去取即可。

上邊的東西都都已經(jīng)寫在了我封裝的庫(kù)中仁锯,并且做了兩個(gè)版本使用耀找,

一個(gè)版本只有數(shù)據(jù)的存儲(chǔ),其他的緩存聯(lián)網(wǎng)都沒有做业崖,根據(jù)自己的需要使用涯呻,

另外一個(gè)版本添加了聯(lián)網(wǎng),聯(lián)網(wǎng)之后的數(shù)據(jù)轉(zhuǎn)換腻要,以及緩存的處理。

不多說(shuō)放個(gè)鏈接看看涝登。

存儲(chǔ)數(shù)據(jù)庫(kù)

使用及其簡(jiǎn)單雄家,看看基本都會(huì)了,大概的說(shuō)說(shuō)

取數(shù)據(jù)胀滚,使用 ?StoreData.getStore().getDatas(DataBean.class,null)趟济;

最后一個(gè)是回調(diào),取數(shù)據(jù)取不到時(shí)留下這個(gè)回調(diào)函數(shù)咽笼,當(dāng)數(shù)據(jù)有時(shí)會(huì)來(lái)通知取數(shù)據(jù)的一方來(lái)再次取數(shù)據(jù)顷编,回調(diào)函數(shù)中可以設(shè)置是否每次刷新都通知來(lái)取〗P蹋可以隨時(shí)自己不需要時(shí)將回調(diào)函數(shù)清除媳纬,當(dāng)然需要這個(gè)引用。

還有另外一種施掏,取數(shù)據(jù)的方式StoreData.getStore().getDatas(tag钮惠,DataBean.class,null);為取得數(shù)據(jù)設(shè)置tag七芭,obj類型的素挽,隨便你設(shè)置。

當(dāng)不需要時(shí)狸驳,根據(jù)tag直接清空取數(shù)據(jù)的引用预明。防止內(nèi)存泄露缩赛。

現(xiàn)在還又幾個(gè)問(wèn)題需要修復(fù)的。

一撰糠、清除數(shù)據(jù)的接口還沒有寫酥馍,但是可以使用單例中的方法直接將其制為空

二、數(shù)據(jù)設(shè)置的順序沒有好好思量窗慎,可以根據(jù)頭的時(shí)間設(shè)置物喷,先返回的不能更新后返回的。

三遮斥、本地?cái)?shù)據(jù)不能更新聯(lián)網(wǎng)數(shù)據(jù)

四峦失、緩存的設(shè)置沒有很好的思量

五、數(shù)據(jù)一直沒有到達(dá)時(shí)是否需要一直存在回調(diào)對(duì)象等待數(shù)據(jù)更新

這樣存放數(shù)據(jù)的意義:

我思考的這樣存放數(shù)據(jù)术吗,最重要尉辑,可以將存數(shù)據(jù)與取數(shù)據(jù)分開,我存數(shù)據(jù)可以不考慮數(shù)據(jù)是否有人需要较屿,只要未來(lái)有人有可能需要就可以存放隧魄,當(dāng)然這里存放的數(shù)據(jù)盡量是小的數(shù)據(jù),大數(shù)據(jù)不適合長(zhǎng)期存放隘蝎。取數(shù)據(jù)也不需要考慮有沒有數(shù)據(jù)购啄,我只需要每次實(shí)現(xiàn)有數(shù)據(jù)和沒有數(shù)據(jù)的的接口即可。當(dāng)然這里聯(lián)網(wǎng)請(qǐng)求的進(jìn)度條就有了一些問(wèn)題嘱么,但是也不是很大狮含。

這里只是提出了這么一種想法,希望可以拋磚引玉曼振。也可以讓自己有所突破

歡迎大家指正几迄,歡迎大家批評(píng)。

技術(shù)只有不斷的改正才能有所提升冰评。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末映胁,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子甲雅,更是在濱河造成了極大的恐慌解孙,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件务荆,死亡現(xiàn)場(chǎng)離奇詭異妆距,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)函匕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門娱据,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事中剩〖纱” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵结啼,是天一觀的道長(zhǎng)掠剑。 經(jīng)常有香客問(wèn)我,道長(zhǎng)郊愧,這世上最難降的妖魔是什么朴译? 我笑而不...
    開封第一講書人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮属铁,結(jié)果婚禮上眠寿,老公的妹妹穿的比我還像新娘。我一直安慰自己焦蘑,他們只是感情好盯拱,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著例嘱,像睡著了一般狡逢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拼卵,一...
    開封第一講書人閱讀 49,929評(píng)論 1 290
  • 那天奢浑,我揣著相機(jī)與錄音,去河邊找鬼腋腮。 笑死殷费,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的低葫。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼仍律,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼嘿悬!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起水泉,我...
    開封第一講書人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤善涨,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后草则,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體钢拧,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年炕横,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了源内。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡份殿,死狀恐怖膜钓,靈堂內(nèi)的尸體忽然破棺而出嗽交,到底是詐尸還是另有隱情,我是刑警寧澤颂斜,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布夫壁,位于F島的核電站,受9級(jí)特大地震影響沃疮,放射性物質(zhì)發(fā)生泄漏盒让。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一司蔬、第九天 我趴在偏房一處隱蔽的房頂上張望邑茄。 院中可真熱鬧,春花似錦葱她、人聲如沸撩扒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)搓谆。三九已至,卻和暖如春豪墅,著一層夾襖步出監(jiān)牢的瞬間泉手,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工偶器, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留斩萌,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓屏轰,卻偏偏與公主長(zhǎng)得像颊郎,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子霎苗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理姆吭,服務(wù)發(fā)現(xiàn),斷路器唁盏,智...
    卡卡羅2017閱讀 134,637評(píng)論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法内狸,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法厘擂,繼承相關(guān)的語(yǔ)法昆淡,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚_t_閱讀 31,599評(píng)論 18 399
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,838評(píng)論 25 707
  • AFHTTPRequestOperationManager 網(wǎng)絡(luò)傳輸協(xié)議UDP刽严、TCP昂灵、Http、Socket、X...
    Carden閱讀 4,333評(píng)論 0 12
  • 押上自己的全部倔既,絕大多數(shù)時(shí)候是在做賭博恕曲。 希望自己的籌碼越大,贏得概率越大渤涌,贏的數(shù)量越多佩谣。但事實(shí)可能是你錯(cuò)過(guò)了很多...
    八陣圖閱讀 134評(píng)論 0 0