SQliteOpenHelper是一个抽象类,来管理数据库的创建和版本的管理。要使用它必须实现它的nCreate(SQLiteDatabase),onUpgrade(SQLiteDatabase, int, int)方法

  onCreate:当数据库第一次被建立的时候被执行,例如创建表,初始化数据等。

  onUpgrade:当数据库需要被更新的时候执行,例如删除久表,创建新表。

2.实现代码


3.SQLite的使用

1. package
2.   
3. import
4. import
5. import
6. import
7.   
8. public class DBHelper extends
9.   
10. //数据库版本
11. private static final int VERSION = 1;  
12. //新建一个表
13. "create table if not exists TestUsers"+  
14. "(id int primary key,name varchar,sex varchar)";  
15.       
16. public
17. int
18. super(context, name, factory, version);  
19.     }  
20.   
21. public DBHelper(Context context,String name,int
22. this(context,name,null,version);  
23.     }  
24.       
25. public
26. this(context,name,VERSION);  
27.     }  
28.       
29. @Override
30. public void
31.         db.execSQL(sql);  
32.     }  
33.   
34. @Override
35. public void onUpgrade(SQLiteDatabase db, int oldVersion, int
36.           
37.     }  
38.       
39. }

  Android提供了一个名为SQLiteDatabase的类,它封装了一些操作数据库的API。使用它能实现基本的CRUD操作,通过getWritableDatabase()和getReadableDatabase()可以获取数据库实例。

4.实现代码


5.一些SQLite操作命令

1. package
2.   
3. import
4. import
5. import
6. import
7. import
8. import
9. import
10. import
11. import
12.   
13. public class TestSQLite extends
14.   
15. null;  
16. null;  
17. null;  
18. null;  
19. null;  
20. null;  
21. null;  
22. null;  
23.       
24. @Override
25. protected void
26. // TODO Auto-generated method stub
27. super.onCreate(savedInstanceState);  
28.         setContentView(R.layout.sqlitetest);  
29.           
30.         OpenDb();  
31.           
32.         textBtn = (Button)findViewById(R.id.btnHeader);  
33. true);  
34.           
35. //        btnCreateDb = (Button)findViewById(R.id.btnCreateDb);
36. //        btnCreateDb.setOnClickListener(createDbListener);
37. //        
38. //        btnCreateTb = (Button)findViewById(R.id.btnCreateTb);
39. //        btnCreateTb.setOnClickListener(createTbListener);
40.           
41.         btnInsert = (Button)findViewById(R.id.btnInsert);  
42.         btnInsert.setOnClickListener(insertTbListener);  
43.           
44.         btnUpdate = (Button)findViewById(R.id.btnUpdate);  
45.         btnUpdate.setOnClickListener(updateTbListener);  
46.           
47.         btnDelete = (Button)findViewById(R.id.btnDelete);  
48.         btnDelete.setOnClickListener(deleteTbListener);  
49.   
50.     }  
51.       
52. public OnClickListener deleteTbListener = new
53. public void
54.             DeleteTb();  
55.         }  
56.     };  
57.       
58. public OnClickListener updateTbListener = new
59. public void
60.             UpdateTb();  
61.         }  
62.     };  
63.       
64. public OnClickListener insertTbListener = new
65. public void
66.             InsertTb();  
67.         }  
68.     };  
69.       
70. //    public OnClickListener createDbListener = new OnClickListener() {
71. //        public void onClick(View v) {
72. //            CreateDatabase("TestDb01");
73. //        }
74. //    };
75.   
76. //    public OnClickListener createTbListener = new OnClickListener() {
77. //        public void onClick(View v) {
78. //            CreateTable();
79. //        }
80. //    };
81.       
82. //    /**
83. //     * 新建一个数据库
84. //     * @param dbName
85. //     * @return
86. //     */
87. //    public SQLiteDatabase CreateDatabase(String dbName){
88. //        dbHelper = new DBHelper(this, dbName);
89. //        return dbHelper.getWritableDatabase();
90. //    }
91.       
92. /**
93.      * 新建一个表
94.      * @param db
95.      */
96. public void
97.         db = dbHelper.getWritableDatabase();  
98. "create table if not exists TestUsers"+  
99. "(id int primary key,name varchar,sex varchar)";  
100. try
101.             db.execSQL(sql);  
102. catch
103. "err", "create table failed");  
104.         }  
105.     }  
106.       
107. /**
108.      * 插入数据
109.      */
110. public void
111.         db = dbHelper.getWritableDatabase();  
112. "insert into TestUsers (id,name,sex) values (2,'hongguang','men')";  
113. try
114.             db.execSQL(sql);  
115. catch
116. "err", "insert failed");  
117.         }  
118.     }  
119.       
120. /**
121.      * 更新数据
122.      */
123. public void
124.         db = dbHelper.getWritableDatabase();  
125. "Update TestUsers set name = 'anhong',sex = 'men' where id = 2";  
126. try
127.             db.execSQL(sql);  
128. catch
129. "err", "update failed");  
130.         }  
131.     }  
132.       
133. /**
134.      * 删除数据
135.      */
136. public void
137.         db = dbHelper.getWritableDatabase();  
138. "delete from TestUsers where id = 2";  
139. try
140.             db.execSQL(sql);  
141. catch
142. "err", "delete failed");  
143.         }  
144.     }  
145.       
146. /**
147.      * 打开数据库
148.      */
149. public void
150. new DBHelper(this, "TestDb01");  
151.         db = dbHelper.getWritableDatabase();  
152.     }  
153.       
154. /**
155.      * 关闭数据库
156.      */
157. public void
158.         dbHelper.close();  
159.     }  
160.       
161. @Override
162. protected void
163. super.onDestroy();  
164. if(db!=null){  
165.             db.close();  
166.         }  
167. if(dbHelper!=null){  
168.             dbHelper.close();  
169.         }  
170.     }  
171.       
172. }

  5.1 adb shell 进入命令模式

  5.2 cd 文件名 进入文件

  5.3 ls或ls -l 查看目录下的文件

  5.4 sqlite3 数据库名 进入数据库

  5.5 .schema 查看数据库下的信息

  5.6 ctrl+d 退出sqlite模式