如何在fragment中调用sqlite中并用setText显示数据
时间: 2024-02-21 16:57:53 浏览: 41
在Fragment中调用SQLite,需要先创建一个SQLiteOpenHelper类,并在该类中实现数据库的创建和升级。然后在Fragment中实例化该类,并调用其getReadableDatabase()或getWritableDatabase()方法获取数据库对象。通过该对象可以执行SQL查询语句,并获取查询结果,最后将结果显示在TextView上。
以下是一个示例代码:
```java
public class MyFragment extends Fragment {
private TextView textView;
private SQLiteDatabase db;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_my, container, false);
textView = view.findViewById(R.id.text_view);
// 实例化 SQLiteOpenHelper
MyDatabaseHelper dbHelper = new MyDatabaseHelper(getActivity(), "mydb.db", null, 1);
// 获取可读数据库对象
db = dbHelper.getReadableDatabase();
// 查询数据
Cursor cursor = db.rawQuery("select * from mytable", null);
StringBuilder builder = new StringBuilder();
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
builder.append("Name: ").append(name).append(", Age: ").append(age).append("\n");
}
cursor.close();
// 将结果显示在TextView上
textView.setText(builder.toString());
return view;
}
@Override
public void onDestroy() {
super.onDestroy();
// 关闭数据库
db.close();
}
}
```
在该示例中,我们首先实例化了一个SQLiteOpenHelper类,然后获取可读数据库对象。接着执行了一条SQL查询语句,并将查询结果构造成一个字符串,最后将结果显示在TextView上。注意,在Fragment的onDestroy()方法中需要关闭数据库对象。