Android中的数据库采用的是SQLite,这是一款轻型数据库,占用资源虽小但是功能强大,能满足系统中的各种数据操作。它不仅可以支持通过SQL语句操作,同时也可以通过SQLiteDatabase对象中的各种方法来操作数据库。

    在数据库编程中,常常使用一个继承自SQLiteOpenHelper类的数据库操作类,在这个类封装了一些关于数据库生命周期的方法,可以更加方便的使用数据库。代码如下:

 
 

       
       
       
       
  1. public class myDatabase {  
  2.       
  3.      static final String USERID="_id";  
  4.      static final String PASSWORD="password";  
  5.      static final String EMAIL="email";  
  6.      static final String QQ="qq";  
  7.      static final String CAREER="career";  
  8.      static final String DB_NAME="myDatabase1";  
  9.      static final String DB_TABLE="imfor";  
  10.     private static final int VERSION=1;  
  11.     private Context mContext;  
  12.     SQLiteDatabase mySQLite;  
  13.       
  14. private static  String DB_CREATE="CREATE TABLE " +DB_TABLE+" (" +USERID+" INTEGER PRIMARY KEY," 
  15. +PASSWORD+" TEXT," 
  16. +EMAIL+" TEXT," 
  17. +QQ+" TEXT," 
  18. +CAREER+" TEXT)";  
  19.       
  20.     //静态类MyHelper继承SQLiteOpenHelper,用于创建数据库。   
  21.     private static class MyHelper extends SQLiteOpenHelper{  
  22.  
  23.         public MyHelper(Context context) {  
  24.             super(context, DB_NAME, null, VERSION);  
  25.             // TODO Auto-generated constructor stub  
  26.         }  
  27.  
  28.         @Override 
  29.         public void onCreate(SQLiteDatabase db) {  
  30.             // TODO Auto-generated method stub  
  31.             db.execSQL(DB_CREATE);  
  32.         }  
  33.  
  34.         @Override 
  35.         public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
  36.             // TODO Auto-generated method stub  
  37.               
  38.         }  
  39.                           
  40.     }  
  41.       
  42.     //MyDataBase类的构造方法,参数是一个上下文对象  
  43.     public myDatabase(Context context){  
  44.         mContext=context;  
  45.                                       }  
  46.     //打开数据库
  47.     public void openDatabase(){  
  48.         MyHelper myhelper=new MyHelper(mContext);
  49. //这时创建或打开数据库,如果数据库是新创建的则激活SQLiteOpenHelper对象的的onCreate()方法  
  50.         mySQLite=myhelper.getWritableDatabase();      
  51.                               }  
  52.     //插入数据  
  53.     public long insert(int id,String password,String email,String qq,String career){  
  54.         ContentValues cv=new ContentValues();  
  55.         cv.put(USERID, id);  
  56.         cv.put(PASSWORD, password);  
  57.         cv.put(EMAIL, email);  
  58.         cv.put(QQ, qq);  
  59.         cv.put(CAREER, career);  
  60.         return mySQLite.insert(DB_TABLE, "null",cv);  
  61.     }  
  62.     //查询数据  
  63.     public Cursor fetchData(int id){  
  64.                   
  65. return mySQLite.query(DB_TABLE, new String[] {USERID,PASSWORD,EMAIL,QQ,CAREER}, USERID+"="+id, nullnullnullnull);  
  66.                                    }  

    在上面的这个myDataBase类中定义了继承于SQLiteOpenHelper类的内部类,用于创建数据库相关操作。另外又定义了两个数据库的操作方法,插入数据和查询数据。关于这些基本的数据库操作一方面可以直接调用数据库对象的execSQL(String)方法,将SQL语句作为参数。另外数据库对象中又定义了一些方法,通过SDK文档可以方便的查询以便使用。