成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android之SQLiteOpenHelper應用

移動開發 Android
SQliteOpenHelper是一個抽象類,來管理數據庫的創建和版本的管理。要使用它必須實現它的nCreate(SQLiteDatabase),onUpgrade(SQLiteDatabase, int, int)方法

1.SQLiteOpenHelper

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

  onCreate:當數據庫***次被建立的時候被執行,例如創建表,初始化數據等。

  onUpgrade:當數據庫需要被更新的時候執行,例如刪除久表,創建新表。

2.實現代碼

  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.     //數據庫版本   
  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的類,它封裝了一些操作數據庫的API。使用它能實現基本的CRUD操作,通過getWritableDatabase()和getReadableDatabase()可以獲取數據庫實例。

4.實現代碼

 

  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. //     * 新建一個數據庫   
  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.      * 插入數據  
  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.      * 更新數據  
  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.      * 刪除數據  
  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.      * 打開數據庫  
  148.      */   
  149.     public void OpenDb(){   
  150.         dbHelper = new DBHelper(this"TestDb01");   
  151.         db = dbHelper.getWritableDatabase();   
  152.     }   
  153.        
  154.     /**  
  155.      * 關閉數據庫  
  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 進入命令模式

  5.2 cd 文件名 進入文件

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

  5.4 sqlite3 數據庫名 進入數據庫

  5.5 .schema 查看數據庫下的信息

  5.6 ctrl+d 退出sqlite模式

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

責任編輯:chenqingxiang 來源: oschina
相關推薦

2015-02-27 16:35:13

智能農業Android界面

2015-02-03 14:45:55

android全局異常

2012-04-25 21:54:09

Android

2014-03-06 13:26:49

動畫資源Animation R

2015-02-11 17:49:35

Android源碼自定義控件

2015-02-28 15:15:47

插件Android桌面插件

2013-05-20 17:51:47

Android游戲開發SurfaceView

2013-05-20 17:13:17

Android游戲開發CanvasPaint

2013-07-25 15:05:00

Android模擬器Genymotion

2015-03-30 14:24:06

網易布局

2021-08-11 17:15:17

AndroidActivity場景

2013-09-02 16:13:56

API應用資源

2013-08-05 17:25:40

windows

2011-08-10 10:10:21

iPhoneUIPopoverCo

2011-03-08 16:30:24

Proftpd

2011-03-25 11:06:46

2014-04-29 14:08:40

OpenGL ESAndroid應用投影

2011-02-16 14:15:58

FringAndroid應用iOS應用

2012-05-23 13:00:37

HTML5

2020-11-10 11:58:17

鴻蒙應用開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成人精品午夜 | 国产精品国产a级 | 欧美日韩视频在线播放 | 亚洲一区在线日韩在线深爱 | 99久久婷婷| 男人天堂网址 | 日本精品在线播放 | 亚洲精品自在在线观看 | 在线a视频网站 | 日本精品一区二区三区视频 | 日韩国产中文字幕 | 在线成人免费视频 | 国产免费一区二区三区最新6 | 国产成人一区二区 | 一级黄色片在线免费观看 | 色综合视频| 人人叉| 国产精品一区二区av | 999久久久免费精品国产 | 激情五月婷婷在线 | 五月综合激情在线 | 日韩一二区| 精品在线一区 | 欧美视频 | 激情伊人网 | 亚洲欧美激情国产综合久久久 | 天天摸天天干 | 日本a v在线播放 | 国产精久久久久久久 | 亚洲成人黄色 | 亚洲欧美日韩在线一区二区 | 1区2区视频| 黄网站涩免费蜜桃网站 | 亚洲va在线va天堂va狼色在线 | 一区二区三区免费 | 亚洲精品片 | 91久久精品国产免费一区 | 国产美女在线观看 | 欧美视频成人 | 国产精品一区二区av | 毛片视频免费 |