`
abc20899
  • 浏览: 938472 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Contacts的结构

阅读更多
private String testOne() throws Exception {  
          
        final Cursor people = getContentResolver().query(Contacts.CONTENT_URI, null, null, null, null);  
 
        StringBuilder sb = new StringBuilder();  
        while(people.moveToNext()) {  
            long id = people.getLong(people.getColumnIndex(Contacts._ID));  
            String name = people.getString(people.getColumnIndex(PhoneLookup.DISPLAY_NAME));  
            if(id==1) {  
                  
                sb.append("---id is "+id+",name is "+name+"\n");  
                  
                //String IsPhone = people.getString(people.getColumnIndex(Contacts.HAS_PHONE_NUMBER));  
                //if( (Integer.parseInt(IsPhone) > 0) ){}  
                  
                Cursor c = null;   
            // Cursor c = getContentResolver().query(CommonDataKinds.Phone.CONTENT_URI,   
            //      null,CommonDataKinds.Phone.CONTACT_ID+"="+id,null,null);  
            //while(c.moveToNext()){  
            //  long i = c.getLong(c.getColumnIndex(Contacts._ID));  
            //    String num=c.getString(c.getColumnIndex(CommonDataKinds.Phone.NUMBER));  
            //    sb.append("phone=id:"+i+", n:"+num+"\n");  
            //}  
            //c.close();  
                  
                c=getContentResolver().query(Data.CONTENT_URI, null, Data.CONTACT_ID+"="+id, null, null);  
                while(c.moveToNext()){  
                    long j=c.getLong(c.getColumnIndex(Contacts._ID));  
                    String typ=c.getString(c.getColumnIndex(Data.MIMETYPE));  
                    String str="";  
                    if(typ.equals(CommonDataKinds.Im.CONTENT_ITEM_TYPE)){  
                        str=c.getString(c.getColumnIndex(CommonDataKinds.Im.PROTOCOL))+",";  
                        str+=c.getString(c.getColumnIndex(CommonDataKinds.Im.DATA));  
                    }  
                    else if(typ.equals(CommonDataKinds.Email.CONTENT_ITEM_TYPE)){  
                        str=c.getString(c.getColumnIndex(CommonDataKinds.Email.TYPE))+",";  
                        str+=c.getString(c.getColumnIndex(CommonDataKinds.Email.DATA));  
                    }  
                    else if(typ.equals(CommonDataKinds.Note.CONTENT_ITEM_TYPE)){  
                        str=c.getString(c.getColumnIndex(CommonDataKinds.Email.DATA));  
                    }  
                    else if(typ.equals(CommonDataKinds.Phone.CONTENT_ITEM_TYPE)){  
                        str=c.getString(c.getColumnIndex(CommonDataKinds.Phone.TYPE))+",";  
                        str+=c.getString(c.getColumnIndex(CommonDataKinds.Phone.DATA));  
                    }  
                    else if(typ.equals(CommonDataKinds.Photo.CONTENT_ITEM_TYPE)){  
                        byte[] buf = c.getBlob(c.getColumnIndex(CommonDataKinds.Photo.PHOTO));  
                        str="len is "+buf.length;  
                    }  
                    else if(typ.equals(CommonDataKinds.Nickname.CONTENT_ITEM_TYPE)){  
                        str=c.getString(c.getColumnIndex(CommonDataKinds.Nickname.TYPE))+",";  
                        str+=c.getString(c.getColumnIndex(CommonDataKinds.Nickname.DATA));  
                    }  
                    sb.append("data=id"+j+", t:"+typ+"\n, n:"+str+"\n");  
                }  
                c.close();  
                  
                  
            }  
              
        }  
          
        people.close();  
        return sb.toString();  
    } 
分享到:
评论

相关推荐

    Android 源码分析_Contacts

    2. SQLite数据库:`ContactsContract`是Android提供的用于操作联系人数据的API,它定义了数据库表结构和常量。联系人信息被存储在多个表中,如`RawContacts`、`Data`、`Contacts`等,每个表都有相应的SQLite操作方法...

    Google contacts

    通过研究Google Contacts的源码,开发者可以学习到Google的编程规范、代码结构和模块化设计,这些都是遵循Android开发最佳实践的体现。 总之,分析和学习Google Contacts的源码不仅能帮助你深入了解Android的联系...

    Android 系统应用 Contacts 源码

    在源码中,我们可以看到如何使用SQLiteOpenHelper来创建和升级数据库,以及如何设计数据表结构。例如,`ContactsContract`类定义了数据的URI、列名和数据类型,便于其他应用通过标准的ContentResolver接口访问这些...

    安卓Android源码——Contacts.rar

    通过解析ContactsContract类,我们可以了解系统定义的Contacts内容URI和数据结构,这对于我们定制自己的数据提供者或者与Contacts交互至关重要。ContactsContract类中包含了各种常量和抽象类,如Data、RawContacts、...

    Android_2.2Contacts表结构

    ### Android 2.2 Contacts 表结构解析 在Android系统中,联系人的管理与存储是一项重要的功能。Android 2.2版本中对于联系人的管理主要通过`ContactsContract`类来进行,该类定义了一系列用于访问联系人数据库的...

    Spring Security3.2的contacts示例代码

    `security:http`、`security:authentication-manager`等元素定义了整个安全体系结构。 9. **基于注解的配置**:虽然本示例可能使用XML配置,但Spring Security也支持使用Java配置和注解,例如`@EnableWebSecurity`...

    android Contacts源码

    1. **数据存储结构** Android的Contacts应用基于SQLite数据库进行数据存储。它定义了一系列的数据表,如`contacts`、`raw_contacts`、`data`等,用于保存联系人的基本信息和各个数据项。`raw_contacts`表存储每个...

    Contacts_QT_python_

    在"Contacts"应用中,我们需要创建一个数据库连接,定义数据表结构,并实现添加、查询、更新和删除联系人的功能。 此外,PyQt5还支持信号和槽机制,这是GUI编程中一种强大的通信方式。当一个动作(如点击按钮)发生...

    android_8_1 Contacts 源码

    为了适应Android Go的性能限制,源码可能会包含各种性能优化策略,如使用轻量级数据结构,减少内存分配,或者通过异步任务处理大数据操作。 7. **数据分页**: 对于大量联系人,应用可能使用数据分页技术来减少...

    android contacts

    在处理联系人数据时,我们可以通过ContentProvider扩展SQLite数据库,创建相应的表结构,如Contacts表和Groups表。利用SQL语句进行增删改查操作,例如,使用INSERT INTO添加新的联系人,使用JOIN操作来关联联系人和...

    Laravel开发-contacts

    **Laravel 开发 - contacts** Laravel 是一个优雅且强大的 PHP 框架,它为开发者提供了丰富的工具和功能,使构建 web 应用程序变得简单高效。在 "Laravel 开发 - contacts" 这个项目中,我们关注的是如何使用 ...

    android4.2应用程序源码之 Contacts

    源码中包含了数据库的表结构设计和相关的SQL操作,如增删改查。开发者可以通过分析这部分代码,学习如何高效地使用SQLite数据库,以及如何设计合理的数据模型。 2. UI设计:Contacts应用的界面由多个Activity和...

    android4.1 联系人模块源码 Contacts.rar

    在源码中,可以看到如何通过ContentProvider操作这些数据,以及如何定义数据表结构和查询语句。 2. **ContentProvider**:Android的ContentProvider是应用程序间数据共享的关键组件。在联系人应用中,...

    专网联系人contactsprovider设计文档

    《专网联系人contactsprovider设计文档》 专网联系人管理是一个重要的系统功能,其核心在于PrivateContactsProvider的设计,它负责管理和提供专网内的联系人数据,包括但不限于联系人信息、组信息、通话记录等。...

    Contacts

    2. 数据结构与数据库设计: 在设计这样的系统时,我们需要考虑如何有效地存储和检索联系人信息。这通常涉及到关系数据库的设计,如MySQL、SQLite或PostgreSQL,其中“Contacts”可能是一个表,包含各种字段来存储...

    AndroidContacts,安卓工作室联系方式.zip

    二、AndroidContacts项目结构 AndroidContacts-master作为项目的主要目录,通常包含了项目的源代码、资源文件、构建脚本以及README文档等。源代码部分可能包括多个模块,如UI界面、数据访问层(DAL)和业务逻辑层...

    前端开源库-contacts-pane

    1. **数据结构与模型**:contacts-pane可能定义了一种数据结构,用于存储和操作联系人信息,如姓名、电话号码、电子邮件地址等。这通常涉及到JavaScript对象或者类的设计,确保数据的组织和访问符合预期。 2. **...

    Localization of electrodes and contacts in SEEG.docx

    立体定向脑电图(Stereotactic Electroencephalography, SEEG)是一种通过植入颅内的电极来监测大脑深层结构电活动的技术。与传统的头皮脑电图相比,SEEG能够提供更精确的空间定位信息,这对于识别癫痫发作起源区至...

    Qt-Qml-Contacts-master.zip

    QML是一种声明式的语言,用于构建用户界面,它的设计目标是简化UI的创建,提供更直观的代码结构。 首先,让我们从QML开始。QML允许开发者通过声明式的语法定义UI元素和它们之间的关系。在"Qt-Qml-Contacts-master...

Global site tag (gtag.js) - Google Analytics