android studio sqlite数据显示在listview具体代码
时间: 2023-06-01 18:05:24 浏览: 174
抱歉,我可以回答您的问题。以下是一个示例代码,帮助在 Android Studio 中使用 SQLite 数据库将数据显示在 ListView 上:
1. 定义 SQLiteOpenHelper 类
public class SqliteHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "my_db";
private static final int DATABASE_VERSION = 1;
public SqliteHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_TABLE =
"CREATE TABLE my_table ( " +
"id INTEGER PRIMARY KEY AUTOINCREMENT, " +
"name TEXT, " +
"age INTEGER )";
db.execSQL(CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String DROP_TABLE = "DROP TABLE IF EXISTS my_table";
db.execSQL(DROP_TABLE);
this.onCreate(db);
}
}
2. 在 Activity 中使用 SQLiteOpenHelper
public class MainActivity extends AppCompatActivity {
private SqliteHelper dbHelper;
private ListView listView;
private ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dbHelper = new SqliteHelper(this);
listView = (ListView)findViewById(R.id.listView);
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1);
listView.setAdapter(adapter);
SQLiteDatabase db = dbHelper.getWritableDatabase();
Cursor cursor = db.rawQuery("SELECT * from my_table", null);
if (cursor.moveToFirst()) {
do {
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
adapter.add("Name: " + name + ", Age: " + age);
} while (cursor.moveToNext());
}
cursor.close();
db.close();
}
}
在这个示例代码中,我们首先定义了 SqliteHelper 类,这是一个 SQLiteOpenHelper 的子类。我们在 onCreate() 中创建了一个名为 my_table 的表格,并在 onUpgrade() 中定义了如何升级我们的数据库。
然后,在 MainActivity 中,我们使用 SqliteHelper 类创建了一个 SQLiteDatabase 对象,并使用 Cursor 对象从 my_table 表格中获取数据。最后,我们使用 ArrayAdapter 将数据添加到 ListView 中。
希望这个示例代码可以帮助您实现在 Android Studio 中使用 SQLite 数据库将数据显示在 ListView 上。
阅读全文