基于安卓系统的通讯录设计文档Word文档格式.docx

上传人:b****8 文档编号:22529374 上传时间:2023-02-04 格式:DOCX 页数:29 大小:1.45MB
下载 相关 举报
基于安卓系统的通讯录设计文档Word文档格式.docx_第1页
第1页 / 共29页
基于安卓系统的通讯录设计文档Word文档格式.docx_第2页
第2页 / 共29页
基于安卓系统的通讯录设计文档Word文档格式.docx_第3页
第3页 / 共29页
基于安卓系统的通讯录设计文档Word文档格式.docx_第4页
第4页 / 共29页
基于安卓系统的通讯录设计文档Word文档格式.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

基于安卓系统的通讯录设计文档Word文档格式.docx

《基于安卓系统的通讯录设计文档Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于安卓系统的通讯录设计文档Word文档格式.docx(29页珍藏版)》请在冰豆网上搜索。

基于安卓系统的通讯录设计文档Word文档格式.docx

其具体定义如下:

字段

类型

描述

_id

Integer

id

name

Text

姓名

mobileNumber

电话

email

邮箱

createDate

Long

创建时间

modifyedDate

long

修改时间

company

公司

第三章系统概要设计

1.外部事件

该图描述了通讯录与外部环境的交互,在这个系统中,通过对系统的分析,可以识别出参与者:

用户。

对于用户而言,通讯录上按钮是用户向系统输入的操作请求的输入设备,GUI是用于向用户输出的输出设备。

2.业务流程图:

3.数据增加流程图:

4.数据修改流程图:

5.数据删除流程图:

6.系统用例分析

该图显示了通话记录功能模块,包括了联系人详细信息查看,清空通话记录,在选择一个联系人之后,可以进行拨打电话,发送信息的操作,也可以进行删除。

该图显示了短信记录功能模块的用例。

包括查看短信,发送短信,删除选中的短信记录,清空整个短信记录,其中发送短信包含了新建信息和回复信息。

如果用户是新建信息,发送对象可以自己手动输入对方电话号码,也可以从联系人列表中选取,可以选中多个,如果是自己输入多个,用”;

”分开即可。

该图显示了联系人功能模块的用例。

包括了查看联系人详细信息,编辑联系人信息,新建联系人,对选中的联系人,可以对其进行删除、拨打电话、发送短信的操作。

用户还可以进行联系人搜索,这样方便用户快速找到想的联系人信息。

7.通话记录模块的实现流程图:

通话记录使用户可以查看最近通话记录,在选中某条栏目后,为用户提供了拨打电话、发送短信、删除该记录、查看联系人信息和情况整个记录的功能。

在用户选中此功能后,系统会先调用LastContact类的initComment()函数初始化控件,然后再调用该类的initDate()函数初始化数据,最后通过函数getDate()获得最近通话记录。

因为此系统多个模块都有查看联系人信息、发送短信和拨打电话的操作,所以在设计的时候,将此三个方法写成了静态方法(方法名分别为actionSendMsg,actionDialog,actionCheckInfo,封装在类Action_T中),以此降低程序代码的耦合度。

综上所述,用户在进行拨打电话、发送短信、查看联系人信息的时候,分别会调用actionSendMsg(),actionDialog(),actionCheckInfo()三个方法。

8.短信记录的流程:

该模块主要为用户提供了手机短信方面的功能,包括用户可以查看新收到的短信,可以调用actionSenMsg()方法发送短信,当然,发送短信分为新建短信和回复短信。

当用户选择某一个条目后,可以调用delete()方法删除该短信记录,当然可以调用empet()直接一次性清空整个短信记录。

9.通讯录模块

该模块是系统的主要功能。

当用户进入该功能模块时,程序默认选中第一个条目,当然用户可以任意选中任一条目。

在被选中后,用户可以对该条目进行编辑、拨打电话、发送短信以及删除该联系人的操作。

此外,通过功能键,用户可以新建联系人和搜索联系人。

该功能模块的流程图如图所示:

第四章类的设计

1.ContactColumn类图

该类主要定义了系统中用到的常量,如contacts表中各字段的名称、各字段在表中的具体索引位置,以提高程序整体的可读性与可维护性。

2.DBHelper类图

该类充当数据库辅助类,主要用于实现数据库的创建工作。

其包含了具体的建库SQL语句。

3.ContactsProvider类图

该类实现了ContentProvide类,封装了对SQLite数据库中contacts表的增删改查操作。

使得具体数据库操作对View层透明。

4.Contacts类图

该类实现了ListActivity类,以列表界面列出了contacts表中所用记录,并提供菜单实现记录的添加与查询操作,提供上下文菜单实现记录的编辑和删除。

5.ContactEditer类图

该类实现了Activity类,主要实现对contacts表中记录进行增删改的界面。

第四章功能实现

1.界面展示:

2.显示所有联系人:

显示的内容为测试时存入。

3.按照关键字搜索联系人:

4.添加新联系人:

添加成功:

5.删除联系人:

6.给联系人拨打电话:

结束通话:

7.向联系人发送信息:

第5章部分代码

1.DatabaseHelper作为一个访问SQLite的助手类,提供两个方面的功能:

第一,getReadableDatabase(),getWritableDatabase()

可以获得SQLiteDatabse对象,通过该对象可以对数据库进行操作;

第二,提供了onCreate()和onUpgrade()两个回调函数,允许我们在创建和升级数据库时,进行自己的操作。

DatabaseHelper.java

packageliu.sqlite3.db;

importandroid.content.Context;

importandroid.database.sqlite.SQLiteDatabase;

importandroid.database.sqlite.SQLiteOpenHelper;

importandroid.database.sqlite.SQLiteDatabase.CursorFactory;

publicclassDatabaseHelperextendsSQLiteOpenHelper{

privatestaticfinalintVERSION=1;

publicDatabaseHelper(Contextcontext,Stringname,CursorFactoryfactory,

intversion){

super(context,name,factory,version);

//TODOAuto-generatedconstructorstub

}

publicDatabaseHelper(Contextcontext,Stringname){

this(context,name,VERSION);

publicDatabaseHelper(Contextcontext,Stringname,intversion){

this(context,name,null,version);

@Override

publicvoidonCreate(SQLiteDatabasedb){

//TODOAuto-generatedmethodstub

System.out.println("

createaDatabase"

);

db.execSQL("

createtableuser(namevarchar(20),phonetext,qqtext,mailtext,addresstext)"

publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){

updateaDatabase"

}

2.创建新联系人并与SQlite数据库连接起来:

注意:

调用DatabaseHelper对象的getReadableDatabase()方法才能打开SQlite数据库。

packagenet.yxarm;

importjava.util.ArrayList;

importjava.util.HashMap;

importliu.sqlite3.db.DatabaseHelper;

importandroid.app.Activity;

importandroid.content.ContentValues;

importandroid.content.Intent;

importandroid.database.Cursor;

importandroid.os.Bundle;

importandroid.util.Log;

importandroid.view.ContextMenu;

importandroid.view.Menu;

importandroid.view.MenuInflater;

importandroid.view.MenuItem;

importandroid.view.View;

importandroid.view.ContextMenu.ContextMenuInfo;

importandroid.view.View.OnClickListener;

importandroid.widget.Button;

importandroid.widget.EditText;

importandroid.widget.Toast;

publicclassAdd_peopleextendsActivity{

privateEditTexteditName=null;

privateEditTexteditPhone=null;

privateEditTexteditQQ=null;

privateEditTexteditEmail=null;

privateEditTexteditAddress=null;

privateButtonbuttonAdd=null;

privateButtonbuttonCancel=null;

publicstaticintn;

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.second);

editName=(EditText)findViewById(R.id.edit_name);

editPhone=(EditText)findViewById(R.id.edit_phone);

editQQ=(EditText)findViewById(R.id.edit_QQ);

editEmail=(EditText)findViewById(R.id.edit_mail);

editAddress=(EditText)findViewById(R.id.edit_address);

buttonAdd=(Button)findViewById(R.id.button1_add);

buttonCancel=(Button)findViewById(R.id.button2_cancel);

Intentintent=getIntent();

n=intent.getIntExtra("

editpeople"

0);

if(n==1)

{

----上一个Activity传进来的(editpeople)值:

"

+n);

editName.setText(Address_Book.LIST.get(Address_Book.CLICK_ID).get("

name"

).toString());

editPhone.setText(Address_Book.LIST.get(Address_Book.CLICK_ID).get("

phone"

editQQ.setText(Address_Book.LIST.get(Address_Book.CLICK_ID).get("

qq"

editEmail.setText(Address_Book.LIST.get(Address_Book.CLICK_ID).get("

mail"

editAddress.setText(Address_Book.LIST.get(Address_Book.CLICK_ID).get("

address"

//设置两个按钮监听事件

buttonAdd.setOnClickListener(newMyButtonOnClickListener());

buttonCancel.setOnClickListener(newMyButtonOnClickListener());

classMyButtonOnClickListenerimplementsOnClickListener{

privatestaticfinalintREQUESCODE2=2;

publicvoidonClick(Viewv){

switch(v.getId()){

caseR.id.button1_add:

if(editName.getText().toString().length()>

0&

editPhone.getText().toString().length()>

=3){

CreateDatabaseHelper();

if(n!

=1){

Address_Book.LIST=Insert();

Toast.makeText(Add_people.this,"

添加成功!

"

1).show();

选择新建联系人"

}elseif(n==1){Address_Book.LIST=modfiy();

/Toast.makeText(Add_people.this,"

修改成功!

System.out.println("

选择修改联系人"

}

Intentintent=newIntent();

intent.setClass(Add_people.this,Address_Book.class);

intent.putExtra("

nothing2"

2);

startActivityForResult(intent,REQUESCODE2);

}elseif(editName.getText().toString().equals("

)){

Toast.makeText(Add_people.this,"

请输入联系人姓名"

}elseif(editPhone.getText().toString().length()<

3){

Toast.makeText(Add_people.this,"

请输入有效电话"

}

break;

caseR.id.button2_cancel:

取消"

Intentintent=newIntent(Add_people.this,Address_Book.class);

startActivity(intent);

default:

break;

}

}

publicvoidCreateDatabaseHelper(){

//创建一个DatabaseHelper对象

DatabaseHelperdbHelper=newDatabaseHelper(Add_people.this,"

test_mars_db"

//调用DatabaseHelper对象的getReadableDatabase()方法

SQLiteDatabasedb=dbHelper.getReadableDatabase();

publicArrayListInsert(){

ContentValuesvalues=newContentValues();

values.put("

editName.getText().toString());

editPhone.getText().toString());

editQQ.getText().toString());

editEmail.getText().toString());

editAddress.getText().toString());

2);

SQLiteDatabasedb=dbHelper.getWritableDatabase();

db.insert("

user"

null,values);

ArrayList<

HashMap<

String,Object>

>

list=newArrayList<

();

DatabaseHelperdbHelper1=newDatabaseHelper(Add_people.this,"

SQLiteDatabasedb1=dbHelper1.getReadableDatabase();

Cursorcursor=db1.query("

newString[]{"

"

},null,null,null,null,null);

while(cursor.moveToNext()){

HashMap<

map=newHashMap<

map.put("

cursor.getString(cursor.getColumnIndex("

)));

publicvoidQuery(){

SQLiteDatabasedb=dbHelper.getReadableDatabase();

Cursorcursor=db.query("

},"

name=?

newString[]{editName.getText().toString()},null,null,null);

Stringname1=cursor.getString(cursor.getColumnIndex("

));

Stringname2=cursor.getString(cursor.getColumnIndex("

Stringname3=cursor.getString(cursor.getColumnIndex("

Stringname4=cursor.getString(cursor.getC

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

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

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