2011-09-13 6 views
2

だから、私のアプリはほとんど準備ができている。私は、データベースのアップグレードがどのように機能するのかをいつ更新するのか、不思議に思っています。データベースのアップグレードを後のバージョンで正常に処理するにはどうすればよいですか?

基本的にはクイズであり、質問の追加や削除を行い、ユーザーの個人情報を保持する必要があります。いくつの正しい答えと間違った答えがあるのか​​など。

これは、私が新しい質問を削除したり、追加したり、構造を変更するときにさらに悪いと思っていると思うときには少し複雑になります。

今はこのコードについて心配する必要がありますか?私は、私のアプリケーションの2番目のリリースは、更新コードを含むことができると思っています。これにより、初期のアプリを早期にリリースし、バックグラウンドでのアップグレードについて心配することができます。

これは可能ですか?または、のようにアップグレードコードを持っていなければなりません。

答えて

3

今はSQLiteOpenHelperを使用してください。onUpgrade() -codeについては後で心配することができます。

このメソッドは、データベースのバージョン番号を増やすと実行されます。あなたはあなたのアップデートをそこで扱い/管理することができます。


初期バージョン番号はconstructorに渡されます。

また、(onUpgrade() -methodに渡される)SQLiteDatabase -objectの対応するメソッドを使用して設定/取得することができます:setVersion()getVersion()

+0

あなたの素早い返信をありがとう。私は現時点では、データベースが作成されているかどうかを確認するために、SQLiteOpenHelperを使用しています。バージョン番号を指定するにはどうしたらいいですか?アップグレードすると、新しいバージョンでその番号を変更するだけですか? – Somk

+0

私の投稿を更新し、さらに情報を追加しました。 –

1

は基本的にSQLiteOpenHelper.onUpgrade()目的は、変更を行うために、プログラマの可能性を与えることですデータベースのバージョン番号が変更されたときにデータベースに追加します。ほとんどの場合、データベース/テーブルスキーム/構造の変更に関連する可能性があります。それにもかかわらず、あなたがSQLiteOpenHelper.onUpgrade()データベースの内容を変更して処理する場合は間違ったことはありません。

DBコンテンツがユーザーによって即時に変更されるため、別のアプローチを選択しました。リソースXMLファイル(kinda templates.xml)に利用可能なプライマリデータに関する基本情報(ケースクイズなど)とプライマリデータをDBにアップロードするだけです。だから同じことをすることができます

関連する問題