Android中数据库升级

Jun 07, 2016 pm 04:10 PM
android class public アップグレード データベース

public class MySQLiteHelper extends SQLiteOpenHelper { public static final String span style=font-family: Arial, Helvetica, sans-serif;SQL_CREATE/spanspan style=font-family: Arial, Helvetica, sans-serif;= create table news ( /span + _id in

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>
ログイン後にコピー
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

新しいレポートは、噂のSamsung Galaxy S25、Galaxy S25 Plus、Galaxy S25 Ultraのカメラアップグレードのひどい評価を提供します 新しいレポートは、噂のSamsung Galaxy S25、Galaxy S25 Plus、Galaxy S25 Ultraのカメラアップグレードのひどい評価を提供します Sep 12, 2024 pm 12:23 PM

ここ数日、Ice Universeは、サムスンの次期主力スマートフォンであると広く信じられているGalaxy S25 Ultraの詳細を着実に明らかにしている。とりわけ、リーカーはサムスンがカメラのアップグレードを1つだけ計画していると主張した

Samsung Galaxy S24 FEは、4色と2つのメモリオプションで予想よりも低価格で発売されると請求されています Samsung Galaxy S24 FEは、4色と2つのメモリオプションで予想よりも低価格で発売されると請求されています Sep 12, 2024 pm 09:21 PM

サムスンは、ファンエディション(FE)スマートフォンシリーズをいつアップデートするかについて、まだ何のヒントも提供していない。現時点では、Galaxy S23 FE は 2023 年 10 月初めに発表された同社の最新版のままです。

Xiaomi Redmi Note 14 Pro Plusは、Light Hunter 800カメラを搭載した初のQualcomm Snapdragon 7s Gen 3スマートフォンとして登場します Xiaomi Redmi Note 14 Pro Plusは、Light Hunter 800カメラを搭載した初のQualcomm Snapdragon 7s Gen 3スマートフォンとして登場します Sep 27, 2024 am 06:23 AM

Redmi Note 14 Pro Plusは、昨年のRedmi Note 13 Pro Plus(Amazonで現在375ドル)の直接の後継者として正式に発表されました。予想通り、Redmi Note 14 Pro Plusは、Redmi Note 14およびRedmi Note 14 Proと並んでRedmi Note 14シリーズをリードします。李

新しいレポートは、噂のSamsung Galaxy S25、Galaxy S25 Plus、Galaxy S25 Ultraのカメラアップグレードのひどい評価を提供します 新しいレポートは、噂のSamsung Galaxy S25、Galaxy S25 Plus、Galaxy S25 Ultraのカメラアップグレードのひどい評価を提供します Sep 12, 2024 pm 12:22 PM

ここ数日、Ice Universeは、サムスンの次期主力スマートフォンであると広く信じられているGalaxy S25 Ultraの詳細を着実に明らかにしている。とりわけ、リーカーはサムスンがカメラのアップグレードを1つだけ計画していると主張した

Oppo Find X8のデザインは、初期の画像ではApple iPhone 16 ProとOnePlus Openを組み合わせたように見えます Oppo Find X8のデザインは、初期の画像ではApple iPhone 16 ProとOnePlus Openを組み合わせたように見えます Sep 28, 2024 am 06:04 AM

歴史的に、Oppo は 2018 年 6 月に発表したオリジナルの Find X を除いて、冬の終わりか春の初めにフラッグシップの「Find X」シリーズを刷新してきました。そのため、Find X7 と Find X7 Ultra は発売からわずか 6 か月を超えています。この時点で。 H

Galaxy A16 5G:リークにより、Samsungの最も安価なGalaxy Aシリーズモデルの刷新を目的とした将来のリリースが明らかに Galaxy A16 5G:リークにより、Samsungの最も安価なGalaxy Aシリーズモデルの刷新を目的とした将来のリリースが明らかに Sep 12, 2024 pm 12:20 PM

新しいエントリーレベルのGalaxy Aシリーズスマートフォンの発売が近いうちに行われる可能性があるようだ。サムスンはまだ正式に何も発表していませんが、Android Headlines はすでに Galaxy A15 であると主張するもののレンダリング画像を公開しています。

Xiaomi Redmi Note 14、Redmi Note 14 Pro、Redmi Note 14 Pro Plusは、Gorilla Glass Victus 2とIP69認証でミッドレンジのスマートフォン市場を揺るがす Xiaomi Redmi Note 14、Redmi Note 14 Pro、Redmi Note 14 Pro Plusは、Gorilla Glass Victus 2とIP69認証でミッドレンジのスマートフォン市場を揺るがす Sep 24, 2024 pm 12:15 PM

Xiaomiは次期Redmi Noteスマートフォンの発売日を発表しました。予想通り、これらは 3 つの Redmi Note 14 シリーズ ハンドセットとして登場する予定です。より具体的には、同社はRedmi Note 14、Redmi Note 14 Pro、およびReをリリースする予定です。

MySQL:簡単な学習のためのシンプルな概念 MySQL:簡単な学習のためのシンプルな概念 Apr 10, 2025 am 09:29 AM

MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

See all articles