ContactInfoUtils

import java.util.ArrayList;
import java.util.List;


import zz.itcast.mobileguardz10.bean.ContactInfo;
import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;


public class ContactInfoUtils {


/**
* 获取系统的联系人信息

* @param context
*            上下文
* @return
*/
public static List<ContactInfo> getContactInfos(Context context) {
// 得到内容解析者
ContentResolver resolver = context.getContentResolver();
// 1.查询raw_contacts 表 获取所有的联系人的id
Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");
Uri dataUri = Uri.parse("content://com.android.contacts/data");
Cursor cursor = resolver.query(uri, new String[] { "contact_id" },
null, null, null);
List<ContactInfo> contactInfos = new ArrayList<ContactInfo>();
while (cursor.moveToNext()) {
String id = cursor.getString(0);
// 2.根据联系人的id查询 联系人的数据 查询data表
if (id != null) {
ContactInfo contactInfo = new ContactInfo();
Cursor dataCursor = resolver.query(dataUri, null,
"raw_contact_id=?", new String[] { id }, null);
while (dataCursor.moveToNext()) {
String data1 = dataCursor.getString(dataCursor
.getColumnIndex("data1"));
String mimetype = dataCursor.getString(dataCursor
.getColumnIndex("mimetype"));
if ("vnd.android.cursor.item/email_v2".equals(mimetype)) {
contactInfo.setEmail(data1);
} else if ("vnd.android.cursor.item/name".equals(mimetype)) {
contactInfo.setName(data1);
} else if ("vnd.android.cursor.item/phone_v2"
.equals(mimetype)) {
contactInfo.setPhone(data1);
}


}
dataCursor.close();
contactInfos.add(contactInfo);
contactInfo = null;
}
}
cursor.close();
return contactInfos;
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
用MVC模式的实现对数据库的增删改查 部分代码: package dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import common.DBConnection; import bean.Contact; public class ContactDAO { public List getAllContact() throws Exception{ Connection conn=DBConnection.getConntion(); PreparedStatement ps=conn.prepareStatement("select * from Contact"); ResultSet rs=ps.executeQuery(); List list = new ArrayList(); while(rs.next()){ int id = rs.getInt("id"); String name = rs.getString("name"); String phone = rs.getString("phone"); String address = rs.getString("address"); Contact c = new Contact(); c.setId(id); c.setName(name); c.setPhone(phone); c.setAddress(address); list.add(c); } rs.close(); ps.close(); conn.close(); return list; } public void addContact(String name,String phone,String address) throws Exception{ String sql = "insert into contact(id,name,phone,address) values(seq_contact.nextval,?,?,?)"; Connection con = DBConnection.getConntion(); PreparedStatement pstmt = con.prepareStatement(sql); pstmt.setString(1, name); pstmt.setString(2, phone); pstmt.setString(3, address); pstmt.executeUpdate(); } public void delContact(int id) throws Exception{ String sql = "delete from contact where id=?"; Connection con = DBConnection.getConntion(); PreparedStatement pstmt = con.prepareStatement(sql); pstmt.setInt(1, id); pstmt.executeUpdate(); } public Contact getContactById(int id) throws Exception{ String sql = "select * from Contact where id=?"; Connection con = DBConnection.getConntion(); PreparedStatement pstmt = con.prepareStatement(sql); pstmt.setInt(1, id); ResultSet rs = pstmt.executeQuery(); Contact c = null; while(rs.next()){ // int id = rs.getInt("id"); String name=rs.getString("name"); String p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值