歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android SQLite使用介紹

嵌入式關系型SQLite數據庫與普通數據庫的最大區別是:
嵌入式關系型SQLite數據庫除了主鍵外,沒有數據類型之分。即整型字段可以用來存放字符數據,反之字符串字段也可以用來存放整型值

SQLite使用方法步驟:

  1. 第一步:編寫一個類並繼承SQLiteOpenHelper;  
  2. 該類我認為有兩個作用:第一:用來取得操作sql語句的對象  
  3.                         第二:用來管理數據庫的版本,可以進行相應的更新  
  4. 簡單的實例:  
  5. public class DBOpenHelperService extends SQLiteOpenHelper {  
  6.       
  7.     private static final String DATABASENAME = "smuoj.db"; //數據庫名稱  
  8.     private static final int DATABASEVERSION = 1;//數據庫版本  
  9.   
  10.   
  11.     public DBOpenHelperService(Context context) {  
  12.         super(context, DATABASENAME, null, DATABASEVERSION);  
  13.     }  
  14.     @Override  
  15.     public void onCreate(SQLiteDatabase db) {  
  16.         db.execSQL("CREATE TABLE _person (personid integer primary key autoincrement, name varchar(20), age integer)");//執行有更改的sql語句  
  17.     }  
  18.     @Override  
  19.     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
  20.         // TODO Auto-generated method stub  
  21.         db.execSQL("DROP TABLE IF EXISTS _person");  
  22.         onCreate(db);  
  23.     }  
  24. }  
  25. 第二步:根據要求編寫相應的增刪改查..的代碼  
  26. 注意:dbOpenHelperService.getWritableDatabase();通過這個函數可以取得操作數據庫的對象  
  27. 當調用這個方法時,如果數據庫不存在,則會創建數據庫,並執行Oncreate()方法  
  28.                    如果版本信息改變,則會執行onUpgrade()這個方法  
  29. 如:編寫保存 與 查找  
  30. public class DB {  
  31.     private  DBOpenHelperService dbOpenHelperService;  
  32.     private SQLiteDatabase db ;  
  33.     public DB(Context context) {  
  34.         dbOpenHelperService = new DBOpenHelperService(context);  
  35.         db  = dbOpenHelperService.getWritableDatabase();  
  36.     }  
  37.     public  void save(Person person){  
  38.           
  39.         String sql = "insert into _person(name,age) values(?,?)";  
  40.         db.execSQL(sql,new Object[]{person.getName(),person.getAge()});  
  41.         db.close();  
  42.     }  
  43.     public List<Person> find(){  
  44.         List<Person> persons = new ArrayList<Person>();  
  45.         String sql = "select * from _person";  
  46.         Cursor cursor = db.rawQuery(sql,null);  
  47.         while(cursor.moveToNext()){  
  48.             Person person = new Person();  
  49.             person.setName(cursor.getString(cursor.getColumnIndex("name")));  
  50.             person.setAge(cursor.getInt(cursor.getColumnIndex("age")));  
  51.             persons.add(person);  
  52.         }  
  53.         return persons;  
  54.     }  
  55. }  
Copyright © Linux教程網 All Rights Reserved