Android中資料庫升級,Android資料庫升級

來源:互聯網
上載者:User

Android中資料庫升級,Android資料庫升級

public class MySQLiteHelper extends SQLiteOpenHelper {            public static final String <span style="font-family: Arial, Helvetica, sans-serif;">SQL_CREATE</span><span style="font-family: Arial, Helvetica, sans-serif;">= "create table news ("  </span>            + "_id integer primary key autoincrement, "              + "nametext, "              + "agetext, )";        public MySQLiteHelper(Context context, String name, CursorFactory factory,              int version) {          super(context, name, factory, version);      }        @Override      public void onCreate(SQLiteDatabase db) {          db.execSQL(SQL_CREATE);     }        @Override      public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {      }    } 
當我們如上建立了個SQLiteHelper,我們知道會在本地的目錄database中產生了個.db資料庫檔案! 可是我們遇到版本迭代往往要做更多的事情 這時候的會再建立個新的資料庫
這時候我們編譯完成之後發現沒有在database相對應的目錄下產生一個相對應的表。當然我們在調試代碼的時候可以清楚應用資料這樣重新啟動並執行時候會把onCreate方法再次執行一次那當然就會把未產生成功的表產生出來,可以在使用者迭代更新應用的時候總不能每次都清楚資料是吧! 所以:
<pre name="code" class="java">@Override  public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {    onCreate(db);  } 
主要思路就是更新version,就是說你使用者現有裝的app上version是1的時候,在迭代版本更新的時候要更新version為>1的值 這樣我們在new MySQLiteHelper() 的時候就會執行onUpgrade()方法,然後在在該方法中寫入相對應的操作就會在database下生產相對應的表而不需要使用者去清除應用的資料。


當然這種方法有一個很嚴重的弊端就是  可能我們在發布版本的時候忘記修改該version導致無法操作資料引起一系列不可收拾的bug。 所以推薦使用LitePal開源庫進行對資料庫操作!詳情可見  <a target=_blank href="http://http://blog.csdn.net/guolin_blog/article/details/39151617">點擊開啟連結</a>

相關文章

Alibaba Cloud 10 Year Anniversary

With You, We are Shaping a Digital World, 2009-2019

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。