当前位置:文档之家› Android入门之增删改查通讯录

Android入门之增删改查通讯录

Android入门之增删改查通讯录
Android入门之增删改查通讯录

Android入门之增删改查通讯录

一、通讯录应用介绍

通讯录应用是Android自带的应用程序,我们看到此应用的时候,可能只认为这是一个应用,用数据库存储数据,但是实际上不是这样的。

通讯录是ContentProvider的应用,通讯录由两部分组成:

(1)com.android.providers.contacts的ContentProvider:真正存储数据的ContentProvider

(2)com.android.contacts:运用ContentResolver获取数据的图形用户界面;

二、获取ContactProvider的源代码

Android源代码: https://www.doczj.com/doc/b92193209.html,/zhanglubing/blog/40623 用git获取;

如果要获取ContactProvider,则安装git,并打开git bash,输入

git clone https://https://www.doczj.com/doc/b92193209.html,/platform/packages/providers/ContactsProvider.git 即可;

目录结构如下:

为何要获取ContactProvider的源代码呢?

因为如果要访问ContentProvider,必须要了解URI的设置(authority,path等);只有查看源代码才能够知道;

AndroidManifest.xml为清单文件,列出了ContactProvider的authorities,以及要访问通讯录需要的权限;

[html] view plaincopyprint?

1.

2.

主要的通讯录程序为ContactsProvider2.java,authorities为:contacts或com.android.contacts;

三、通讯录数据库结构介绍

表结构如下:

通讯录是存放在/data/data/com.android.providers.contacts/databases/contacts2.db,里面主要的表有:

(1)raw_contacts:存放联系人的ID,

_id属性为主键,声明为autoincrement,即不需要手动设置,其他属性也不需要手动设置就有默认值;

display_name属性为姓名;

(2)mimetypes:存放数据的类型,比如"vnd.android.cursor.item/name"表示“姓名”类型的数据,"vnd.android.cursor.item/phone_v2"表示“电话”类型的数据;

(3)data:存放具体的数据;

raw_contact_id属性用来连接raw_contacts表,每条记录表示一个具体数据;我们主要的数据(email、phone等)都存放在data表;【成都android培训】

data1属性存放总数据;

data2属性:

-如果此记录存放姓名,则data2存放名;

-如果此记录存放电话,则data2存放类型,比如手机、家电;

-如果此记录存放组织,则data2存放类型,比如公司、其他;

-如果此记录存放地址,则data2存放类型,比如住宅,单位等;

四、对通信录做增删改查

简单的说:对通讯录操作就是对一个普通的ContentProvider操作;

1.Query

(1)根据电话号码查询姓名

[java] view plaincopyprint?

1.//根据电话号码查询姓名(在一个电话打过来时,如果此电话在通讯录中,则显示姓

名)

2.public void testReadNameByPhone(){

3.String phone = "12345678";

4.//uri= content://com.android.contacts/data/phones/filter/#

5.Uri uri = Uri.parse("content://com.android.contacts/data/phones/filter/"+phone);

6.ContentResolver resolver = this.getContext().getContentResolver();

7.Cursor cursor =

resolver.query(uri, new String[]{Data.DISPLAY_NAME}, null, null, null); //从raw_contact表中返回display_name

8.if(cursor.moveToFirst()){

9.Log.i("Contacts", "name="+cursor.getString(0));

10.}

11.}

(2)查询所有的联系人

[java] view plaincopyprint?

1.//读取通讯录的全部的联系人

2.//需要先在raw_contact表中遍历id,并根据id到data表中获取数据

3.public void testReadAll(){

4.//uri = content://com.android.contacts/contacts

5.Uri uri = Uri.parse("content://com.android.contacts/contacts"); //访问raw_contacts表

6.ContentResolver resolver = this.getContext().getContentResolver();

7.Cursor cursor = resolver.query(uri, new String[]{Data._ID}, null, null, null); //获得_id属

8.while(cursor.moveToNext()){

9.StringBuilder buf = new StringBuilder();

10.int id = cursor.getInt(0);//获得id并且在data中寻找数据

11.buf.append("id="+id);

12.uri = Uri.parse("content://com.android.contacts/contacts/"+id+"/data"); //如果要获得data

表中某个id对应的数据,则URI为content://com.android.contacts/contacts/#/data

13.Cursor cursor2 =

resolver.query(uri, new String[]{Data.DA TA1,Data.MIMETYPE}, null,null, null); //data1存储各个记录的总数据,mimetype存放记录的类型,如电话、email等

14.while(cursor2.moveToNext()){

15.String data = cursor2.getString(cursor2.getColumnIndex("data1"));

16.if(cursor2.getString(cursor2.getColumnIndex("mimetype")).equals("vnd.android.cursor.it

em/name")){ //如果是名字

17.buf.append(",name="+data);

18.}

19.else if(cursor2.getString(cursor2.getColumnIndex("mimetype")).equals("vnd.android.curs

or.item/phone_v2")){ //如果是电话

20.buf.append(",phone="+data);

21.}

22.else if(cursor2.getString(cursor2.getColumnIndex("mimetype")).equals("vnd.android.curs

or.item/email_v2")){ //如果是email

23.buf.append(",email="+data);

24.}

25.else if(cursor2.getString(cursor2.getColumnIndex("mimetype")).equals("vnd.android.curs

or.item/postal-address_v2")){//如果是地址

26.buf.append(",address="+data);

27.}

28.else if(cursor2.getString(cursor2.getColumnIndex("mimetype")).equals("vnd.android.curs

or.item/organization")){ //如果是组织

29.buf.append(",organization="+data);

30.}

31.}

32.String str = buf.toString();

33.Log.i("Contacts", str);

34.}

35.}

2.Insert

(1)一步一步添加数据

[java] view plaincopyprint?

1.//一步一步添加数据

2.public void testAddContacts(){

3.//插入raw_contacts表,并获取_id属性

4.Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");

5.ContentResolver resolver = this.getContext().getContentResolver();

6.ContentValues values = new ContentValues();

7.long contact_id = ContentUris.parseId(resolver.insert(uri, values));

8.//插入data表

9.uri = Uri.parse("content://com.android.contacts/data");

10.//add Name

11.values.put("raw_contact_id", contact_id);

12.values.put(Data.MIMETYPE,"vnd.android.cursor.item/name");

13.values.put("data2", "zdong");

14.values.put("data1", "xzdong");

15.resolver.insert(uri, values);

16.values.clear();

17.//add Phone

18.values.put("raw_contact_id", contact_id);

19.values.put(Data.MIMETYPE,"vnd.android.cursor.item/phone_v2");

20.values.put("data2", "2"); //手机

21.values.put("data1", "87654321");

22.resolver.insert(uri, values);

23.values.clear();

24.//add email

25.values.put("raw_contact_id", contact_id);

26.values.put(Data.MIMETYPE,"vnd.android.cursor.item/email_v2");

27.values.put("data2", "2"); //单位

28.values.put("data1", "xzdong@https://www.doczj.com/doc/b92193209.html,");

29.resolver.insert(uri, values);

30.}

(2)批量添加数据

核心代码:

(1)ContentProviderOperation operation = ContentProviderOperation.newInsert(uri).withValue("key","value").build();

(2)resolver.applyBatch("authorities",operations);//批量提交

[java] view plaincopyprint?

1.

style="font-size:18px;">public void testAddContactsInTransaction() throws Exception {

2.Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");

3.ContentResolver resolver = this.getContext().getContentResolver();

4.ArrayList operations

= new ArrayList();

5.// 向raw_contact表添加一条记录

6.//此处.withValue("account_name", null)一定要加,不然会抛NullPointerException

7.ContentProviderOperation operation1 = ContentProviderOperation

8..newInsert(uri).withValue("account_name", null).build();

9.operations.add(operation1);

10.// 向data添加数据

11.uri = Uri.parse("content://com.android.contacts/data");

12.//添加姓名

13.ContentProviderOperation operation2 = ContentProviderOperation

14..newInsert(uri).withValueBackReference("raw_contact_id", 0)

15.//withValueBackReference的第二个参数表示引用operations[0]的操作的返回id作为

此值

16..withValue("mimetype", "vnd.android.cursor.item/name")

17..withValue("data2", "xzdong").build();

18.operations.add(operation2);

19.//添加手机数据

20.ContentProviderOperation operation3 = ContentProviderOperation

21..newInsert(uri).withValueBackReference("raw_contact_id", 0)

22..withValue("mimetype", "vnd.android.cursor.item/phone_v2")

23..withValue("data2", "2").withValue("data1", "0000000").build();

24.operations.add(operation3);

25.resolver.applyBatch("com.android.contacts", operations);

26.}

3.Delete

核心思想:

(1)先在raw_contacts表根据姓名查出id;

(2)在data表中只要raw_contact_id匹配的都删除;

[java] view plaincopyprint?

1.public void testDelete()throws Exception{

2.String name = "xzdong";

3.//根据姓名求id

4.Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");

5.ContentResolver resolver = this.getContext().getContentResolver();

6.Cursor cursor =

resolver.query(uri, new String[]{Data._ID},"display_name=?", new String[]{name}, null) ;

7.if(cursor.moveToFirst()){

8.int id = cursor.getInt(0);

9.//根据id删除data中的相应数据

10.resolver.delete(uri, "display_name=?", new String[]{name});

11.uri = Uri.parse("content://com.android.contacts/data");

12.resolver.delete(uri, "raw_contact_id=?", new String[]{id+""});

13.}

14.}

4.Update

核心思想:

(1)不需要更新raw_contacts,只需要更新data表;

(2)uri=content://com.android.contacts/data 表示对data表进行操作;

[java] view plaincopyprint?

1.public void testUpdate()throws Exception{

2.int id = 1;

3.String phone = "999999";

4.Uri uri = Uri.parse("content://com.android.contacts/data");//对data表的所有数据操作

5.ContentResolver resolver = this.getContext().getContentResolver();

6.ContentValues values = new ContentValues();

7.values.put("data1", phone);

8.resolver.update(uri, values, "mimetype=? and

raw_contact_id=?", new String[]{"vnd.android.cursor.item/phone_v2",id+""})

9.}

一、通讯录应用介绍

通讯录应用是Android自带的应用程序,我们看到此应用的时候,可能只认为这是一个应用,用数据库存储数据,但是实际上不是这样的。

通讯录是ContentProvider的应用,通讯录由两部分组成:

(1)com.android.providers.contacts的ContentProvider:真正存储数据的ContentProvider

(2)com.android.contacts:运用ContentResolver获取数据的图形用户界面;

二、获取ContactProvider的源代码

Android源代码:https://www.doczj.com/doc/b92193209.html,/zhanglubing/blog/40623用git获取;

如果要获取ContactProvider,则安装git,并打开git bash,输入

git clone https://https://www.doczj.com/doc/b92193209.html,/platform/packages/providers/ContactsProvider.git即可;

目录结构如下:

为何要获取ContactProvider的源代码呢?

因为如果要访问ContentProvider,必须要了解URI的设置(authority,path等);只有查看源代码才能够知道;AndroidManifest.xml为清单文件,列出了ContactProvider的authorities,以及要访问通讯录需要的权限;

[html]view plaincopy

主要的通讯录程序为ContactsProvider2.java

authorities=contacts或com.android.contacts;

三、通讯录数据库结构介绍

表结构如下:

通讯录是存放在/data/data/com.android.providers.contacts/databases/contacts2.db,里面主要的表有:

(1)raw_contacts:存放联系人的ID,

_id属性为主键,声明为autoincrement,即不需要手动设置,其他属性也不需要手动设置就有默认值;

display_name属性为姓名;

(2)mimetypes:存放数据的类型,比如"vnd.android.cursor.item/name"表示“姓名”类型的数据,

"vnd.android.cursor.item/phone_v2"表示“电话”类型的数据;

(3)data:存放具体的数据;

raw_contact_id属性用来连接raw_contacts表,每条记录表示一个具体数据;我们主要的数据(email、phone等)都存放在data表;

data1属性存放总数据;

data2属性:

-如果此记录存放姓名,则data2存放名;

-如果此记录存放电话,则data2存放类型,比如手机、家电;

-如果此记录存放组织,则data2存放类型,比如公司、其他;

-如果此记录存放地址,则data2存放类型,比如住宅,单位等;

四、编程提示

URI

对raw_contacts表添加、删除、更新操作:

URI = content://com.android.contacts/raw_contacts;

对data表添加、删除、更新操作:

URI = content://com.android.contacts/data;

根据email对data表查询

URI =content://com.android.contacts/data/emails/filter/*根据电话号码对data表查询

URI =content://com.android.contacts/data/phone/filter/*如果要根据ID查询电话,可以

URI =content://com.android.contacts/data;

然后where条件为:raw_contact_id=? and mimetype = ?

MIMETYPE

电话:vnd.android.cursor.item/phone_v2

姓名:vnd.android.cursor.item/name

邮件:vnd.android.cursor.item/email_v2

通信地址:vnd.android.cursor.item/postal-address_v2

组织:vnd.android.cursor.item/organization

照片:vnd.android.cursor.item/photo

Data中的常量

Data._ID:"_id"

Data.DISPLAY_NAME:“display_name”

Data.DATA1:“data1”

Data.DATA2:“data2”

Data.RAW_CONTACT_ID:“raw_contact_id”

Data.MIMETYPE:“mimetype”

五、对通信录做增删改查

简单的说:对通讯录操作就是对一个普通的ContentProvider操作;

1.Query

(1)根据电话号码查询姓名[java]view plaincopy

(2)查询所有的联系人

[java]view plaincopy

2.Insert

(1)一步一步添加数据

注意:对某个联系人插入姓名、电话等记录时必须要插入Data.MIMETYPE(或者是"mimetype")属性,而不是插入"mimetype_id"!

比如:values.put(Data.MIMETYPE,"vnd.android.cursor.item/phone_v2");

[java]view plaincopy

(2)批量添加数据

核心代码:

(1)ContentProviderOperation operation = ContentProviderOperation.newInsert(uri).withV alue("key","value").build();

(2)resolver.applyBatch("authorities",operations);//批量提交

[java]view plaincopy

3.Delete

核心思想:

(1)先在raw_contacts表根据姓名(此处的姓名为name记录的data2的数据而不是data1的数据)查出id;

(2)在data表中只要raw_contact_id匹配的都删除;

[java]view plaincopy

4.Update

核心思想:

(1)不需要更新raw_contacts,只需要更新data表;

(2)uri=content://com.android.contacts/data 表示对data表进行操作;

[java]view plaincopy

首先在Androidmainifest中添加对电话薄的读写权限。

因为继承于ListActivity,没有用到配置文件,下面贴出java代码。

package com.android;

import android.app.ListActivity;

import android.content.ContentUris;

import android.content.Intent;

import android.database.Cursor;

import https://www.doczj.com/doc/b92193209.html,.Uri;

import android.os.Bundle;

import android.provider.Contacts.People;

import android.provider.ContactsContract;

import android.view.ContextMenu;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.ContextMenu.ContextMenuInfo;

import android.widget.AdapterView;

import android.widget.ListView;

import android.widget.SimpleCursorAdapter;

public class TkActivity extends ListActivity {

private static final int AddContact_ID = Menu.FIRST;

private static final int delete = Menu.FIRST+1;

private static final int edit = Menu.FIRST+2;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

getListView().setOnCreateContextMenuListener(this);

getquery();

}

public void getquery(){

@SuppressWarnings("deprecation")

Cursor cursor = this.getContentResolver().query(People.CONTENT_URI, null,

null, null, null);

@SuppressWarnings("deprecation")

SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,

https://www.doczj.com/doc/b92193209.html,yout.simple_list_item_2,

cursor,

new String[] {https://www.doczj.com/doc/b92193209.html,, People.NUMBER },

new int[] { android.R.id.text1, android.R.id.text2 });

setListAdapter(adapter);

}

//监听每个item,按下显示详细电话内容

protected void onListItemClick(ListView l, View v, int position, long id)

{

Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, id);

//查看联系人

startActivity(new Intent(Intent.ACTION_VIEW, uri));

}

public boolean onCreateOptionsMenu(Menu menu)

{

super.onCreateOptionsMenu(menu);

//添加联系人

menu.add(0, AddContact_ID, 0, "添加");

return true;

}

public boolean onOptionsItemSelected(MenuItem item)

{

switch (item.getItemId())

{

case AddContact_ID:

//添加联系人

Intent intent = new Intent();

//为Intent设置Action属性(动作为:编辑)

intent.setAction(Intent.ACTION_INSERT);

String data = "content://com.android.contacts/contacts";

//根据指定字符串解析出Uri对象

Uri uri = Uri.parse(data);

//设置Data属性

intent.setData(uri);

startActivity(intent);

getquery();

}

return super.onOptionsItemSelected(item);

}

//长按菜单

public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo menuInfo)

{

AdapterView.AdapterContextMenuInfo info;

try

{

info = (AdapterView.AdapterContextMenuInfo) menuInfo;

}

catch (ClassCastException e)

{

return;

}

//得到长按的数据项

Cursor cursor = (Cursor) getListAdapter().getItem(info.position);

if (cursor == null)

{

return;

}

menu.setHeaderTitle(cursor.getString(1));

//添加删除菜单

menu.add(0, delete, 0, "删除");

menu.add(0,edit,1,"编辑");

}

@Override

public boolean onContextItemSelected(MenuItem item)

{

AdapterView.AdapterContextMenuInfo info;

try

{

info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();

}

catch (ClassCastException e)

{

return false;

}

switch (item.getItemId())

{

case delete:

{

//删除一条记录

Uri noteUri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, info.id);

getContentResolver().delete(noteUri, null, null);

getquery();

return true;

}

case edit:

Uri editUri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, info.id);

startActivity(new Intent(Intent.ACTION_EDIT, editUri));

getquery();

}

return false;

}

@Override

protected void onResume() {

// TODO Auto-generated method stub

getquery();

super.onResume();

}

}

基于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/b92193209.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/b92193209.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/b92193209.html, 将员工通讯录快速导入Android手机 作者:王志军 来源:《电脑爱好者》2014年第06期 编辑通讯录文件 Android 4.0系统的智能手机对导入文件的格式有一定的要求,因此我们需要借助Excel或WPS表格进行适当的处理。用PC端浏览器访问http://https://www.doczj.com/doc/b92193209.html,/pim/login.jsp,使用QQ账号登录,在右侧窗格单击“导入联系人”,这里提供了多种导入方式,建议选择“Excel”,按照提示下载模板文件(图1),在这里复制姓、名、工作手机和短号,同时适当删除部分多余的列,修改完成之后保存。 将通讯录文件导入云端 仍然用PC访问http://https://www.doczj.com/doc/b92193209.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的通讯录软件重庆理工大学 毕业设计 题目基于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所示。

基于Android系统的通讯录设计文档毕业论文

目录 错误!未找到引用源。项目介绍 (2) 错误!未找到引用源。数据库设计 (3) 错误!未找到引用源。系统概要设计 (4) 错误!未找到引用源。类的设计 (11) 错误!未找到引用源。功能实现 (14) 错误!未找到引用源。部分代码 (20) 错误!未找到引用源。实验心得 (26)

第一章项目介绍 本项目是使用eclipse开发平台,并连接使用SQlite数据库编写的通讯录。分为后台数据库的建立和维护,以及前端应用程序的开发两个部分,主要包括添加、删除、修改联系人姓名、电话、住址等。 1.功能需求分析: 当今社会是信息高速发展的时代,朋友圈也逐渐得到扩展,而人与人之间的联系也愈加密切,准确详细并安全的保存需要联系的人的信息则显得更加重要。 2.功能模块分析: (1)查询所有联系人模块:可以查询所有添加成功的联系人的信息。 (2)搜索联系人模块:可以按照关键字进行搜索。 (3)新联系人模块:可以添加新联系人的信息。 3.数据流图: 数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。按照系统的业务流程来分析系统中的信息流向,可画出系统的数据流图如下: 4.功能模块结构图:

第二章数据库设计 本项目使用SQLite数据库系统,其库文件为:contacts.db,表名称为:contacts 其具体定义如下: 字段类型描述 _id Integer id name Text 姓名 mobileNumber Text 电话 email Text 邮箱 createDate Long 创建时间 modifyedDate long 修改时间 company Text 公司

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