欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    613352322毕业设计(论文)基于android平台下通讯录的设计与开发.doc

    • 资源ID:2393543       资源大小:4.56MB        全文页数:76页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    613352322毕业设计(论文)基于android平台下通讯录的设计与开发.doc

    实习设计说明书题目: 基于Android平台通讯录的开发与设计系 名 计算机科学与工程系 专 业 计算机科学与技术 年 级 08级 1班 姓 名 指导教师 第一章 引言1.1 编写目的本文旨在将该项目做具体分析,介绍选题目的,概括说明该系统的运行,详细介绍项目情况,并且将该项目做一整体说明。1.2 背景随着android技术的出现,越来越多的手机开发商采用android操作系统,于是android通讯录的开发也变的必不可少。1.3 目标本次项目的开发旨在通过android技术实现手机通讯录的基本功能,方便手机用户对联系人的管理。第二章 系统功能分析该系统需要实现以下基本功能,下面分别对一些主要功能模块进行介绍。2.1新用户的添加功能 对于新的联系人,手机用户可以添加新联系人的头像,姓名,手机号码,办公室电话,家庭电话,职务职称,单位名称,地址,邮政编码,Email,其他联系方式,备注这些信息。2.2查找联系人 可以输入联系人名字或者手机来查找联系人的信息,方便用户快速找到联系人,查询结果显示在当前页。2.3.删除联系人 通过长点击来删除要删除的联系人。2.4 修改联系人。 可以根据需要修改联系人的所有信息。2.5.菜单功能 菜单功能里包括显示所有,删除所有,备份数据,还原数据,更新和后退。 显示所有是把当前通讯录里所有的联系人都显示出来;删除所有是快速删除所有好友;备份数据是将要备份的联系人信息备份到其他文件夹以防彻底丢失联系人信息;还原数据可以将备份数据以覆盖,添加方式还原到通讯录。2.6 系统需求分析第三章 系统概要设计系统设计阶段的主要任务是将需求分析阶段所总结出来的反映了用户需求的系统逻辑模型转换成可以实施的物理模型,主要解决如何去做的问题。3.1系统功能结构设计根据需求分析结果,通讯录有如下功能。 3.2数据库逻辑结构设计表3.2-1 联系人信息表 表3.2-2 查询信息表第四章 系统详细设计与实现本系统实现了手机通讯录对联系人的增删改查,以及备份,还原,隐私保护等功能,下面就此做详细介绍。4.1.1 添加新的联系人。用户可以添加新联系人的头像,用户名,头像,姓名,手机号码,办公室电话,家庭电话,职务职称,单位名称,地址,邮政编码,Email,其他联系方式,备注这些信息。其中联系人的头像可进行如下选择。添加成功后,主页如图显示联系人。 点击设置按钮,出现下图五个按钮功能。 4.1.2 查找联系人。4.1.3 删除联系人。 如果没有长点击删除,则如下图: 删除时会出现删除对话框,询问用户是否删除,点击确定就会删除联系人。 4.1.4 修改联系人。 点击通讯录中的一个联系人,点击修改才可修改联系人的所有信息。4.1.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.util.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.Environment;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(Context 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 = 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("position", 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 privacy * 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=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", 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.getColumnIndex("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.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(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.put("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) dbInstance.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 String"count(*)", null, null, null, null, null);cursor.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 (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");item.put("mobilephone", cursor.getString(cursor.getColumnIndex("mobilephone");item.put("officephone", cursor.getString(cursor.getColumnIndex("officephone");item.put("familyphone", cursor.getString(cursor.getColumnIndex("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.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 deleteMarked(ArrayList<Integer> deleteId) StringBuffer strDeleteId = new StringBuffer();strDeleteId.append("_id=");for(int i=0;i<deleteId.size();i+) if(i!=deleteId.size()-1) 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();public void backupData(boolean privacy) StringBuffer sqlBackup = new StringBuffer();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", "privacy=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", "privacy=0",null, null, null, null); while(cursor.moveToNext() sqlBackup.append("insert into " + DB_TABLENAME + "(name,mobilephone,officephone,familyphone,address,othercontact,email,position,company,zipcode,remark,imageid,privacy)").append(" values ('").append(cursor.getString(cursor.getColumnIndex("name").append("','").append(cursor.getString(cursor.getColumnIndex("mobilephone").append("','").append(cursor.getString(cursor.getColumnIndex("officephone").append("','").append(cursor.getString(cursor.getColumnIndex("familyphone").append("','").append(cursor.getString(cursor.getColumnIndex("address").append("','").append(cursor.getString(cursor.getColumnIndex("othercontact").append("','").append(cursor.getString(cursor.getColumnIndex("email").append("','").append(cursor.getString(cursor.getColumnIndex("position").append("','").append(cursor.getString(cursor.getColumnIndex("company").append("','").append(cursor.getString(cursor.getColumnIndex("zipcode").append("','").append(cursor.getString(cursor.getColumnIndex("remark").append("',").append(cursor.getInt(cursor.getColumnIndex("imageid").append(",").append(cursor.getInt(cursor.getColumnIndex("privacy").append(");").append("n");saveDataToFile(sqlBackup.toString(),privacy);private void saveDataToFile(String strData,boolean privacy) String fileName = ""if(privacy) fileName = "priv_data.bk" else fileName = "comm_data.bk"try String SDPATH = Environment.getExternalStorageDirectory() + "/"File fileParentPath = new File(SDPATH + "zpContactData/");fileParentPath.mkdirs();File file = new File(SDPATH + "zpContactData/" + fileName);System.out.println("the file previous path = " + file.getAbsolutePath();file.createNewFile();System.out.println("the file next path = " + file.getAbsolutePath();FileOutputStream fos = new FileOutputStream(file);fos.write(strData.getBytes();fos.flush(); catch (IOException e) e.printStackTrace();public void restoreData(String fileName) try String SDPATH = Environment.getExternalStorageDirectory() + "/"File file = null;if(fileName.endsWith(".bk") file = new File(SDPATH + "zpContactData/"+ fileName); else file = new File(SDPATH + "zpContactData/"+ fileName + ".bk");BufferedReader br = new BufferedReader(new FileReader(file);String str = ""while(str=br.readLine()!=null) System.out.println(str);dbInstance.execSQL(str); catch(Exception e) e.printStackTrace();public boolean findFile(String fileName) String SDPATH = Environment.getExternalStorageDirectory() + "/"File file = null;if(fileName.endsWith(".bk") file = new File(SDPATH + "zpContact/"+fileName); else file = new File(SDPATH + "zpContact/"+fileName + ".bk");if(file.exists() return true; else return false;class MyDBHelper extends SQLiteOpenHelper public MyDBHelper(Context context, String name,int version) super(context, name, null, version);Overridepublic void onCreate(SQLiteDatabase db) tableCreate = new StringBuffer();tableCreate.append("create table ") .append(DB_TABLENAME) .append(" (") .append("_id integer primary key autoincrement,") .append("name text,") .append("mobilephone text,") .append("officephone text,") .append("familyphone text,") .append("address text,") .append("othercontact text,") .append("email text,") .append("position text,") .append("company text,") .append("zipcode text,") .append("remark text,") .append("imageid int,") .append("privacy int ") .append(")");System.out.println(tableCreate.toString();db.execSQL(tableCreate.toString();Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) String sql = "drop table if exists " + DB_TABLENAME;db.execSQL(sql);myDBHelper.onCreate(db);用户信息:package com.gaomeiyun.contact.entity;import java.io.Serializable;public class User implements Serializable public int _id;public String username;public String mobilePhone;public String officePhone;public String familyPhone;public String position;public String company;public String address;public String zipCode;public String email;public String otherContact;public String remark;public int imageId;public int privacy;/1代表隐私用户 0代表普通用户添加新用户:package com.gaomeiyun.contact;import android.app.Activity;import android.app.AlertDialog;import android.content.Context;import android.content.DialogInterface;import android.content.Intent;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.view.View.OnClickListener;import android.view.animation.AnimationUtils;import android.widget.AdapterView;import android.widget.BaseAdapter;import android.widget.Button;import android.widget.EditText;import android.widget.Gallery;import android.widget.ImageButton;import android.widget.ImageSwitcher;import android.widget.ImageView;import android.widget.Toast;import android.widget.Ad

    注意事项

    本文(613352322毕业设计(论文)基于android平台下通讯录的设计与开发.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开