黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

在ContentResolver中使用Group By

系統 2780 0

使用ContentProvider查詢短信,希望可以在ContentResolver.query中使用Group By ,發現系統并沒有提供接口或者可用字段。

探究竟

首先我們來看看query函數:

      
        public
      
      
        final
      
      
         Cursor query(Uri uri, String[] projection,

        String selection, String[] selectionArgs, String sortOrder) {

    
      
      
        return
      
       query(uri, projection, selection, selectionArgs, sortOrder, 
      
        null
      
      
        );

}
      
    

最有可能可以處理的地方就是selection,我們首先嘗試設置 selection = "gourp by thread_id" 執行程序,從錯誤日志中發現,sql語句經過編譯處理加上了括號,像下面這樣:

      SELECT _id, thread_id, address, person, body, date FROM sms WHERE (type=1) AND (group by thread_id) ORDER BY date DESC
    

看來要最終得到正確的sql語句,selection的設置需要有技巧性一些。再嘗試 selection = "0=0) group by (thread_id" ,這次成功了!主要是注意括號的處理,以及AND后面必須有一個查詢條件,這里我們使用了 0=0 (此處驗證 0==0 亦可)這個永真查詢只是為了保證sql語句的正確性。

最后處理效果如下:

      Uri SMS_PROVIDER = Uri.parse("content://sms/inbox"
      
        );

String[] projection 
      
      = 
      
        new
      
      
         String[] {

  
      
      "_id", "thread_id", "address"
      
        ,

  
      
      "person", "body", "date"
      
        };

Cursor cursor 
      
      =
      
         context.getContentResolver().query(SMS_PROVIDER,

  projection, 
      
      "0=0) group by (thread_id", 
      
        null
      
      , "date desc");
    

這樣,經過編譯處理之后的sql語句為:

      SELECT _id, thread_id, address, person, body, date FROM sms WHERE (type=1) AND (0=0)group by (thread_id) ORDER BY date DESC
    

?

在ContentResolver中使用Group By


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論