通讯录项目有关总结

功能模块:联系人  通话记录  拨打电话  短信聊天

1.联系人管理涉及的表

Contacts  联系人表  一条记录记录一个联系人信息  与raw-contacts是一对多的关系

Raw-contacts  联系人的账户信息一个raw-contacts 有多种类型的数据对应多种data

Data 联系人的详细信息

Mimetype 存储数据的类型  类型的对照表

2.实现友录项目的引导界面

 

SplashActivity界面跳转 ImageView(logo)组合动画

 

Android动画方案:

1)补间动画

anim.splash.xml

组合动画 :渐变 缩放

应用:将动画文件解析成动画对象,将动画对象设置给应用动画的控件

可给动画设置监听,动画结束时跳转

在跳转结束时实现切换动画(出场和入场)

overridePendingTransition(R.anim.outsplash, R.anim.in_main);

 

2)帧动画

 

3)属性动画

Day_02

1.联系人的管理相关的contentProvider:

a) ContactsContract.Contacts对应 Contracts数据库contacts

b) 

2.单元测试的步骤

a) 在清单文件中配置依赖的库 <uses-library  android:name="android.test.runner"/>

application里面

b) 配置测试目标项目

<instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.TARENA.youlu"></instrumentation>

c.创建测试案例(继承androidTestCase

 

3.contactManager

查所有的联系人

根据联系人的头像id查联系人的头像

对联系人信息和头像信息进行缓存

在以上基础上继续查询Data表中的数据(mimetypeDATA1

根据以下判断mimetype的类型是何种类型数据进行分类

public final static String TYPE_NAME = "vnd.android.cursor.item/name";

public final static String TYPE_EMAIL = "vnd.android.cursor.item/email_v2";

public final static String TYPE_PHONE = "vnd.android.cursor.item/phone_v2";

public final static String TYPE_ADDRESS = "vnd.android.cursor.item/postal-address_v2";

4.MyBaseAdapter的封装

5.ContactAdapter

 

Day_03

Bitmap  (图像的绘制)

1.圆形头像的处理

a) 根据头像的大小创建画布

b) 在画布上先画一个(作为背景)

c) 设置画笔的图片的交叉模式Mode.SRC-IN;

d) 继续用画笔画方形的头像(作为前景)

e) 继续用画笔画圆形边框(白色)

f) 将整个画布的bitmap对象返回

2.添加联系人的信息

a) 通过自定义的对话框,调用系统的添加联系人的Activity实现联系人的添加ContactsContract.Intents.SHOW_OR_CREATE_CONTACT

3.编辑联系人的信息

a) 通过自定义的对话框,调用系统的编辑联系人的Activity实现联系人的编辑intent.ACTION_EDIT

i. URI:content://contacts/people/id

4.删除联系人的信息

a) 先删除联系人的账户信息,再删除联系人数据信息

b) 删除时候设置删除条件,条件为联系人的id

 

Day04

1.通过分析通话记录的Ui效果图

抽取出通话记录的实体类

编号

姓名

电话号码

通话时间

通话类型

头像的id   

2.通话时间格式化的思路

如果是当天打得

通话时间为:HHmm形式

前一天

通话时间为:昨天

如果是一周以内打的:

通话时间为:星期几

如果是一周之前

通话时间为:年--

 

Data ,SimpleDataFormat,Canlender

 

Day_04总结

1.通话记录

通话记录的查看

Calllog.Calls

通话记录的删除

根据通话记录的对象id实现通话记录的删除

1.从表中将通话记录删除

2.从适配器中删除,更新  

2.练习CalllogAdapter适配器的编写注意控件的优化处理

3.拨打电话

MediaPlayer:音频和视频的播放

SoundPool 音效池

查看:

在数据库中calls表中查看通话记录,创建实体类Calllog封装要查看的属性

ContactManagerget方法得到calllog记录,呈现在UI上(通过listview),因此还需要

xml布局,然后编写适配器CalllogAdapter,getView (主要就是编写),在CalllogFragment中关联适配器。就可得到通话记录。

删除:根据通话记录对象的id删除(ContentResolver)删除后要更新。

 

Day_05

1.动态的创建拨号键盘的创建

所有的键盘文本存中数组中

循环该数组在循环过程中动态创建

TextView对象并设置textVeiw的属性

布局参数的创建(widthHeight

通过布局参数设置每个按键的对齐规则

2.SoundPool的音效池

实例化soundpool对象

添加音效加载完毕时的监听

加载音效

在监听器的回掉方法中调用play方法播放音效、

音效的释放

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值