基于android的手机通讯录(附程序)

合集下载

Android添加联系人到通讯录的方法

Android添加联系人到通讯录的方法

Android添加联系⼈到通讯录的⽅法⽬录字段联系⼈名字联系⼈昵称联系⼈头像联系⼈备注联系⼈号码联系⼈公司和职位⽹站联系⼈邮箱联系⼈地址添加⽅式1. 静默添加2. 跳转添加3. 添加到现有联系⼈权限字段联系⼈名字名字不知道为什么,值设置了之后传过去没有,于是⾃⼰通过 Intent 最后⼜单独传了⼀次// 联系⼈名字ContentValues row1 = new ContentValues();String name = lastName + middleName + firstName;row1.put(ContactsContract.Data.MIMETYPE, monDataKinds.StructuredName.CONTENT_ITEM_TYPE);row1.put(monDataKinds.StructuredName.DISPLAY_NAME, name);row1.put(monDataKinds.StructuredName.GIVEN_NAME,firstName);row1.put(monDataKinds.StructuredName.FAMILY_NAME,lastName);row1.put(monDataKinds.StructuredName.MIDDLE_NAME,middleName);联系⼈昵称ContentValues row2 = new ContentValues();row2.put(ContactsContract.Data.MIMETYPE, monDataKinds.Nickname.CONTENT_ITEM_TYPE);row2.put(, nickName);联系⼈头像这⾥需要将图⽚的 byte 数组传进去ContentValues row3 = new ContentValues();//添加头像row3.put(ContactsContract.Data.MIMETYPE, monDataKinds.Photo.CONTENT_ITEM_TYPE);Bitmap bitmap = BitmapFactory.decodeFile(photoFilePath);ByteArrayOutputStream baos = new ByteArrayOutputStream();press(pressFormat.JPEG, 100, baos);row3.put(monDataKinds.Photo.PHOTO, baos.toByteArray());联系⼈备注// 联系⼈备注ContentValues row4 = new ContentValues();row4.put(ContactsContract.Data.MIMETYPE, monDataKinds.Note.CONTENT_ITEM_TYPE);row4.put(monDataKinds.Note.NOTE, remark);联系⼈号码号码有很多种类型,电话,⼿机,传真,公司,家庭,等ContentValues row5 = new ContentValues();// 联系⼈的电话号码addPhoneNumber(row5, values, mobilePhoneNumber,monDataKinds.Phone.TYPE_MOBILE);ContentValues row6 = new ContentValues();// 联系⼈的公司电话addPhoneNumber(row6, values, hostNumber,monDataKinds.Phone.TYPE_COMPANY_MAIN);ContentValues row7 = new ContentValues();// 联系⼈的⼯作号码addPhoneNumber(row7, values, workPhoneNumber,monDataKinds.Phone.TYPE_WORK_MOBILE);ContentValues row8 = new ContentValues();// 联系⼈的⼯作传真addPhoneNumber(row8, values, workFaxNumber,monDataKinds.Phone.TYPE_FAX_WORK);ContentValues row9 = new ContentValues();// 联系⼈的住宅号码addPhoneNumber(row9, values, homePhoneNumber,monDataKinds.Phone.TYPE_HOME);ContentValues row10 = new ContentValues();// 联系⼈的住宅传真addPhoneNumber(row10, values, homeFaxNumber,monDataKinds.Phone.TYPE_FAX_HOME);//封装的添加⽅法private void addPhoneNumber(ContentValues row, ArrayList<ContentValues> values, String phoneNumber, int type) {row.put(ContactsContract.Data.MIMETYPE,monDataKinds.Phone.CONTENT_ITEM_TYPE);row.put(monDataKinds.Phone.NUMBER, phoneNumber);row.put(monDataKinds.Phone.TYPE, type);values.add(row);}联系⼈公司和职位// 联系⼈公司和职位ContentValues row11 = new ContentValues();row11.put(ContactsContract.Data.MIMETYPE, anization.CONTENT_ITEM_TYPE);row11.put(PANY, organization);row11.put(anization.TITLE, title);⽹站// 联系⼈⽹站ContentValues row12 = new ContentValues();row12.put(ContactsContract.Data.MIMETYPE, monDataKinds.Website.CONTENT_ITEM_TYPE);row12.put(monDataKinds.Website.URL, url);联系⼈邮箱// 插⼊Email数据ContentValues row13 = new ContentValues();row13.put(ContactsContract.Data.MIMETYPE, monDataKinds.Email.CONTENT_ITEM_TYPE);row13.put(monDataKinds.Email.DATA, email);row13.put(monDataKinds.Email.TYPE, monDataKinds.Email.TYPE_WORK);联系⼈地址地址分为家庭,⼯作和其他。

全省优秀学位论文评选获奖论文

全省优秀学位论文评选获奖论文
彭红霞
陈黎
2012年
73
时间依赖性抗菌药物不同给药方案疗效分析
罗小鹏
李雪芹
2012年
74
静注曲马多对七氟醚吸入麻醉苏醒期躁的预防
李秀芳
龚小芳
2012年
75
罗哌卡因联合芬太尼与联合曲马多在硬膜外分娩镇痛中应用效果的比较
刘莉
杨磊
2012年
辛雅冰
韩燕红
2010年
6
HPLC法测定清胰方中龙胆苦苷和大黄素的含量
胡婷
梁奋新
2010年
7
关于留置导尿患者护理需求的调查
倪荆为
黄敏
2010年
8
HPLC-MS/MS串联法检测人血浆中辛伐他汀浓度
王方
任秀华
2010年
9
注射用泮托拉唑钠与18种常用药物配伍稳定性考察
陈光辉
朱雪松
2010年
10
基于Delphi的小区物业管理系统的设计与实现
余宝娣
周尚成
2012年
68
HPLC 同时测定肠循环液中黄连提取物小檗碱和药根碱的浓度
李发鹏
徐丽君
2012年
69
脑康复粉针对大鼠MCAO模型血脑屏障的影响
付赛兵
邢茂
2012年
70
医疗损害赔偿的法律适用问题研究
马燕芳
李泽华
2012年
71
正交试验优化醋炙香附的电烤炮制工艺
杨娜娜
张晓燕
2012年
72
HPLC法测定固肾调经片中芍药苷的含量
全省优秀学位论文评选获奖论文
序号
论文题目
作 者
指导教师
时间
1
N-三甲基壳聚糖包衣的盐酸阿霉素脂质体的制备

基于互联网的手机通讯录的研究与实现

基于互联网的手机通讯录的研究与实现

基于互联网的手机通讯录的研究与实现林俊存;张华;谭伟【摘要】本系统采用Eclipse+Android+sdk+Cordova集成开发环境,运用Java 语言编程,使得用户只需通过手机浏览器就能实现任何时间,任何地方,任何手机拨打您所急需的联系人,一般使用时不需要下载任何手机app,主要解决了手机丢失,手机不在,手机关机等各种情况下需要对联系人进行及时的拨打,新建或者分享他人等需求.及解决了我们对手机客户端的依赖及手机系统的跨平台性,是一个面向所有用户的WebApp网页软件,使我们对联系人的获取及其他功能的操作变得更简单,更实用,更及时.【期刊名称】《电子世界》【年(卷),期】2016(000)023【总页数】2页(P9-10)【关键词】SSH整合;Cordova;JAVA语言;手机通讯录;移动互联网【作者】林俊存;张华;谭伟【作者单位】湖北民族学院信息工程学院;湖北民族学院信息工程学院;湖北民族学院信息工程学院【正文语种】中文如今在互联网技术的带动下,大数据及云端技术得到了快速发展,而手机面向这种技术将成为手机科技发展的必定趋势,手机是人们在生活中必不可少的工具,其设计的最初目的与最为重要的功能是为了方便联系。

我们不得不承认百度云盘的出现是一件多么美妙的事,但我们并不想下载手机客户端来存放我们的联系人,在某种情况下它是没有多大意义的。

近几年来,随着移动通信智能终端的普及和通信终端功能的不断增强,用户已经可以随时随地使用移动终端登录和访问互联网上的各种社区网站;另外,移动通信终端都存储有通讯录,现在大部分基于手机通讯录的应用也主要是针对因用户手机丢失而引起用户信息损失的通讯录备份功能,完全忽视了通讯录所代表和隐藏的潜在的社会网络关系。

手机通讯录可以说是我们手机中最重要的应用功能之一,特别是我们在更换手机的时候,首先要做的就是把旧手机上面的联系人更新到新手机上面去,以前碰到这个问题我们可能用得最多的是通过复制到SIM卡,再从SIM卡复制到新手机的方式,但是这个方法往往会受到数量以及新旧手机联系人不兼容的问题,并且最重要的是这个方法很慢。

android获取通讯录信息

android获取通讯录信息

开发中需要获取手机用户的通讯录信息,要求运行在Andrid2.0及以上版本,因为程序中用到了Android2.0新的API。

程序运行结果通过Log.v写入到了日志,结果部分截图:程序的主要代码如下:protected void getContactInfo() {//获得通讯录信息,URI是ContactsContract.Contacts.CONTENT_URICursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);while (cursor.moveToNext()) {//获得通讯录中每个联系人的IDString contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));//获得通讯录中联系人的名字String name = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAM E));Log.v(TAG, "…name…" + name);//查看给联系人是否有电话,返回结果是String类型,1表示有,0表是没有String hasPhone = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER) );if (hasPhone.equalsIgnoreCase("1"))hasPhone = "true";elsehasPhone = "false";//如果有电话,根据联系人的ID查找到联系人的电话,电话可以是多个if (Boolean.parseBoolean(hasPhone)) {Cursor phones = getContentResolver().query(monDataKinds.Phone.CONTENT_URI,null,monDataKinds.Phone.CONTACT_ID+ " = " + contactId, null, null);while (phones.moveToNext()) {String phoneNumber = phones.getString(phones.getColumnIndex(monDataKinds.Phone.N UMBER));Log.v(TAG, "…phoneNumber…" + phoneNumber);}phones.close();}//查找email地址,这里email也可以有多个Cursor emails = getContentResolver().query(monDataKinds.Email.CONTENT_URI,null,monDataKinds.Email.CONTACT_ID + " = "+ contactId, null, null);while (emails.moveToNext()) {String emailAddress = emails.getString(emails.getColumnIndex(monDataKinds.Email.DATA ));Log.v(TAG, "…emailAddress…" + emailAddress);}emails.close();//获得联系人的地址Cursor address = getContentResolver().query(monDataKinds.StructuredPostal.CONTENT_ URI,null,monDataKinds.StructuredPostal.CONTACT_ID+ " = " + contactId, null, null);while (address.moveToNext()) {// These are all private class variables, don’t forget to cre ate// them.String poBox = address.getString(address.getColumnIndex(monDataKinds.StructuredP ostal.POBOX));String street = address.getString(address.getColumnIndex(monDataKinds.StructuredP ostal.STREET));String city = address.getString(address.getColumnIndex(monDataKinds.StructuredP ostal.CITY));String state = address.getString(address.getColumnIndex(monDataKinds.StructuredP ostal.REGION));String postalCode = address.getString(address.getColumnIndex(monDataKinds.StructuredP ostal.POSTCODE));String country = address.getString(address.getColumnIndex(monDataKinds.StructuredP ostal.COUNTRY));String type = address.getString(address.getColumnIndex(monDataKinds.StructuredP ostal.TYPE));Log.v(TAG, "…city…" + city);}}cursor.close();}代码中已经有了注释,这里不做过多解释,比较重要的方法getContentResolver().query在文章Android简单操作sqlite中有解释。

安卓课程设计_手机通讯录系统1

安卓课程设计_手机通讯录系统1

目录1摘要 (1)2系统概述 (2)2.1需求分析 (2)2.1.1基本功能需求 (2)2.1.2系统用例分析 (2)2.2总体设计方案 (5)2.2.1系统模块关系与划分 (5)3系统详细分析 (6)3.1通讯录需求分析 (6)3.1.1增加、删除、编辑联系人 (6)3.1.2查找联系人 (6)3.1.3通讯功能 (6)3.1.4菜单功能 (7)3.1.5导入导出功能 (7)3.2数据库设计 (7)3.1.3Android数据库概述 (7)3.1.3数据库表详细设计 (7)3.3系统界面设计 (8)4系统编码实现 (14)5测试 (19)6参考文献 (23)摘要Android是一种以Linux为基础的开源代码操作系统,主要应用于手机,因为其良好的人机交互能力和能够安装使用众多功能各异的应用软件而深受人们喜爱,本文就介绍其基于Android 2.1版本开发的一个“个性通讯录”。

根据当下人们的使用习惯和实际需求,本文对通讯录提出了新的构想和设计,并在这样的基础上,构建实现了该通讯录.【关键词】 Android Linux 手机通讯录AbstractAndroid is a sort of open source code operating system that base on the Linux, and mainly used by mobile phone. It is so popular because of the good human-machine interaction capability, and also there are all kinds of functional applications software can be installed that through by this operating system, this article will introduces a kind of contacts that bases on the Android 2.1 version., this article pointed out an new idea and design for contacts due to the people’s operating habits and particular demands, and on such a basis to construct and achieve this contacts.function to ensure the security and stability of the system effectively.【Keywords】 Android Linux mobile contacts第1章系统概述1.1需求分析1.1.1基本功能需求(1) 用户通过联系人功能可以保存联系人的详细信息,可以对联系人进行编辑、删除、拨打电话、发送短信可以根据索引条件搜索联系人。

企业战略管理习题及参考答案

企业战略管理习题及参考答案

企业战略管理习题集及参考答案《企业战略管理》课程建设组二O一三年四月编写说明企业战略管理是工商管理专业的核心主干课程,同时也是财务管理、旅游管理、公共管理等相关管理类专业的必修课程。

企业战略管理主要研究和介绍企业从战略角度生存和发展所涉及的基本概念、基本原理和基本方法,突破了以往的管理理论发展中只反映企业某一职能管理的局限性,对企业全面的、长期的和方向性的管理问题及解决方法进行了充分阐述。

为了反映企业战略管理学科在理论与方法方面的最新发展动态,云南财经大学商学院工商管理教研室组织编写了由杨增雄教授任主编,卢启程教授、陈昆玉教授、史惠华副教授、唐泳副教授任副主编,2012年12月科学出版社出版的《企业战略管理——理论与方法》教材。

为了便于教师授课和学生学习,教研室又组织相关老师编写了这本与教材匹配的习题集及参考答案,以期对教师教学和学生学习把握相关理论和知识点有所帮助,也希望有助于学生课后复习和练习。

本习题集及参考答案编写人员及分工如下:杨增雄教授(第一、二、七、十一、十二章)、史惠华副教授(第三、九章)、唐泳副教授(第四、六章)、陈昆玉教授(第五、十章)、卢启程教授(第八、十三章)。

商学院相关研究生也参与了习题集的编写工作,在此对他们的辛勤工作表示感谢!由于知识水平有限,本习题集及参考答案存在问题在所难免,恳请各位使用者批评指正,对此将不胜感谢!第一篇企业战略管理基本问题第一章企业战略管理概论一、单项选择题1、亨利明茨伯格从计划、计策、()、定位和观念提出了企业战略的5P模型。

A、手段B、模式C、行为D、配置2、战略决策本身的风险要求企业必须适应动荡的环境,这体现了企业战略的()特征。

A、灵活性B、合作性C、竞争性D、适应性3、从本质上讲,()决定公司如何在选定的产品市场领域中进行竞争,明确并确保公司在该领域的细分市场中的良好前景。

A、经营战略B、公司战略C、职能战略D、竞争战略4、战略管理过程包括四个阶段:()、战略分析、战略选择和战略实施。

基于android企业内部通讯录设计与实现

基于android企业内部通讯录设计与实现

基于android的企业内部通讯录的设计与实现背景和意义智能手机(smartphone)是指“像个人电脑一样,具有独立的操作系统,可以由用户自行安装软件、游戏等第三方服务商提供的程序,通过此类程序来不断对手机的功能进行扩充,并可以通过移动通讯网络来实现无线网络接入的这样一类手机的总称”。

是一种安装了相应开放式操作系统的手机。

通常我们使用的智能手机操作系统有:symbian、ios、android、windows phone等。

而根据最近谷歌、苹果等公司陆续公布了2012年第四季度的财报,可以看到,目前的智能手机市场,基本是android和ios两大系统的天下,尤其是android系统,凭借免费的特点,成为了许多厂商制造手机的首选系统。

著名数据分析机构idc在2012年第三季度公布的数据表示,android系统已经占有了全球智能手机75%的市场。

而排在第二位的则是苹果的ios系统,占有了14。

9%的市场。

在这两大系统背后则是黑莓、windows phone以及塞班系统。

智能手机的普及极大的方便了人们的日常生活,越来越多的传统门户及应用软件加入了智能手机平台终端应用里头,常见的如美团、去哪儿、新浪微博等都针对智能手机进行了相应软件的开发。

通常单位的通讯录为了方便人查阅和随身携带,一般采用印制的方式,然后装订成册。

可以长期保存。

但是这种方式也存在一些问题,如印制错误照成资源浪费、联系人电话变更后无法及时更改等。

在信息技术高速发展的今天,采用电子通讯录的方式记录员工电话,既能降低办公成本,又能实时更新、提高通讯录的正确率。

基于android的内部通讯录,采用目前市场占有率最高的android手机为客户端,通过服务端统一的webservice接口查询员工信息,使院内员工可以方便快速的查询人员电话,并可采用快捷方式拨打电话、发送短信、导入本地通讯录。

同时服务器端维护人员,可以根据具体情况对人员手机号码等信息进行维护,并实时共享发布到平台上,使员工手机上的通讯录保持统一性。

Android开发之获得通讯录及SIM卡中联系人

Android开发之获得通讯录及SIM卡中联系人

Android开发之获得通讯录及SIM卡中联系人Android手机的通讯录联系人全部都存在系统的数据库中,如果须要获得通讯里联系人的信息就须要访问系统的数据库,才能将信息拿出来。

这一篇文章我主要带领同学们熟悉Android的通讯录机制。

图中选中的数据库 contacts2.db就是系统储存联系人的数据库,我们将它打开看看里面储存了些什么东东?打开contacts.db后发面里面有一堆表,同学们先别慌张。

今天我们主要讨论红框内的4个比较常用的表,后期我在介绍其它表的使用。

这里说一下如果你想在真机上查看数据库的话必需要先获得root权限,否则无法查看。

1.contacts 表_id :表的ID,主要用于其它表通过contacts 表中的ID可以查到相应的数据。

display_name: 联系人名称photo_id:头像的ID,如果没有设置联系人头像,这个字段就为空times_contacted:通话记录的次数last_time_contacted: 最后的通话时间lookup :是一个持久化的储存因为用户可能会改名子但是它改不了lookup2.data表raw_contact_id:通过raw_contact_id可以找到 raw_contact表中相对的数据。

data1 到 data15 这里保存着联系人的信息联系人名称联系人电话号码电子邮件备注等等。

3.phone_look_up表data_id : 通过data_id可以找到 datat表中相对的数据。

raw_contact_id : 通过raw_contact_id 可以找到 raw_contact_表中相对的数据。

normalized_number: 这个字段就比较有意思了,它是将每个电话号码逆序排列。

4.raw_contact表version :版本号,用于监听变化deleted :删除标志, 0为默认 1 表示这行数据已经删除display_name : 联系人名称last_time_contacts : 最后联系的时间有关这些的源码都在android.provider.ContactsContract这个类里面,如果想深入了解的话可以去看看,数据库相关的操作联查啊啥的都在里面。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

20xx-20xx 学年 x 学期xxxx大学电工电子实验教学中心创新性实验研究报告实验项目名称_基于android的手机通讯录_组长姓名xxx 学号xxxxxxxxxxxxxxx联系电话xxxxxxxxxxxx E-mail xxxxxxxxxxxx@成员姓名xxx 学号xxxxxxxxxxxxx成员姓名xxx 学号xxxxxxxxxxxxxxx专业电子信息工程班级20xx级x班指导教师及职称xx20xx年x月x 日开发流程见下图:1、增加、删除、编联系人点击通信录界面中的增加按钮,入增加联系人面。

输入联系人的基本信息,并可根据用户需求增加个性化信息如头像、姓名、手机号码、办室电话、家庭电话、职务职称、单位名称、地址、邮政编码、Email、其他联系方式、备注这些信息,击确认返回主界面。

点击通信录中一个已存在的联系人,进入联系人编辑界面,可修改系人的资料或进行删除联系人操作,完成后退回到主界面。

对列表中联系人的标记,点mnu键弹出功能界面上的删除按键也可进行删除。

还可以在菜单上选择删除全部联系人清空通讯录。

在删除联系人的过程中,系统将提示用户是否继续操作,若放弃操作,则系人信息将继续保存。

2、查找联系人用户点击menu键打开底部菜单框,底部菜单框为查询系人提供入口,进入通讯录的缺省页面为联系人列表,在列表中看到所有联系人的姓名、电话息排列,用户点击查找按键输入联系人基本信息,通讯录显所有符合查询条件的联系人列表,用户选择一个联系人进入联系人基本信息页面进行其他操作;查询完成,用户按返回键返回主界面。

3、通功能用户在通录选择联系人进入联系详细信息界面,这时点击menu键打开通信功能框,选择打电话、发信息的功能进行操作。

4、菜单能通过对menu按的点击,显示底部菜框,包含有增加查找、除、菜单、返回功能,菜单按键则包含显示所有、删除所有等实用功能。

五、实验结果与分析通讯录界面要求布局合理简约,颜色舒,控制按钮简单明了,让用户一眼就能看出各个按钮的作用及操方法。

能实要求的功能,但又不重复。

要考到不同手机屏幕大小可能不一样,应尽兼容大多数手机屏幕尺寸,使之显示无障碍。

增加联人的界面如图5-1所示图5-1 增加联人界面查找联系人面如图5-2所示图5-2 查找系人界面功能菜单界面图5-3所示5-3 功能菜单界面其他功能界面如图5-4所示5-4其他功能界面图5-5 menu主页面根据以上系的测试过程对来联系人进修改的详细测结果如图5-6所示图5-6 修改页面系统的测试中对联系人进行删除操作,如图5-7所示图5-7 删除页面系统除了增加删除、查找等基本功能外,还具有打电话、信息、发邮件的功能,在调出联系人信息时按menu键可以弹出能框如图5-8所示图5-8 功能框六、实验结论七、指导老师评语及得分:附录:程序代码增加界面绘制代码如下:<LinearLayoutxmlns:android="/apk/res/android"android:id="@+id/ScrollView1"android:layout_width="fill_parent"//宽度充满父空间android:layout_height="wrap_content"//根据内容决定高度android:scrollbars="vertical">//滚动条方向为垂直<LinearLayoutxmlns:android="/apk/res/android"android:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="vertical"><LinearLayoutandroid:id="@+id/widget205"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginLeft="10dp"//左边距为10dpandroid:layout_marginRight="10dp">android:scaleType="centerCrop"//按比例缩放图片,保持图片的尺寸比例></ImageButton><EditTextandroid:id="@+id/username"android:layout_width="fill_parent"android:layout_height="wrap_content"android:scrollbars="vertical"android:hint="姓名"//hint当文本内容为空时,出现的提示信息android:gravity="top"//置顶垂直排列android:layout_gravity="center_vertical"//排列居中/></LinearLayout><TextViewandroid:layout_height="wrap_content"android:layout_width="wrap_content"android:text="手机:"android:textSize="20dp"/><EditTextandroid:id="@+id/mobilephone"android:layout_width="fill_parent"android:layout_height="wrap_content"android:scrollbars="vertical"android:gravity="top"android:hint="手机"android:phoneNumber="true"/>//只能输入数字</LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_marginLeft="10dp"android:layout_marginRight="10dp"><Buttonandroid:id="@+id/btn_return"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:text="返回"/></LinearLayout></LinearLayout>return;}//从表单上获取数据User user=new User();//在user类中定义了一个user函数ername=name;user.address=et_address.getText().toString();pany=et_company.getText().toString();user.email=et_email.getText().toString();tring();user.remark=et_remark.getText().toString();user.zipCode=et_zipCode.getText().toString();//判断头像是否改变,若改变,则用当前的位置,若没有改变,则用前一回的位置if(imageChanged){user.imageId=images[currentImagePosition%images.length];}else{ENGTH_LONG);}setTitle("用户添加成功!");setResult(3);//返回到上一个Activity,也就是Main.activityfinish();//销毁当前视图}});删除联系人程序:if(deleteId==null||deleteId.size()==0){Toast.makeText(Main.this,"没有标记任何记录\n长按一条记录即可标记",helper.deleteMarked(deleteId);list=helper.getAllUser(privacy);//重置视图adapter=new SimpleAdapter(Main.this,list,yout.listitem,newString[]{"imageid","name","mobilephone"},new int[]{er_image,_name,_mobilephone});lv.setAdapter(adapter);deleteId.clear();}}).setNegativeButton("取消",null).create().show();}break;查找联系人功能:private void loadSearchLinearout(){ent arg2){String condition=et_search.getText().toString();//获取et_search输入框的输入内容if(condition.equals("")){//如果输入的为空lv.setAdapter(adapter);//设置显示所有数据的listview列表的适配器}DBHelper helper=new DBHelper(Main.this);//获取数据库对象list=helper.getUsers(condition,privacy);//获取用户列表SimpleAdapter searchAdapter=new SimpleAdapter(Main.this,list,yout.listitem,}else{setTitle("共查到"+list.size()+"条记录");mainLinearLayout.setBackgroundDrawable(null);}return false;}});}}menu菜单代码:String[]bottom_menu_itemName={"增加","查找","删除","菜单","退出"};String fileName;ilist,R.drawable.menu_exit,};//选择功能图片响应menu点击事件时设置底部菜单是否可见,public boolean onKeyDown(int keyCode,KeyEvent event){if(keyCode==KeyEvent.KEYCODE_MENU){//如果点击menu键loadBottomMenu();//载入menu功能if(bottomMenuGrid.getVisibility()==View.VISIBLE){//设置可视if(searchLinearout!=null&&searchLinearout.getVisibility()==View.VISIBLE){//如果选择不为空且视图为可视searchLinearout.setVisibility(View.GONE);//设置可视视图不显示}bottomMenuGrid.setVisibility(View.GONE);//设置底部视图不显示}else{bottomMenuGrid.setOnItemClickListener(new OnItemClickListener(){public void onItemClick(AdapterView<?>arg0,View arg1,int arg2,long arg3){switch (arg2){case 0: {/*增加*/}case 1: {/*查找*/}if(callData==null){//加载可用的号码loadAvailableCallData();//加载电话号码}if(callData.length==0){//提示没有可用的号码Toast.makeText(this,"没有可用的号码!",Toast.LENGTH_LONG).show();}else if(callData.length==1){//如果之有一个可用的号码,这直接使用这个号码拨出Intent intent=new Intent(Intent.ACTION_CALL,Uri.parse("tel://"+callData[0]));//设置一个新的intent对象startActivity(intent);//开始活动事件}else{//如果有2个或者2个以上号码,弹出号码选择对话框initNumChooseDialog();//选择号码}break;//跳出}case Menu.FIRST+1:{status=Intent.ACTION_SENDTO;//将状态设置为发短信if(callData==null){//如果号码为空lo//如果之后又一个可用的号码,这直接使用这个号码拨出Intent intent=new Intent(Intent.ACTION_SENDTO,Uri.parse("smsto://"+callData[0]));//设置一个新的intent对象startActivity(intent);//开始活动事件}else{initNumChooseDialog();}//初始化号码break;}case Menu.FIRST+2:{if(user.email.equals("")){Toast.makeText(this,"没有可用的邮箱!",Toast.LENGTH_LONG).show();}startActivity(intent);//开始活动}break;//退出}}return super.onMenuItemSelected(featureId,item);//返回menu选择功能}显示所有,删除所有,备份功能程序:mainMenuGrid.setOnItemClickListener(new OnItemClickListener(){public void onItemClick(AdapterView<?>arg0,View arg1,int arg2,long arg3){switch(arg2){case0:{mainMenuDialog.dismiss();break;}case1:{AlertDialog.Builder builder=new AlertDialog.Builder(Main.this); confirmDialog=builder.create();builder.setTitle("是否删除所有!?");builder.setPositiveButton("确定",new DialogInterface.OnClickListener(){public void onClick(DialogInterface dialog,int which){DBHelper helper=new DBHelper(Main.this);helper.deleteAll(0);list=helper.getAllUser(privacy);adapter=new SimpleAdapter(Main.this,list,yout.listitem,new String[]{"imageid","name","mobilephone"},new int[]{er_image,_name,_mobilephone});}});builder.create().show();break;}case2:{mainMenuDialog.dismiss();new AlertDialog.Builder(Main.this).setTitle("是否需要备份记录到SD卡?").setPositiveButton("确定",new DialogInterface.OnClickListener(){public void onClick(DialogInterface dialog,int which){LayoutInflater li=LayoutInflater.from(Main.this);View backup_view=li.inflate(yout.backup_progress,null);progressDialog=new AlertDialog.Builder(Main.this).setTitle("备份正在进行中...") .setView(backup_view).create();progressDialog.show();DBHelper helper=new DBHelper(Main.this);helper.backupData(privacy);ProgressBar bar=(ProgressBar)backup_view.findViewById(R.id.pb_backup); Button btn_backup_ok=(Button)backup_view.findViewById(R.id.btn_backuup_ok); bar.setMax(list.size());for(int i=0;i<=list.size();i++){bar.setProgress(i);}.setNegativeButton("取消",null).create().show();break;}数据库继承关系程序:class MyDBHelper extends SQLiteOpenHelper{public MyDBHelper(Context context,String name,int version){//公共的MyDBHelper对象super(context,name,null,version);//继承上面的}我在数据库中运用了openDatabase的方法来打开数据库。

相关文档
最新文档