精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Android之SQLiteOpenHelper應(yīng)用

移動開發(fā) Android
SQliteOpenHelper是一個抽象類,來管理數(shù)據(jù)庫的創(chuàng)建和版本的管理。要使用它必須實(shí)現(xiàn)它的nCreate(SQLiteDatabase),onUpgrade(SQLiteDatabase, int, int)方法

1.SQLiteOpenHelper

  SQliteOpenHelper是一個抽象類,來管理數(shù)據(jù)庫的創(chuàng)建和版本的管理。要使用它必須實(shí)現(xiàn)它的nCreate(SQLiteDatabase),onUpgrade(SQLiteDatabase, int, int)方法

  onCreate:當(dāng)數(shù)據(jù)庫***次被建立的時(shí)候被執(zhí)行,例如創(chuàng)建表,初始化數(shù)據(jù)等。

  onUpgrade:當(dāng)數(shù)據(jù)庫需要被更新的時(shí)候執(zhí)行,例如刪除久表,創(chuàng)建新表。

2.實(shí)現(xiàn)代碼

  1. package xqh.utils;   
  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.     //數(shù)據(jù)庫版本   
  11.     private static final int VERSION = 1;   
  12.     //新建一個表   
  13.     String sql = "create table if not exists TestUsers"+   
  14.     "(id int primary key,name varchar,sex varchar)";   
  15.        
  16.     public DBHelper(Context context, String name, CursorFactory factory,   
  17.             int version) {   
  18.         super(context, name, factory, version);   
  19.     }   
  20.    
  21.     public DBHelper(Context context,String name,int version){   
  22.         this(context,name,null,version);   
  23.     }   
  24.        
  25.     public DBHelper(Context context,String name){   
  26.         this(context,name,VERSION);   
  27.     }   
  28.        
  29.     @Override   
  30.     public void onCreate(SQLiteDatabase db) {   
  31.         db.execSQL(sql);   
  32.     }   
  33.    
  34.     @Override   
  35.     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {   
  36.            
  37.     }   
  38.        
  39. }   

3.SQLite的使用

  Android提供了一個名為SQLiteDatabase的類,它封裝了一些操作數(shù)據(jù)庫的API。使用它能實(shí)現(xiàn)基本的CRUD操作,通過getWritableDatabase()和getReadableDatabase()可以獲取數(shù)據(jù)庫實(shí)例。

4.實(shí)現(xiàn)代碼

 

  1. package xqh.sqlite;   
  2.    
  3. import xqh.utils.DBHelper;   
  4. import android.app.Activity;   
  5. import android.database.SQLException;   
  6. import android.database.sqlite.SQLiteDatabase;   
  7. import android.os.Bundle;   
  8. import android.widget.Button;   
  9. import android.util.Log;   
  10. import android.view.View;   
  11. import android.view.View.OnClickListener;;   
  12.    
  13. public class TestSQLite extends Activity {   
  14.    
  15.     Button textBtn = null;   
  16.     Button btnCreateDb = null;   
  17.     Button btnCreateTb = null;   
  18.     Button btnInsert = null;   
  19.     Button btnUpdate = null;   
  20.     Button btnDelete = null;   
  21.     DBHelper dbHelper = null;   
  22.     SQLiteDatabase db = null;   
  23.        
  24.     @Override   
  25.     protected void onCreate(Bundle savedInstanceState) {   
  26.         // TODO Auto-generated method stub   
  27.         super.onCreate(savedInstanceState);   
  28.         setContentView(R.layout.sqlitetest);   
  29.            
  30.         OpenDb();   
  31.            
  32.         textBtn = (Button)findViewById(R.id.btnHeader);   
  33.         textBtn.setFocusable(true);   
  34.            
  35. //        btnCreateDb = (Button)findViewById(R.id.btnCreateDb);   
  36. //        btnCreateDb.setOnClickListener(createDbListener);   
  37. //           
  38. //        btnCreateTb = (Button)findViewById(R.id.btnCreateTb);   
  39. //        btnCreateTb.setOnClickListener(createTbListener);   
  40.            
  41.         btnInsert = (Button)findViewById(R.id.btnInsert);   
  42.         btnInsert.setOnClickListener(insertTbListener);   
  43.            
  44.         btnUpdate = (Button)findViewById(R.id.btnUpdate);   
  45.         btnUpdate.setOnClickListener(updateTbListener);   
  46.            
  47.         btnDelete = (Button)findViewById(R.id.btnDelete);   
  48.         btnDelete.setOnClickListener(deleteTbListener);   
  49.    
  50.     }   
  51.        
  52.     public OnClickListener deleteTbListener = new OnClickListener() {   
  53.         public void onClick(View v) {   
  54.             DeleteTb();   
  55.         }   
  56.     };   
  57.        
  58.     public OnClickListener updateTbListener = new OnClickListener() {   
  59.         public void onClick(View v) {   
  60.             UpdateTb();   
  61.         }   
  62.     };   
  63.        
  64.     public OnClickListener insertTbListener = new OnClickListener() {   
  65.         public void onClick(View v) {   
  66.             InsertTb();   
  67.         }   
  68.     };   
  69.        
  70. //    public OnClickListener createDbListener = new OnClickListener() {   
  71. //        public void onClick(View v) {   
  72. //            CreateDatabase("TestDb01");   
  73. //        }   
  74. //    };   
  75.    
  76. //    public OnClickListener createTbListener = new OnClickListener() {   
  77. //        public void onClick(View v) {   
  78. //            CreateTable();   
  79. //        }   
  80. //    };   
  81.        
  82. //    /**   
  83. //     * 新建一個數(shù)據(jù)庫   
  84. //     * @param dbName   
  85. //     * @return   
  86. //     */   
  87. //    public SQLiteDatabase CreateDatabase(String dbName){   
  88. //        dbHelper = new DBHelper(this, dbName);   
  89. //        return dbHelper.getWritableDatabase();   
  90. //    }   
  91.        
  92.     /**  
  93.      * 新建一個表  
  94.      * @param db  
  95.      */   
  96.     public void CreateTable(){   
  97.         db = dbHelper.getWritableDatabase();   
  98.         String sql = "create table if not exists TestUsers"+   
  99.                         "(id int primary key,name varchar,sex varchar)";   
  100.         try {   
  101.             db.execSQL(sql);   
  102.         } catch (SQLException e) {   
  103.             Log.i("err""create table failed");   
  104.         }   
  105.     }   
  106.        
  107.     /**  
  108.      * 插入數(shù)據(jù)  
  109.      */   
  110.     public void InsertTb(){   
  111.         db = dbHelper.getWritableDatabase();   
  112.         String sql = "insert into TestUsers (id,name,sex) values (2,'hongguang','men')";   
  113.         try {   
  114.             db.execSQL(sql);   
  115.         } catch (SQLException e) {   
  116.             Log.i("err""insert failed");   
  117.         }   
  118.     }   
  119.        
  120.     /**  
  121.      * 更新數(shù)據(jù)  
  122.      */   
  123.     public void UpdateTb() {   
  124.         db = dbHelper.getWritableDatabase();   
  125.         String sql = "Update TestUsers set name = 'anhong',sex = 'men' where id = 2";   
  126.         try {   
  127.             db.execSQL(sql);   
  128.         } catch (SQLException e) {   
  129.             Log.i("err""update failed");   
  130.         }   
  131.     }   
  132.        
  133.     /**  
  134.      * 刪除數(shù)據(jù)  
  135.      */   
  136.     public void DeleteTb(){   
  137.         db = dbHelper.getWritableDatabase();   
  138.         String sql = "delete from TestUsers where id = 2";   
  139.         try {   
  140.             db.execSQL(sql);   
  141.         } catch (SQLException e) {   
  142.             Log.i("err""delete failed");   
  143.         }   
  144.     }   
  145.        
  146.     /**  
  147.      * 打開數(shù)據(jù)庫  
  148.      */   
  149.     public void OpenDb(){   
  150.         dbHelper = new DBHelper(this"TestDb01");   
  151.         db = dbHelper.getWritableDatabase();   
  152.     }   
  153.        
  154.     /**  
  155.      * 關(guān)閉數(shù)據(jù)庫  
  156.      */   
  157.     public void CloseDb(){   
  158.         dbHelper.close();   
  159.     }   
  160.        
  161.     @Override   
  162.     protected void onDestroy() {   
  163.         super.onDestroy();   
  164.         if(db!=null){   
  165.             db.close();   
  166.         }   
  167.         if(dbHelper!=null){   
  168.             dbHelper.close();   
  169.         }   
  170.     }   
  171.        
  172. }   

5.一些SQLite操作命令

  5.1 adb shell 進(jìn)入命令模式

  5.2 cd 文件名 進(jìn)入文件

  5.3 ls或ls -l 查看目錄下的文件

  5.4 sqlite3 數(shù)據(jù)庫名 進(jìn)入數(shù)據(jù)庫

  5.5 .schema 查看數(shù)據(jù)庫下的信息

  5.6 ctrl+d 退出sqlite模式

本文鏈接:http://blog.csdn.net/cycwind/article/details/6960501#

責(zé)任編輯:chenqingxiang 來源: oschina
相關(guān)推薦

2015-02-27 16:35:13

智能農(nóng)業(yè)Android界面

2015-02-03 14:45:55

android全局異常

2012-04-25 21:54:09

Android

2015-02-11 17:49:35

Android源碼自定義控件

2015-02-28 15:15:47

插件Android桌面插件

2014-03-06 13:26:49

動畫資源Animation R

2013-05-20 17:51:47

Android游戲開發(fā)SurfaceView

2013-05-20 17:13:17

Android游戲開發(fā)CanvasPaint

2013-07-25 15:05:00

Android模擬器Genymotion

2015-03-30 14:24:06

網(wǎng)易布局

2021-08-11 17:15:17

AndroidActivity場景

2013-08-05 17:25:40

windows

2013-09-02 16:13:56

API應(yīng)用資源

2011-03-25 11:06:46

2011-03-08 16:30:24

Proftpd

2011-08-10 10:10:21

iPhoneUIPopoverCo

2014-04-29 14:08:40

OpenGL ESAndroid應(yīng)用投影

2011-02-16 14:15:58

FringAndroid應(yīng)用iOS應(yīng)用

2021-08-16 17:15:19

設(shè)計(jì)模式Android適配器模式

2020-11-10 11:58:17

鴻蒙應(yīng)用開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

国产三级av在线播放| 国产欧美自拍视频| 日韩精品在线一区二区三区| 欧美日韩中字| 日韩精品一区二区三区老鸭窝| 131美女爱做视频| 亚洲精品传媒| 不卡区在线中文字幕| 国产高清在线不卡| 国产在线拍揄自揄拍| 黑人操亚洲人| 亚洲成年网站在线观看| 91小视频网站| 日本乱码一区二区三区不卡| 一色屋精品亚洲香蕉网站| 九九热久久66| www.日本在线观看| 麻豆精品在线播放| 青青草国产精品一区二区| 麻豆天美蜜桃91| 精品国产123区| 亚洲成人精品视频在线观看| 国产福利精品一区二区三区| 欧美大片免费高清观看| 亚洲午夜羞羞片| 中文字幕在线亚洲精品| 福利视频在线看| 95精品视频在线| 国产伦精品一区二区三区照片| 亚洲性在线观看| 日韩在线观看一区二区| 欧美一区二区三区免费观看| 免费一级黄色大片| 一级欧洲+日本+国产| 中文在线不卡视频| 午夜在线观看一区| 国产传媒欧美日韩成人精品大片| 精品成人一区二区三区| 永久看看免费大片| 国产成人视屏| 欧美一二三四在线| 亚洲制服中文字幕| 亚洲午夜国产成人| 欧美日韩成人一区二区| 在线免费av播放| 成人久久网站| 欧美日韩亚州综合| 色天使在线观看| 久久人体av| 91麻豆精品国产综合久久久久久| av亚洲天堂网| 久久久久九九精品影院| 91精品国产综合久久久久久久 | 麻豆精品一区二区三区| 国产精品aaaa| 在线观看免费视频一区| 国内不卡的二区三区中文字幕| 国产美女久久精品| 99久久精品日本一区二区免费 | 黄网站在线免费看| 亚洲人成网站影音先锋播放| 国产香蕉一区二区三区| 国产一区久久精品| 玉米视频成人免费看| 欧美人与动牲交xxxxbbbb| 免费黄网在线观看| 一区二区三区欧美激情| 亚洲 欧美 日韩 国产综合 在线| 黄色在线观看www| 欧美午夜激情小视频| 免费男同深夜夜行网站| 成人精品国产| 精品欧美一区二区在线观看| 中文字幕在线视频播放| 亚洲丁香日韩| 神马久久桃色视频| 国产小视频在线观看免费| 一本一道久久综合狠狠老精东影业| 欧美在线日韩在线| 亚洲午夜激情视频| 丁香婷婷综合激情五月色| 麻豆蜜桃91| 日本在线看片免费人成视1000| 国产精品伦理一区二区| a级黄色片免费| 一级毛片久久久| 欧美另类高清zo欧美| a级片在线观看视频| 国产探花在线精品| 欧美华人在线视频| 日韩在线播放中文字幕| 国产在线视视频有精品| 精品久久久久久中文字幕动漫| yw视频在线观看| 亚洲综合男人的天堂| 国产精品亚洲二区在线观看| 精品视频国内| 亚洲午夜激情免费视频| 久久久久亚洲av片无码下载蜜桃| 久久国产精品毛片| julia一区二区中文久久94| 国产三级在线| 亚洲成人在线免费| 日韩在线不卡一区| 国产精品免费99久久久| 久久久久久美女| 中文字幕在线播出| 26uuu另类欧美亚洲曰本| 中文字幕人成一区| 欧美三区四区| 亚洲国产精品一区二区三区| 国产第一页浮力| 亚洲制服少妇| 国产成人亚洲欧美| 麻豆传媒在线观看| 欧美在线免费观看视频| 中文字幕第3页| 亚洲国产精品91| 国产精品国产福利国产秒拍| 色欲久久久天天天综合网| 亚洲色图在线看| 黄色一级片免费的| 精品盗摄女厕tp美女嘘嘘| 欧洲午夜精品久久久| 亚洲国产综合网| 亚洲人吸女人奶水| 中文字幕亚洲影院| 国产精品毛片一区二区在线看| 国产成人短视频| 亚洲人视频在线观看| 午夜亚洲福利老司机| avtt中文字幕| 午夜久久99| 亚洲伊人久久综合| 超碰在线免费播放| 欧美高清视频www夜色资源网| 久久国产柳州莫菁门| 校园激情久久| 久久久久久久久四区三区| 国产黄色大片在线观看| 日韩欧美国产不卡| 久久国产精品波多野结衣av| 国产福利一区二区三区视频在线| 亚洲国产精品影视| 精品99re| 欧美激情二区三区| 蜜桃在线一区二区| 午夜精品福利久久久| av鲁丝一区鲁丝二区鲁丝三区| 亚洲激情黄色| 久久综合福利| 影视一区二区三区| 色悠悠久久久久| 国产精品热久久| 一区二区三区日韩精品视频| 美女流白浆视频| 亚洲国产裸拍裸体视频在线观看乱了中文| 9a蜜桃久久久久久免费| 男女在线观看视频| 日韩风俗一区 二区| youjizz在线视频| 国产三级三级三级精品8ⅰ区| 亚洲欧美另类动漫| 国产精品99视频| 波多野结衣精品久久| www.色在线| 一区二区三区国产在线观看| 亚洲综合精品在线| 亚洲品质自拍视频| 2一3sex性hd| 日韩av网站在线观看| 在线观看日本一区| 91成人在线精品视频| 日韩免费精品视频| 美女羞羞视频在线观看| 日韩精品最新网址| 九九热在线免费观看| 欧美国产视频在线| 性xxxxxxxxx| 久久一区中文字幕| 日本一区二区三区四区五区六区| 激情亚洲另类图片区小说区| 国产成人精品一区二区三区| 国产激情小视频在线| 日韩国产一区三区| 国产精品人妻一区二区三区| 精品福利免费观看| 日韩av毛片在线观看| av电影在线观看完整版一区二区| 亚洲狼人综合干| 黄色国产精品| 亚洲欧洲精品一区| 欧美男人操女人视频| 91亚洲国产成人久久精品网站| 国产在线精彩视频| 久久久精品一区二区三区| 午夜国产在线视频| 欧美一区二区视频在线观看2022| 国产福利拍拍拍| 亚洲美女屁股眼交| 免费黄在线观看| 99免费精品视频| 女王人厕视频2ⅴk| 麻豆精品久久精品色综合| 少妇av一区二区三区无码| 一区二区三区四区日韩| 欧美日韩精品免费观看| 高清日韩中文字幕| 91亚洲永久免费精品| 日韩精品三区| 日本不卡高字幕在线2019| 色av手机在线| 久久久久99精品久久久久| 免费看男男www网站入口在线| 日韩精品一区二区三区中文精品| 中文字幕+乱码+中文| 欧美日韩精品在线播放| 国产一级做a爱免费视频| 亚洲精品乱码久久久久久久久 | 免费看的av网站| 久久国产精品区| 黄色一级免费大片| 老司机精品久久| 日韩av在线第一页| 亚洲三级电影在线观看| 天堂а√在线中文在线| 91精品久久久久久久蜜月 | 午夜精品一区| 国产亚洲一区二区精品| 九色视频在线观看免费播放| 日韩理论片久久| 无码国产精品一区二区免费16| 欧美一卡二卡三卡| 国产区精品在线| 欧美一区二区三区在| 92久久精品一区二区| 9l视频自拍蝌蚪9l视频成人| 91国产成人在线| 国产三级精品三级在线观看| 欧美日韩激情网| 亚洲午夜18毛片在线看| 狠狠躁18三区二区一区| 在线观看亚洲天堂| 精品国产老师黑色丝袜高跟鞋| 亚洲 欧美 视频| 欧美日韩国产色视频| 久久国产视频精品| 色综合久久综合中文综合网| 一级黄色免费网站| 日韩欧美中文字幕在线播放| 久久国产视频一区| 色吊一区二区三区| 中文字幕在线观看视频一区| 欧美午夜精品免费| 97人妻一区二区精品免费视频 | 欧美三级午夜理伦三级富婆| 日韩vs国产vs欧美| 色婷婷狠狠18| 国产一区二区视频在线| 日本美女久久久| 成人午夜视频在线| 巨胸大乳www视频免费观看| 国产清纯白嫩初高生在线观看91 | 同心难改在线观看| 亚洲人成电影网站色…| 伊人免费在线| 欧美国产日韩视频| 亚洲女同志freevdieo| 国产精品男女猛烈高潮激情| 亚洲欧美久久精品| 国产富婆一区二区三区| 蜜乳av综合| 大桥未久一区二区三区| 精品电影一区| 好男人www社区| 国产一区二区毛片| 亚洲欧美色图视频| 中文字幕人成不卡一区| 国产真人真事毛片| 欧美色男人天堂| 亚洲精品国产精| 亚洲偷熟乱区亚洲香蕉av| a视频在线免费看| 欧美一区二区色| 久久丁香四色| 日本在线播放不卡| 欧美日韩免费观看一区=区三区| 国产特级黄色大片| 国产一区二区三区国产| 国产中文字幕一区二区| 亚洲特级片在线| 国产亚洲欧美在线精品| 日韩精品一区在线| 国产在线视频福利| 久久久中精品2020中文| 欧美性www| 美日韩免费视频| 欧美精品18| 天天干天天综合| 26uuu国产日韩综合| 国产suv一区二区三区| 色综合天天性综合| 免费的黄色av| 久久综合网hezyo| 香蕉成人av| 国产精品一区二区三区在线 | 999精品视频在这里| 亚洲高清在线观看一区| 一区二区毛片| 伊人av在线播放| 国产精品福利一区| 免费看一级视频| 亚洲激情中文字幕| 色噜噜狠狠狠综合欧洲色8| 国产精品免费小视频| 免费黄色成人| 青青草成人免费在线视频| 国产一区二区三区免费| 精品伦精品一区二区三区视频密桃| 天天色图综合网| 亚洲国产精品18久久久久久| 久久人人爽人人爽爽久久| 成人黄色图片网站| 欧美日韩一区二区三区在线视频 | 日韩伦理在线电影| 国产精品99久久久久久人 | 国产一区二区成人| 中文字幕 在线观看| 国产一区二区三区高清| 国产精品vip| 亚洲成人精品在线播放| 亚洲精选一二三| 国产日本精品视频| 久久伊人91精品综合网站| 久久亚洲国产精品尤物| 午夜午夜精品一区二区三区文| 麻豆成人在线| 人人妻人人澡人人爽| 日本韩国一区二区三区视频| 日韩一二三四| 国产v综合ⅴ日韩v欧美大片| 欧美欧美黄在线二区| 成人在线看视频| 国产欧美精品一区二区色综合| 波多野结衣在线观看视频| 一本大道亚洲视频| 国产精品久久久久久久久久齐齐| 欧美专区一二三 | 国产伦理在线观看| 一区二区三区高清不卡| 成人久久久精品国产乱码一区二区| 欧美精品久久久久久久久久| 大奶在线精品| 国产在线青青草| 欧美激情中文字幕一区二区| 亚洲无码精品在线观看| 欧美久久精品午夜青青大伊人| 精品视频在线一区| 日韩黄色短视频| 91色视频在线| 中文人妻熟女乱又乱精品| 久久久999国产| 97se亚洲| 国产1区2区在线| 国产精品毛片久久久久久久| 国产喷水福利在线视频| 久久久噜久噜久久综合| 亚洲免费观看高清完整版在线观| 日本新janpanese乱熟| 国产精品久久久久久久久免费桃花 | 欧美成人精品3d动漫h| 欧美在线极品| 一区二区三区电影| 成人免费视频一区| 国产美女www| 欧美夫妻性生活xx| 九九热爱视频精品视频| 欧美一级视频在线| 亚洲国产精品一区二区www| 国产三级视频在线播放线观看| 成人黄色av网| 99精品国产在热久久婷婷| 美国黑人一级大黄| 日韩欧美激情在线| 免费电影日韩网站| 中文字幕乱码免费| 国产视频一区二区在线| 国产激情无套内精对白视频| 啪一啪鲁一鲁2019在线视频| 亚洲精品成人影院| 巨胸大乳www视频免费观看| 制服视频三区第一页精品| 中文在线免费视频| 国产激情片在线观看| 欧美激情综合网| 视频在线不卡| aaa级精品久久久国产片| 麻豆精品视频在线| 国产免费av一区| 国产69精品久久久久99|