android程序设计报告(手机通讯录)
Android平台通讯录

重庆交通大学综合性设计性实验报告班级:计科专业 10级(1)班组员:李佳奇(队长)肖湘实验项目名称: Android平台通讯录实验项目性质:综合性实验所属课程: java程序设计教程实验室(中心):语音大楼 8 楼 801 指导教师:杨建喜实验完成时间: 2012 年 10 月 21一、实验目的 (2)二、实验软件 (2)三、实验内容 (2)四、实验要求 (3)五、设计方案 (3)1.设计主要思想 (3)2.设计主要步骤 (3)3.设计流程图 (4)六、实验结果及说明 (4)七、实验体会 (13)八、实验参考资料 (24)一、实验目的结合实际的需求,通信录的实际应用最多的是在手机,根据这个特点,设计一个基于Android平台的通讯录系统,能根据手机的特点,存储,管理,修改联系人信息,并且能够根据选定的联系人,对其拨打电话,发送短信等。
二、实验软件数据库设计工具:PowerDesigner数据存储:SQLite开发工具:eclipse for windows, android sdk for windows操作系统:Android 2.2三、实验内容设计并实现多个联系人个人信息,能记录联系人的各种通信信息。
支持通信录联系人信息的添加、查找、删除、修改,并且根据选定的联系对其进行电话的拨打和发送信息。
四、实验要求通讯录需记录个人信息自行设计。
要求采用图形用户界面,界面效果及事件处理方式自行设计,尽量做到美观易用。
五、设计方案1.设计主要思想手机通信录的应用十分具有实际意义,在实际生活中,人们进行联系主要是使用手机。
根据人们日常生活的需求,集合人们常用的联系人姓名,性别,电话等信息,并且与实际电话的本身的功能相联系,利用通信录进行联系人信息的增、减、减、查。
并且可以选择后对其电话进行拨打和发送短信等功能,并且可以为每个人存储多个电话,地址,邮箱等。
2.设计主要步骤1)分析通讯录的功能和联系人这个实体的属性,用PowerDesigner设计通讯录数据库物理图,然后生成通讯录数据库概念图,产生数据库的设计的代码。
安卓通讯录实训报告

安卓实训设计报告安卓通讯录设计题目:安卓通讯录班级:姓名:学号:指导老师:日期: 2012年6月7日容要求一、题目分析,功能要求。
1.1 实验目的熟悉Android软件开发的基本架构利用Eclipse和ADT插件设计通讯录1.2 功能本手机通讯录工具主要实现五大功能:联系人的查询:字段查询,分组查询,字母排序查询;增加、删除联系人以及修改联系人信息;导入、导出联系人;发送联系人信息;设置。
二、实验设计2.1 UI设计我们用一个ListView来显示整个通讯录,其中用TextView显示每一记录,他们的xml文件分别为:main.xml(通讯录主界面),addres.xml(添加联系人界面),list_item.xml(浏览联系人界面),find.xml(查找联系人界面)。
2.2功能的设计为了在主界面中浏览联系人的信息,并且创建主要菜单栏,我们设计了MainActivity类,主要用于显示联系人信息和菜单栏,通过菜单栏,实现通讯录的相关功能。
AddressBook类主要是为了实现联系人的添加功能,并且实现信息的保存后跳转到主界面。
Findactivity类主要是为了实现联系人的查找功能,输入联系人的,点击查找按钮,显示所查联系人的相关信息。
三、实验程序四、实验效果图五、总结通过设计该通讯录,主要学习了UI设计、数据库的综合操作、动态菜单的使用以及各种权限的注册。
通过本次设计,使我对Android平台的数据库操作有了更进一步的理解,同时也对Android系统有了更深入的了解。
附录一//定义数据public class ContactColumn implements BaseColumns{public ContactColumn(){}//列名public static final String NAME = "name"; //public static final String MOBILENUM = "mobileNumber"; //移动public static final String HOMENUM = "homeNumber"; //家庭public static final String ADDRESS = "address"; //地址public static final String EMAIL = "email"; //public static final String BLOG = "blog"; //博客//列索引值public static final int_ID_COLUMN = 0;public static final int NAME_COLUMN = 1;public static final int MOBILENUM_COLUMN = 2;public static final int HOMENUM_COLUMN = 3;public static final int ADDRESS_COLUMN = 4;public static final int EMAIL_COLUMN = 5;public static final int BLOG_COLUMN = 6;//查询结果public static final String[] PROJECTION ={_ID,NAME,MOBILENUM,HOMENUM,ADDRESS,EMAIL,BLOG,};}public class DBHelper extends SQLiteOpenHelper{public static final String DATABASE_NAME = "mycontacts.db";//数据库名public static final int DATABASE_VERSION = 2; //版本public static final String CONTACTS_TABLE = "contacts"; //表名//创建表private static final String DATABASE_CREATE ="CREATE TABLE " + CONTACTS_TABLE +" ("+ ContactColumn._ID+" integer primary key autoincrement,"+ +" text,"+ ContactColumn.MOBILENUM+" text,"+ ContactColumn.HOMENUM+" text,"+ ContactColumn.ADDRESS+" text,"+ ContactColumn.EMAIL+" text,"+ ContactColumn.BLOG+" text);";public DBHelper(Context context){super(context, DATABASE_NAME, null, DATABASE_VERSION);}public void onCreate(SQLiteDatabase db){db.execSQL(DATABASE_CREATE);}public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){db.execSQL("DROP TABLE IF EXISTS " + CONTACTS_TABLE);onCreate(db);}}// URI类型转换public String getType(Uri uri){switch (uriMatcher.match(uri)){case CONTACTS:return"vnd.android.cursor.dir/vnd.yarin.android.mycontacts";case CONTACT_ID:return"vnd.android.cursor.item/vnd.yarin.android.mycontacts";default:throw new IllegalArgumentException("Unsupported URI: " + uri);}}// 删除指定数据列Overridepublic int delete(Uri uri, String where, String[] selectionArgs){int count;switch (uriMatcher.match(uri)){case CONTACTS:count = contactsDB.delete(CONTACTS_TABLE, where, selectionArgs);break;case CONTACT_ID:String contactID = uri.getPathSegments().get(1);count = contactsDB.delete(CONTACTS_TABLE,ContactColumn._ID+ "=" + contactID+ (!TextUtils.isEmpty(where) ? " AND (" + where + ")" : ""),selectionArgs);break;default:throw new IllegalArgumentException("Unsupported URI: " + uri);}getContext().getContentResolver().notifyChange(uri, null);return count;}// 插入数据public Uri insert(Uri uri, ContentValues initialValues){if (uriMatcher.match(uri) != CONTACTS){throw new IllegalArgumentException("Unknown URI " + uri);}ContentValues values;if (initialValues != null){values = new ContentValues(initialValues);Log.e(TAG + "insert", "initialValues is not null");}else{values = new ContentValues();}// 设置默认值if (values.containsKey() == false){values.put(, "");}if (values.containsKey(ContactColumn.MOBILENUM) == false){values.put(ContactColumn.MOBILENUM, "");}if (values.containsKey(ContactColumn.HOMENUM) == false){values.put(ContactColumn.HOMENUM, "");}if (values.containsKey(ContactColumn.ADDRESS) == false){values.put(ContactColumn.ADDRESS, "");}if (values.containsKey(ContactColumn.EMAIL) == false){values.put(ContactColumn.EMAIL, "");}if (values.containsKey(ContactColumn.BLOG) == false){values.put(ContactColumn.BLOG, "");}Log.e(TAG + "insert", values.toString());long rowId = contactsDB.insert(CONTACTS_TABLE, null, values);if (rowId > 0){Uri noteUri = ContentUris.withAppendedId(CONTENT_URI, rowId);getContext().getContentResolver().notifyChange(noteUri, null);Log.e(TAG + "insert", noteUri.toString());return noteUri;}throw new SQLException("Failed to insert row into " + uri);}// 更新数据库public int update(Uri uri, ContentValues values, String where, String[] selectionArgs){int count;Log.e(TAG + "update", values.toString());Log.e(TAG + "update", uri.toString());Log.e(TAG + "update :match", "" + uriMatcher.match(uri));switch (uriMatcher.match(uri)){case CONTACTS:Log.e(TAG + "update", CONTACTS + "");count = contactsDB.update(CONTACTS_TABLE, values, where, selectionArgs);break;case CONTACT_ID:String contactID = uri.getPathSegments().get(1);Log.e(TAG + "update", contactID + "");count = contactsDB.update(CONTACTS_TABLE, values, ContactColumn._ID + "=" + contactID+ (!TextUtils.isEmpty(where) ? " AND (" + where + ")" : ""), selectionArgs);break;default:throw new IllegalArgumentException("Unsupported URI: " + uri);}getContext().getContentResolver().notifyChange(uri, null);return count;}}public boolean onPrepareOptionsMenu(Menu menu){super.onPrepareOptionsMenu(menu);final boolean haveItems = getListAdapter().getCount() > 0;if (haveItems){Uri uri = ContentUris.withAppendedId(getIntent().getData(), getSelectedItemId());Intent[] specifics = new Intent[2];specifics[0] = new Intent(Intent.ACTION_EDIT, uri);specifics[1] = new Intent(Intent.ACTION_VIEW, uri);MenuItem[] items = new MenuItem[2];//添加满足条件的菜单Intent intent = new Intent(null, uri);intent.addCategory(Intent.CATEGORY_ALTERNATIVE);menu.addIntentOptions(Menu.CATEGORY_ALTERNATIVE, 0, 0, null, specifics, intent, 0, items);if (items[0] != null){//编辑联系人items[0].setShortcut('1', 'e').setIcon(R.drawable.edituser).setTitle(R.string.editor_user);}if (items[1] != null){//查看联系人items[1].setShortcut('2', 'f').setTitle(R.string.view_user).setIcon(R.drawable.viewuser);}}else{menu.removeGroup(Menu.CATEGORY_ALTERNATIVE);}return true;}<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="schemas.android./apk/res/android"package=".yarin.android.MyContacts"android:versionCode="1"android:versionName="1.0"><application android:icon="drawable/icon" android:label="string/app_name"><provider android:name="ContactsProvider"android:authorities=".yarin.android.provider.ContactsProvider"/><activity android:name=".MyContacts"android:label="string/app_name"><intent-filter><action android:name="android.intent.action.MAIN"/><category android:name="UNCHER"/></intent-filter></activity><activity android:name=".ContactEditor"android:label="string/editor_user"><intent-filter><action android:name="android.intent.action.EDIT"/><category android:name="android.intent.category.DEF AULT"/><data android:mimeType="vnd.android.cursor.item/vnd.yarin.android.mycontacts"/> </intent-filter><intent-filter><action android:name="android.intent.action.INSERT"/><category android:name="android.intent.category.DEF AULT"/><data android:mimeType="vnd.android.cursor.dir/vnd.yarin.android.mycontacts"/> </intent-filter></activity><activity android:name=".ContactView"android:label="string/view_user"><intent-filter><action android:name="android.intent.action.VIEW"/><category android:name="android.intent.category.DEF AULT"/><data android:mimeType="vnd.android.cursor.item/vnd.yarin.android.mycontacts"/> </intent-filter><intent-filter><category android:name="android.intent.category.DEF AULT"/><data android:mimeType="vnd.android.cursor.dir/vnd.yarin.android.mycontacts"/> </intent-filter></activity></application><uses-permission android:name="android.permission.CALL_PHONE"></uses-permission><uses-permission android:name="android.permission.SEND_SMS"></uses-permission><uses-permission android:name="android.permission.RECEIVE_SMS"/><uses-sdk android:minSdkVersion="5"/></manifest>。
手机通讯录安卓课程设计报告书

XX科技大学计算机科学与工程学院智能终端系统及应用开发课程设计报告题目:手机通讯录学号:********班级:********姓名:********指导老师:********绪论随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。
因此,移动终端的应用软件和需要的服务将会有很大的发展空间。
在Google和Android手机联盟的共同推动下,Android在众多手机操作系统中脱颖而出,受到广大消费者的欢迎。
手机通讯录作为手机的基本功能之一,每天我们都在频繁地使用着。
根据手机功能使用调查显示,有9成以上的消费者使用手机通讯录功能。
随着手机通讯录功能的不断加强与完善,手机通讯录对于人们的意义,已不仅仅像记事簿一样显示通讯地址,而是向着个性化、人性化的方向发展[4]。
通讯录从无到有,从英文到中文,经过了十几年的发展历程,今后的发展趋势就是从通讯录发展为名片夹,也就是在一个人名下,可以存储座机、手机、单位、地址、电子邮件等内容。
这种名片夹在电话薄的基础上,大大丰富了内容,同时结构也发生了革命性变化,而且随着手机的发展,相信更优秀的通讯录会越来越受到社会各层人士的喜爱。
一、课程设计目的智能终端系统及应用开发课程设计是计算机相关专业的一个综合性实践教学环节,是学习完《智能终端系统及应用开发》课程后进行的一次全面的综合练习。
其目的在于促进学生复习和巩固Android 应用技术,加深对软件设计方法、软件设计技术和设计思想的理解,并能运用所学Android 设计知识,通过本课程设计让学生进行简单Android 应用软件的开发,掌握软件设计的方法和面向对象程序设计的基本技术,提高学生在软件开发方面的综合应用能力。
二、课程设计内容通过对Android技术的相关研究,了解Android源码实现原理以及过程,从而设计出一款能够使用的手机通讯录。
这款手机通讯录实现的相关内容如下:1.简洁、实用的操作界面。
Android手机通讯录毕业设计开题报告

Android 通讯录毕业设计开题报告撰写毕业论文是在校大学生最后一次知识的全面检验,是对学生根本知识、根本理论和根本技能掌握与提高程度的一次总测试,同时培养学生理论联系实际.增强独立思考问题和解决问题的能力。
今天为大家准备的一篇Android 通讯录毕业设计开题报告,有需要的可以参考。
一、研究目的意义随着计算机行业的开展,智能在人们的生活中变得炽热。
智能拥有的独立操作系统使得能像个人电脑一样支持用户自定义安装软件等程序,并通过此类操作对功能进展扩充,从而在更大程度上满足用户的需求,这是智能的优势,也是智能赢得市场的主要原因。
具有开放性的Android 平台,从xx年谷歌将其正式向外界展示以来,开展迅速, 市场份额不断攀升,至xx年已超过塞班,跃居第一。
通过Android系统的开源性、智能型,我们可以看到Android更光明的未来。
系统越来越强大,却始终不会抛弃其最根本的功能——通讯,而通讯录又是通讯的必备软件。
此次我们研究的基于Android的通讯录,会实现通讯录根本功能,包括根本添加,修改,删除和输出等功能,在实现这些功能的根底上添加一些其他功能,例如为联系人添加头像,联系人分组,通讯录黑等,使通讯录界面更友好、功能更人性化。
通过设计制作次通讯录能够更好地学习Android的工程开发知识,熟悉Android的软件开发流程,拓展就业能力。
二、国内外研究现状Android是一种以Linux为根底的开放源代码操作,主要用于便携设备。
Android操作系统最初由Andy Rubin开发,最初主要支持。
xx年由Google收购注资。
xx年11月Google宣布推出基于Linux 的Android开放式操作系统,沿袭至今,已开展到4.0.4版本。
xx 年第一年度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。
xx年11月数据,Android占据全球智能操作系统市场52.2%的份额,中国市场占有率58%基于Android的通讯录的研究也在Android迅速开展的同时逐步走向成熟,在更大程度上满足着用户的需求。
Android报告 _通讯录

计算机技术与工程学院课程设计报告课程名称:移动互联网设备程序设计设计题目:手机通讯录学生姓名:**学号:**********专业班级:软件1242指导教师:王文涛张东辉起止时间:9月21日至10月10日内容表现成果报告总评成绩目录1.前言 (01)2.设计主要功能 (03)3.技术介绍 (04)4.总体设计 (04)5.程序数据库的表格代码 (07)6.详细设计 (07)7.分组的业务处理 (08)8.添加分组 (09)9.删除分组 (10)10.重命名 (10)11.添加联系人 (11)12.联系人的业务处理 (12)13.删除联系人 (13)14.移动联系人 (14)15.联系人功能 (15)16.设计总结 (16)17.参考文献 (16)前言1.智能手机的市场(1)功能多样化的智能手机挑战全球PC出货量移动互联网时代的来临,直接促进了搭载智能操作系统、具有强大扩展性的智能手机、平板电脑等移动终端产业的蓬勃发展。
来自美国最大的风险投资机构KPCB 的数据显示,全球智能手机出货量正在以远高于台式电脑、笔记本电脑出货量的速度快速增长,该机构预计2011年全球智能手机出货量将达到4.13亿,超过台式电脑与笔记本电脑出货量的总和。
(2)智能手机的用户使用数量正在高速增长。
据市场调研机构Gartner信息,2011年全球智能手机的总出货量将会达到4.68亿部,相比2010年实现了57.7%的增长,而谷歌Android操作系统将会在今年之内成为全球最大的智能手机操作系统。
另外,全球市场调研机构IDC预计未来5年中国手机市场上,智能手机替代传统功能手机的趋势将日益明显,未来5年中国智能手机市场复合增长率将达到34.1%,人们对IT设备智能化的向往是这一增长率能够实现的主要因素,并且与其他国家相比,中国智能手机市场的发展空间更加广阔。
(3)操作系统格局预测:Android有望成为智能手机市场主导力量搭载Android操作系统的智能手机目前已经成为市场上最炙手可热的智能产品。
开题报告—安卓手机安全通讯录

1.目的及意义1.1、题目:安卓手机安全通信录的设计与实现1.2、背景资料2014年,全球智能手机受众数量超过2012年的10亿大关,达到17.5亿。
eMarketer预测智能手机采用率到2017年将会一直保持快速增长步调。
根据最新数据了解,到2016年全球智能手机用户数量将超过20亿。
2015年全球智能手机用户将达到19.1亿,2016年该指数将会增长到12.6%达到21.6亿。
手机已经和人们的生活密不可分,手机里存储的通讯录、短信、通话记录、照片和文件,保存了用户至关重要的信息和隐私,当前市场上的普通智能手机不具备信息保护功能,一旦手机丢失,将给用户带来灾难性的损失,因此用户希望手机具备保护性措施,防止灾难性事件发生。
手机通讯录是移动手机不可缺少的一款应用软件。
根据手机功能使用调查显示,有八成以上的消费者都在使用手机通讯录功能。
随着手机通讯录功能的不断加强与完善,手机通讯录对于人们来讲,已不仅仅像是记事本那样只显示通讯号码,而是向着人性化、个性化的方向发展。
通讯录从无到有,从单一到多样化,经过了十几年的发展历程,通讯录软件慢慢发展成名片夹,也就是一个联系人的信息中,可以存储座机、手机、单位、地址、电子邮件等内容。
这种名片在电话本的基础上,在大大丰富了存储内容的同时也使得用户的各项操作比以前更快捷、方便,这就使软件的结构也发生了根本的变化。
随着移动手机的发展,将会有更多更优秀的通讯录软件出现。
1.3、目的及意义:随着智能手机的普及,手机通讯录在人们的生活中发挥的作用越来越大。
但是传统的手机通信录系统只有简单的联系人信息存储功能,并没有考虑到联系人信息安全和信息丢失问题以及一些能够方便用户操作的特色功能。
因此开发一款功能强大、安全的通讯录系统具有很强的实用价值。
各式各样的手机软件层出不穷,通讯录是手机不渴或缺的软件,完善的功能和赏心悦目的界面设计都将赢得良好的用户体验。
1.4、国内外的研究现状分析:在手机信息安全方面,根据iiMedia Research(艾媒咨询)调查数据显示,多数中国手机应用受到垃圾短信、恶意链接、骚扰电话等安全威胁。
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设计意义我们设计的通讯录包括添加联系人、删除联系人、修改联系人信息、存储联系人信息等基本的手机通讯录的功能,在现在的信息和现代化社会环境下,为了更加方便的找到我们的朋友或家人,我们需要更加简洁方便手机通讯录来方便我们联系他人,随着手机的不断更新换代我们的通讯录也向着更加人性化的方向发展着。
在未来的发展中,通讯录作为手机最基本的功能,对人们的影响也有了一定的程度,人们也越发多的使用着手机通讯录,相信在今后的发展中我们会做到更好,更方便他们的生活。
实现人与人更亲密的互动。
手机通讯录实验报告及使用说明(附源代码)

手机通讯录实验报告及使用说明(附源代码)自查报告。
标题,手机通讯录实验报告及使用说明(附源代码)。
自查报告:在进行手机通讯录实验及使用说明的撰写过程中,我对手机通讯录的功能和操作进行了深入的研究和实践。
在实验中,我首先对手机通讯录的基本功能进行了分析和总结,包括添加联系人、编辑联系人信息、删除联系人等操作。
然后,我利用编程知识,编写了手机通讯录的源代码,并进行了测试和调试。
在实验中,我发现手机通讯录的功能十分实用,可以帮助用户轻松管理联系人信息,提高工作效率。
通过对手机通讯录的操作和源代码的编写,我对手机通讯录的原理和实现方式有了更深入的了解,也增强了我的编程能力和实际操作能力。
在使用说明的撰写过程中,我详细介绍了手机通讯录的各项功能操作和使用方法,并附上了源代码的下载链接,方便读者进行学习和实践。
我还对手机通讯录的使用注意事项进行了说明,帮助用户更好地使用手机通讯录,并避免操作失误。
总的来说,通过本次实验和使用说明的撰写,我对手机通讯录有了更深入的了解,也提高了我的编程能力和文档撰写能力。
我相信这份实验报告和使用说明能够帮助更多的人学习和使用手机通讯录,提高工作和生活效率。
附源代码:```java。
public class Contact {。
private String name;private String phoneNumber;private String email;public Contact(String name, String phoneNumber, String email) {。
= name;this.phoneNumber = phoneNumber;this.email = email;}。
public String getName() {。
return name;}。
public void setName(String name) {。
= name;}。
public String getPhoneNumber() {。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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:创建联系人
图5:编辑联系人 图6:删除联系人
五. 课程总结
通过设计该通讯录,主要学习了UI 设计、数据库的综合操作、动态菜单的使用以及各种权限的注册。
通过本次设计,使我对Android 平台的数据库操作有了更进一步的理解,同时也对Android 系统有了更深入的了解。
通过此次课程,我对安卓程序开发的方法有了一定的了解,并通过实
践培养了我安卓开发的能力,不仅如此,通过此次课程我发现了对安卓环境的兴趣,总之,收获颇多。