日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

在ContentResolver中使用Group By

系統 2654 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條評論
主站蜘蛛池模板: 略阳县| 马鞍山市| 隆化县| 衡阳市| 通道| 东丰县| 聊城市| 泰顺县| 龙川县| 胶南市| 东源县| 平昌县| 庆元县| 安多县| 江达县| 拜泉县| 天镇县| 石林| 依安县| 南丰县| 崇仁县| 郧西县| 兴海县| 赤城县| 衡阳市| 内黄县| 乌拉特后旗| 沁水县| 色达县| 芷江| 嵊州市| 若尔盖县| 东光县| 盖州市| 炎陵县| SHOW| 锦屏县| 郓城县| 乡宁县| 内丘县| 姜堰市|