613352322毕业设计(论文)基于android平台下通讯录的设计与开发.doc
《613352322毕业设计(论文)基于android平台下通讯录的设计与开发.doc》由会员分享,可在线阅读,更多相关《613352322毕业设计(论文)基于android平台下通讯录的设计与开发.doc(76页珍藏版)》请在三一办公上搜索。
1、 实习设计说明书题目: 基于Android平台通讯录的开发与设计系 名 计算机科学与工程系 专 业 计算机科学与技术 年 级 08级 1班 姓 名 指导教师 第一章 引言1.1 编写目的本文旨在将该项目做具体分析,介绍选题目的,概括说明该系统的运行,详细介绍项目情况,并且将该项目做一整体说明。1.2 背景随着android技术的出现,越来越多的手机开发商采用android操作系统,于是android通讯录的开发也变的必不可少。1.3 目标本次项目的开发旨在通过android技术实现手机通讯录的基本功能,方便手机用户对联系人的管理。第二章 系统功能分析该系统需要实现以下基本功能,下面分别对一些主
2、要功能模块进行介绍。2.1新用户的添加功能 对于新的联系人,手机用户可以添加新联系人的头像,姓名,手机号码,办公室电话,家庭电话,职务职称,单位名称,地址,邮政编码,Email,其他联系方式,备注这些信息。2.2查找联系人 可以输入联系人名字或者手机来查找联系人的信息,方便用户快速找到联系人,查询结果显示在当前页。2.3.删除联系人 通过长点击来删除要删除的联系人。2.4 修改联系人。 可以根据需要修改联系人的所有信息。2.5.菜单功能 菜单功能里包括显示所有,删除所有,备份数据,还原数据,更新和后退。 显示所有是把当前通讯录里所有的联系人都显示出来;删除所有是快速删除所有好友;备份数据是将要
3、备份的联系人信息备份到其他文件夹以防彻底丢失联系人信息;还原数据可以将备份数据以覆盖,添加方式还原到通讯录。2.6 系统需求分析第三章 系统概要设计系统设计阶段的主要任务是将需求分析阶段所总结出来的反映了用户需求的系统逻辑模型转换成可以实施的物理模型,主要解决如何去做的问题。3.1系统功能结构设计根据需求分析结果,通讯录有如下功能。 3.2数据库逻辑结构设计表3.2-1 联系人信息表 表3.2-2 查询信息表第四章 系统详细设计与实现本系统实现了手机通讯录对联系人的增删改查,以及备份,还原,隐私保护等功能,下面就此做详细介绍。4.1.1 添加新的联系人。用户可以添加新联系人的头像,用户名,头像
4、,姓名,手机号码,办公室电话,家庭电话,职务职称,单位名称,地址,邮政编码,Email,其他联系方式,备注这些信息。其中联系人的头像可进行如下选择。添加成功后,主页如图显示联系人。 点击设置按钮,出现下图五个按钮功能。 4.1.2 查找联系人。4.1.3 删除联系人。 如果没有长点击删除,则如下图: 删除时会出现删除对话框,询问用户是否删除,点击确定就会删除联系人。 4.1.4 修改联系人。 点击通讯录中的一个联系人,点击修改才可修改联系人的所有信息。4.1.5 菜单功能 点击菜单,则出现如下操作:点击删除所有,如下图: 点击备份,出现如下对话框: 备份成功,则显示如下对话框: 点击还原按钮,
5、则显示如下对话框: 点击更新,如下图: 确定后,则显示下图:点击确定后,则进入秘密仓库,如下图: 4.1.6 其他功能(打电话,发短信,发邮件) 其中打电话还可以在多个号码中选择要拨打的电话,如下图: 4.2详细代码实现如下:数据库代码:package com.gaomeiyun.contact.db;import java.io.BufferedReader;import java.io.File;import java.io.FileOutputStream;import java.io.FileReader;import java.io.IOException;import java.u
6、til.ArrayList;import java.util.HashMap;import com.gaomeiyun.contact.entity.User;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.os.Environme
7、nt;public class DBHelper public static final String DB_DBNAME=contact;public static final String DB_TABLENAME=user;public static final int VERSION = 4;public static SQLiteDatabase dbInstance; private MyDBHelper myDBHelper;private StringBuffer tableCreate;private Context context;public DBHelper(Conte
8、xt context) this.context = context;public void openDatabase() if(dbInstance = null) myDBHelper = new MyDBHelper(context,DB_DBNAME,VERSION);dbInstance = myDBHelper.getWritableDatabase();/* * 往数据库里面的user表插入一条数据,若失败返回-1 * param user * return 失败返回-1 */public long insert(User user) ContentValues values =
9、 new ContentValues();values.put(name, user.username);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(pos
10、ition, user.position);values.put(company, pany);values.put(zipcode, user.zipCode);values.put(remark, user.remark);values.put(imageid, user.imageId);values.put(privacy, user.privacy);return dbInstance.insert(DB_TABLENAME, null, values);/* * 获得数据库中所有的用户,将每一个用户放到一个map中去,然后再将map放到list里面去返回 * param priva
11、cy * return list */public ArrayList getAllUser(boolean privacy) ArrayList list = new ArrayList();Cursor cursor = null;if(privacy) cursor = dbInstance.query(DB_TABLENAME, new String_id,name,mobilephone,officephone,familyphone,address,othercontact,email,position,company,zipcode,remark,imageid, privacy
12、=1, null, null, null, null); else cursor = dbInstance.query(DB_TABLENAME, new String_id,name,mobilephone,officephone,familyphone,address,othercontact,email,position,company,zipcode,remark,imageid, privacy=0,null, null, null, null); while(cursor.moveToNext() HashMap item = new HashMap();item.put(_id,
13、 cursor.getInt(cursor.getColumnIndex(_id);item.put(name, cursor.getString(cursor.getColumnIndex(name);item.put(mobilephone, cursor.getString(cursor.getColumnIndex(mobilephone);item.put(officephone, cursor.getString(cursor.getColumnIndex(officephone);item.put(familyphone, cursor.getString(cursor.getC
14、olumnIndex(familyphone);item.put(address, cursor.getString(cursor.getColumnIndex(address);item.put(othercontact, cursor.getString(cursor.getColumnIndex(othercontact);item.put(email, cursor.getString(cursor.getColumnIndex(email);item.put(position, cursor.getString(cursor.getColumnIndex(position);item
15、.put(company, cursor.getString(cursor.getColumnIndex(company);item.put(zipcode, cursor.getString(cursor.getColumnIndex(zipcode);item.put(remark, cursor.getString(cursor.getColumnIndex(remark);item.put(imageid, cursor.getInt(cursor.getColumnIndex(imageid);list.add(item);return list;public void modify
16、(User user) ContentValues values = new ContentValues();values.put(name, user.username);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.pu
17、t(email,user.email);values.put(position, user.position);values.put(company, pany);values.put(zipcode, user.zipCode);values.put(remark, user.remark);values.put(imageid, user.imageId);dbInstance.update(DB_TABLENAME, values, _id=?, new StringString.valueOf(user._id);public void delete(int _id) dbInstan
18、ce.delete(DB_TABLENAME, _id=?, new StringString.valueOf(_id);public void deleteAll(int privacy) dbInstance.delete(DB_TABLENAME, privacy=?, new StringString.valueOf(privacy);public int getTotalCount() Cursor cursor = dbInstance.query(DB_TABLENAME, new Stringcount(*), null, null, null, null, null);cur
19、sor.moveToNext();return cursor.getInt(0);public ArrayList getUsers(String condition, boolean privacy) ArrayList list = new ArrayList();String strSelection = ;if(privacy) strSelection = and privacy = 1; else strSelection = and privacy = 0;String sql = select * from + DB_TABLENAME + where 1=1 and (nam
20、e 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.getCol
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 613352322 毕业设计 论文 基于 android 平台 通讯录 设计 开发

链接地址:https://www.31ppt.com/p-2393543.html