android的fragment怎么将数据插入数据库
时间: 2023-10-29 14:04:25 浏览: 44
要将数据插入数据库,需要使用SQLite数据库。在Fragment中,可以使用如下代码将数据插入数据库:
1. 首先,创建一个SQLiteOpenHelper的子类,用于创建和升级数据库。在onCreate()方法中创建表。
```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) {
String CREATE_TABLE = "CREATE TABLE mytable (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)";
db.execSQL(CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String DROP_TABLE = "DROP TABLE IF EXISTS mytable";
db.execSQL(DROP_TABLE);
onCreate(db);
}
}
```
2. 在Fragment中,使用DBHelper创建或获取数据库实例,并执行insert语句。
```java
public class MyFragment extends Fragment {
private DBHelper dbHelper;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_layout, container, false);
dbHelper = new DBHelper(getActivity());
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", "Tom");
long id = db.insert("mytable", null, values);
Log.d("TAG", "insert id: " + id);
db.close();
return view;
}
}
```
在上述代码中,先通过DBHelper获取数据库实例,然后创建ContentValues对象,将要插入的数据存入ContentValues对象中,最后执行insert语句将数据插入数据库。注意,在使用完数据库后,需要关闭数据库连接。