ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:396.37KB ,
资源ID:3343919      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3343919.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于android的手机通讯录附程序.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于android的手机通讯录附程序.docx

1、基于android的手机通讯录附程序20xx-20xx 学年x 学期xxxx大学电工电子实验教学中心创新性实验研究报告实验项目名称基于 android 的手机通讯录组长姓名 XXX 学号 XXXXXXXXXXXXXXX联系电话 xxxxxxxxxxxx E-mail xxxxxxxxxxxx成员姓名 xxx 学号 xxxxxxxxxxxxx成员姓名 XXX 学号 XXXXXXXXXXXXXXX专 业 电子信息工程 班级20XX级x班指导教师及职称亠 20xx 年 x 月 x 日、实验摘要随着4G通信技术的发展,无线带和传输速度都得到了大幅度提升。 智能手机终端添加更多内容丰富的用功能提供了良好

2、的平台。本课题的采用谷歌公司推出的一款基于 linux的开源机操作系统an droid 系统,利用java语言,eclipse为开发工具对通讯的代码进行编写。通过对 an droid平台的系统架构和应用程序进初步研究,设计出一 款基于an droid手机的讯录。此通讯录包括存储,删除,打电话,发信息,发邮件等功 能。An droid开发平台是手炫酷应用最好的实验场之一, 通过此次计,我要学会以全新的方式和富有个性的创意来诠释掌中的移动应用, 本软件利用andrid提供的各种组件对界面进行设计,达到很好的用户体验。二、实验目的研究用户使用习惯,以及其他品的操作体验,切实从 an droid用户角

3、度出发,用an droid开发工具及开发语言,开发出一款可以切实符合大众使习惯, 同时功能齐全的通 讯录。从开发语言角度,内存使率角度研究,以便能在不同的手机硬件平台下很好的实现软 件的完美运行 。研究an droid SDK以及各个操作系统版本差异,以便解决相的版本的程序软件兼容性的问题。三、实验场地及仪器、设备和材料:场地:实验室设备及仪器:Java SDK, Eclipe软件,PC机一台四、实验内容1、实验原理联系人列表界面主菜单中括添加联系人、搜索联系人、关于及看系统版本号、退出 菜单项。点击添加联系人,则进入联系人添界面,添加成功后返回列表界面。点击搜索 菜单,则进入联系人搜索界面,

4、输入联系人的全名或一字,即可查找相关联系人,点击 联系人会进入联系人查看界面,可以对联系人进行辑、删除、拨打电话、发送短信。添加联系人时,数据由用户入,点击确定按钮,判断数据是否合法(及用户名是否 为空),合法则插入到数据库;不合法,提示错信息,让用户重新输入。编辑联系人时,点击编辑系人菜单,输入修改后的数据,点击确定按钮,判断数据 是否合法,合法,则更新数据库;不合法,则返回错信息。当用户选定一个联系时,点击删除联系人菜单,提示用户是否删除,点击确定按钮, 则从数据库中删除此条记录。2、实验内容开发流程见下图:i增加、删除、编联系人点击通信录界面中的增加按钮,入增加联系人面。输入联系人的基本

5、信息,并可根 据用户需求增加个性化信息如头像、姓名、手机号码、办室电话、家庭电话、职务职称、 单位名称、地址、邮政编码、Email、其他联系方式、备注这些信息,击确认返回主界面。 点击通信录中一个已存在的联系人,进入联系人编辑界面,可修改系人的资料或进行删 除联系人操作,完成后退回到主界面。对列表中联系人的标记,点 mnu键弹出功能界面上的删除按键也可进行删除。还可以在菜单上选择删除全部联系人清空通讯录。在删除 联系人的过程中,系统将提示用户是否继续操作,若放弃操作,则系人信息将继续保存。2、查找联系人用户点击menu键打开底部菜单框,底部菜单框为查询系人提供入口, 进入通讯录的 缺省页面为联

6、系人列表,在列表中看到所有联系人的姓名、电话息排列,用户点击查找 按键输入联系人基本信息,通讯录显所有符合查询条件的联系人列表,用户选择一个联 系人进入联系人基本信息页面进行其他操作;查询完成,用户按返回键返回主界面。3、通功能用户在通录选择联系人进入联系详细信息界面,这时点击 menu键打开通信功能框,选择打电话、发信息的功能进行操作。4、菜单能通过对menu按的点击,显示底部菜框,包含有增加查找、除、菜单、返回功能,菜 单按键则包含显示所有、删除所有等实用功能。3.实验步骤3.1调查研究:了解需求,后用word列出要开发的系统的功能模块,每个大功能块有哪些小功能模 块,对于有些需求比较明确

7、相的界面时,在这一步里面可初步定义好少量的界面。3.2确定功能首先,需要对软件系进行概要设计,即系统设计概要设计需要对软件系统设计进行考 虑,包括系统的基本处理流程、系统的组结构、模块划分、功能分配、接口设计、运行 设计、数据结构设和出错处理设计,为软件的详细设计提供基础。3.3编写程序:在软件编码阶段,分别现各模块的功能,从而实现对目标系统的功能、性能、接口、 界面等方面的要求。3.3.1 界面布局An droid 的资源文件保存在/res的子目中。其中/res/drawable/目录中保存的是图像 文件,/res/values目录中保存的是用自定义字符串和颜色的文件,/re/xml目录中保

8、存 的是XML格式的数据文件。所有程序开发阶段可以被调的资源都保存在这些目录中,在 对界面进行绘制时要考虑到不同机屏幕大小可能不一样,应尽量兼容大多数手机屏幕尺 寸,使之显示无障碍。3.3.2增加联系人功能在通讯录中最主要的功操作,也就是联系人的添操作的功能,在联系人增加界面中点 击保存按钮实现对联系人信息的保存。首先在 user类定义了一个user函数从表单中获取数据,建立数据库帮助类,打开数据库并将 uer保存到数据库中。3.3.3删除联系人功能通过光标选择删除的联系人,点击系人然后选择删除可以删除联系人,并且在数据库 中删除联系人。3.3.4查找联系人功能在查找功能实现的过程中,我先搜索

9、框中的内容转化为字符串形式,如果输入为空就 设置显示所有联系人的列表,否就建立一个数据库帮且类,在数据库中进行查找匹配, 返回到list列表中,将整合的adapter和listview 结展现出来,并统计查找到的条数 展现给用户。3.3.5 Menu底部菜单框功能下面我们将介绍menu的触发式,通过对menu的介绍,我们将了解 menu功能设计, 对menu键的使用首要建立menu菜单,为每个菜单选绑定了一个图标和文字。3.3.6通信功能首先定义了 menu键,为menu添了三个选项,并且为每一个item设置图标功。3.3.7显示所有、删除所有及备份功能在bottom_menu中菜单功能键包含

10、有显示所有、删除所、以及备份 SD卡功能,显示所有与联系人表界面的思路一致,创建一个数据库帮助类从数据库中得所有用户的信息 放到list,通过setAdapter将listview 与adapter相结合展示出来。删除所有是数据 库中deleteAll这个方法将数据全部删除。备份文时先 AlertDialog.Builder 来提示是否需要备份记录到SD卡,如果点击确定就通过helper.backupData(privacy); 在数据库中执行备份的方法。3.3.8数据库操作实现为了实现联系人在数据库中增加,删除,查找等操作,使用作数据库的核心类android.database.sqlite.

11、SQLiteDatabase 。使用 SQLiteOpenHelper 的子类来完成创建、 打开数据库及各种对数据库的操作。3.4调试程序:将编制的序投入实际运行前,用手工或编译方法进行测试,修正法错误和逻辑错误。3.5运行测试:利用测试工具按照测试方案和流对产品进行功能和性能测试,根据需要编写不同的 测试工具,设计和维护测试统,对测试方案可能出现的问题进行分析和评估。3.5.1系统测试方法测试过程按4个步骤进行,即单元测试、成测试、确认测试和系统试及发版测试。 开始是单元测试,集中对用源代码现的每一个程序单元进行测试,检查各个序模块是否正 确地实现了规定的功能。集成测试把已测试过的模块组装来

12、,主要对与设计相关的软件 体系结构的构造进行试。确认测试则是要查已实现的软件是否满足了需求规格说明中确 定了的各种需求,以及软件配置是否完全正。系统测试把已经经过确认的软件纳入实际 运行环境中,与其它系统成份组合在一进行测试。3.5.2编辑联系人功能测试联系人详细界中有修改、删除和回按钮,在选择修改功能后,联系人的所有信息处于 可编辑状态,手机号码和固定电话则被 EditView设置为只可输数字,修改完后点击确定 按键,触发确定按键点监听事件,从而对数据库中该联系人信息进行更改,然后自动返 回联系人浏览界面。在联系人表中选择某个联系人点击看联系人详细信息,联系人手机、 办公室电话、庭电话、职务

13、称等一览无遗,同时在联系人详信息界面下面会出信功能键, 这时的联系人信息是不能操作的,如果想要联系人进行修改点击修改功能键对联系信息 进行修改。3.5.3查找联系功能测试在联系人列表显示中,输入姓名或者码对联系人进行查找,程序自动筛选符合条件的 联系人,如果没有符合条件的联系人则不显示。3.5.4删除联系功能测试除界面在系统测试中对联系人行删除操作时, 可以通过对底部菜单框中删除按键的点击,或者联系人细信息界面中删除。按键点击,出现提示框询问“是否要删除” 。3.5.5通讯功能测试在用户在通讯录选择联人进入联系人详细信界面, 这时点击menu键打开通信功能框,然后选择打电话、信息还是发邮件的功

14、能通过接口套用识别码跳转到相应的功能。3.6优化完善:对解决同一题的几不同的程序,进行比较、修改、调整或重编写程序,把一般程序变 换为语句最少、占内存量少、处理速度最快、外部设分时使用效最高的最优程序。五、实验结果与分析通讯录界面要求布局合理简约,颜色舒,控制按钮简单明了,让用户一眼就能看出各 个按钮的作用及操方法。能实要求的功能,但又不重复。要考到不同手机屏幕大小可能 不一样,应尽兼容大多数手机屏幕尺寸,使之显示无障碍。增加联人的界面如图 5-1所示查找联系人面如图5-2所示功能菜单界面图5-3所示图5-2查找系人界面5-3功能菜单界面其他功能界面如图5-4所示5-4其他功能界面图5-5 m

15、enu主页面根据以上系的测试过程对来联系人进修改的详细测结果如图 5-6所示图5-6修改页面系统的测试中对联系人进行删除操作,如图 5-7所示图5-7删除页面系统除了增加删除、查找等基本功能外,还具有打电话、信息、发邮件的功能,在调 出联系人信息时按menu键可以弹出能框如图5-8所示疗唏话 炭怎悟 蚩前件图5-8功能框六、实验结论七、指导老师评语及得分:签名: 年 月 日附录:程序代码增加界面绘制代码如下: 滚动条方向为垂直an droid:scaleType=ce nterCrop/ 按比例缩放图片,保持图片的尺寸比例/ 只能输入数字return; /从表单上获取数据User user =

16、 new User(); 在 user 类中定义了一个 user 函数user.user name = n ame;user.address = et_address.getText().toStri ng();pa ny = et_compa ny .getText().toStri ng();user.email = et_email.getText().toStri ng(); trin g();user.remark = et_remark.getText().toStri ng();user.zipCode = et_zipCode.getText().toString(); / 判

17、断头像是否改变,若改变,则用当前的位置,若没有改变,则用前一回的位置if(imageCha nged) user.imageId = imagescurre ntlmagePositi on %images .len gth; else ENGTH_LONG);setTitle(” 用户添加成功!);setResult(3); / 返回到上一个 Activity ,也就是Mai n.activityfini sh(); 销毁当前视图);删除联系人程序:if(deleteld = n ull | deleteld.size() = 0) Toast.makeText(Main.this, 没有标

18、记任何记录n长按一条记录即可标记 ”helper.deleteMarked(deleteld);list = helper.getAIIUser(privacy); / 重置视图adapter = new SimpleAdapter(Main .this, list, R.layout.listitem,n ewStri ngimageid, name,mobileph on e,new in tR.id.user_image,R.id.tv_ name,R.id.tv_mobileph on e); lv.setAdapter(adapter);deleteId.clear();).setN

19、egativeButton(” 取消,null).create().show() ; break;查找联系人功能:private void loadSearchL in earout() 获取et_search输入框的输入内容列表的适配器DBHelper helper = new DBHelper(Mai n.this);/ 获取数据库对象list = helper.getUsers(c on diti on, privacy);/ 获取用户歹U表list, R.layout.listiteSimpleAdapter searchAdapter = new SimpleAdapter(Mai

20、n.this, m, else setTitle( 共查到 ” + list.size()+ 条记录);mai nLi nearLayout.setBackgro un dDrawable( nu II);return false;);menu菜单代码:String bottom_menu_itemName = 增加,查找,删除,菜单,退出 ” ;Stri ng fileName;ilist,R.drawable.menu_exit, ;/选择功能图片响应 menu点击事件时设置底部菜单是否可见, public boolea n on KeyDow n(i nt keyCode, KeyEve

21、 nt event) if(keyCode = KeyEvent.KEYCODE_MENU) / 如果点击 menu键 loadBottomMenu(); 载入 menu功能if(bottomMe nuGrid.getVisibility() if(searchL in earout != null/如果选择不为空 switch (arg2)case 0: /* 增加 */case 1: /* 查找 */if(callData = null) /加载可用的号码loadAvailableCallData(); 加载电话号码if(callData.length = 0) /提示没有可用的号码Toa

22、st.makeText(this, 没有可用的号码! , Toast.LENGTH_LONG).show(); else if(callData.length = 1) /如果之有一个可用的号码, 这直接使用这个号码拨出Intent intent = new In te nt(l nten t.ACTION_CALL,Uri.parse(tel: + callData0);/设置一个新的intent对象startActivity(i nte nt); 开始活动事件 else /如果有2个或者2个以上号码,弹出号码选择对话框 initNumChooseDialog(); 选择号码break;/

23、跳出case Men u.FIRST+1: status = Intent.ACTION_SENDTO; / 将状态设置为发短信if(callData = null) / 如果号码为空lo/如果之后又一个可用的号码,这直接使用这个号码拨出Intent in te nt = new In te nt(l nte nt.ACTION_SENDTO,Uri.parse(smsto: + callData0); /设置一个新的intent 对象startActivity(intent); /开始活动事件 else ini tNumChooseDialog();/初始化号码break;case Me n

24、u.FIRST+2: if(user.email.equals() Toast.makeText(this, 没有可用的邮箱! , Toast.LENGTH_LONG).show();startActivity(i nte nt); 开始活动break; 退出return super.o nMen ultemSelected(featureld, item);/返回menu选择功能publicvoidonl temClick(Ad apterViewarg0, View arg1, int arg2,longarg3)switch(arg2)case0:显示所有,删除所有,备份功能程序:mai

25、 nMenu Grid.setO nl temClickListe ner(newOn ItemClickListe ner()list = helper.getAllUser(privacy);adapter = new SimpleAdapter(Main .this, list, R.layout.listitem,new Stringimageid,name,mobilephone,new in tR.id.user_image,R.id.tv_ name,R.id.tv_mobileph on e););builder.create().show();break;case 2:mai nMen uDialog.dismiss();new AlertDialog

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1