Android 通讯录 这是本人学习android 一个月以来的第一个比较实用的小程序,此程序可以读取手机自带通讯录上的所有联系人,并且可以导入到这个通讯录列表,不用用户一个一个地输入,将导入的联系人信息保存在SQLite3 数据库中,还具有向指定联系人发送短信、打电话、增加、修改联系人等基本功能。效果图如下所示: 代码如下(直接复制即可掩饰效果): ====================== DatabaseHelper======================= package liu.sqlite3.db; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteDatabase.CursorFactory; //DatabaseHelper 作为一个访问 SQLite 的助手类,提供两个方面的功能, //第一,getReadableDatabase(),getWritableDatabase()可以获得 SQLiteDatabse 对象,通过该对象可以对数据库进行操作 //第二,提供了 onCreate()和 onUpgrade()两个回调函数,允许我们在创建和升级数据库时,进行自己的操作 public class DatabaseHelper extends SQLiteOpenHelper { private static final int VERSION = 1; //在 SQLiteOepnHelper 的子类当中,必须有该构造函数 public DatabaseHelper(Context context, String name, CursorFactory factory, int version) { //必须通过 super 调用父类当中的构造函数 super(context, name, factory, version); // TODO Auto-generated constructor stub } public DatabaseHelper(Context context,String name){ this(context,name,VERSION); } public DatabaseHelper(Context context,String name,int version){ this(context, name,null,version); } //该函数是在第一次创建数据库的时候执行,实际上是在第一次得到 SQLiteDatabse 对象的时候,才会调用这个方法 @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub System.out.println("create a Database"); //execSQL 函数用于执行 SQL 语句 db.execSQL("create table user(name varchar(20),phone text,qq text,mail text,address text)"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-gener...