您的位置:首页 > 博客中心 > 数据库 >

SQLiteDatabase的使用

时间:2022-03-14 03:08

新建DBHeler.JAVA

 1 package com.hixin.db;
 2 
 3 import com.hixin.contact.User;
 4 
 5 import android.content.ContentValues;
 6 import android.content.Context;
 7 import android.database.sqlite.SQLiteDatabase;
 8 import android.database.sqlite.SQLiteDatabase.CursorFactory;
 9 import android.database.sqlite.SQLiteOpenHelper;
10 
11 public class DBHelper extends SQLiteOpenHelper{
12     public final static  String  DB_NAME = "contact";
13     public final static  int VERSION = 1;
14     private static DBHelper instance = null;
15     private SQLiteDatabase db;
16     
17     //单例模式
18     private DBHelper(Context context) {
19         super(context,DB_NAME,null,VERSION);
20     }
21     
22     public static DBHelper getInstance(Context context) {
23         if(instance == null) {
24             instance = new DBHelper(context);
25         }
26         return instance;
27     }
28     private void openDatabase() {
29         if(db == null) {
30             db = this.getReadableDatabase();
31         }
32     }
33     
34     @Override
35     public void onCreate(SQLiteDatabase db) {
36         // TODO Auto-generated method stub
37          StringBuffer tableCreate = new StringBuffer();
38          tableCreate.append("create table user (_id integer primary key autoincrement,")
39          .append("name text,")
40          .append("mobilephone text,")
41          .append("familyphone text,")
42          .append("officephone text,")
43          .append("position text,")
44          .append("company text,")
45          .append("address text,")
46          .append("email text,")
47          .append("othercontact text,")
48          .append("zipcode text,")
49          .append("remark text,")
50          .append("imagedid int)");
51          
52          db.execSQL(tableCreate.toString());
53     }
54 
55     @Override
56     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
57         // TODO Auto-generated method stub
58         String sql = "drop table if exists user";
59         db.execSQL(sql);
60         onCreate(db);
61     }
62     
63     public void save(User user) {
64         openDatabase();
65         ContentValues value = new ContentValues();
66         value.put("name", user.username);
67         value.put("mobilephone", user.mobilePhone);
68         value.put("familyphone", user.familyPhone);
69         value.put("officephone", user.officePhone);
70         value.put("position", user.position);
71         value.put("address", user.address);
72         value.put("email", user.email);
73         value.put("othercontact", user.otherContact);
74         value.put("zipcode", user.zipCode);
75         value.put("remark", user.remark);
76         value.put("imagedid", user.imageId);
77         
78         db.insert("user", null, value);
79     }
80 
81 }


主函数中调用 
    //save user to database
    DBHelper.getInstance(MainActivity.this).save(user);

 

save()调用openDatabase(),如果数据库不存在,则自动调用数据库的onCreate()

 

热门排行

今日推荐

热门手游