package com.whf.messagerelayer.utils.db; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.util.Log; import com.whf.messagerelayer.bean.Contact; import com.whf.messagerelayer.confing.Constant; import com.whf.messagerelayer.utils.FormatMobile; import java.util.ArrayList; import java.util.List; /** * 存储被选中的联系人的数据库管理类 * Created by WHF on 2017/3/28. */ public class DataBaseManager { private DataBaseHelper mHelper; public DataBaseManager(Context context) { this.mHelper = new DataBaseHelper(context); } /** * 添加一条数据 * * @param contact */ public void addContact(Contact contact) { SQLiteDatabase database = mHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(Constant.DB_KEY_NAME, contact.getContactName()); values.put(Constant.DB_KEY_MOBLIE, contact.getContactNum()); database.insert(Constant.DB_TABLE_NAME, null, values); } /** * 添加多条数据 * */ public void addContactList(List<Contact> contactList) { SQLiteDatabase database = mHelper.getWritableDatabase(); for (Contact contact : contactList) { String num = contact.getContactNum(); if (FormatMobile.hasPrefix(num)){ num = FormatMobile.formatMobile(num); } ContentValues values = new ContentValues(); values.put(Constant.DB_KEY_NAME, contact.getContactName()); values.put(Constant.DB_KEY_MOBLIE, num); database.insert(Constant.DB_TABLE_NAME, null, values); } } /** * 获取所有联系人 */ public ArrayList<Contact> getAllContact() { ArrayList<Contact> contactList = new ArrayList<>(); SQLiteDatabase database = mHelper.getReadableDatabase(); Cursor cursor = database.query(Constant.DB_TABLE_NAME , null, null, null, null, null, null); while (cursor.moveToNext()) { Contact contact = new Contact(); contact.setContactName(cursor.getString(cursor.getColumnIndex(Constant.DB_KEY_NAME))); contact.setContactNum(cursor.getString(cursor.getColumnIndex(Constant.DB_KEY_MOBLIE))); contactList.add(contact); } return contactList; } /** * 删除某一联系人,根据其手机号 * * @param mobile */ public void deleteContactFromMobile(String mobile) { SQLiteDatabase database = mHelper.getWritableDatabase(); database.delete(Constant.DB_TABLE_NAME, Constant.DB_KEY_MOBLIE + "= ?" , new String[]{mobile}); } /** * 删除所有联系人 */ public void deleteAll() { SQLiteDatabase database = mHelper.getWritableDatabase(); database.delete(Constant.DB_TABLE_NAME, null, null); } /** * 关闭SqLiteDatabase */ public void closeHelper() { mHelper.close(); } }