Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android系統教程 >> Android開發教程 >> Android中使用SQLite數據庫

Android中使用SQLite數據庫

編輯:Android開發教程

項目源碼下載

https://github.com/Wang-Jun-Chao/AndroidProjects

SQLite數據庫

輕量級關系型數據庫

創建數據庫需要使用的api:SQLiteOpenHelper

必須定義一個構造方法:

//arg1:數據庫文件的名字
//arg2:游標工廠
//arg3:數據庫版本
public MyOpenHelper(Context context, String name, CursorFactory factory, int version){}

數據庫被創建時會調用:onCreate方法

數據庫升級時會調用:onUpgrade方法

創建數據庫

    
    MyOpenHelper oh =  MyOpenHelper(getContext(), , , );
    
    SQLiteDatabase db = oh.getWritableDatabase();

getWritableDatabase():打開可讀寫的數據庫

getReadableDatabase():在磁盤空間不足時打開只讀數據庫,否則打開可讀寫數據庫

在創建數據庫時創建表

        public void onCreate(SQLiteDatabase db) {
            // TODO Auto-generated method stub
            db.execSQL("  person (_id    autoincrement, 
                    name (), phone (), money ())

數據庫的增刪改查

SQL語句

*   person (name, phone, money)  (, , );
*   person  name =   _id = ;
*  person  money =   name = ;
*  name, phone  person  name = ;

執行SQL語句實現增刪改查

        
        db.execSQL(,  []{, , });
        
        Cursor cs = db.rawQuery(,  []{});

測試方法執行前會調用此方法

          ()  Exception {
            .setUp();
            
            oh =  MyOpenHelper(getContext(), , , );
        }

使用api實現增刪改查

插入

        
        ContentValues cv =  ContentValues();
        cv.put(, );
        cv.put(, );
        cv.put(, );
        
         i = db.insert(, , cv);

刪除

        
         i = db.(, ,  String[]{, });

修改

        ContentValues cv =  ContentValues();
        cv.put(, );
         i = db.update(, cv, ,  []{});

更多精彩內容:http://www.bianceng.cn/OS/extra/

查詢

        
        
        
        Cursor cs = db.query(,  []{, }, ,  []{}, , , );
        (cs.moveToNext()){
            
             name = cs.getString(cs.getColumnIndex());
             money = cs.getString(cs.getColumnIndex());
            System.out.println(name +  + money);
        }

事務

保證多條SQL語句要麼同時成功,要麼同時失敗

最常見案例:銀行轉賬

事務api

        try {
            
            dbbeginTransaction();
            
            
            dbsetTransactionSuccessful();
        } finally{
            
            
            dbendTransaction();
        }

把數據庫的數據顯示至屏幕

任意插入一些數據

定義業務bean:Person.java

讀取數據庫的所有數據

        Cursor cs = db.query(, , , , , , );
        (cs.moveToNext()){
             name = cs.getString(cs.getColumnIndex());
             phone = cs.getString(cs.getColumnIndex());
             money = cs.getString(cs.getColumnIndex());
            
            Person p =  Person(name, phone, money);
            
            people.add(p);
        }

把集合中的數據顯示至屏幕

         LinearLayout ll = (LinearLayout) findViewById(R.id.ll);
         (Person p : people){
             
             TextView tv =  TextView();
             tv.setText(p.toString());
             
             ll.addView(tv);
         }

分頁查詢

        Cursor cs = db.query(, , , , , , , );
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved