• Android使用SQlite数据库


    Android下数据库操作的简单流程:


    1.首先,写一个自己的数据库操作帮助类,这个类继承自Android自带的SQLiteOpenHelper.

    2.在自己的DAO层借助自己的Helper写数据库操作的一些方法

    3.Activity调用DAO层的数据库操作方法进行操作


    下面例子是:

    1.Helper

    [java] view plaincopy
    1. package cn.learn.db.util;  
    2.   
    3. import android.content.Context;  
    4. import android.database.sqlite.SQLiteDatabase;  
    5. import android.database.sqlite.SQLiteOpenHelper;  
    6. import android.database.sqlite.SQLiteDatabase.CursorFactory;  
    7.   
    8. public class DBHelper extends SQLiteOpenHelper {  
    9.       
    10.     private final static String DB_NAME ="test.db";//数据库名  
    11.     private final static int VERSION = 1;//版本号  
    12.       
    13.     //自带的构造方法  
    14.     public DBHelper(Context context, String name, CursorFactory factory,  
    15.             int version) {  
    16.         super(context, name, factory, version);  
    17.     }  
    18.       
    19.     //为了每次构造时不用传入dbName和版本号,自己得新定义一个构造方法  
    20.     public DBHelper(Context cxt){  
    21.         this(cxt, DB_NAME, null, VERSION);//调用上面的构造方法  
    22.     }  
    23.       
    24.     //版本变更时  
    25.     public DBHelper(Context cxt,int version) {  
    26.         this(cxt,DB_NAME,null,version);  
    27.     }  
    28.       
    29.     //当数据库创建的时候调用  
    30.     public void onCreate(SQLiteDatabase db) {  
    31.         String sql = "create table student(" +  
    32.                      "id integer primary key autoincrement," +  
    33.                      "name varchar(20)," +  
    34.                      "age int)";  
    35.           
    36.         db.execSQL(sql);  
    37.     }  
    38.       
    39.     //版本更新时调用  
    40.     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
    41.         String sql  = "update student ....";//自己的Update操作  
    42.         db.execSQL(sql);  
    43.     }  
    44.       
    45. }  

    2.写DAO层

    [java] view plaincopy
    1. package cn.learn.db.dao;  
    2.   
    3. import android.content.Context;  
    4. import android.database.sqlite.SQLiteDatabase;  
    5. import cn.learn.db.dao.domain.Student;  
    6. import cn.learn.db.util.DBHelper;  
    7.   
    8. public class StudentDao {  
    9.   
    10.     DBHelper helper = null;  
    11.   
    12.     public StudentDao(Context cxt) {  
    13.         helper = new DBHelper(cxt);  
    14.     }  
    15.   
    16.     /** 
    17.      * 当Activity中调用此构造方法,传入一个版本号时,系统会在下一次调用数据库时调用Helper中的onUpgrade()方法进行更新 
    18.      * @param cxt 
    19.      * @param version 
    20.      */  
    21.     public StudentDao(Context cxt, int version) {  
    22.         helper = new DBHelper(cxt, version);  
    23.     }  
    24.   
    25.     // 插入操作  
    26.     public void insertData(Student stu) {  
    27.         String sql = "insert into student (name,age)values(?,?)";  
    28.         SQLiteDatabase db = helper.getWritableDatabase();  
    29.         db.execSQL(sql, new Object[] { stu.name, stu.age });  
    30.     }  
    31.   
    32.     // 其它操作  
    33.   
    34. }  

    完成这些,其它操作就简单了....

    另外,数据库文件放在这个目录



  • 相关阅读:
    sqlalchemy-数据目录集合整合
    算法-lowb三人组
    ipython ---matplotlib:绘图和可视化
    ipython --pandas
    ipython --之Numpy
    字符编码
    Markdown——入门使用
    python集合操作和内置方法
    python字典操作和内置方法
    python元祖操作和内置方法
  • 原文地址:https://www.cnblogs.com/shipeng22022/p/4614056.html
Copyright © 2020-2023  润新知