SqLite数据库MVC模式

前端之家收集整理的这篇文章主要介绍了SqLite数据库MVC模式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一.xml布局

  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent" >
  5.  
  6. <Button
  7. android:layout_width="wrap_content"
  8. android:layout_height="wrap_content"
  9. android:onClick="insert"
  10. android:text="插入" />
  11.  
  12. <Button
  13. android:layout_width="wrap_content"
  14. android:layout_height="wrap_content"
  15. android:onClick="delete"
  16. android:text="删除" />
  17.  
  18. <Button
  19. android:layout_width="wrap_content"
  20. android:layout_height="wrap_content"
  21. android:onClick="update"
  22. android:text="修改" />
  23.  
  24. <Button
  25. android:layout_width="wrap_content"
  26. android:layout_height="wrap_content"
  27. android:onClick="select"
  28. android:text="查询" />
  29.  
  30. </LinearLayout>
二.创建自己的数据库帮助类继承sqliteOpenHelper
  1. public class MysqLiteOpenHelper extends sqliteOpenHelper {
  2. //创建数据库名字数字参数为版本号不可以为0
  3. public MysqLiteOpenHelper(Context context) {
  4. super(context,"1409L",null,1);
  5. // TODO Auto-generated constructor stub
  6. }
  7.  
  8. @Override
  9. public void onCreate(sqliteDatabase db) {
  10. //创建表名和字段
  11. db.execsql("create table student(id integer primary key autoincrement,name varchar (20),sex varchar(6),age char(5)) ");
  12.  
  13. }
  14. //版本更新运行下面的方法
  15. @Override
  16. public void onUpgrade(sqliteDatabase db,int oldVersion,int newVersion) {
  17. //如果需要改变哪一个表,要添加的字段,上边的版本号更改运行即可
  18. <span style="white-space:pre"> </span>//db.execsql("alter table student add age varchar(6)");
  19.  
  20. }
  21.  
  22. }
三,创建dao层里面有增删改查:
  1. public class StudentDao {
  2.  
  3. private sqliteDatabase sqliteDatabase;
  4. private MysqLiteOpenHelper helper;
  5.  
  6. // 构造函数
  7. public StudentDao(Context context) {
  8.  
  9. helper = new MysqLiteOpenHelper(context);
  10. }
  11. // 插入,通过方法传参的方式,插入数据
  12. public void insert(String name,String sex,String age) {
  13. //打开数据库
  14. sqliteDatabase = helper.getReadableDatabase();
  15. ContentValues values = new ContentValues();
  16.  
  17. values.put("name",name);
  18. values.put("sex",sex);
  19. values.put("age",age);
  20.  
  21. sqliteDatabase.insert("student",values);
  22. //关闭数据库
  23. sqliteDatabase.close();
  24. }
  25.  
  26. // 删除
  27. public void delete(String name) {
  28. //打开数据库
  29.  
  30. sqliteDatabase = helper.getReadableDatabase();
  31. sqliteDatabase.delete("student","name = ?",new String[] { name });
  32. //关闭数据库
  33. sqliteDatabase.close();
  34.  
  35. }
  36.  
  37. // 修改
  38. public void update(String newName,String oldName) {
  39. //打开数据库
  40.  
  41. sqliteDatabase = helper.getReadableDatabase();
  42. ContentValues values = new ContentValues();
  43. values.put("name",newName);
  44. //把姓名(name)是oldName的数据,改成为姓名(name)是newName
  45. sqliteDatabase.update("student",values,new String[] {oldName});
  46.  
  47. //关闭数据库
  48. sqliteDatabase.close();
  49. }
  50.  
  51. // 查询
  52. public void select(String name) {
  53. //打开数据库
  54. sqliteDatabase = helper.getReadableDatabase();
  55. //通过name查询数据
  56. Cursor cursor = sqliteDatabase.query("student",new String[]{"name","sex","age"},new String[]{name},null);
  57. while (cursor.moveToNext()) {
  58. //先得到列名的角标,在通过列名角标,获得该列名的数据
  59. String userName = cursor.getString(cursor.getColumnIndex("name"));
  60. String sex = cursor.getString(cursor.getColumnIndex("sex"));
  61. String age = cursor.getString(cursor.getColumnIndex("age"));
  62. System.out.println(userName+sex+age);
  63. }
  64. //关闭数据库
  65. sqliteDatabase.close();
  66. }
  67.  
  68. }
四,在主activity进行点击调用
  1. public class MainActivity extends ActionBarActivity {
  2.  
  3.  
  4. private StudentDao dao;
  5.  
  6.  
  7. @Override
  8. protected void onCreate(Bundle savedInstanceState) {
  9. super.onCreate(savedInstanceState);
  10. setContentView(R.layout.activity_main);
  11.  
  12.  
  13. dao = new StudentDao(this);
  14. }
  15.  
  16.  
  17. // 插入
  18. public void insert(View v) {
  19. dao.insert("张三","男","12");
  20. }
  21.  
  22.  
  23. // 删除
  24. public void delete(View v) {
  25. dao.delete("李四");
  26. }
  27.  
  28.  
  29. // 修改
  30. public void update(View v) {
  31. dao.update("李四","张三");
  32. }
  33.  
  34.  
  35. // 查询
  36. public void select(View v) {
  37. dao.select("李四");
  38. }
  39. }

猜你在找的Sqlite相关文章