在Android中,可以使用SQLite數據庫來存儲和查詢數據。以下是一個簡單的示例,演示如何查詢并顯示數據庫中的數據:
app/build.gradle
文件中添加SQLite依賴項:dependencies {
implementation 'androidx.sqlite:sqlite:2.1.0'
implementation 'androidx.sqlite:sqlite-framework:2.1.0'
}
DatabaseHelper
類來管理數據庫的創建和升級:import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "mydatabase.db";
private static final int DATABASE_VERSION = 1;
private static final String TABLE_NAME = "mytable";
private static final String COLUMN_ID = "id";
private static final String COLUMN_NAME = "name";
private static final String COLUMN_AGE = "age";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String createTableQuery = "CREATE TABLE " + TABLE_NAME + "("
+ COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
+ COLUMN_NAME + " TEXT,"
+ COLUMN_AGE + " INTEGER)";
db.execSQL(createTableQuery);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String dropTableQuery = "DROP TABLE IF EXISTS " + TABLE_NAME;
db.execSQL(dropTableQuery);
onCreate(db);
}
public Cursor getAllData() {
SQLiteDatabase db = this.getReadableDatabase();
return db.query(TABLE_NAME, null, null, null, null, null, null);
}
}
DatabaseHelper
類并查詢數據:import androidx.appcompat.app.AppCompatActivity;
import android.database.Cursor;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private TextView textViewData;
private DatabaseHelper databaseHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textViewData = findViewById(R.id.text_view_data);
databaseHelper = new DatabaseHelper(this);
Cursor cursor = databaseHelper.getAllData();
StringBuilder stringBuilder = new StringBuilder();
if (cursor.moveToFirst()) {
do {
String name = cursor.getString(cursor.getColumnIndex(DatabaseHelper.COLUMN_NAME));
int age = cursor.getInt(cursor.getColumnIndex(DatabaseHelper.COLUMN_AGE));
stringBuilder.append("Name: ").append(name).append(", Age: ").append(age).append("\n");
} while (cursor.moveToNext());
}
textViewData.setText(stringBuilder.toString());
cursor.close();
databaseHelper.close();
}
}
activity_main.xml
中添加一個TextView
控件用于顯示數據:<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"
android:padding="16dp">
<TextView
android:id="@+id/text_view_data"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
這樣,當應用程序啟動時,它將查詢數據庫并在TextView中顯示數據。請確保在查詢數據庫后關閉游標和數據庫連接,以避免資源泄漏。