SQLite 动态填充 Android 表格布局数据
在本文中,我们将介绍如何使用 SQLite 数据库动态填充 Android 表格布局的数据。Android 提供了 SQLite 数据库来存储和管理应用程序中的数据。表格布局是一种常用的用户界面布局,可以用来显示数据列表。通过动态填充数据,我们可以根据用户的需求和数据的变化,实时更新表格布局。
阅读更多:SQLite 教程
SQLite 数据库
SQLite 是一个轻量级的关系型数据库管理系统,适用于各种嵌入式平台和移动设备。它提供了一个简单的方法来创建、读取、更新和删除数据库中的数据。在 Android 开发中,SQLite 是默认的本地数据库解决方案。
下面是如何使用 SQLite 创建和管理数据库以及执行基本的 CRUD(增删改查)操作的示例:
// 创建数据库
SQLiteDatabase database = openOrCreateDatabase("myDatabase", Context.MODE_PRIVATE, null);
// 创建表格
String createTableQuery = "CREATE TABLE IF NOT EXISTS myTable (id INTEGER PRIMARY KEY, name TEXT)";
database.execSQL(createTableQuery);
// 插入数据
String insertQuery = "INSERT INTO myTable (name) VALUES ('John')";
database.execSQL(insertQuery);
// 查询数据
String selectQuery = "SELECT * FROM myTable";
Cursor cursor = database.rawQuery(selectQuery, null);
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
// 处理查询结果
}
// 更新数据
String updateQuery = "UPDATE myTable SET name = 'Alice' WHERE id = 1";
database.execSQL(updateQuery);
// 删除数据
String deleteQuery = "DELETE FROM myTable WHERE id = 1";
database.execSQL(deleteQuery);
// 关闭数据库连接
database.close();
通过上述示例,我们可以使用 SQLite 数据库创建名为 “myDatabase” 的数据库,并在其中创建名为 “myTable” 的表格。然后,我们可以执行插入、查询、更新和删除操作来处理数据。
动态填充 Android 表格布局
要动态填充 Android 表格布局的数据,我们需要先创建布局文件和相应的适配器。适配器用于将数据库中的数据转换为适合显示在表格布局中的视图。
以下是一个简单的示例,展示如何使用表格布局和适配器动态填充数据:
<!-- activity_main.xml -->
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android">
<TableRow>
<TextView
android:text="ID"
android:textStyle="bold"
android:padding="5dp" />
<TextView
android:text="Name"
android:textStyle="bold"
android:padding="5dp" />
</TableRow>
<!-- 使用适配器填充数据 -->
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</TableLayout>
// MainActivity.java
public class MainActivity extends AppCompatActivity {
private ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = findViewById(R.id.listView);
CustomAdapter adapter = new CustomAdapter(this, fetchDataFromDatabase());
listView.setAdapter(adapter);
}
private List<String> fetchDataFromDatabase() {
List<String> data = new ArrayList<>();
SQLiteDatabase database = openOrCreateDatabase("myDatabase", Context.MODE_PRIVATE, null);
String selectQuery = "SELECT * FROM myTable";
Cursor cursor = database.rawQuery(selectQuery, null);
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
data.add(id + " - " + name);
}
cursor.close();
database.close();
return data;
}
// 自定义适配器
private static class CustomAdapter extends ArrayAdapter<String> {
private Context context;
public CustomAdapter(Context context, List<String> data) {
super(context, 0, data);
this.context = context;
}
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(android.R.layout.simple_list_item_1, parent, false);
}
String item = getItem(position);
TextView textView = convertView.findViewById(android.R.id.text1);
textView.setText(item);
return convertView;
}
}
}
在这个示例中,我们创建了一个包含表格布局的主活动。通过自定义适配器,我们将从数据库中查询的数据转换为适合在表格布局中显示的字符串列表。然后,我们使用适配器将数据填充到 ListView 中。
总结
本文介绍了如何使用 SQLite 数据库动态填充 Android 表格布局的数据。通过使用 SQLite,我们可以创建和管理数据库,并执行各种操作,如插入、查询、更新和删除数据。通过使用适配器,我们可以将数据库中的数据转换为适合显示在表格布局中的视图。通过动态填充数据,我们可以实现用户界面的实时更新和数据的实时显示。
有了这些知识,您可以更好地利用 SQLite 数据库和表格布局来创建功能强大且交互性强的 Android 应用程序。希望本文对您有所帮助!