`
lucane
  • 浏览: 121382 次
  • 性别: Icon_minigender_1
  • 来自: 江湖
社区版块
存档分类
最新评论

解剖Android联系人之三,基于2.1

阅读更多
其实到后面发现这些基本的操作就很简单了
关键是怎么和本身的应用结合起来
怎么开发出好用,好看,有特色的应用出来

前面读取联系人数据基本清楚了
简单的说就是几个表关联来查,但是Android已经帮我们封装好了这些东西,我们只需要按着这种规律去执行就行了

读完了就是写了
这个文档已经有个比较好懂的例子了,照着弄了弄就基本可以运行了
/docs/reference/android/provider/ContactsContract.RawContacts.html
当然还有这个/docs/reference/android/provider/ContactsContract.html也得看

写联系人比较关键的就是按照文档上说的Aggregation,withValueBackReference和applyBatch
这几个东西能理解点就基本可以用了

类似的代码如下:

ArrayList<ContentProviderOperation> ops2 = new ArrayList<ContentProviderOperation>();
				rawContactInsertIndex = ops2.size();

				ops2
						.add(ContentProviderOperation
								.newInsert(
										RawContacts.CONTENT_URI)
								.withValue(
										RawContacts.ACCOUNT_TYPE,
										null)
								.withValue(
										RawContacts.ACCOUNT_NAME,
										null)
								.build());

				ops2
						.add(ContentProviderOperation
								.newInsert(
										Data.CONTENT_URI)
								.withValueBackReference(
										Data.RAW_CONTACT_ID,
										rawContactInsertIndex)
								.withValues(
										getSimpleCV())
								.withValues(
										getPhoneCV())
								.build());

	public ContentValues getSimpleCV() {
		ContentValues cv = new ContentValues();
		cv.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);
		cv.put(StructuredName.DISPLAY_NAME, "三 张");
		return cv;
	}

	public ContentValues getPhoneCV() {
		ContentValues cv = new ContentValues();
		cv.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
		cv.put(Phone.NUMBER, "10086");
		cv.put(Phone.TYPE, Phone.TYPE_COMPANY_MAIN);
		return cv;
	}

上面这几段代码跟例子不同的就是把这些值放ContentValues里面了,然后再一起加进来,其实都是一样的,只不过我们在编写代码的时候把同一类的东西放一起,另外如果你有多个号码就用循环然后通过withValues加在后面
其他内容的写入方法也类似
当然还要注意这个ID的关联,目前都是和RAW_CONTACT_ID关联的

另外在测试的过程当中发现Android删除联系人有点奇怪,有时候无法删除,我选中一个联系人删除的时候它提示本次删除将删除多条信息,我想他说的多条信息应该是raw_contact表中的多条数据,在contact表中实际只有一条
可能是raw_contact当中他没有合并

以后再来写代码删删看
分享到:
评论

相关推荐

    人体解剖三维动画

    【标题】"人体解剖三维动画"涉及到的领域是生物医学和数字技术的交叉,主要应用于教育、医疗和科研场景。这种技术通过三维动画的形式,将人体内部结构以直观、立体的方式呈现出来,有助于学习者理解和掌握人体解剖学...

    基于虚拟现实的三维心脏系统在外科解剖实验教学中的应用.pdf

    基于虚拟现实的三维心脏系统在外科解剖实验教学中的应用 摘要:本文主要探讨基于虚拟现实技术的三维心脏系统在外科解剖实验教学中的应用。该系统可以使学生直观而准确地掌握心脏解剖结构和功能,激发学生对实验课的...

    基于Android平台的校园通软件毕业论文.doc

    【基于Android平台的校园通软件】毕业论文主要探讨了如何利用Android操作系统开发一款适用于校园环境的通用软件。本文首先从国内外手机系统的发展现状及其应用情况出发,分析了Android平台在移动应用开发中的重要...

    基于CT扫描图像之颅底解剖结构三维重建

    利用CT图像和三维重建软件, 在普通PC 机重建正常人颅底的解剖结构。方法 选择正常成年 女性作为建模对象, 头部薄层扫面后, 将图像数据输入三维重建软件( m im ics软件) 中, 对颅底结构进行三维重建。结 果 建立了...

    3D人体解剖图

    这款软件将复杂的医学知识转化为生动的三维模型,使用户能够从不同角度、多层次地理解和掌握人体解剖学。 在医学教育中,对人体解剖的学习是基础且至关重要的一步。传统的二维图片往往难以呈现立体的解剖结构,而3D...

    最全人体解剖图

    通过对比不同角度和层次的解剖图,可以更全面地理解人体的三维结构。 ### 解剖图的学习方法 学习解剖图并非一蹴而就的过程,它需要时间和耐心。初学者可以从大体解剖学入手,先掌握基本的人体结构,然后逐渐过渡到...

    探讨基于移动互联网的人体解剖学第二课堂建设.pdf

    探讨基于移动互联网的人体解剖学第二课堂建设.pdf

    最全,最经典的人体解剖图.

    根据提供的文件信息,这里将基于“最全,最经典的人体解剖图”这一主题进行展开,探讨人体解剖学中的关键知识点。 ### 一、人体解剖学概述 人体解剖学是研究人体结构的一门学科,它帮助我们了解身体各部位的位置、...

    基于Mimics三维重建技术的股深动脉穿动脉穿支皮瓣的数字化解剖学研究.pdf

    "基于Mimics三维重建技术的股深动脉穿动脉穿支皮瓣的数字化解剖学研究" 本研究论文主要介绍了基于Mimics三维重建技术的股深动脉穿动脉穿支皮瓣的数字化解剖学研究。研究人员使用Mimics软件对股深动脉穿动脉穿支皮瓣...

    人体解剖浏览器MediView

    《MediView:人体解剖的三维探索》 在CG(Computer Graphics,计算机图形学)领域,MediView是一款极具价值的工具,专为学习和理解人体解剖学设计。这款软件利用先进的三维技术和360度观看功能,提供了一个直观、...

    人体解剖学习题集(含答案).pdf

    人体解剖学是医学专业的重要基础课程之一,涉及人体骨骼、关节、肌肉、内脏器官等的结构和位置。解剖学习题集作为学习和复习的材料,对于学生掌握和巩固解剖学知识至关重要。本题集涵盖了人体骨学的基本知识点,通过...

    3dBody三维人体解剖软件1.8绿色免费版

    3dBody三维人体解剖软件是一款功能全面的人体系统解剖3d互动软件,拥有两套全三维的男女人体模型,详细的介绍了人体的心血管,消化,内分泌,淋巴,神经,生殖,感官,骨胳,肌肉,泌尿,呼吸和皮肤系统,能够帮助...

    人体解剖软件

    而3dBody软件则通过三维可视化技术,将复杂的解剖结构以立体、互动的方式呈现出来,使学习者能够从不同角度、多层次地观察和理解人体的精细构造。 这款软件包含了详尽的人体模型,涵盖了从骨骼系统到肌肉组织,从心...

    系统解剖学习题及答案.pdf

    以下是基于题目中部分内容的一些解剖学知识点: 1. **骨骼分类**:长骨如股骨、跖骨和指骨,具有明显的骨干和两端的骨骺。而肋骨和椎骨属于扁骨和不规则骨,它们的形态复杂,不完全符合长骨的定义。 2. **解剖方位...

    3d针炙穴位图(人体解剖图)

    根据给定文件的信息,本文将围绕“3D针灸穴位图(人体解剖图)”这一主题进行深入探讨。此PDF文档为转载作品,并非商业用途,而是出于分享的精神。以下将详细介绍与该主题相关的知识点。 ### 一、3D人体解剖学软件 ...

    three. js的人体解剖图.zip

    Three.js 是一个基于 WebGL 的 JavaScript 库,它为Web开发人员提供了一个在浏览器中创建3D图形的强大工具。这个“three.js的人体解剖图”压缩包,很显然是一个利用Three.js库来展示人体结构的3D可视化项目。下面...

Global site tag (gtag.js) - Google Analytics