当前位置:文档之家› 基于android的通讯录管理的设计与实现—何文培—24131101030

基于android的通讯录管理的设计与实现—何文培—24131101030

基于android的通讯录管理的设计与实现—何文培—24131101030
基于android的通讯录管理的设计与实现—何文培—24131101030

毕节学院课程考试

2013~2014学年度第2 学期《移动智能设备应用开发》考查

方案

信息工程学院计算机科学与技术专业2011 级本科班

姓名何文培学号24131101030

主考教师:路勇

考查内容:

一、设计部分要求(从以下5题中任选一题完成软件设计):

1、视频播放器设计与实现。

2、系统通讯录设计与实现。

3、在线翻译设计与实现。

4、条纹码识别器设计与实现。

5、可以自选有创意的设计。

二、文档部分要求:

1、功能需求。

2、设计思路。

3、流程图。

4、界面设计。

5、功能模块。

6、测试。

基于android的通讯录的设计与实现

一:引言

学了android的开发与设计课后,对计算机软硬件相关知识有了一定的了解;基于此,设计与实现一个在Android系统上运行的手机通讯管理软件,实现手机通讯录的基本功能,包括:添加联系人、查看联系人、修改联系人、删除联系人、拨打电话、发送短信、查询联系人,以及联系人的导入导出功能即联系人的备份。

主要开发基于Android 的手机的通讯管理软件。以Java语言为基础,结合Android移动开发平台,并利用Android提供的SDK,实现在Android平台上运行的手机通讯录,方便广大手机用户更加便捷地对联系人的信息进行管理。该手机通讯录面向所有的Android手机用户,为他们提供更实际便捷的手机服务,具有拨号、通讯记录等基本功能。该通讯录的数据导出功能是该软件的一个特色,可以实现联系人数据导出到文本,实现数据备份。大家生活当中经常遇到手机丢失,出现故障,和其他一些事故。最担心的就是丢失手机里的电话号码。

1.1.选题目的及意义

随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。在Google和Android手机联盟的共同推动下,Android在众多手机操作系统中脱颖而出,受到广大消费者的欢迎。

手机通讯录作为手机的基本功能之一,每天我们都在频繁地使用着。根据手机功能使用调查显示,有八成以上的消费者使用手机通讯录功能。随着手机通讯录功能的不断加强与完善,手机通讯录对于人们的意义,已不仅仅像记事簿一样显示通讯地址,而是向着个性化、人性化的方向发展。通讯录从无到有,从英文到中文,经过了十几年的发展历程,今后的发展趋势就是从通讯录发展为名片夹,也就是在一个人名下,可以存储座机、手机、单位、地

址、电子邮件等内容。这种名片夹在电话薄的基础上,大大丰富了内容,同时结构也发生了革命性变化,而且随着手机的发展,相信更优秀的通讯录会越来越受到社会各层人士的喜爱。

1.2. 项目背景

Android一词的本义指"机器人",同时也是Google在2007年11月5日宣布的基于Linux 内核的开源手机系统的名称,中文注册商标"安致", 该平台由操作系统、中间件、用户界面和应用软件组成,是一个为移动终端打造的真正开放和完整的智能手机系统。其早期为Google开发,后由开放手机联盟(Open Handset Alliance)开发。它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分,底层以Linux内核为基础,由C语言开发,只提供基本功能;中间层包括数据库Library和虚拟机Virtual Machine,由C++开发;最上层是由各公司自行开发,以Java编写的各种应用软件,如通话程序,短信程序等。

二:功能需求。

根据用户需求总结出来的反映了用户需求的系统逻辑模型转换成可以实施的物理模型,把整个设计划分成单元,主要解决如何去做的问题,要想创建整个通讯录首先要通过增加联系人信息来创建通讯录。整个应用程序应划分为4个模块,分别是程序启动、用户界面、后台服务和数据库适配器,各模块之间的关系如图所示:

从上图中不难看出,后台服务是整个应用程序的核心,主要是“数据获取模块”,负责周期性

的从用户输入的内容中获取信息。

后台服务在程序启动时就由AppWidgetProvider启动,也可由用户界面通过startService(进行启动,启动后的后台服务将一直保持运行状态。同时用户界面从数据获文本信息。一方面可以避免因网络通信不畅造成界面失去响应;另一方面,后台服务可以及时更新数据,以保证数据的准确性。数据库适配器封装了所有对SQLite数据库操作的方法用户界面和后台服务会调用它来实现数据库操作。在完成用户界面设计、数据库设计和模块设计后,至此程序设计阶段基本完成。文本编辑器中不同功能界面之间的切换,用户可以通过点击menu键来切换到不同的功能界面,不同功能界面的切换如图

三:设计思路。

开发的基于Android手机通讯录具有十分重要的意义。可以根据客户需求的实际情况,开发一款实用的手机通讯录软件。

本设计主要是采用Android的View框架编写,部分框架运用Android中的其他组件。

当进入通讯录的增加界面时,调用的是一个用相对布局RelativeLayout的XML布局文件。其中包括了2个Button,分别实现了不同的功能。

第一个Button是保存内容,当输入联系人姓名和号码是点击保存实现此功能。说到保存,不得不说得是保存信息涉及添加新联系人的头像,姓名,手机号码,办公室电话,家庭电话,职务职称,单位名称,地址,邮政编码,Email,其他联系方式,备注这些信息。

第二个Button是返回,顾名思义就是从增加界面返回前一界面。

响应menu键的触发事件,设置底部菜单是否可见,并通过对底部菜单选项的监听实现底部菜单中的增加、查找、删除、菜单、退出等功能,其中菜单包括显示所有、删除所有、号码备份功能。

在联系人信息界面时通过点击menu键,会弹出通信功能框,通过与发信息、打电话、发邮件功能接口的套用来实现。

四:流程图

一个好的系统设计的步骤决定了程序是否能按照设计者的目的按时完成,是否能在规定的时间内按照设计者的要求高质量的完成程序必要的功能。并且按照标准的设计步骤对程序进行调试,测试,以及后期的优化完善,使程序更加具有健壮性和可用性。通过对通讯录功能、系统模块、用户需求方面进行全方位的分析制定开发流程,开发流程如图4-1所示。

图4-1开发流程图

采用标准的开发流程确定系统具有用户管理功能,联系人增删改功能,通讯功能,查找功能,备份等功能。系统的功能图如4-2所示。

图4-2 系统功能图

通过对系统的功能结构的分析,设计后系统运行流程是系统运行后用户将进入通讯录主界面,可以看到联系人列表。通过点击MENU界面的增加功能选项可以新增联系人,通过

查找按钮可以对联系人进行姓名、号码的操作,通过选择联系人并点击删除键可以对联系人进行删除操作,通过菜单功能可以显示所有联系人、删除所有联系人、并备份SD卡功能。在联系人详细信息界面点击MENU键弹出通讯功能框选择拨打电话按钮或者发信息发邮件按键,系统的运行流程图如4-3所示。

五:界面设计

界面布局

Android的资源文件保存在/res的子目录中。其中/res/drawable/目录中保存的是图像文件,/res/values目录中保存的是用来自定义字符串和颜色的文件,/res/xml目录中保存的是XML格式的数据文件。所有在程序开发阶段可以被调用的资源都保存在这些目录中,在对界面进行绘制时要考虑到不同手机屏幕大小可能不一样,应尽量兼容大多数手机屏幕尺寸,使之显示无障碍。增加界面绘制代码如下:

xmlns:android="https://www.doczj.com/doc/045400594.html,/apk/res/android"

android:layout_width="fill_parent" //宽度为填充

android:layout_height="fill_parent" //高度为填充

android:orientation="vertical"> //方向为垂直

android:id="@+id/ScrollView1"

android:layout_width="fill_parent" //宽度充满父空间

android:layout_height="wrap_content"//根据内容决定高度

android:scrollbars="vertical">//滚动条方向为垂直

xmlns:android="https://www.doczj.com/doc/045400594.html,/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="vertical">

android:id="@+id/widget205"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_marginLeft="10dp"//左边距为10dp

android:layout_marginRight="10dp">

android:id="@+id/image_button"

android:layout_width="60px"

android:layout_height="60px"

android:src="@drawable/icon"//默认图片

android:scaleType="centerCrop"//按比例缩放图片,保持图片的尺寸比例>

android: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"//排列居中/>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="vertical"

android:layout_marginRight="10dp"

android:layout_marginLeft="10dp">

android:layout_height="wrap_content"

android:layout_width="wrap_content"

android:text="手机:"

android:textSize="20dp" />

android:id="@+id/mobilephone"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:scrollbars="vertical"

android:gravity="top" android:hint="手机"

android:phoneNumber="true" />//只能输入数字

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="horizontal"

android:layout_marginLeft="10dp"

android:layout_marginRight="10dp">

android:id="@+id/save"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_weight="1"

android:text="保存"/>

android:id="@+id/btn_return"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_weight="1"

android:text="返回"/>

六:功能模块:

增加联系人功能

在通讯录中最主要的功能操作,也就是联系人的添加操作的功能,在联系人增加界面中

点击保存按钮实现对联系人信息的保存。首先在user类中定义了一个user函数从表单中获取数据,建立数据库帮助类,打开数据库并将user保存到数据库中,增加界面如图5-1所示。

btn_save.setOnClickListener(new OnClickListener(){

public void onClick(View v) {//判断姓名是否为空

String name = et_name.getText().toString();//将et_name读取的文本转化为字符串

if(name.trim().equals("")) {//如果读取的字符串为空

Toast.makeText(AddNew.this, "姓名不能为空", Toast.LENGTH_LONG).show();

return;}

//从表单上获取数据

User user = new User();//在user类中定义了一个user函数

https://www.doczj.com/doc/045400594.html,ername = name;

user.address = et_address.getText().toString();

https://www.doczj.com/doc/045400594.html,pany = et_company.getText().toString();

user.email = et_email.getText().toString();

user.familyPhone = et_familyPhone.getText().toString();

user.mobilePhone = et_mobilePhone.getText().toString();

user.officePhone = et_officePhone.getText().toString();

user.otherContact = et_otherContact.getText().toString();

user.position = et_position.getText().toString();

user.remark = et_remark.getText().toString();

user.zipCode = et_zipCode.getText().toString();

//判断头像是否改变,若改变,则用当前的位置,若没有改变,则用前一回的位置

if(imageChanged) {

user.imageId = images[currentImagePosition%images.length];} else {

user.imageId = images[previousImagePosition%images.length];}

//创建数据库帮助类

DBHelper helper = new DBHelper(AddNew.this);

//打开数据库

helper.openDatabase();

//把user存储到数据库里

long result = helper.insert(user);

//通过结果来判断是否插入成功,若为-1,则表示插入数据失败

if(result == -1 ) {

Toast.makeText(AddNew.this, "添加失败", Toast.LENGTH_LONG);}

setTitle("用户添加成功!");

setResult(3); //返回到上一个Activity,也就是Main.activity

finish();//销毁当前视图} });

增加联系人界面

删除联系人功能

通过光标选择删除的联系人,点击联系人然后选择删除可以删除联系人,并且在数据库中删除联系人,删除联系人功能如图所示。

if(deleteId == null || deleteId.size() == 0) {

Toast.makeText(Main.this, "没有标记任何记录\n长按一条记录即可标记", Toast.LENGTH_LONG).show();} else {

new AlertDialog.Builder(Main.this)

setTitle("确定要删除标记的"+deleteId.size()+"条记录吗?")

.setPositiveButton("确定", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which) {

DBHelper helper = new DBHelper(Main.this);

helper.deleteMarked(deleteId);

list = helper.getAllUser(privacy); //重置视图

adapter = new SimpleAdapter(Main.this, list, https://www.doczj.com/doc/045400594.html,yout.listitem,

newString[]{"imageid","name","mobilephone"},

new int[]{https://www.doczj.com/doc/045400594.html,er_image,https://www.doczj.com/doc/045400594.html,_name,https://www.doczj.com/doc/045400594.html,_mobilephone});

lv.setAdapter(adapter);

deleteId.clear();}})

.setNegativeButton("取消", null)

.create()

.show() ; }

break;

删除联系人界面

查找联系人功能

在查找功能实现的过程中,我先将搜索框中的内容转化为字符串形式,如果输入为空就设置显示所有联系人的列表,否则就建立一个数据库帮且类,在数据库中进行查找匹配,返回到list列表中,将整合的adapter和listview结合展现出来,并统计查找到的条数展现给用户。

private void loadSearchLinearout() {

if(searchLinearout == null) {

searchLinearout = (LinearLayout) findViewById(R.id.ll_search);//通过ID找到searchLinearout的布局

et_search = (EditText)findViewById(R.id.et_search);//通过ID找到et_search的布局

et_search.setOnKeyListener(new OnKeyListener(){//设置et_search的监听器

public boolean onKey(View arg0, int arg1, KeyEvent 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, https://www.doczj.com/doc/045400594.html,yout.listitem,

new String[]{"imageid","name","mobilephone"},

new int[]{https://www.doczj.com/doc/045400594.html,er_image,https://www.doczj.com/doc/045400594.html,_name,https://www.doczj.com/doc/045400594.html,_mobilephone});

lv.setAdapter(searchAdapter); //将整合好的adapter交给listview,显示给用户看

if(list.size() == 0) {

Drawable nodata_bg = getResources().getDrawable(R.drawable.nodata_bg);//获取图片资源mainLinearLayout.setBackgroundDrawable(nodata_bg);//设置layout的背景

setTitle("没有查到任何数据");

} else {setTitle( "共查到" + list.size()+" 条记录");

mainLinearLayout.setBackgroundDrawable(null);}

return false;}});}}

Menu底部菜单框功能

下面我们将介绍menu的触发方式,通过对menu的介绍,我们将了解menu功能设计,对menu键的使用首先要建立menu菜单,为每个菜单选项绑定了一个图标和文字,代码如下底部菜单所示。

String[] bottom_menu_itemName = { "增加", "查找", "删除", "菜单","退出" };

String fileName;

int[] bottom_menu_itemSource = {

R.drawable.menu_new_user,

R.drawable.menu_search,

R.drawable.menu_delete,

R.drawable.controlbar_showtype_list,

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.setVisibility(View.VISIBLE);//设置底部视图为可见

}}

return super.onKeyDown(keyCode, event);//返回一个点击的结果

}

menu底部菜单

再监听底部菜单选项,代码如下:

bottomMenuGrid.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView arg0, View arg1, int arg2,long arg3) {

switch (arg2) {

case 0: {/*增加*/}

case 1: {/*查找*/}

case 2: {/*删除*/}

case 3: {/*菜单*/}

case 4: {/*退出*/}

七:功能模块

通信功能

下面的程序定义了用户打电话,发邮件,发短信的功能,如下的代码主要是运用了android操作系统自定义接口,运用这些接口可以实现用户的打电话、发短信、发邮件的功能。

首先定义了menu键,为menu添加了三个选项,并且为每一个item设置图标功,通讯功能如图5-4。

通信功能界面

当建立好menu键以后为每一个MenuItem添加事件,添加了三个事件,代码功能如下:public boolean onMenuItemSelected(int featureId, MenuItem item) {

//设置menu键选择功能

switch(item.getItemId()){通过switch选择不同的id

case Menu.FIRST: {

//将状态设置为打电话

status = Intent.ACTION_CALL;

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) {//如果号码为空

loadAvailableCallData();//载入号码

}if(callData.length == 0) {//提示没有可用的号码

Toast.makeText(this, "没有可用的号码!", Toast.LENGTH_LONG).show();

} else if(callData.length == 1) {

//如果之后又一个可用的号码,这直接使用这个号码拨出

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();

} else {

Uri emailUri = Uri.parse("mailto:" + user.email);//设置uri为发送邮件的uri

Intent intent = new Intent(Intent.ACTION_SENDTO, emailUri);

//设置一个新的intent对象

startActivity(intent);//开始活动

}break;//退出}}

return super.onMenuItemSelected(featureId, item);

//返回menu选择功能}

显示所有、删除所有及备份功能

在bottom_menu 中菜单功能键中包含有显示所有、删除所有、以及备份SD卡功能,显示所有与联系人列表界面的思路一致,创建一个数据库帮助类从数据库中获得所有用户的信息放到list,通过setAdapter将listview与adapter相结合展示出来。删除所有是数据库中deleteAll这个方法将数据全部删除。备份文件时先AlertDialog.Builder来提示是否需要备份记录到SD卡,如果点击确定就通过helper.backupData(privacy);在数据库中执行备份的方法。详细代码如下。显示所有,删除所有,备份功能如图5-5。

mainMenuGrid.setOnItemClickListener(new OnItemClickListener(){

public void onItemClick(AdapterView arg0, View arg1, int arg2,

long arg3) {switch(arg2){

case 0:{

DBHelper helper = new DBHelper(Main.this);

list = helper.getAllUser(privacy);

adapter = new SimpleAdapter( Main.this, list,https://www.doczj.com/doc/045400594.html,yout.listitem,

new String[]{"imageid","name","mobilephone"},

new int[]{https://www.doczj.com/doc/045400594.html,er_image,https://www.doczj.com/doc/045400594.html,_name,https://www.doczj.com/doc/045400594.html,_mobilephone});

lv.setAdapter(adapter);//显示所有数据

mainMenuDialog.dismiss();

break;}

case 1:{

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,

https://www.doczj.com/doc/045400594.html,yout.listitem,

new String[]{"imageid","name","mobilephone"},

new int[]{https://www.doczj.com/doc/045400594.html,er_image,https://www.doczj.com/doc/045400594.html,_name,https://www.doczj.com/doc/045400594.html,_mobilephone});

lv.setAdapter(adapter);//显示所有数据

mainMenuDialog.dismiss();}});

builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which)

{confirmDialog.dismiss(); }});

builder.create().show();

break; }

case 2:{

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(https://www.doczj.com/doc/045400594.html,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); }

progressDialog.setTitle("备份完成!一共"+ list.size() + " 条记录");

btn_backup_ok.setVisibility(View.VISIBLE);

btn_backup_ok.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

progressDialog.dismiss();

mainMenuDialog.dismiss();} });} })

.setNegativeButton("取消", null)

.create().show();break; }

显示所有、删除所有、备份功能

数据库操作实现

为了实现联系人在数据库中的增加,删除,查找等操作,使用操作数据库的核心类

android.database.sqlite.SQLiteDatabase。使用SQLiteOpenHelper的子类来完成创建、打开数据库及各种对数据库的操作。数据库的类继承函数,显示了数据库类的继承关系:class MyDBHelper extends SQLiteOpenHelper {

public MyDBHelper(Context context, String name,

int version) {//公共的MyDBHelper对象

super(context, name, null, version);//继承上面的}

我在数据库中运用了openDatabase的方法来打开数据库。

public void openDatabase() {

if(dbInstance == null) {

myDBHelper = new MyDBHelper(context,DB_DBNAME,VERSION);

dbInstance = myDBHelper.getWritableDatabase();}

实现联系人信息插入数据库中我设置了一个新的ContentValues,通过user对象把联系人信息存储在values。

public long insert(User user) {

ContentValues values = new ContentV alues();//设置一个新的容器的对象

values.put("name", https://www.doczj.com/doc/045400594.html,ername);

values.put("mobilephone", user.mobilePhone);

values.put("officephone", user.officePhone);

values.put("familyphone", user.familyPhone);

values.put("address", user.address);

values.put("othercontact", user.otherContact);

values.put("email",user.email);

values.put("position", user.position);

values.put("company", https://www.doczj.com/doc/045400594.html,pany);

values.put("remark", user.remark);

values.put("imageid", user.imageId);//储存用户相关信息

return dbInstance.insert(DB_TABLENAME, null, values);//用户插入数据表的信息}

为了解决用户菜单操作中删除联系人,我在数据库中调用delete函数在DB_TABLENAME中进行删除:

public void delete(int _id) {//删除联系人

dbInstance.delete(DB_TABLENAME,"_id=?", new String[]{String.valueOf(_id)}); }

当用户通过长点击对要删除的联系人进行标记,然后对标记的数据进行彻底的删除操作。我新建了一个StringBuffer,将删除联系人的id存储进去,并调用delete函数来删除StringBuffer中所有数据,具体代码如下:

public void deleteMarked(ArrayList deleteId) {//删除标记的用户信息

StringBuffer strDeleteId = new StringBuffer();//新建一个缓冲对象

strDeleteId.append("_id=");//存储要删除联系人的id

for(int i=0;i

if(i!=deleteId.size()-1) {//如果i为真

strDeleteId.append(deleteId.get(i) + " or _id=");//删除联系人} else {

strDeleteId.append(deleteId.get(i));}}

dbInstance.delete(DB_TABLENAME, strDeleteId.toString(), null);//在数据库中删除联系人

System.out.println(strDeleteId.toString());//显示删除后的联系人}

文件的查找操作可以通过对数据库的查找来实现,从数据库中查找到符合条件的联系人返回到list,将整合好的adapter交给listview显示出来,具体代码如下:

public ArrayList getUsers(String condition, boolean privacy) {

ArrayList list = new ArrayList(); String strSelection = "";

String sql = "select * from " + DB_TABLENAME + " where 1=1 and (name like '%" + condition + "%' " +

"or mobilephone like '%" + condition + "%' or familyphone like '%" + condition + "%' " + "or officephone like '%" + condition + "%')" + strSelection;

Cursor cursor = dbInstance.rawQuery(sql, null);

while(cursor.moveToNext()) { HashMap item = new HashMap();

item.put("_id", cursor.getInt(cursor.getColumnIndex("_id")));

item.put("name", cursor.getString(cursor.getColumnIndex("name")));

cursor.getInt(cursor.getColumnIndex("imageid")));

list.add(item);//放进list里面}return list;

测试

系统测试方法

测试过程按4个步骤进行,即单元测试、集成测试、确认测试和系统测试及发版测试。

开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。

集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。

确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及

软件配置是否完全正确。

系统测试把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。

编辑联系人功能测试

联系人详细界面中有修改、删除和返回按钮,在选择修改功能后,联系人的所有信息处于可编辑状态,手机号码和固定电话则被EditView设置为只可输入数字,修改完后点击确定按键,触发确定按键点击监听事件,从而对数据库中该联系人信息进行更改,然后自动返回联系人浏览界面。在联系人列表中选择某个联系人点击查看联系人详细信息,联系人手机、办公室电话、家庭电话、职务称等一览无遗,同时在联系人详细信息界面下面会出信功能键,这时的联系人信息是不能操作的,如果想要对联系人进行修改点击修改功能键对联系信息进行修改。测试结果如图编辑联系人界面。

编辑联系人界面

查找联系人功能测试

查找联系人界面,在联系人列表显示中,输入姓名或者号码对联系人进行查找,程序自动筛选符合条件的联系人,如果没有符合条件的联系人则不显示。

基于android的通讯录毕业设计开题报告

安徽科技学院本科生毕业论文(设计)开题报告书 题目基于Android的通讯录设计与实现 学生姓名指导教师职称 研究目的意义及国内外研究状况和应用前景(附参考文献): 一、研究目的意义 随着计算机行业的发展,智能手机在人们的生活中变得火热。智能手机拥有的独立操作系统使得手机能像个人电脑一样支持用户自定义安装软件等程序,并通过此类操作对手机功能进行扩充,从而在更大程度上满足用户的需求,这是智能手机的优势,也是智能手机赢得市场的主要原因。具有开放性的Android手机平台,从2007年谷歌将其正式向外界展示以来,发展迅速,手机市场份额不断攀升,至2012年已超过塞班,跃居第一。通过Android系统的开源性、智能型,我们可以看到Android更光明的未来。 手机系统越来越强大,却始终不会抛弃其最基本的功能——通讯,而通讯录又是通讯的必备软件。此次我们研究的基于Android的手机通讯录,会实现通讯录基本功能,包括基本添加,修改,删除和输出等功能,在实现这些功能的基础上添加一些其他功能,例如为联系人添加头像,联系人分组,通讯录黑名单等,使通讯录界面更友好、功能更人性化。通过设计制作次通讯录能够更好地学习Android 的项目开发知识,熟悉Android的软件开发流程,拓展就业能力。 二、国内外研究现状 Android是一种以Linux为基础的开放源代码操作,主要用于便携设备。Android 操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资。2007年11月Google宣布推出基于Linux的Android开放式手机操作系统,沿袭至今,已发展到4.0.4版本。2011年第一年度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。2011年11月数据,Android占据全球智能手机操作系统市场52.2%的份额,中国市场占有率58% 基于Android的通讯录的研究也在Android迅速发展的同时逐步走向成熟,在更大程度上满足着用户的需求。除包括基本添加联系人,编辑联系人,删除联系人和联系人数据导出等功能,它又逐渐增加了联系人分组、添加联系人头像、通讯录黑名单等功能。 三、应用前景 根据手机功能使用调查显示,有八成以上的消费者使用手机通讯功能。随着手机通讯录功能的不断曾强于完善,手机通讯录对于人们的意义已不仅仅像记事簿一样显示通讯地址,而是向着个性化、人性化的发展方向发展。 四、参考文献 [1]高焕堂,Android应用框架原理与程序设计(第三版)[M] 北京:清华大学出版社,2007. [2]盖锁林,Android开发入门指南[M] 北京:人们邮电出版社,2009. [3]李兴华,名师讲坛——Android开发实战经典清华大学出版社,2012. [4]李兴华,名师讲坛——Java Web开发实战经典清华大学出版社,2012. [5]杨丰盛,Android应用开发解密[M] 西安:机械工业出版社,2010. 主要内容、研究方法和思路:

基于Android平台的手机通讯录管理系统

第一章绪论 1.1 项目研究背景 经过多年的发展,随着第三代网络的使用及四代网络的即将来了呢,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。Google与包括HTC、摩托罗拉、三星、联想等在内的三十多家技术和无线应用的领军企业组成的开发联盟为此于2007年11月退出了一份专为移动设备设计的软件平台——Android OS。 Android 是一套真正意义上的移动性设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android的Java程序运行环境包含一组Java核心函数库及Dalvik虚拟机,它们有效地优化额Java程序的运行过程。Android 系统平台基于优化了的Linux内核,它提供诸如内存管理、进程管理、设备驱动等服务,同时也是手机硬件的连接层。 Abdroid平台的开放性等特点既能促进技术(包括平台本身)的创新,又有助于降低开发成本,还可以是运营商能非常方便地制定特色化的产品,因此,它具有很大的市场发展潜力。 1.2 项目研究的目的及意义 随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。在Google和Android手机联盟的共同推动下,Android在众多手机操作系统中脱颖而出,受到广大消费者的欢迎。 手机通讯录作为手机的基本功能之一,每天我们都在频繁地使用着。根据手机功能的不断加强与完善,手机通讯录对于人们的意义,已经不仅仅像记事簿一样显示通讯地址,而是向着个性化、人性化的方向发展。通讯录从无到有,从英文到中文,经过了十几年的发展历程,今后的发展趋势就是从通讯录发展为名片夹,也就是一个人名下,可以储存座机、手机、单位、地址、电子邮箱等内容,这种名片夹在电话薄的基础上,大大丰富了内容,同时结构也发生了革命性的的变化,而且随着手机的发展,相信更优秀的通讯录会越来越受到社会各层认识的喜爱。 1.3系统主要内容与实现方式

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

20xx-20xx 学年 x 学期 xxxx大学电工电子实验教学中心 创新性实验研究报告 实验项目名称_基于android的手机通讯录_ 组长姓名xxx 学号xxxxxxxxxxxxxxx 联系电话xxxxxxxxxxxx E-mail xxxxxxxxxxxx@https://www.doczj.com/doc/045400594.html, 成员姓名xxx 学号xxxxxxxxxxxxx 成员姓名xxx 学号xxxxxxxxxxxxxxx 专业电子信息工程班级20xx级x班 指导教师及职称xx 20xx年x月x 日

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

基于Android的通讯录管理系统

JAVA程序设计课程设计报告——基于Android的通讯录管理系统 班级:1120552 学号:01 姓名:杨喆

一、课程设计题目 基于Android的通讯录管理系统 二、需求分析 (1) 用户通过联系人功能可以保存联系人的详细信息,可以对联系人进行编辑、删除、拨打电话、发送短信可以根据索引条件搜索联系人。 (2) 用户通过个人中心可以设置自己的详细信息,这样方便其他人了解自己,也可以将具有相同名字的联系人合并。 (3)该通讯录软件是一种主要用来记录联系人的基于安卓平台的软件,可以运行在安卓平台虚拟器或者运行在安卓平台的手持设备上 三、概要设计 一个好的系统设计的步骤决定了程序是否能按照设计者的目的按时完成,是否能在规定的时间内按照设计者的要求高质量的完成程序必要的功能。并且按照标准的设计步骤对程序进行调试,测试,以及后期的优化完善,使程序更加具有健壮性和可用性。通过对通讯录功能、系统模块、用户需求方面进行全方位的分析制定开发流程。 采用标准的开发流程确定系统具有用户管理功能,联系人增删改功能,通讯功能,查找功能,备份等功能。 四、详细设计 1增加、删除、编辑联系人 点击通信录界面中的增加按钮,进入增加联系人界面。输入联系人的基本信息,并可根据用户需求增加个性化信息如头像、姓名、手机号码、办公室电话、家庭电话、职务职称、单位名称、地址、邮政编码、Email、其他联系方式、备注这些信息,单击确认返回主界面。点击通信录中一个已存在的联系人,进入联系人编辑界面,可修改联系人的资料或进行删除联系人操作,完成后退回到主界面。对列表中联系人的标记,点击menu键弹出功能界面上的删除按键也可进行删除。还可以在菜单上选择删除全部联系人来清空通讯录。在删除联系人的过程中,系统将提示用户是否继续操作,若放弃操作,则联系人信息将继续保存。 2查找联系人 用户点击menu键打开底部菜单框,底部菜单框为查询联系人提供入口,进入通讯录的缺省页面为联系人列表,在列表中看到所有联系人的姓名、电话信息排列,用户点击查找按键输入联系人基本信息,通讯录显示所有符合查询条件的联系人列表,用户选择一个联系人进入联系人基本信息页面进行其他操作;查询完成,用户按返回键返回主界面。

手机通讯录安卓课程设计

湖南科技大学计算机科学与工程学院 智能终端系统及应用开发课程设计报告 题目:手机通讯录 学号:******** 班级:******** 姓名:******** 指导老师:********

绪论 随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。在Google和Android手机联盟的共同推动下,Android在众多手机操作系统中脱颖而出,受到广大消费者的欢迎。 手机通讯录作为手机的基本功能之一,每天我们都在频繁地使用着。根据手机功能使用调查显示,有9成以上的消费者使用手机通讯录功能。随着手机通讯录功能的不断加强与完善,手机通讯录对于人们的意义,已不仅仅像记事簿一样显示通讯地址,而是向着个性化、人性化的方向发展[4]。通讯录从无到有,从英文到中文,经过了十几年的发展历程,今后的发展趋势就是从通讯录发展为名片夹,也就是在一个人名下,可以存储座机、手机、单位、地址、电子邮件等内容。这种名片夹在电话薄的基础上,大大丰富了内容,同时结构也发生了革命性变化,而且随着手机的发展,相信更优秀的通讯录会越来越受到社会各层人士的喜爱。

一、课程设计目的 智能终端系统及应用开发课程设计是计算机相关专业的一个综合性实践教学环节,是学 习完《智能终端系统及应用开发》课程后进行的一次全面的综合练习。其目的在于促进学生 复习和巩固 Android 应用技术,加深对软件设计方法、软件设计技术和设计思想的理解,并 能运用所学 Android 设计知识,通过本课程设计让学生进行简单 Android 应用软件的开发,掌握软件设计的方法和面向对象程序设计的基本技术,提高学生在软件开发方面的综合应用能力。 二、课程设计内容 通过对Android 技术的相关研究,了解Android 源码实现原理以及过程,从而设计出一款能够使用的手机通讯录。 这款手机通讯录实现的相关内容如下: 1.简洁、实用的操作界面。 2.显示所有联系人的列表。 3.增加联系人。 4.删除联系人。 5.修改联系人。 6.呼叫联系人。 7.发送短信、邮件至联系人。 三、系统设计 功能结构图 Android 手机通讯管理软件 联系人添加 联系人编辑 联系人查看 联系人查找 联系人删除 呼叫联系人 发送短信 联系人列表

Android实验报告_基于SQLite的通信录

第一次实验Android界面设计 一. 实验目的及实验环境 1. 实验目的 1)掌握SQLiteOpenHelper类结构 2)掌握基于SQLite数据库的应用开发过程 3)掌握Content Provider发布数据的方法 4)掌握Content Resolver获取数据的方法 2.实验环境 系统开发平Android Studio 3.0 系统开发平台:Android 7.1 运行平台:Windows10 x64 运行环境:https://www.doczj.com/doc/045400594.html, Framework SDK 2.0 二. 实验教材、组织方式、实验内容 1.实验教材:Andorid开发与应用 2.组织方式:个人独立完成 2.实验内容: 实现基于SQLite数据库的通信录应用,通过单击增加图标打开添加通信录界面,通过单击通信录中的各条信息可删除选中项。 三.方案设计 Android系统中集成了SQLite数据库,并且为数据库的操作提供了相关的类和方法,便于没有数据库开发经验的开发者编写程序。另外,Android平台中利用Content Provider机制来实现跨应用程序数据共享。一个应用程序可以通过Content Provider来发布自己的数据,其他的应用程序可以通过Content Resolver 来获取共享数据。

四.运行结果

五.总结 通过这次实验掌握了SQLite OpenHelper类结构,掌握了基于SQLite数据库的应用开发过程以及Content Provider发布数据的方法和掌握Content Resolver获取数据的方法。 六.附录:源代码 主布局文件activity_main.xml:

android程序设计报告(手机通讯录)

Android实验报告 课程名称 Android应用程序开发题目名称 Android通讯录 学生学院计算机学院 班级 学号 学生姓名 指导教师 2012年06 月11日

一.程序名称: Android通讯录 二.主要功能: 本手机通讯录工具主要实现五大功能:联系人的查询:字段查询,分组查询,字母排序查询;增加、删除联系人以及修改联系人信息;导入、导出联系人;发送联系人信息;设置。 三.功能实现概述: 2.1 UI设计 我们用一个ListView来显示整个通讯录,其中用TextView显示每一记录,他们的xml文件分别为:通讯录主界面,添加联系人界面,浏览联系人界面,查找联系人界面。 2.2 数据库的设计 Android中的android.database.sqlite.SQLiteOpenHelper 类是一个专门用于数据库创建和版本管理的辅助类。因此,为了更好的管理数据库,这里我们创建一个继承自SQLiteOpenHelper的辅助类DBHelper来维护和更新数据库。 2.3功能的设计 为了在主界面中浏览联系人的信息,并且创建主要菜单栏,我们设计了MainActivity类,主要用于显示联系人信息和菜单栏,通过菜单栏,实现通讯录的相关功能。AddressBook类主要是为了实现联系人的添加功能,并且实现信息的保存后跳转到主界面。Findactivity类主要是为了实现联系人的查找功能,输入联系人的姓名,点击查找按钮,显示所查联系人的相关信息。 四.程序截图: 测试手机:三星Galaxy Nexus 手机系统版本:4.0.2 模拟环境:安卓4.0.3

图1:主界面 1 图2:主界面2 图3:主界面3 图4:创建联系人

基于android的手机通讯录的设计与实现大学本科毕业论文

基于Android的天气预报查询系统的实现摘要:随着智能手机一步步走进人们的生活,它将成为人们获取信息的主要设备,相关应用越来越广泛,并在人们的日常生活中扮演着越来越重要的角色。因此,关键应用程序的开发成为影响移动智能终端普及的重要因素,设计并开发实用、方便的应用程序具有重要的意义和良好的市场前景。Android作为当前最流行的操作平台,自然也存在着大量的应用服务需求。 Android是基于Linux平台完全开源的手机操作系统,同时开发语言为Java,因此我选择了以Android为平台的手机天气预报系统来作为我的毕业设计,目的是帮助用户随时随地查询天气信息及天气变化情况,让生活更加舒适方便。本文详细讲述了Android平台下天气软件的界面设计及界面的实现、控件的使用、界面的布局等内容,结合中国气象网的天气数据,将准确的天气情况以友好的方式呈现给用户,使用户可以更加赏心悦目地体验本软件的服务。 关键词:Android 天气软件手机天气预报软件系统

System implementation of weather query based on Android Abstract With the development of intelligent mobile phone step by step into people's lives, it will become the main device to obtain information, related to more widely, and plays a more and more important role in people's daily life. Therefore, the development of critical applications has become an important factor affecting the popularization of mobile intelligent terminal, application design and development of practical, convenient has important significance and good market prospects. Android as the most popular operating platform, natural also exist in application service needs of a large number of. Android is a mobile phone operating system Linux platform based on open source, at the same time, the development of language Java, so I chose the platform of mobile phone weather system with Android as my graduation design, the purpose is to help the user whenever and wherever possible query weather information and weather condition, make life more comfortable and convenient. This paper describes the layout of content, interface design and interface control weather software under the Android platform use, interface, combined with the weather data of China Meteorological Network, will be accurate weather conditions in a friendly way is presented to the user, the user can be more pleasant experience of the software service. Keyword:Android weather software the software system of mobile phone weather

将员工通讯录快速导入Android手机

龙源期刊网 https://www.doczj.com/doc/045400594.html, 将员工通讯录快速导入Android手机 作者:王志军 来源:《电脑爱好者》2014年第06期 编辑通讯录文件 Android 4.0系统的智能手机对导入文件的格式有一定的要求,因此我们需要借助Excel或WPS表格进行适当的处理。用PC端浏览器访问http://https://www.doczj.com/doc/045400594.html,/pim/login.jsp,使用QQ账号登录,在右侧窗格单击“导入联系人”,这里提供了多种导入方式,建议选择“Excel”,按照提示下载模板文件(图1),在这里复制姓、名、工作手机和短号,同时适当删除部分多余的列,修改完成之后保存。 将通讯录文件导入云端 仍然用PC访问http://https://www.doczj.com/doc/045400594.html,/pim/,进入“导入联系人”页面,选择“Excel”,单击“点击上传”按钮,按照提示导入刚才处理的通讯录文件,确认之后即可导入,导入之后可以在云端创建若干分组。考虑到后续操作的便利,可以将已经完成处理的通讯录文件导出为CSV格式的文件(图2),建议选择“用于导入到同步助手账号”,最后点击“点击导出”按钮即可获得相应的文件。如果对云端导入的数据不太满意,可以导出之后再在计算机上进行相应的编辑,例如比较重要的分组信息。 同步通讯录 接下来的操作就简单多了,在Android手机上安装最新版本的同步助手,使用同一QQ账号登录,执行同步操作,立即就可以将云端的通讯录同步到本机,所有分组信息也在其中,够简单吧? 当然,我们也可以使用豌豆荚完成通讯录的导入,但不足之处是需要在计算机和手机两个位置分别安装豌豆荚,连接成功之后,在左侧窗格的“管理”小节选择“通讯录”,在右侧窗格单击“导入”按钮,此时会打开“导入联系人”对话框,单击左下角的“从指定文件导入”按钮(图3),检查无误之后按照提示操作即可,是不是很方便?

基于Android系统手机通讯录管理软件的设计与开发

毕业设计题目基于Android系统手机通讯录 管理软件的设计与开发 二级学院计算机科学与工程学院 专业软件工程 班级08软件工程3班级 学生姓名张三学号99999999999 指导教师李王五 时间2011/9 - 2011/10

摘要............................................................................................................................................ I Abstract ............................................................................................................................................. II 第一章绪论. (2) 1.1项目研究背景 (2) 1.2项目研究的目的及意义 (2) 1.3系统主要实现内容与实现方式 (3) 1.3.1系统主要实现内容 (3) 1.3.2安卓系统开发的方法 (3) 1.3.3 系统的开发平台 (4) 1.4系统开发需用到的技术支持 (4) 1.4.1 Java语言 (4) 1.4.2 Android (5) 第二章系统分析 (6) 2.1系统可行性分析 (6) 2.1.1技术可行性 (6) 2.1.2经济可行性 (6) 2.1.3操作可行性 (6) 2.2需求分析 (6) 2.2.1 Android通讯录的使用意义 (7) 2.2.2外部事件 (7) 第三章系统概要设计 (8) 3.1系统总体设计 (8) 3.2处理流程设计 (9) 3.2.1业务流程图 (9) 3.2.2数据增加流程图 (10) 3.2.3数据修改流程图 (11) 3.2.4数据删除流程 (12) 3.3 数据库设计 (12) 3.3.1 SQLite数据库简介 (12) 3.3.3 数据库表结构 (13) 第四章系统详细设计 (13) 4.1联系人浏览模块 (13) 4.2查看联系人模块 (16) 4.3编辑联系人模块 (17) 5.4查找联系人模块 (18) 4.5关于 (19) 第五章系统测试与调试 (19) 5.1测试目的 (19) 5.2程序调试 (20) 5.3 测试的主要内容 (20) 5.4测试用例 (21) 5.4.1功能测试—添加联系人 (21)

基于android的通讯录毕业设计开题报告

知识不仅是指课本的内容,还包括社会经验、文明文化、时代精神等整体要素,才有竞争力,知识是新时代的资本,五六十年代人靠勤劳可以成事;今天的香港要抢知识,要以知识取胜安徽科技学院本科生毕业论文(设计)开题报告书 题目 基于Android的通讯录设计与实现 学生姓名 指导教师 职称 研究目的意义及国内外研究状况和应用前景(附参考文献): 一、研究目的意义 随着计算机行业的发展 智能手机在人们的生活中变得火热 智能手机拥有的独立操作系统使得手机能像个人电脑一样支持用户自定义安装软件等程序并通过此类操作对手机功能进行扩充 从而在更大程度上满足用户的需求 这是智能手机的优势 也是智能手机赢得市场的主要原因 具有开放性的Android手机平台 从2007年谷歌将其正式向外界展示以来 发展迅速 手机市场份额不断攀升 至2012年已超过塞班 跃居第一 通过Android系统的开源性、智能型 我们可以看到Android更光明的未来 手机系统越来越强大 却始终不会抛弃其最基本的功能--通讯 而通讯录又是通讯的必备软件 此次我们研究的基于Android的手机通讯录 会实现通讯录基本功能 包括基本添加 修改 删除和输出等功能 在实现这些功能的基础上添加一些其他功能 例如为联系人添加头像 联系人分组 通讯录黑名单等 使通讯录界面更友好、功能更人性化 通过设计制作次通讯录能够更好地学习Android的项目开发知识 熟悉Android的软件开发流程

拓展就业能力 二、国内外研究现状 Android是一种以Linux为基础的开放源代码操作 主要用于便携设备 Android操作系统最初由Andy Rubin开发 最初主要支持手机 2005年由Google收购注资 2007年11月Google宣布推出基于Linux的Android开放式手机操作系统沿袭至今 已发展到4.0.4版本 2011年第一年度 Android在全球的市场份额首次超过塞班系统 跃居全球第一 2011年11月数据 Android占据全球智能手机操作系统市场52.2%的份额 中国市场占有率58% 基于Android的通讯录的研究也在Android迅速发展的同时逐步走向成熟在更大程度上满足着用户的需求 除包括基本添加联系人 编辑联系人 删除联系人和联系人数据导出等功能 它又逐渐增加了联系人分组、添加联系人头像、通讯录黑名单等功能 三、应用前景 根据手机功能使用调查显示 有八成以上的消费者使用手机通讯功能 随着手机通讯录功能的不断曾强于完善 手机通讯录对于人们的意义已不仅仅像记事簿一样显示通讯地址 而是向着个性化、人性化的发展方向发展 四、参考文献 [1]高焕堂 Android应用框架原理与程序设计(第三版)[M] 北京:清华大学出版社2007. [2]盖锁林 Android开发入门指南[M] 北京:人们邮电出版社 2009. [3]李兴华 名师讲坛--Android开发实战经典清华大学出版社 2012. [4]李兴华 名师讲坛--Java Web开发实战经典清华大学出版社 2012.

Android手机通讯录实验报告

Android手机通讯录实验报告学院:安徽机电职业技术学院 专业:软件技术 班级:软件3141 姓名:张程庆小分组 指导老师:范宏宇

小组分组详细信息 组长:张程庆 文档:赵晶蓉 编程:蔡婷、刘朝群、宋昱昊界面:江晓雨 测试:王健康

目录 1.系统描述 1.1问题描述 (1) 1.2功能描述 (2) 1.3数据需求 (3) 1.4设计意义 (4) 2.界面设计 2.1主界面 (5) 2.2新建界面 (6) 2.3修改界面 (7) 2.4查询界面 (8) 2.5添加界面 (9) 3.运用的组件 4.java代码部分截图 5.xml代码部分截图 6.设计总结与收获

1.系统描述 1.1问题描述 在我们学习完Android的相关知识以及软件技术这门学科所涉及的不同编程语言,让我们在现在这个学习阶段对软件编程有了一定的了解,这次的实验是做我们都很熟悉的通讯录,实现手机通讯录的基本功能,包括添加手机联系人,查询手机联系人,删除手机联系人等最基本操作。 这次的手机通讯录是以java语言为主体,xml布局,结合Android 的移动开发平台等实现安卓手机通讯录的基本操作,做到基本的操作都能够完好的运行,在数据丢失后也能够及时的找回。 1.2功能描述 1.3数据需求 本程序是编程通讯录的相关信息,包括联系人姓名、手机号码、公司

号码、存储信息等,在我们的通讯录中利用客户输入的相关用户信息进行保存从而传输到数据库中。 1.4设计意义 我们设计的通讯录包括添加联系人、删除联系人、修改联系人信息、存储联系人信息等基本的手机通讯录的功能,在现在的信息和现代化社会环境下,为了更加方便的找到我们的朋友或家人,我们需要更加简洁方便手机通讯录来方便我们联系他人,随着手机的不断更新换代我们的通讯录也向着更加人性化的方向发展着。 在未来的发展中,通讯录作为手机最基本的功能,对人们的影响也有了一定的程度,人们也越发多的使用着手机通讯录,相信在今后的发展中我们会做到更好,更方便他们的生活。实现人与人更亲密的互动。

如何将通讯录从EXCEL(.xls)格式导入安卓手机

如何将通讯录从EXCEL(*.xls)格式导入安卓手机 正准备上床,接到同事电话。因为工作原因,需要大批量的导入通讯录,可现有的通讯录是以Excel格式保存在电脑上的。如果一个一个的录入会非常麻烦,因此谈到通讯录如何快捷方便的从Excel数据表转入安卓手机通讯录。 因为以前一直在用QQ同步助手和小米的云,通讯录都是在云端同步,日常很少会用到大批量导入的情况。仔细想了想也不是什么大问题,无非确定好安卓手机能够接受的格式,然后按照这个格式码好数据,再导入就是。正好电脑上安装了腾讯手机管家,就借这个软件试试看。经过摸索,结果还是比较理想的。整个过程居然连格式都不需要更换,直接用xls 格式即可,只不过需要更换其中的内容。具体看图: 1、首先打开安装好的腾讯手机管家 for Android版,并确保通过WIFI或者USB数据线已经成功连接手机。 ps。我的MI2很就清理了,检测结果还是比较悲催的。 2、点击上方的通讯录按钮,进入通讯录管理页面,点击导入/导出按钮,首先把手机内的通讯录导出看看是什么模样。

ps。在导出格式中发现了令人兴奋的Excel字样。 3、这就是导出的EXCEl格式的通讯录了,不知道是不是Android的手机通讯录导出都是这个模样,这个列也太多了吧。 但是很明显,我们需要找的东西还是找到了,D列就是联系人了。

AO列就是联系电话了(Ao太长了),其他的选项也是各有作用,比如AQ列很明显是为第二部电话准备的,至于AL列的HOME phone,AJ列的Company Main Phone,就不再一一解释了。

4、既然已经搞明白了结构,剩下的就是把咱们准备导入的Excel表,改造成如此格式,再导回去就大功告成! 改造嘛,蛮简单的,复制粘贴即可,这里就不附图了。主要说说往回导。 5、看看我已经保存好按照新格式改造的Excel表,找到腾讯手机管家的联系人管理页面,然后点击导出/导入进行导入工作。

Android开发实验---通讯录

实验报告 通讯录 姓名: 学号: 课程名称:移动应用开发 所在学院:信息科学与工程学院 专业班级:计算机 任课教师:

主要功能分析: 1、增加、删除、编联系人 点击通信录界面中的增加按钮,入增加联系人面。输入联系人的基本信息,并可根据用户需求增加个性化信息如头像、姓名、手机号码、办室电话、家庭电话、职务职称、单位名称、地址、邮政编码、Email、其他联系方式、备注这些信息,击确认返回主界面。点击通信录中一个已存在的联系人,进入联系人编辑界面,可修改系人的资料或进行删除联系人操作,完成后退回到主界面。对列表中联系人的标记,点mnu键弹出功能界面上的删除按键也可进行删除。还可以在菜单上选择删除全部联系人清空通讯录。在删除联系人的过程中,系统将提示用户是否继续操作,若放弃操作,则系人信息将继续保存。 2、查找联系人 用户点击menu键打开底部菜单框,底部菜单框为查询系人提供入口,进入通讯录的缺省页面为联系人列表,在列表中看到所有联系人的姓名、电话息排列,用户点击查找按键输入联系人基本信息,,通讯录显所有符合查询条件的联系人列表,用户选择一个联系人进入联系人基本信息页面进行其他操作;查询完成,用户按返回键返回主界面。 3、通功能 用户在通录选择联系人进入联系详细信息界面,这时点击menu键打开通信功能框,选择打电话、发信息的功能进行操作。 4、菜单能 通过对menu按的点击,显示底部菜框,包含有增加查找、除、菜单、返回功能,菜单按键则包含显示所有、删除所有等实用功能。 增加联系人: 这个功能由ContactAdder类完成,具体实现不是比较麻烦,保存动作由ContentResolver类解决,但实现方式有所不同,可分为一次性批量增加与挨个增加。 由于界面设置繁琐,代码页过多,所以挑出其中的一部分进行说明 首先是DB数据库建库过程: package com.xample.hivian.my_contact_manager.models.db; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteOpenHelper; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import com.example.hivian.my_contact_manager.models.Contact; import com.example.hivian.my_contact_manager.models.Sms; import java.util.ArrayList; import java.util.List; public class DBHandler extends SQLiteOpenHelper {// Database Version

基于Android的通讯录系统的设计与实现

基于Android的通讯录系统的设计与实现 孙红丽;叶斌 【期刊名称】《软件》 【年(卷),期】2015(000)005 【摘要】通讯录是管理人们直接通讯信息的工具,Android技术的迅速发展为手机通讯录提供技术支持。基于目前很多通讯录软件功能花哨,界面繁复,导致用户不知道一些功能如何使用,去哪儿使用,制作一款简单基本的手机通讯录很有必要。本文设计了一款利用Android技术开发的手机通讯录,主要包括拨号、联系人、信息和设置四个功能模块,并进行了技术实现。%The Phonebook is a tool for people to manage the direct information of communications. With its rapid development, Android technology provides technical support for phonebook. Due to the various functions of the current phonebook software and its complicated interface, some customers do not know how to use it and where it is. Therefore, it is necessary to make a simple basic phonebook. In this paper, a phonebook is designed and realized with Android technology, including the four main functional modules of dialing, contacts, information and settings. 【总页数】4页(117-120) 【关键词】手机通讯录;数据库设计;模块结构 【作者】孙红丽;叶斌 【作者单位】商丘师范学院计算机与信息技术学院,河南商丘476000;商丘职

基于Android系统手机通讯录管理软件的设计与开发_毕业设计

重庆理工大学毕业论文基于Android的通讯录软件重庆理工大学 毕业设计 题目基于Android系统手机通讯录 管理软件的设计与开发 二级学院计算机科学与工程学院 专业软件工程 班级08软件工程3班级 时间2011/9 - 2011/10

摘要............................................................................................................................................ I Abstract ............................................................................................................................................. II 第一章绪论. (2) 1.1项目研究背景 (2) 1.2项目研究的目的及意义 (2) 1.3系统主要实现内容与实现方式 (3) 1.3.1系统主要实现内容 (3) 1.3.2安卓系统开发的方法 (3) 1.3.3 系统的开发平台 (4) 1.4系统开发需用到的技术支持 (4) 1.4.1 Java语言 (4) 1.4.2 Android (5) 第二章系统分析 (6) 2.1系统可行性分析 (6) 2.1.1技术可行性 (6) 2.1.2经济可行性 (6) 2.1.3操作可行性 (6) 2.2需求分析 (6) 2.2.1 Android通讯录的使用意义 (7) 2.2.2外部事件 (7) 第三章系统概要设计 (8) 3.1系统总体设计 (8) 3.2处理流程设计 (9) 3.2.1业务流程图 (9) 3.2.2数据增加流程图 (10) 3.2.3数据修改流程图 (11) 3.2.4数据删除流程 (12) 3.3 数据库设计 (12) 3.3.1 SQLite数据库简介 (12) 3.3.3 数据库表结构 (13) 第四章系统详细设计 (13) 4.1联系人浏览模块 (13) 4.2查看联系人模块 (16) 4.3编辑联系人模块 (17) 5.4查找联系人模块 (18) 4.5关于 (19) 第五章系统测试与调试 (19) 5.1测试目的 (19) 5.2程序调试 (20) 5.3 测试的主要内容 (20) 5.4测试用例 (21) 5.4.1功能测试—添加联系人 (21) 5.4.2功能测试—查看联系人 (21) 5.4.3功能测试—删除联系人 (22)

(完整版)基于android手机通讯录的设计与实现的毕业论文设计

基于Android手机通讯录的设计与实现 摘要:随着第三代通信技术3G的推广,无线带宽和传输速度都得到了大幅度提升,为智能手机终端添加更多内容丰富的应用功能提供了良好的平台。本系统是基于谷歌公司新推出的一款Linux平台的开源手机操作系统——Android系统,利用Java语言,Eclipse为开发工具,通过对平台的系统架构和应用程序进行学习,设计出一款手机通讯录。本系统包括存储,删除,Android修改,打电话,发信息,发邮件,备份SD卡等功能,满足了用户对通讯录的需求。此通讯录的设计遵循标准的开发流程,首先进行需求分析,然后确定通讯录的功能,再编写程序的代码,调试程序,运行程序,并对程序进行优化完善。本软件利用Android提供的各种组件对界面进行设计,能够很好地支持用户体验。 关键词:Android;手机通讯录;智能手机; Design and Implementation of Mobile Phone Contacts Based on Android Abstract: With the 3G promotion of third-generation communications technology, wireless bandwidth and transmission speed improved significantly, and provides a good platform for smart mobile terminals to add more content-rich applications. The design is based on the Google Corporation a new version of the Linux platform to the source mobile phone operating system -- Android system, using Java language, Eclipse as a development tool, through the Android platform system architecture and application for research, design a mobile phone contacts. The design including

安卓课程设计 手机通讯录

J I A N G S U U N I V E R S I T Y 通信综合课程设计报告 ——手机通讯录 姓名: 合作者: 专业班级:通信1002 学号:31006010 指导老师:朱轶 设计日期:2014.01.08~2014.01.10

第一章开发内容概述 随着移动通信与Internet向移动终端的普及,网络和用户对移动终端的要求越来越高,而Symbian,Windows Mobile,PalmOS等手机平台过于封闭,不能很好的满足用户的需求,因此市场迫切需要一个开发性很强的平台。经过多年的发展,第三代数字通信(3G)技术活动了广泛的接受,它为移动终端用户带来了更快的数据传输速率。随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。Google为此与2007年11月推出了一个专为移动设备设计的软件平台——Android。 Android 是一套真正意义上的开发性的移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android 是由Linux+Java构成的开源软件,允许所有厂商和个人在其基础上进行开发。Android平台的开放性等特点既能促进技术(包括平台本身)的创新,又有助于降低开发成本,还可以是运营商能非常方便地制定自己的特色化的产品。因此,它具有很大的市场发展潜力。 Android(Google公司)是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序——移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。谷歌与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。 优点:具备触摸屏、高级图形显示和上网功能,界面强大,可以说是一种融入全部Web应用的单一平台。 缺点:由于时时刻刻都需要和网络进行连接,因此在手机的能耗方面控制就较差,导致待机能力不足;又由于其开源性,过分依赖开发商,缺少标准配置。 第二章关键技术 一个好的系统设计的步骤决定了程序是否能按照设计者的目的按时完成,是否能在规定的时间内按照设计者的要求高质量的完成程序必要的功能。并且按照标准的设计步骤对程序进行调试,测试,以及后期的优化完善,使程序更加具有健壮性和可用性。通过对通讯录功能、系统模块、用户需求方面进行全方位的分析制定开发流程。 采用标准的开发流程确定系统具有用户管理功能,联系人增删改功能,通讯功能,查找功能,备份等功能。系统功能图如图1所示。

相关主题
文本预览
相关文档 最新文档