第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用Firebase服務(wù)器時間戳生成創(chuàng)建日期?

如何使用Firebase服務(wù)器時間戳生成創(chuàng)建日期?

慕無忌1623718 2019-11-02 14:11:10
目前,谷歌的版本的ServerValue.TIMESTAMP回報{".sv":"timestamp"}這是用來作為一個火力地堡的指令一旦將數(shù)據(jù)保存到服務(wù)器火力地堡,以填補(bǔ)該領(lǐng)域與服務(wù)器的時間戳。但是,當(dāng)您在客戶端上創(chuàng)建數(shù)據(jù)時,您尚沒有實(shí)際的時間戳(即,用作創(chuàng)建日期)。在最初的保存和隨后的檢索之后,您將只能訪問時間戳,我想這有時為時已晚且不太優(yōu)雅。在Google之前:更新:忽略本部分,因?yàn)樗遣徽_的-我誤解了示例。ServerValue.TIMESTAMP總是返回{".sv":"timestamp"}。據(jù)我了解,在Google之前的Firebase中,似乎有一個由服務(wù)器生成的時間戳,可以讓您獲取實(shí)際的時間戳:import com.firebase.client.ServerValue;ServerValue.TIMESTAMP // eg. 1466094046問題:這樣的保存/檢索是在模型實(shí)例上獲取服務(wù)器生成的創(chuàng)建日期的唯一方法嗎?如果可以,您可以提出一種實(shí)現(xiàn)這種模式的方法嗎?我是否正確理解ServerValue.TIMESTAMP已隨著Google收購Firebase發(fā)生了變化?更新:不,@ FrankvanPuffelen回答說,收購期間沒有任何變化。注意:我new Date()一直在閱讀它并不安全,因此我不考慮在客戶端使用它,但是如果您有不同意見,請分享您的想法。
查看完整描述

2 回答

?
忽然笑

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個贊

我的做法有所不同。


解決方案1:push()POJO中的方法


因?yàn)槲也幌胗闷婀值奈鼩鈩┗驅(qū)傩耘獊y我的POJO,所以我只是push()在POJO中定義一個如下所示的方法:


/**

 * Pushes a new instance to the DB.

 * 

 * @param parentNode `DatabaseReference` to the parent node this object shall be attached to

 */

fun push(parentNode: DatabaseReference) {

    parentNode

        .push()

        .apply {

            setValue(this@Pojo)

            child(Pojo.CREATED_AT_KEY).setValue(ServerValue.TIMESTAMP)

        }

}

然后,我可以簡單地創(chuàng)建POJO的實(shí)例并對其進(jìn)行調(diào)用push(),以正確填充創(chuàng)建時間屬性。


這無疑使POJO變得簡單一些,并包含了POJO不應(yīng)該知道的邏輯。但是,使用此處@Exclude某些響應(yīng)中概述的注釋和/或強(qiáng)制轉(zhuǎn)換也需要了解存儲機(jī)制。


解決方案2:助手或DatabaseReference擴(kuò)展程序(Kotlin)


為了克服這個問題,您當(dāng)然也可以pushTask(task: Task)在助手中創(chuàng)建一個方法,或者-如果使用Kotlin-一個擴(kuò)展方法,例如DatabaseReference,看起來像這樣:


fun DatabaseReference.push(pojo: Pojo) {

    push()

    .apply {

        setValue(pojo)

        child(Pojo.CREATED_AT_KEY).setValue(ServerValue.TIMESTAMP)

    }

}

現(xiàn)在來看它,我開始覺得我實(shí)際上更喜歡第二種方法(如果我可以使用Kotlin-我不喜歡幫助者)。但這可能只是口味問題。;)


查看完整回答
反對 回復(fù) 2019-11-02
  • 2 回答
  • 0 關(guān)注
  • 550 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號