内容要求
一、题目分析,功能要求。
1.1 实验目的
熟悉Android软件开发的基本架构
利用Eclipse和ADT插件设计通讯录
1.2 功能
本手机通讯录工具主要实现五大功能:联系人的查询:字段查询,分组查询,字母排序查询;增加、删除联系人以及修改联系人信息;导入、导出联系人;发送联系人信息;设置。
二、实验设计
2.1 UI设计
我们用一个ListView来显示整个通讯录,其中用TextView显示每一记录,他们的xml文件分别为:main.xml(通讯录主界面),addres.xml(添加联系人界面),list_item.xml(浏览联系人界面),find.xml(查找联系人界面)。
2.2 数据库的设计
Android中的android.database.sqlite.SQLiteOpenHelper 类是一个专门用于数据库创建和版本管理的辅助类。因此,为了更好的管理数据库,这里我们创建一个继承自SQLiteOpenHelper的辅助类DBHelper来维护和更新数据库。
2.3功能的设计
为了在主界面中浏览联系人的信息,并且创建主要菜单栏,我们设计了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,"
+ ContactColumn.NAME+" 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