background image

·18·

电  子  测  试

或损坏。

2 功能分析

Android 手机通讯管理软件主要功能模块包括 :联系人添

加、联系人查看、联系人编辑、联系人删除、呼叫、发送短信、搜索
和导入导出,

如图 1 所示 :

图1 系统功能模块

根据需求分析结果,

通讯录有如图 2 所示的系统功能结构。

图2 系统功能结构

用户进入手机通讯管理软件后,会看到联系人列表界面。联

系人列表界面主菜单中包括添加联系人、查找联系人、查看所有
分组和导入导出菜单项。点击添加联系人,则进入联系人添加界
面,添加成功后返回联系人列表界面。

点击搜索菜单,

则进入联系

人搜索界面,输入联系人的全名或一个字,即可查找到相关联系
人,点击联系人会进入联系人查看界面,可以对联系人进行编辑、
删除、拨打电话、

发送短信。

联系人导入导出是将联系人数据备份

到 SD 卡中,在联系人列表界面,长按某一联系人,会有菜单项弹
出,显示查看联系人、编辑联系人和删除联系人。该软件的业务流
程如图 3 所示 :

图3 程序流程图

3 系统设计与实现

运 行 程 序 进 入 启 动 界 面,然 后 跳 转 到 浏 览 联 系 人

MainActivity,显示列表的同时创建点击某个联系人的弹出菜单
和 Menu 按钮菜单。

如图 4 所示 :

图4浏览联系人

下面的代码表示浏览联系人时所需的 java 代码。
protected void onResume

(){

super.onResume

()

if

(mCursor != null){

// 读取并显示联系人信息
mCursor.moveToFirst

()

m T e x t V i e w N a m e . s e t T e x t( m C u r s o r . g e t S t r i n g

(ContactColumn.NAME_COLUMN)

m T e x t V i e w M o b i l e . s e t T e x t( m C u r s o r . g e t S t r i n g

(ContactColumn.MOBILENUM_COLUMN)

m T e x t V i e w H o m e . s e t T e x t( m C u r s o r . g e t S t r i n g

(ContactColumn.HOMENUM_COLUMN)

m T e x t V i e w A d d r e s s . s e t T e x t( m C u r s o r . g e t S t r i n g

(ContactColumn.ADDRESS_COLUMN)

m T e x t V i e w E m a i l . s e t T e x t( m C u r s o r . g e t S t r i n g

(ContactColumn.EMAIL_COLUMN)

m T e x t V i e w B l o g . s e t T e x t( m C u r s o r . g e t S t r i n g

(ContactColumn.BLOG_COLUMN)

}
else{
setTitle

“错误信息”

}
}
长 按 某 个 联 系 人 弹 出 菜 单,选 择 查 看 联 系 人 跳 转 到

ViewContactActivity,

显示所点击的联系人信息。

如图 5 所示。

图5查看联系人

在查看联系人信息时会执行下列代码。
public class ContactColumn implements BaseColumns{
publicContactColumn

()

 

{

3



೒ ㋏㒳ࡳ㛑㒧ᵘ

⫼᠋䖯ܹ᠟ᴎ䗮䆃ㅵ⧚䕃ӊৢˈӮⳟࠄ㘨㋏Ҏ߫㸼⬠䴶DŽ㘨㋏Ҏ߫㸼⬠䴶Џ㦰ऩЁࣙᣀ

⏏ࡴ㘨㋏Ҏǃᶹᡒ㘨㋏Ҏǃᶹⳟ᠔᳝ߚ㒘੠ᇐܹᇐߎ㦰ऩ乍DŽ⚍ߏ⏏ࡴ㘨㋏Ҏˈ߭䖯ܹ㘨㋏
Ҏ⏏ࡴ⬠䴶ˈ⏏ࡴ៤ࡳৢ䖨ಲ㘨㋏Ҏ߫㸼⬠䴶DŽ⚍ߏ᧰㋶㦰ऩˈ߭䖯ܹ㘨㋏Ҏ᧰㋶⬠䴶ˈ䕧
ܹ㘨㋏Ҏⱘܼৡ៪ϔϾᄫˈेৃᶹᡒࠄⳌ݇㘨㋏Ҏˈ⚍ߏ㘨㋏ҎӮ䖯ܹ㘨㋏Ҏᶹⳟ⬠䴶ˈৃ
ҹᇍ㘨㋏Ҏ䖯㸠㓪䕥ǃߴ䰸ǃᢼᠧ⬉䆱ǃথ䗕ⷁֵDŽ㘨㋏Ҏᇐܹᇐߎᰃᇚ㘨㋏Ҏ᭄᥂໛ӑࠄ
6' वЁˈ೼㘨㋏Ҏ߫㸼⬠䴶ˈ䭓ᣝᶤϔ㘨㋏ҎˈӮ᳝㦰ऩ乍ᔍߎˈᰒ⼎ᶹⳟ㘨㋏Ҏǃ㓪䕥
㘨㋏Ҏ੠ߴ䰸㘨㋏ҎDŽ䆹䕃ӊⱘϮࡵ⌕⿟བ೒  ᠔⼎˖



೒ ⿟ᑣ⌕⿟೒

Android ᠟ᴎ䗮䆃ᔩ





Ҏ

߫㸼㦰ऩࡳ㛑

㦰ऩࡳ㛑





Ҏ





Ҏ

ߴ



Ҏ


ܹ
ߚ





Ҏ





ߚ





Ҏ


ܹ

ߎ

⫼᠋

᠟ᴎ䗮䆃ㅵ⧚䕃ӊ

⏏ࡴ㘨㋏Ҏ





Ҏ

ߴ



Ҏ

㘨㋏Ҏ߫㸼

㘨㋏Ҏ

ᶹ䆶㘨㋏ҎҎ

ᇐߎ

/ᇐߎ


ি


Ҏ

ᶹⳟ᠔᳝ߚ㒘

SD व


ܹ
ߚ

3



೒ ㋏㒳ࡳ㛑㒧ᵘ

⫼᠋䖯ܹ᠟ᴎ䗮䆃ㅵ⧚䕃ӊৢˈӮⳟࠄ㘨㋏Ҏ߫㸼⬠䴶DŽ㘨㋏Ҏ߫㸼⬠䴶Џ㦰ऩЁࣙᣀ

⏏ࡴ㘨㋏Ҏǃᶹᡒ㘨㋏Ҏǃᶹⳟ᠔᳝ߚ㒘੠ᇐܹᇐߎ㦰ऩ乍DŽ⚍ߏ⏏ࡴ㘨㋏Ҏˈ߭䖯ܹ㘨㋏
Ҏ⏏ࡴ⬠䴶ˈ⏏ࡴ៤ࡳৢ䖨ಲ㘨㋏Ҏ߫㸼⬠䴶DŽ⚍ߏ᧰㋶㦰ऩˈ߭䖯ܹ㘨㋏Ҏ᧰㋶⬠䴶ˈ䕧
ܹ㘨㋏Ҏⱘܼৡ៪ϔϾᄫˈेৃᶹᡒࠄⳌ݇㘨㋏Ҏˈ⚍ߏ㘨㋏ҎӮ䖯ܹ㘨㋏Ҏᶹⳟ⬠䴶ˈৃ
ҹᇍ㘨㋏Ҏ䖯㸠㓪䕥ǃߴ䰸ǃᢼᠧ⬉䆱ǃথ䗕ⷁֵDŽ㘨㋏Ҏᇐܹᇐߎᰃᇚ㘨㋏Ҏ᭄᥂໛ӑࠄ
6' वЁˈ೼㘨㋏Ҏ߫㸼⬠䴶ˈ䭓ᣝᶤϔ㘨㋏ҎˈӮ᳝㦰ऩ乍ᔍߎˈᰒ⼎ᶹⳟ㘨㋏Ҏǃ㓪䕥
㘨㋏Ҏ੠ߴ䰸㘨㋏ҎDŽ䆹䕃ӊⱘϮࡵ⌕⿟བ೒  ᠔⼎˖



೒ ⿟ᑣ⌕⿟೒

Android ᠟ᴎ䗮䆃ᔩ





Ҏ

߫㸼㦰ऩࡳ㛑

㦰ऩࡳ㛑





Ҏ





Ҏ

ߴ



Ҏ


ܹ
ߚ





Ҏ





ߚ





Ҏ


ܹ

ߎ

⫼᠋

᠟ᴎ䗮䆃ㅵ⧚䕃ӊ

⏏ࡴ㘨㋏Ҏ





Ҏ

ߴ



Ҏ

㘨㋏Ҏ߫㸼

㘨㋏Ҏ

ᶹ䆶㘨㋏ҎҎ

ᇐߎ

/ᇐߎ


ি


Ҏ

ᶹⳟ᠔᳝ߚ㒘

SD व


ܹ
ߚ

4

㋏㒳䆒䅵Ϣᅲ⦄

䖤㸠⿟ᑣ䖯ܹਃࡼ⬠䴶ˈ✊ৢ䏇䕀ࠄ⌣㾜㘨㋏Ҏ 0DLQ$FWLYLW\ˈᰒ⼎߫㸼ⱘৠᯊ߯ᓎ

⚍ߏᶤϾ㘨㋏Ҏⱘᔍߎ㦰ऩ੠ 0HQX ᣝ䪂㦰ऩDŽབ೒  ᠔⼎˖



೒  ⌣㾜㘨㋏Ҏ

ϟ䴶ⱘҷⷕ㸼⼎⌣㾜㘨㋏Ҏᯊ᠔䳔ⱘ MDYD ҷⷕDŽ
SURWHFWHGYRLGRQ5HVXPH ^




VXSHURQ5HVXPH 





LI P&XUVRU QXOO ^







䇏পᑊᰒ⼎㘨㋏Ҏֵᙃ







P&XUVRUPRYH7R)LUVW 

P7H[W9LHZ1DPHVHW7H[W P&XUVRUJHW6WULQJ &RQWDFW&ROXPQ1$0(B&2/801 






P7H[W9LHZ0RELOHVHW7H[W P&XUVRUJHW6WULQJ &RQWDFW&ROXPQ02%,/(180B&2/801 






P7H[W9LHZ+RPHVHW7H[W P&XUVRUJHW6WULQJ &RQWDFW&ROXPQ+20(180B&2/801 






P7H[W9LHZ$GGUHVVVHW7H[W P&XUVRUJHW6WULQJ &RQWDFW&ROXPQ$''5(66B&2/801 






P7H[W9LHZ(PDLOVHW7H[W P&XUVRUJHW6WULQJ &RQWDFW&ROXPQ(0$,/B&2/801 






P7H[W9LHZ%ORJVHW7H[W P&XUVRUJHW6WULQJ &RQWDFW&ROXPQ%/2*B&2/801 




`





HOVH^







VHW7LWOH 䫭䇃ֵᙃ 





`



`

䭓ᣝᶤϾ㘨㋏Ҏᔍߎ㦰ऩˈ䗝ᢽᶹⳟ㘨㋏Ҏ䏇䕀ࠄ 9LHZ&RQWDFW$FWLYLW\ˈᰒ⼎᠔⚍ߏ

ⱘ㘨㋏ҎֵᙃDŽབ೒  ᠔⼎DŽ

ᓔྟ

ਃࡼ⬠䴶

ᰒ⼎߫㸼

⏏ࡴ㦰ऩ

߯ᓎᔍߎ㦰ऩ

㒧ᴳ

5



೒  ᶹⳟ㘨㋏Ҏ

೼ᶹⳟ㘨㋏ҎֵᙃᯊӮᠻ㸠ϟ߫ҷⷕDŽ
SXEOLFFODVV&RQWDFW&ROXPQLPSOHPHQWV%DVH&ROXPQV^


SXEOLF&RQWDFW&ROXPQ 

^



`



߫ৡ



SXEOLFVWDWLFILQDO6WULQJ1$0( QDPH







ྦྷৡ



SXEOLFVWDWLFILQDO6WULQJ02%,/(180 PRELOH1XPEHU⿏ࡼ⬉䆱



SXEOLFVWDWLFILQDO6WULQJ+20(180 KRPH1XPEHU ᆊᒁ⬉䆱



SXEOLFVWDWLFILQDO6WULQJ$''5(66 DGGUHVV

ഄഔ



SXEOLFVWDWLFILQDO6WULQJ(0$,/ HPDLO



䚂ㆅ



SXEOLFVWDWLFILQDO6WULQJ%/2* EORJ







मᅶ



߫㋶ᓩؐ



SXEOLFVWDWLFILQDOLQWB,'B&2/801 



SXEOLFVWDWLFILQDOLQW1$0(B&2/801 



SXEOLFVWDWLFILQDOLQW02%,/(180B&2/801 



SXEOLFVWDWLFILQDOLQW+20(180B&2/801 



SXEOLFVWDWLFILQDOLQW$''5(66B&2/801 



SXEOLFVWDWLFILQDOLQW(0$,/B&2/801 



SXEOLFVWDWLFILQDOLQW%/2*B&2/801 



ᶹ䆶㒧ᵰ



SXEOLFVWDWLFILQDO6WULQJ>@352-(&7,21 ^





B,'





1$0(





02%,/(180





+20(180





$''5(66





(0$,/





%/2*



`

ᓔྟ

㘨㋏Ҏ߫㸼

䭓ᣝᶤϾ㘨㋏Ҏ

ᔍߎ㦰ऩ

ᶹⳟ㘨㋏Ҏ

䏇 䕀 ࠄ ᶹ ⳟ 㘨 ㋏
Ҏ

Activity 

㒧ᴳ