当前位置:首页 » 安卓系统 » android通讯录字母

android通讯录字母

发布时间: 2022-07-14 15:33:04

‘壹’ android 联系人头像取首汉子的首字母怎么做

在android 4.4.3上面,联系人的头像默认显示首字母,但是不支持中文字符

如果联系人名字的第一位是英文字符(a-z "| A-Z),则默认头像将显示该首字母。
如果支持中文时显示第一个汉字,那就happy了。
那就看看如何通过修改源代码来实现这一小功能吧~
我们还是先了解下联系人头像加载的流程吧~
联系人头像加载这个问题还是很有意思的,在Contacts中使用ContactPhotoManager类(严格来讲是这个类的子类)来实现头像的异步加载。
这个类还使用了LruCache来缓存图片,相当的强大,对图像的异步加载和缓存有兴趣的同志们可以看看。
以主页面的联系人列表加载头像为例。大致的调用流程为(只针对没有设置头像的联系人,即photoUri是null):
DefaultContactListAdapter->bindView()
ContactEntryListAdapter->buildQuickContact()
ContactEntryListAdapter->()
ContactPhotoManagerImpl->loadPhoto()->provider: // 注意,使用的是DEFAULT_AVATAR对象
->applyDefaultImage()
->getDefaultImageForContact()
LetterTileDrawable->drawLetterTile()->firsr char:高
在drawLetterTile函数执行drawText之前会调用isEnglishLetter来判断字符串的首字符是否为英文字符,如果是,则将首字母画上去

‘贰’ 安卓或者华为手机常用联系人的排序规则是如何规定的

常用联系人是根据第一个字的字母排序的,你可以在想要经常的联系人姓名前加一个a,就到最上面了

‘叁’ 华为手机通讯录英文名称顺序

联系人排序,是按照首字的拼音的首字母,或者按照英文的首字母。
按照英文26个字母顺序排列的。这是系统设置如此,自己没办法更改规则。
当然,既然知道是按照首字的首字母排序,那么完全可以在喜欢排在前列的联系人名字之前加a-z字母,就可以自己按照喜欢的序列排列了。

‘肆’ 手机的通讯录的文件夹 英文名一般是什么保存在哪个文件夹里路径

1、如未设置保存至SIM卡,则保存在系统分区的文件夹下(具体文件夹名称视不同机型而定)。
2、短信以数据库形式保存在系统分区的某一文件夹下,在未获取ROOT权限的情况无法查看,获取ROOT权限后可通过具有查看系统文件夹功能的文件管理器查看相关文件,但通常该部分数据无法直接查看短信内容。

‘伍’ 求android读取通讯录并按字母排序demo

如果只是排序,很简单。采用java自带的Collections.sort(***,***)方法。代码可以这样写:
List list =new ArrayList();
//Test是你的联系人实体。假设联系人的姓名是name,并且实体里有个方法getName(),返回的是联系人的名字
//然后对list赋值
Collections.sort(list,new Comparator(){
@Override
public int compare(Test lhs, Test rhs){
return (lhs.getName().compateTo(rhs.getName())); //这个是升序。把此行lhs和rhs互换,就是降序了。
}
}

‘陆’ 安卓手机系统语言设置成英文之后,通讯录里面就无法安装字母查找了 这是为什么

安卓手机系统语言设置成英文之后,通讯录里面就无法按照字母查找了的原因是有二:
第一,按照字母查找遵循的是汉语拼音的拼写规则,而英文系统下的通讯录,遵循的是英语语法的拼写规则。
例如,中文胡天龙,汉语拼音是hu tianlong,变成英文后,系统内出现的汉字是乱码,根本无从查找。
第二,某些安卓系统手机的操作系统版本偏低,语言设置变成英文后,不再支持按照字母查找的功能。5.0以上的安卓操作系统(国内销售手机),即使从语言设置变成了中文,也是可以继续使用按字母查找功能的(实测机型为红米Note2)。

‘柒’ 如何获取android手机联系人并按字母展示

android提供了本地数据库的查询uri,可以查询出数据:
采用一个AsyncQueryHandler来进行查询, AsyncQueryHandler自己开启了线程来进行数据查询,很方便

protected AsyncQueryHandler mQueryHandler;

protected final void queryPersonal() {
mQueryHandler.startQuery(QUERY_TOKEN, null, ContactsContract.Contacts.CONTENT_URI,
Personal.CONTACTS_SUMMARY_PROJECTION, null, null, getSortOrder(ContactsContract.Contacts.DISPLAY_NAME));
}

protected static String getSortOrder(String fieldName) {
//substr为截取函数,取第一个字母
//COLLATE主要用于对字符进行排
//COLLATE LOCALIZED 按本地语言进行排序
return "CASE WHEN substr(UPPER(" + fieldName + "), 1, 1) BETWEEN 'A' AND 'Z' THEN 1 else 10 END," +
fieldName + " COLLATE LOCALIZED ASC";
}

protected final class MyHandler extends AsyncQueryHandler {
/**
* Asynchronous query handler constructor.
*/
public MyHandler(Context context) {
super(context.getContentResolver());
}

/**
* On query completion.
*/
@Override
protected void onQueryComplete(int token, Object cookie, Cursor cursor) { //handler查询完的回调
if (cursor == null || cursor.isClosed()) {
return;
}
if (!isFinishing()) {
setLoading(false);
if (mAdapter != null) {
mAdapter.setLoading(false);
mAdapter.changeCursor(cursor);
}

if (cursor.getCount() == 0) {
mEmtytext.setVisibility(View.VISIBLE);
} else {
mEmtytext.setVisibility(View.INVISIBLE);
}
} else {
if (cursor != null && !cursor.isClosed()) {
cursor.close();
}
}
}

‘捌’ android 实现微信通讯录(联系人分类,并有边栏字母滑动效果,并可以查询联系人) 源代码

编译一下别人的包包

‘玖’ 手机通讯录怎么让 它字母分开管理

在设置里面。一般情况下,你打开通讯录,然后在你的通讯录设置里,你可以将你的通讯录设置为按字母排序,然后你的手机通讯录就是按字母分开的。
还有一种方法就是,你首先在你的手机上下载一个应用宝软件,然后在应用宝里面下载一个通讯录,应用宝里面的通讯录都是按字母分开管理的。希望你用的开心。还有别的软件你在应用宝里也可以找到

‘拾’ android通讯录字段sort_key_primary要多出一个"z"怎么去掉啊。

view plain to clipboardprint?
if (displayNameStyle == FullNameStyle.CHINESE ||
displayNameStyle == FullNameStyle.CJK) {
sortKeyPrimary = sortKeyAlternative =
ContactLocaleUtils.getIntanc).getSortKe(displayNamePrimary, displayNameStyle);}
if (displayNameStyle == FullNameStyle.CHINESE || displayNameStyle == FullNameStyle.CJK) { sortKeyPrimary = sortKeyAlternative = ContactLocaleUtils.getIntanc).getSortKe(displayNamePrimary, displayNameStyle);}
这段代码是运行在contactsprovi2.Java的updateRawContactDisplayName()方法里面,这段代码我们用到了ContactLocaleUtils.java这个类,所以我们进入它以后最显眼的就是ChineseContactUtils这个ContactLocaleUtils的子类,它重写了ContactLocaleUtils的getSortKey()方法,如下:

view plain to clipboardprint?
public String getSortKey(String displayName) {

热点内容
php取文本框值 发布:2025-01-25 05:08:50 浏览:245
怎么查看服务器状态 发布:2025-01-25 05:08:42 浏览:716
win7无法访问xp共享打印机 发布:2025-01-25 05:05:04 浏览:806
编程刷分 发布:2025-01-25 04:55:07 浏览:631
世界服务密码是多少 发布:2025-01-25 04:42:52 浏览:49
专车配置有哪些 发布:2025-01-25 04:42:46 浏览:570
java培训班收费 发布:2025-01-25 04:37:53 浏览:767
密码锁如何密码解锁 发布:2025-01-25 04:25:16 浏览:386
ebay如何上传产品 发布:2025-01-25 04:04:37 浏览:824
java判断是否手机访问权限 发布:2025-01-25 04:02:28 浏览:807