<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                SQLite數據庫之SQLiteOpenHelper與SQLiteDatabase Email:chentravelling@163.com 在前面一章節:《[SQLite數據庫的創建和操作、SQLite數據庫可視化](http://blog.csdn.net/chentravelling/article/details/50339433)》中,我已經使用過SQLiteOpenHelper類和SQLiteDatabase類,也正是因為這兩個類,使得android系統的數據庫服務非常方便。本文重在記錄這兩個類的區別以及個人理解。 SQLiteOpenHelper類是SQLiteDatabase類的一個幫助類,什么叫幫助類?就是通過SQLiteOpenHelper實現對數據庫的創建、更新功能,而由SQLiteDatabase實現對數據的直接操作:增刪改查。 環境: IDE:Android Studio JDK:1.8 系統:win7 64位 1、SQLiteOpenHelper類的使用: (1)數據庫創建:新建AddressDAO類,繼承SQLiteOpenHelper,重寫構造函數即可: 創建address_db數據庫 ~~~ public class AddressDAO extends SQLiteOpenHelper{ public AddressDAO(Context context) { super(context,"address_db",null,1); } } (2)創建表:重寫onCreate()方法即可:創建people表 ~~~ ~~~ </pre><pre name="code" class="java">@Override public void onCreate(SQLiteDatabase db) { Log.e("onCreate", "create"); String sql = "CREATE TABLE IF NOT EXISTS people(id integer primary key autoincrement,name text,phone text,workplace text,gender integer);"; db.execSQL(sql); } ~~~ String sql = 。。。這個完全按照標準的SQL語句寫即可。當然如果使用SQLiteDatabase封裝的方法也可以,只是本人不是很喜歡用。 ~~~ (3)數據庫升級:<span style="font-family: Arial, Helvetica, sans-serif;">重寫onUpgrade()即可:</span> ~~~ ~~~ //當數據庫升級的時候,Android系統會自動調用onUpgrade方法 @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { String sql = "DROP TABLE IF EXISTS address_db"; db.execSQL(sql); onCreate(db); } ~~~ 所以這段完整代碼使用SQLiteOpenHelper完成了數據庫的創建、表的創建、數據庫升級,當然都需要有一個關閉數據庫的功能。 ~~~ public class AddressDAO extends SQLiteOpenHelper{ private SQLiteDatabase db; public AddressDAO(Context context) { super(context,"address_db",null,1); } //創建數據庫 @Override public void onCreate(SQLiteDatabase db) { Log.e("onCreate", "create"); String sql = "CREATE TABLE IF NOT EXISTS people(id integer primary key autoincrement,name text,phone text,workplace text,gender integer);"; db.execSQL(sql); } //當數據庫升級的時候,Android系統會自動調用onUpgrade方法 @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { String sql = "DROP TABLE IF EXISTS address_db"; db.execSQL(sql); onCreate(db); } //關閉數據庫服務 public void closeDB(SQLiteDatabase db) { if(db!=null) { db.close(); } } //... } ~~~ 2、在前面我們就已經使用過SQLiteDatabase對象了:db,這個類主要完成對數據的基本操作、執行SQL語句等等首先我們要使用**SQLiteDatabase**對象需要通過SQLiteOpenHelper.getWritableDatabase()或者getReadeableDatabase()方法獲取,前者獲取寫入后者獲取讀出的SQLiteDatabase對象 比如插入數據 ~~~ //插入數據 public void add() { String sql = "insert into people values(null,'張亞茹','13716762131','北京','0');"; //獲取SQLiteDatabase對象 db = this.getWritableDatabase(); db.execSQL(sql); } ~~~ ~~~ <span style="font-family: Arial, Helvetica, sans-serif;"> </span> ~~~ ~~~ <span style="font-family: Arial, Helvetica, sans-serif;">OK,最近幾天學習android寫BLOG發現好難寫,自己理解清楚了或者沒理解清楚,要寫出來都是一件很痛苦的事情,要寫清楚明白,更是痛苦。</span> ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看