举个listview展示数据库的例子
时间: 2024-01-05 07:51:02 浏览: 64
好的,以下是一个使用ListView展示SQLite数据库中数据的例子:
1. 首先创建一个数据库帮助类,用来执行数据库操作:
```java
public class DBHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "mydb.db";
private static final int DATABASE_VERSION = 1;
public DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE IF NOT EXISTS person(_id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR, age INTEGER)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS person");
onCreate(db);
}
}
```
2. 在需要展示数据的Activity中,创建ListView并从数据库中查询数据:
```java
public class MainActivity extends AppCompatActivity {
private ListView listView;
private DBHelper dbHelper;
private SQLiteDatabase db;
private Cursor cursor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = findViewById(R.id.listView);
dbHelper = new DBHelper(this);
db = dbHelper.getWritableDatabase();
cursor = db.rawQuery("SELECT * FROM person", null);
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_2, cursor, new String[]{"name", "age"}, new int[]{android.R.id.text1, android.R.id.text2});
listView.setAdapter(adapter);
}
}
```
3. 在XML布局文件中创建ListView:
```xml
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
```
以上代码中,我们创建了一个名为person的数据表,其中有三个字段:_id、name、age,我们在MainActivty中从person表中查询所有的数据,并使用SimpleCursorAdapter将数据绑定在ListView上展示出来。
注意,如果你想运行这个例子,需要在AndroidManifest.xml文件中加入写数据库的权限:
```xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
```
阅读全文