android資料庫操作:根據過濾條件擷取部分通訊錄資訊

來源:互聯網
上載者:User

    讀取全部的通訊錄,但是過濾掉黑名單中已經存在的記錄,其中過濾條件必須輸入為People._id,不然會報錯:

03-22 14:37:51.951: ERROR/DatabaseUtils(108): android.database.sqlite.SQLiteException: ambiguous column name: _id: , while compiling: SELECT people._id AS _id, (CASE WHEN (name IS NOT NULL AND name != '') THEN name ELSE (CASE WHEN primary_organization is NOT NULL THEN (SELECT company FROM organizations WHERE organizations._id = primary_organization) ELSE (CASE WHEN primary_phone IS NOT NULL THEN (SELECT number FROM phones WHERE phones._id = primary_phone) ELSE (CASE WHEN primary_email IS NOT NULL THEN (SELECT data FROM contact_methods WHERE contact_methods._id = primary_email) ELSE null END) END) END) END)  AS display_name FROM people LEFT OUTER JOIN phones ON people.primary_phone=phones._id LEFT OUTER JOIN presence ON (presence.person=people._id) WHERE (_id = 1)

很明顯,這裡要指定_id對應的具體表明

 

/*<br /> * (non-Javadoc)<br /> *<br /> * @see org.xiangjie.dao.IContactDAO#getAllContactInfomation()<br /> */<br />@Override<br />public Cursor getAllContactInfomation(Activity activity) {<br />return activity.getContentResolver().query(People.CONTENT_URI,<br />new String[] { People._ID, People.DISPLAY_NAME },<br />" People._id not in (?)", new String[] { getIDList() }, null);<br />}

 

圖片顯示如下:

全部連絡人清單:

 

 

黑名單資訊:

 

連絡人清單(已經將黑名單中的資訊移除):

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.