Dateierweiterungen für SQLite-Datenbankdateien

Junaid Khan 12 Oktober 2023
  1. SQLite-Datenbankdateierweiterungen
  2. Tools zum Zugreifen auf oder Ändern der SQLite-Datenbankerweiterung
  3. Zeigen Sie die SQLite-Datenbank mit Android an
  4. Erstellen Sie eine SQLite-Datenbankdatei mit einer Erweiterung
Dateierweiterungen für SQLite-Datenbankdateien

In einem Android-Betriebssystem verwenden wir die SQLite-Datenbank, um die Daten lokal zu speichern. SQLite ist eine Open-Source-Datenbank, in der wir Benutzerdaten lokal auf dem Telefon erstellen, lesen, aktualisieren und löschen können. Diese Datenbank ist jederzeit verfügbar, wenn Sie die Datenbank verwenden möchten. In SQLite werden die Daten in Form von Tabellen gespeichert. Diese Tabellen sehen ähnlich aus wie der Excel-Tabellenstil. Auf einem lokalen Gerät werden die Dateien in verschiedenen Dateierweiterungen auf dem Telefon gespeichert.

SQLite-Datenbankdateierweiterungen

Es ist nicht erforderlich, eine bestimmte Dateierweiterung für SQLite-Datenbanken zu verwenden. Wir können jede beliebige Dateierweiterung verwenden; Es ist die persönliche Entscheidung des Entwicklers, die gewünschte Erweiterung zu verwenden.

Meist verwenden die Entwickler Dateierweiterungen ähnlich dem Datenbankschema; Beispielsweise verwenden wir das Datenbankschema als Dateierweiterung oder -format. Wenn wir also die Protokolle von Dateien speichern, speichern wir sie mit einer .logs-Erweiterung oder .index zum Speichern der Indexinformationen.

Wenn ein Entwickler eine allgemeine Dateierweiterung verwenden möchte, wird der gebräuchlichste Name .sqlite3 verwendet. Es zeigt die Version von SQLite, die mit der Datenbank verwendet wird.

Szenariodiskussion für die SQLite-Dateierweiterung

Angenommen, ein Unternehmen entwickelt vertreibbare Software, die es Kunden nicht erlaubt, mit der Datenbank zu interagieren oder irgendetwas damit zu tun. Dann gibt es einen Grund, die Datenbankdateierweiterung mit .db zu benennen, weil der Benutzer möglicherweise mit der Datenbank interagieren möchte, um eine Sicherungskopie der Datenbank zu erstellen.

Wenn die Dateierweiterung in diesem Fall .sqlite oder .anything ist, kann der Benutzer möglicherweise die Datenbank ändern oder durcheinander bringen, was dazu führen kann, dass die Datenbank beschädigt wird. Es hängt also vom Szenario ab, in welchem ​​Typ der Dateierweiterung wird für die SQLite-Datenbank verwendet.

Tools zum Zugreifen auf oder Ändern der SQLite-Datenbankerweiterung

Für Standard-SQLite-Dateierweiterungen verwendet SQLiteStudio verschiedene Dateiformate, um auf die Daten zuzugreifen oder sie zu ändern. Dieses Dateiformat enthält db|sdb|sqlite|db3|s3db|sqlite3|sl3|db2|s2db|sqlite2|sl2), das standardmäßig für Entwicklungs- und Bereitstellungszwecke verwendet wird.

Daher ist ein bestimmtes Format für die SQLite-Datenbank erforderlich, wenn wir ein Tool verwenden. Welches Tool Sie auch verwenden, lassen Sie das Tool die Dateierweiterung für die SQLite-Datenbank bestimmen.

Wenn wir die SQLite-Datenbankdatei auf einem Android-Telefon öffnen, spielt es keine Rolle, welche Dateierweiterung verwendet wird. Das Android-Telefon findet die Datenbank, und der Benutzer kann sie einfach anzeigen, ohne sich um die richtige Dateierweiterung kümmern zu müssen.

Der Unterschied zeigt sich, wenn wir die Datenbankdatei auf ein beliebiges Laufwerk kopieren oder verschieben, um die SQLite-Datenbank auf dem Betriebssystem anzuzeigen, muss das Tool die richtige Dateierweiterung kennen. Wenn die Datenbank keine Dateierweiterung oder sogar eine falsche Dateierweiterung hat, kann das Tool die Datenbankdatei nicht öffnen.

Wenn Sie also ein Tool wie SQLite Studio verwenden, kann das Tool die Datenbankdatei ohne die Erweiterung .db nicht identifizieren.

Wenn wir eine SQLite-Datenbank aus einer Android-Anwendung erstellen, erstellt sie die Datenbankdatei auf dem Telefon, ohne sich Gedanken über die Dateierweiterung machen zu müssen, da das Datenbank-Header-Format Informationen wie SQLite format 3\000 enthält, um anzuzeigen, dass es sich um eine SQLite-Datenbankdatei handelt. Wir benötigen nur das SQLite-Datenbankformat für Menschen oder ein Betriebssystem, um die Datei korrekt zu erkennen.

Zeigen Sie die SQLite-Datenbank mit Android an

Zunächst müssen wir ein Projekt mit einem Android Studio erstellen oder ein Projekt in Android Studio öffnen, das bereits über eine SQLite-Datenbankverbindung verfügt. Die SQLite-Datenbank sollte einige Datensätze enthalten.

Als nächstes verbinden Sie ein Android-Gerät mit dem Android-Studio, indem Sie den Debugging-Modus in den Entwicklereinstellungen auf dem Telefon aktivieren. Sobald das Gerät erfolgreich verbunden ist, zeigt das Android Studio den Namen des Telefons im Editor an.

Klicken Sie dann unten rechts im Android Studio auf Device File Explorer. Suchen Sie im Explorer nach dem Namen Ihres Anwendungspakets.

Innerhalb des Paketnamens sehen Sie die Datenbankdatei mit der Erweiterung .sqlite. Um die SQLite-Datenbankdatei anzuzeigen, müssen Sie die Datei herunterladen und im SQLite-Browser anzeigen.

Erstellen Sie eine SQLite-Datenbankdatei mit einer Erweiterung

Erstellen Sie .xml- und .java-Quelldateien, um Layout- bzw. Funktionsdateien zu erstellen.

Datei main_activity.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

	<Button
        android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
        android:id="@+id/createdb"
        android:text="Create Database">
    </Button>

</LinearLayout>

main_Activity.java-Datei:

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
  private Button createDB;
  private DBHandler dbHandler;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_activity);

    createDB = findViewById(R.id.createdb);
    dbHandler = new DBHandler(MainActivity.this);

    createDB.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        dbHandler.addNewEntry("Hello World");

        Toast
            .makeText(MainActivity.this, "A new text has been added to the SQLite database",
                Toast.LENGTH_SHORT)
            .show();
      }
    });
  }
}

DBHandler.java-Datei:

import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DBHandler extends SQLiteOpenHelper {
  private static final String DB_NAME = "newdb";
  private static final int DB_VERSION = 1;
  private static final String TABLE_NAME = "mytable";

  private static final String ID_COL = "id";
  private static final String WORD = "word";

  public DBHandler(Context context) {
    super(context, DB_NAME, null, DB_VERSION);
  }

  @Override
  public void onCreate(SQLiteDatabase db) {
    String query = "CREATE TABLE " + TABLE_NAME + " (" + ID_COL
        + " INTEGER PRIMARY KEY AUTOINCREMENT, " + WORD + " TEXT)";

    db.execSQL(query);
  }

  // this method is used to add a new course to our sqlite database.
  public void addNewCourse(String myword) {
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues values = new ContentValues();

    values.put(WORD, myword);
    db.insert(TABLE_NAME, null, values);

    db.close();
  }

  @Override
  public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
    onCreate(db);
  }
}
Junaid Khan avatar Junaid Khan avatar

Hi, I'm Junaid. I am a freelance software developer and a content writer. For the last 3 years, I have been working and coding with Python. Additionally, I have a huge interest in developing native and hybrid mobile applications.

LinkedIn