您好,欢迎访问三七文档
电子与信息工程学院计算机科学与技术系开放与创新实验设计报告-1-安卓实训设计报告安卓通讯录设计题目:安卓通讯录班级:姓名:学号:指导老师:日期:2012年6月7日电子与信息工程学院计算机科学与技术系开放与创新实验设计报告-2-内容要求一、题目分析,功能要求。1.1实验目的熟悉Android软件开发的基本架构利用Eclipse和ADT插件设计通讯录1.2功能本手机通讯录工具主要实现五大功能:联系人的查询:字段查询,分组查询,字母排序查询;增加、删除联系人以及修改联系人信息;导入、导出联系人;发送联系人信息;设置。二、实验设计2.1UI设计我们用一个ListView来显示整个通讯录,其中用TextView显示每一记录,他们的xml文件分别为:main.xml(通讯录主界面),addres.xml(添加联系人界面),list_item.xml(浏览联系人界面),find.xml(查找联系人界面)。2.2功能的设计为了在主界面中浏览联系人的信息,并且创建主要菜单栏,我们设计了MainActivity类,主要用于显示联系人信息和菜单栏,通过菜单栏,实现通讯录的相关功能。AddressBook类主要是为了实现联系人的添加功能,并且实现信息的保存后跳转到主界面。Findactivity类主要是为了实现联系人的查找功能,输入联系人的姓名,点击查找按钮,显示所查联系人的相关信息。三、实验程序四、实验效果图电子与信息工程学院计算机科学与技术系开放与创新实验设计报告-3-电子与信息工程学院计算机科学与技术系开放与创新实验设计报告-4-五、总结通过设计该通讯录,主要学习了UI设计、数据库的综合操作、动态菜单的使用以及各种权限的注册。通过本次设计,使我对Android平台的数据库操作有了更进一步的理解,同时也对Android系统有了更深入的了解。电子与信息工程学院计算机科学与技术系开放与创新实验设计报告-5-附录一//定义数据publicclassContactColumnimplementsBaseColumns{publicContactColumn(){}//列名publicstaticfinalStringNAME=name;//姓名publicstaticfinalStringMOBILENUM=mobileNumber;//移动电话publicstaticfinalStringHOMENUM=homeNumber;//家庭电话publicstaticfinalStringADDRESS=address;//地址publicstaticfinalStringEMAIL=email;//邮箱publicstaticfinalStringBLOG=blog;//博客//列索引值publicstaticfinalint_ID_COLUMN=0;publicstaticfinalintNAME_COLUMN=1;publicstaticfinalintMOBILENUM_COLUMN=2;publicstaticfinalintHOMENUM_COLUMN=3;publicstaticfinalintADDRESS_COLUMN=4;publicstaticfinalintEMAIL_COLUMN=5;publicstaticfinalintBLOG_COLUMN=6;//查询结果publicstaticfinalString[]PROJECTION={_ID,NAME,MOBILENUM,HOMENUM,ADDRESS,EMAIL,BLOG,};}publicclassDBHelperextendsSQLiteOpenHelper{publicstaticfinalStringDATABASE_NAME=mycontacts.db;//数据库名publicstaticfinalintDATABASE_VERSION=2;//版本publicstaticfinalStringCONTACTS_TABLE=contacts;//表名//创建表privatestaticfinalStringDATABASE_CREATE=CREATETABLE+CONTACTS_TABLE+(+ContactColumn._ID+integerprimarykeyautoincrement,+ContactColumn.NAME+text,+ContactColumn.MOBILENUM+text,电子与信息工程学院计算机科学与技术系开放与创新实验设计报告-6-+ContactColumn.HOMENUM+text,+ContactColumn.ADDRESS+text,+ContactColumn.EMAIL+text,+ContactColumn.BLOG+text);;publicDBHelper(Contextcontext){super(context,DATABASE_NAME,null,DATABASE_VERSION);}publicvoidonCreate(SQLiteDatabasedb){db.execSQL(DATABASE_CREATE);}publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){db.execSQL(DROPTABLEIFEXISTS+CONTACTS_TABLE);onCreate(db);}}//URI类型转换publicStringgetType(Uriuri){switch(uriMatcher.match(uri)){caseCONTACTS:returnvnd.android.cursor.dir/vnd.yarin.android.mycontacts;caseCONTACT_ID:returnvnd.android.cursor.item/vnd.yarin.android.mycontacts;default:thrownewIllegalArgumentException(UnsupportedURI:+uri);}}//删除指定数据列@Overridepublicintdelete(Uriuri,Stringwhere,String[]selectionArgs){intcount;switch(uriMatcher.match(uri)){caseCONTACTS:count=contactsDB.delete(CONTACTS_TABLE,where,selectionArgs);break;caseCONTACT_ID:StringcontactID=uri.getPathSegments().get(1);count=contactsDB.delete(CONTACTS_TABLE,ContactColumn._ID+=+contactID电子与信息工程学院计算机科学与技术系开放与创新实验设计报告-7-+(!TextUtils.isEmpty(where)?AND(+where+):),selectionArgs);break;default:thrownewIllegalArgumentException(UnsupportedURI:+uri);}getContext().getContentResolver().notifyChange(uri,null);returncount;}//插入数据publicUriinsert(Uriuri,ContentValuesinitialValues){if(uriMatcher.match(uri)!=CONTACTS){thrownewIllegalArgumentException(UnknownURI+uri);}ContentValuesvalues;if(initialValues!=null){values=newContentValues(initialValues);Log.e(TAG+insert,initialValuesisnotnull);}else{values=newContentValues();}//设置默认值if(values.containsKey(ContactColumn.NAME)==false){values.put(ContactColumn.NAME,);}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,);电子与信息工程学院计算机科学与技术系开放与创新实验设计报告-8-}if(values.containsKey(ContactColumn.BLOG)==false){values.put(ContactColumn.BLOG,);}Log.e(TAG+insert,values.toString());longrowId=contactsDB.insert(CONTACTS_TABLE,null,values);if(rowId0){UrinoteUri=ContentUris.withAppendedId(CONTENT_URI,rowId);getContext().getContentResolver().notifyChange(noteUri,null);Log.e(TAG+insert,noteUri.toString());returnnoteUri;}thrownewSQLException(Failedtoinsertrowinto+uri);}//更新数据库publicintupdate(Uriuri,ContentValuesvalues,Stringwhere,String[]selectionArgs){intcount;Log.e(TAG+update,values.toString());Log.e(TAG+update,uri.toString());Log.e(TAG+update:match,+uriMatcher.match(uri));switch(uriMatcher.match(uri)){caseCONTACTS:Log.e(TAG+update,CONTACTS+);count=contactsDB.update(CONTACTS_TABLE,values,where,selectionArgs);break;caseCONTACT_ID:StringcontactID=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:thrownewIllegalArgumentException(UnsupportedURI:+uri);}getContext().getContentResolver().notifyChange(uri,null);returncou
本文标题:安卓通讯录实训报告
链接地址:https://www.777doc.com/doc-5994623 .html