AndroidSQLiteデータベースの紹介



ブログはAndroidSQLiteデータベースの紹介を提供します

PowerBIでダッシュボードを作成する方法

AndroidSQLiteデータベースの紹介

Android SQLiteデータベースは、すべてのAndroidデバイスで使用できるメモリをほとんど必要としません(約250kb)。すべてのデバイスにはSQLiteデータベースのサポートが組み込まれており、作成、実行、クエリの実行まで、Android上で自動的に管理されます。





SQLiteはオープンソースデータベースであり、すべてのAndroidデータベースで利用できます。 SQL構文、トランザクション、SQLステートメントなどの標準的なリレーショナルデータベース機能をサポートします。 SQLiteはかなり軽量なバージョンのSQLデータベースであり、ほとんどのSQLコマンドはSQLiteデータベースでは実行されません。 SQLiteを配置したら、機能またはコマンドがSQLiteでのみ使用可能であり、実行できるようにすることが重要です。

SQLiteの基本的な利点:



  • 軽量のデータベースです
  • 必要なメモリはごくわずかです
  • 自動管理されたデータベース

SQLiteは3つのデータ型のみをサポートします。

  • テキスト(文字列など)–データ型ストアを格納するため
  • 整数(intなど)–整数の主キーを格納するため
  • Real(doubleのように)-長い値を格納するため

基本的に、SQLiteはそれ自体ではデータ型を検証しません。つまり、使用されるデータ型が何であれ、それらは有効と呼ばれます。

たとえば、この場合、ケーブル事業者のデータベースが議論されています。ここでは、名前フィールドに「text」が含まれ、「textfield」が含まれるフィールド名ボックスに新しいテーブルが追加されています。ランダムな値のデータ型が作成されました。最終結果は、無効なデータ型を持つテストテーブルです。これは、SQLiteがデータ型を検証しないことを示しています。



*パッケージをクリックし、データフォルダからファイルが含まれているデータベースフォルダにアクセスすると、データベースを見つけることができます。

注:SQLiteOpen Helperクラスは、データベースの作成とバージョン管理を管理するために使用されます。

ユーザーの質問:

dbバージョンの結果の変更は、オブジェクトのSQLiteバージョンの変更ですか?

一方はデータベースの作成/更新を処理し、もう一方はデータベースのテーブルに保持されているデータを再生しているため、オブジェクトのSQLiteバージョンに変更はありません。これにより、依存関係はまったくありません。

戻ってきて、SQLiteopenHelperクラスを拡張すると、このクラスのOncreateメソッドとOnUpgradeメソッドが上書きされます。 SQLiteデータベースにアクセスすると、クエリの複雑さによっては遅くなることがあります。 SQLクエリの実行時に、影響を最小限に抑えたり、再帰で実行されるクエリを回避したりすることを常にお勧めします。またですデータベースを同期的に実行することをお勧めします。これらのメソッドは、フレームワークによって自動的に処理または呼び出されます。また、DBバージョンを増やすと、自動的にonUpgradeが呼び出されることに注意する必要があります。

SQLiteオープンヘルパークラスについて話すときはいつでも、そのデータベース名とバージョンが拡張クラスのコンストラクターに渡されます。

ここでは、2つのことを考慮に入れる必要があります。

マージソートc ++アルゴリズム
  • データベースが存在しない場合は、OnCreate()メソッドが呼び出されます。
  • データベースのバージョンが更新されると、OnUpgrade()メソッドが呼び出されます。

SQLiteオープンヘルパークラスは、コンストラクターで名前とバージョンを提供します。 getwriteabledatabase()が呼び出され、データベースが存在しない場合はOnCreateになります。データベースが存在し、バージョンが更新されている場合は、OnUpgrade()が呼び出されます。

これらのメソッドはdbのfirstcallにありますか?

例を見てみましょう。アプリケーションをインストールすると、OnCreateが作成され、メソッドapkがGooglePlayストアにアップロードされます。最新バージョンのapkがダウンロードされると、すでにインストールされているデータベースがチェックされます。それがより高いバージョンを持っている場合、それはアップグレードを呼び出します、そうでない場合、それは何もしません。

ユーザーの質問

dbバージョンをアップグレードするにはユーザー権限が必要ですか?

いいえ、許可を求める必要がないアプリケーションリソースに取り組んでいるため、許可は必要ありません。

ユーザーの質問

pl / sql例外処理

user1が私のアプリケーションをインストールし、それがDBのアップグレードされたバージョンであり、その後user2が新しいアプリケーションをインストールし、user1がアプリをアップグレードしている場合。このようなシナリオで、バージョンアップグレードのuser1が呼び出され、user2のcreateメソッドが呼び出された場合、すべてのメソッドはandroidからのものですか?

はい、デバイスにまだインストールされているバージョンがないためです。以前のバージョンがデバイスにインストールされていない限り、問題はありません。フレームワークの処理と非常によく似ています。

ユーザーの質問

SQLiteデータベースオブジェクトを使用できますか?私のデータベース名に対立別のデータベース名オブジェクトで?

データベースはアプリケーションのパッケージ名に存在するため、問題ではありません。同じ名前のサブフォルダーが作成されている場合でも、競合することはありません。これはルートレベルでのみ重要であり、ルートレベルの処理はパッケージ名を使用して行われます。同じパッケージ名で2つのアプリケーションを使用することはできませんが、異なるパッケージで2つの異なるデータベース名を使用することはできます。 SQLiteデータベースは、オブジェクトを使用して、データベース操作の更新、削除、挿入、クエリ、およびクローズとオープンを処理します。

質問がありますか?コメントセクションでそれらに言及してください。折り返しご連絡いたします。

関連記事: