DatabaseHelper类: 

Java代码  

1. package
2.   
3. import
4. import
5. import
6. import
7.   
8. /**
9.  * SQLiteOpenHelper是一个辅助类,用来管理数据库的创建和版本他,它提供两个方面的功能
10.  * 第一,getReadableDatabase()、getWritableDatabase()可以获得SQLiteDatabase对象,通过该对象可以对数据库进行操作
11.  * 第二,提供了onCreate()、onUpgrade()两个回调函数,允许我们再创建和升级数据库时,进行自己的操作
12.  */
13. public class DatabaseHelper extends
14. private static final int VERSION = 1;  
15.   
16. /**
17.      * 在SQLiteOpenHelper的子类当中,必须有该构造函数
18.      * @param context   上下文对象
19.      * @param name      数据库名称
20.      * @param factory
21.      * @param version   当前数据库的版本,值必须是整数并且是递增的状态
22.      */
23. public
24. int
25. //必须通过super调用父类当中的构造函数
26. super(context, name, factory, version);  
27.     }  
28.       
29. public DatabaseHelper(Context context, String name, int
30. this(context,name,null,version);  
31.     }  
32.   
33. public
34. this(context,name,VERSION);  
35.     }  
36.   
37. //该函数是在第一次创建的时候执行,实际上是第一次得到SQLiteDatabase对象的时候才会调用这个方法
38. @Override
39. public void
40. // TODO Auto-generated method stub
41. "create a database");  
42. //execSQL用于执行SQL语句
43. "create table user(id int,name varchar(20))");  
44.     }  
45.   
46. @Override
47. public void onUpgrade(SQLiteDatabase arg0, int arg1, int
48. // TODO Auto-generated method stub
49. "upgrade a database");  
50.     }  
51. }







Activity类: 

android module aar第三方库_android


1. package
2.   
3. import
4. import
5. import
6. import
7. import
8. import
9. import
10. import
11.   
12. public class SQLiteActivity extends
13. /** Called when the activity is first created. */
14. private Button createDatabaseButton = null;  
15. private Button updateDatabaseButton = null;  
16. private Button insertButton = null;  
17. private Button updateButton = null;  
18. private Button selectButton = null;  
19. private Button deleteButton = null;  
20.   
21. @Override
22. public void
23. super.onCreate(savedInstanceState);  
24.         setContentView(R.layout.main);  
25. // 根据控件id获得相应的控件对象
26.         createDatabaseButton = (Button) findViewById(R.id.createDatabase);  
27.         updateDatabaseButton = (Button) findViewById(R.id.updateDatabase);  
28.         insertButton = (Button) findViewById(R.id.insert);  
29.         updateButton = (Button) findViewById(R.id.update);  
30.         selectButton = (Button) findViewById(R.id.select);  
31.         deleteButton = (Button) findViewById(R.id.delete);  
32. // 为按钮设置监听器
33.         createDatabaseButton  
34. new
35.         updateDatabaseButton  
36. new
37. new
38. new
39. new
40. new
41.     }  
42.   
43. // 创建数据库点击事件监听器
44. class CreateDatabaseOnClickListener implements
45. public void
46. // 创建了一个DatabaseHelper对象,只执行这句话是不会创建或打开连接的
47. new DatabaseHelper(SQLiteActivity.this,  
48. "test_yangyz_db");  
49. // 只有调用了DatabaseHelper的getWritableDatabase()方法或者getReadableDatabase()方法之后,才会创建或打开一个连接
50.             SQLiteDatabase sqliteDatabase = dbHelper.getReadableDatabase();  
51.         }  
52.     }  
53.   
54. // 更新数据库 点击事件监听器
55. class UpdateDatabaseOnClickListener implements
56. public void
57. // TODO Auto-generated method stub
58. new DatabaseHelper(SQLiteActivity.this,  
59. "test_yangyz_db", 2);  
60. // 得到一个只读的SQLiteDatabase对象
61.             SQLiteDatabase sqliteDatabase = dbHelper.getReadableDatabase();  
62.         }  
63.   
64.     }  
65.   
66. // 插入数据 点击事件监听器
67. class InsertOnClickListener implements
68. public void
69. // 创建ContentValues对象
70. new
71. // 向该对象中插入键值对,其中键是列名,值是希望插入到这一列的值,值必须和数据库当中的数据类型一致
72. "id", 1);  
73. "name", "yangyz");  
74. // 创建DatabaseHelper对象
75. new DatabaseHelper(SQLiteActivity.this,  
76. "test_yangyz_db", 2);  
77. // 得到一个可写的SQLiteDatabase对象
78.             SQLiteDatabase sqliteDatabase = dbHelper.getWritableDatabase();  
79. // 调用insert方法,就可以将数据插入到数据库当中
80. // 第一个参数:表名称
81. // 第二个参数:SQl不允许一个空列,如果ContentValues是空的,那么这一列被明确的指明为NULL值
82. // 第三个参数:ContentValues对象
83. "user", null, values);  
84.         }  
85.     }  
86.   
87. // updateButton点击事件监听器
88. class UpdateOnClickListener implements
89. public void
90. // 创建一个DatabaseHelper对象
91. new DatabaseHelper(SQLiteActivity.this,  
92. "test_yangyz_db", 2);  
93. // 得到一个可写的SQLiteDatabase对象
94.             SQLiteDatabase sqliteDatabase = dbHelper.getWritableDatabase();  
95. // 创建一个ContentValues对象
96. new
97. "name", "zhangsan");  
98. // 调用update方法
99. // 第一个参数String:表名
100. // 第二个参数ContentValues:ContentValues对象
101. // 第三个参数String:where字句,相当于sql语句where后面的语句,?号是占位符
102. // 第四个参数String[]:占位符的值
103. "user", values, "id=?", new String[] { "1"
104. "-----------update------------");  
105.         }  
106.     }  
107.   
108. // 查找数据库  点击事件监听器
109. class SelectOnClickListener implements
110. public void
111. null;  
112. null;  
113. //创建DatabaseHelper对象
114. new DatabaseHelper(SQLiteActivity.this,  
115. "test_yangyz_db", 2);  
116. // 得到一个只读的SQLiteDatabase对象
117.             SQLiteDatabase sqliteDatabase = dbHelper.getReadableDatabase();  
118. // 调用SQLiteDatabase对象的query方法进行查询,返回一个Cursor对象:由数据库查询返回的结果集对象
119. // 第一个参数String:表名
120. // 第二个参数String[]:要查询的列名
121. // 第三个参数String:查询条件
122. // 第四个参数String[]:查询条件的参数
123. // 第五个参数String:对查询的结果进行分组
124. // 第六个参数String:对分组的结果进行限制
125. // 第七个参数String:对查询的结果进行排序
126. "user", new String[] { "id",  
127. "name" }, "id=?", new String[] { "1" }, null, null, null);  
128. // 将光标移动到下一行,从而判断该结果集是否还有下一条数据,如果有则返回true,没有则返回false
129. while
130. "id"));  
131. "name"));  
132.             }  
133. "-------------select------------");  
134. "id: "+id);  
135. "name: "+name);  
136.         }  
137.     }  
138.   
139. // 删除 点击事件监听器
140. class DeleteOnClickListener implements
141. public void
142. //创建DatabaseHelper对象
143. new DatabaseHelper(SQLiteActivity.this,"test_yangyz_db",2);  
144. //获得可写的SQLiteDatabase对象
145.             SQLiteDatabase sqliteDatabase = dbHelper.getWritableDatabase();  
146. //调用SQLiteDatabase对象的delete方法进行删除操作
147. //第一个参数String:表名
148. //第二个参数String:条件语句
149. //第三个参数String[]:条件值
150. "user", "id=?", new String[]{"1"});  
151. "----------delete----------");  
152.         }  
153.     }  
154. }