日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android Contact数据模型之EntityDelta(二)

發布時間:2025/6/15 Android 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android Contact数据模型之EntityDelta(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文來自:安卓航班網

????????原理和getPrimaryEntry(String mimeType)相似。但是只有forceSelection為true的情況下,才在沒有找到SuperPrimaryEntry的情況下返回PrimaryEntry,如果PrimaryEntry也沒找到,才返回MIME類型為mimeType的ValuesDelta的ArrayList<ValuesDelta>的第一的ValuesDelta,如果ArrayList<ValuesDelta>為空則返回null。

? ?? ???private ArrayList<ValuesDelta> getMimeEntries(String mimeType, boolean lazyCreate)
? ?? ???得到指定MIME類型mimeType的ArrayList<ValuesDelta>,如果lazyCreate為true,在IME類型mimeType的ArrayList<ValuesDelta>沒被創建的情況下,會創建它并放入HashMap<String, ArrayList<ValuesDelta>> mEntrie中。
? ?? ???public ArrayList<ValuesDelta> getMimeEntries(String mimeType)
? ?? ???直接調用getMimeEntries(mimeType, false)。

? ?? ? public int getMimeEntriesCount(String mimeType, boolean onlyVisible)
? ?? ? 得到指定MIME類型mimeType的ValuesDelta數量。如果onlyVisible是true,則ValuesDelta還必須是isVisible()的。

? ?? ? public boolean hasMimeEntries(String mimeType)
? ?? ? 返回HashMap<String, ArrayList<ValuesDelta>>中是否有MIME類型mimeType的ArrayList<ValuesDelta>。

? ?? ? public ValuesDelta addEntry(ValuesDelta entry)
? ?? ? 加入一個ValuesDelta entry。

? ?? ? public ValuesDelta getEntry(Long childId)
? ?? ? 得到id為Long childId的ValuesDelta

? ?? ???public int getEntryCount(boolean onlyVisible)
? ?? ???得到ValuesDelta的數量,如果onlyVisible是true,則ValuesDelta還必須是isVisible()的。

? ?? ???public boolean equals(Object object)
? ?? ???返回兩個EntityDelta是否相當。只有他們所包括的ValuesDelta一樣才相等。
? ?? ???注:這里的"一樣"是指ValuesDelta的equals(Object object)返回true.

? ?? ???private boolean containsEntry(ValuesDelta entry)
? ?? ???返回ValuesDelta entry是否已經在了HashMap<String, ArrayList<ValuesDelta>>中。

? ?? ???public void markDeleted()
? ?? ???對包含的所有ValuesDelta進行markDeleted()操作。(這里包括主數據ValuesDelta mValues和子數據 HashMap<String, ArrayList<ValuesDelta>>)

? ?? ???public String toString()
? ?? ???把所有ValuesDelta進行轉化為String.
? ?? ???private void possibleAdd(ArrayList<ContentProviderOperation> diff,ContentProviderOperation.Builder builder)

? ?? ???在builder不為空的情況下,把builder生成的ContentProviderOperation加入到ArrayList<ContentProviderOperation> diff中。

? ?? ?? ?1:該方法其實應該是static的才對。不知道為什么google沒把它寫成靜態的。也許是google的失誤吧。

? ?? ?? ?public void buildAssert(ArrayList<ContentProviderOperation> buildInto)

java代碼:

/**
* Build a list of {
@link ContentProviderOperation} that will assert any
* "before" state hasn't changed. This is maintained separately so that all
* asserts can take place before any updates occur.
*/

?????用主數據mValues的Id和RawContacts.VERSION生產一個RawContacts.CONTENT_URI上的AssertQuery形builder,并加入ArrayList<ContentProviderOperation> buildInto)。
? ?? ? 注:該函數的真正意義應該是在對數據庫操作時(Provide中)進行數據庫更新時確保數據的一致性。即數據在我們讀到EntityDelta并沒有改變過。

? ?? ? public void buildDiff(ArrayList<ContentProviderOperation> buildInto)
? ?? ? 該函數負責把該EntityDelta轉化為ArrayList<ContentProviderOperation>,以便進行數據庫操作。它主要是調用ValuesDelta的buildDiff來進行ContentProviderOperation,然后把他們整合起來。

? ?? ? 注1:對于全新的插入操作,需要在操作前把主表mValues的RawContacts.AGGREGATION_MODE設置為RawContacts.AGGREGATION_MODE_SUSPENDED,等子數據都插入完了才設置為RawContacts.AGGREGATION_MODE_DEFAULT。
? ?? ? 注2:對于更新操作,但是子數據有插入操作的同上。
? ?? ? 注3:如果主數據時插入操作,那么子數據也必須是插入操作,否則會拋異常。
? ?? ? 注4:對于全EntityDelta的刪除操作,只需要主表的信息就可以了,因為它的每個子表都存有主表的Id(即Data.RAW_CONTACT_ID).
? ?? ? 注5:創建AssertQuery形的builder,可用這樣的形式:final ContentProviderOperation.Builder builder = ContentProviderOperation.newAssertQuery(RawContacts.CONTENT_URI)

? ?? ? protected Builder buildSetAggregationMode(Long beforeId, int mode)
? ?? ? 用Long beforeId, int mode生成update的Builder。

? ?? ? public int describeContents()
? ?? ? 返回0.// Nothing special about this parcel
? ?? ? 注:該方法來自Parcelable。

? ?? ? public void writeToParcel(Parcel dest, int flags)
? ?? ? 把主表和子表數據都寫到Parcel。
? ?? ? 注:該方法來自Parcelable。

? ?? ? public void readFromParcel(Parcel source)
? ?? ? 從Parcel source中讀取主表和子表數據。

原文地址:http://www.apkway.com/forum.php?mod=viewthread&tid=3196&extra=page%3D1

轉載于:https://www.cnblogs.com/yyq-quan/archive/2011/09/01/2162343.html

總結

以上是生活随笔為你收集整理的Android Contact数据模型之EntityDelta(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 超碰99在线 | 免费黄色美女网站 | 西西444www无码大胆 | 午夜一级视频 | 啪啪免费 | 精品少妇人妻一区二区黑料社区 | 欧美日本在线观看 | 久久欧美精品 | 性一交一乱一色一免费无遮挡 | 亚洲国产欧美在线观看 | 看片网址国产福利av中文字幕 | 亚洲免费观看高清完整版在线 | 人人干人人模 | 国产一级高清 | 爱蜜臀av | 在线一区二区三区视频 | 日韩欧美午夜 | 久久亚洲av午夜福利精品一区 | 穿扒开跪着折磨屁股视频 | 激情综合五月 | 三级免费网址 | 午夜寂寞剧场 | 一区二区视频在线观看 | 日本在线精品视频 | 日韩欧美在线第一页 | 波多野结衣中文字幕一区二区 | 欧美性猛交富婆 | 午夜色av | 999国产在线 | 动漫av一区 | av在线短片 | 黄色免费小视频 | 成人午夜sm精品久久久久久久 | 91视频成人 | 婷婷丁香六月天 | 波多野结衣中文在线 | 三级免费黄录像 | 黄色在线小视频 | 亚洲乱码国产乱码精品 | 欧美亚洲黄色 | 污黄视频网站 | 日本在线不卡一区二区三区 | 久久久久久av无码免费网站下载 | 青草热视频| 日韩欧美中文 | 日韩av电影手机在线观看 | 神马午夜在线观看 | 黄色片在线免费观看 | 亚洲第一区av | 日韩第一视频 | 欧美性极品 | 五月天激情四射 | 久色电影 | 爱福利视频广场 | 日韩一级视频在线观看 | 一级做a视频| 国产在线拍揄自揄拍无码视频 | 日韩免费电影一区 | 特黄特色大片bbbb | 91中文字日产乱幕4区 | 肉丝超薄少妇一区二区三区 | 精品无码一区二区三区爱欲 | 日本精品久久久久 | 亚洲第一色 | av这里只有精品 | 97黄色片| 中文字幕乱码无码人妻系列蜜桃 | 欧美图片第一页 | 全黄一级男人和女人 | 久操视频精品 | 超碰综合网 | 韩国午夜影院 | 免费视频91蜜桃 | 97一级片 | 关秀媚三级| 国产亚洲天堂 | av高清在线观看 | 九九视频在线播放 | 国产成人欧美一区二区三区的 | 污漫在线观看 | 99热这里精品 | 五月天堂网 | 欧美 日韩 国产 成人 在线 91 | 精品国产aⅴ一区二区三区东京热 | 亚洲自拍天堂 | 男男全肉变态重口高h | 人体写真 福利视频 | 中国无码人妻丰满熟妇啪啪软件 | 懂色av中文一区二区三区天美 | 美女干b视频 | 亚洲网站一区 | 久久桃色| 国产一区视频在线播放 | 操亚洲女人 | 久久久久性色av无码一区二区 | 国产99久久精品 | 丰满人妻妇伦又伦精品国产 | 99久久精品日本一区二区免费 | 中文字幕一区二区在线播放 |