From 1d08979c4bd580fce09727a245941ad2e51d3d79 Mon Sep 17 00:00:00 2001 From: pse8vqgoy <2963071932@qq.com> Date: Sat, 28 Dec 2024 17:30:24 +0800 Subject: [PATCH] Delete 'src/net/micode/notes/data/Contact.java' --- src/net/micode/notes/data/Contact.java | 79 -------------------------- 1 file changed, 79 deletions(-) delete mode 100644 src/net/micode/notes/data/Contact.java diff --git a/src/net/micode/notes/data/Contact.java b/src/net/micode/notes/data/Contact.java deleted file mode 100644 index d5b30be..0000000 --- a/src/net/micode/notes/data/Contact.java +++ /dev/null @@ -1,79 +0,0 @@ - - -// 定义一个Contact类,用于处理联系人相关信息 -package net.micode.notes.data; - -import android.content.Context; -import android.database.Cursor; -import android.provider.ContactsContract.CommonDataKinds.Phone; -import android.provider.ContactsContract.Data; -import android.telephony.PhoneNumberUtils; -import android.util.Log; - -import java.util.HashMap; - -public class Contact { - // 定义一个静态HashMap来缓存联系人信息,以提高查询效率. - private static HashMap sContactCache; - // 定义日志输出的标签 - private static final String TAG = "Contact"; - - // 定义查询联系人的SQL语句模板 - private static final String CALLER_ID_SELECTION = "PHONE_NUMBERS_EQUAL(" + Phone.NUMBER - + ",?) AND " + Data.MIMETYPE + "='" + Phone.CONTENT_ITEM_TYPE + "'" - + " AND " + Data.RAW_CONTACT_ID + " IN " - + "(SELECT raw_contact_id " - + " FROM phone_lookup" - + " WHERE min_match = '+')"; - - /** - * 根据电话号码获取联系人名称 - * - * @param context 上下文对象,用于访问内容提供者 - * @param phoneNumber 电话号码 - * @return 如果找到匹配的联系人,则返回联系人名称;否则返回null - */ - public static String getContact(Context context, String phoneNumber) { - // 检查缓存是否为空,如果为空则初始化 - if(sContactCache == null) { - sContactCache = new HashMap(); - } - - // 检查缓存中是否已经存在该电话号码对应的联系人名称 - if(sContactCache.containsKey(phoneNumber)) { - return sContactCache.get(phoneNumber); - } - - // 根据电话号码构建查询联系人的SQL语句 - String selection = CALLER_ID_SELECTION.replace("+", - PhoneNumberUtils.toCallerIDMinMatch(phoneNumber)); - // 执行查询 - Cursor cursor = context.getContentResolver().query( - Data.CONTENT_URI, - new String [] { Phone.DISPLAY_NAME }, - selection, - new String[] { phoneNumber }, - null); - - // 处理查询结果 - if (cursor != null && cursor.moveToFirst()) { - try { - // 获取联系人名称,并存入缓存中 - String name = cursor.getString(0); - sContactCache.put(phoneNumber, name); - return name; - } catch (IndexOutOfBoundsException e) { - // 日志输出异常信息 - Log.e(TAG, " Cursor get string error " + e.toString()); - return null; - } finally { - // 关闭游标 - cursor.close(); - } - } else { - // 如果没有找到匹配的联系人,输出日志信息并返回null - Log.d(TAG, "No contact matched with number:" + phoneNumber); - return null; - } - } -}