在 Android 中,可以使用 SQLiteOpenHelper 类来管理 SQLite 数据库。下面是一个示例代码,演示了如何使用这个类来插入数据到 SQLite 数据库中,并测试了插入性能。
首先,创建一个名为 DBHelper 的类,继承自 SQLiteOpenHelper 类:
public class DBHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "mydatabase.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 mytable (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS mytable");
onCreate(db);
}
public void insertData(String name) {
SQLiteDatabase db = getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", name);
db.insert("mytable", null, values);
db.close();
}
}
接下来,在你的 Activity 或 Fragment 中使用 DBHelper 类来插入数据:
public class MainActivity extends AppCompatActivity {
private DBHelper dbHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dbHelper = new DBHelper(this);
// 测试插入性能
long startTime = System.nanoTime();
for (int i = 0; i < 1000; i++) {
dbHelper.insertData("Item " + i);
}
long endTime = System.nanoTime();
long duration = (endTime - startTime) / 1000000; // 转换为毫秒
Log.d("Performance", "插入耗时:" + duration + " 毫秒");
}
}
在上面的代码中,我们在 onCreate 方法中通过循环调用 insertData 方法插入了 1000 条数据,并记录了插入所需的时间。你可以根据实际需求修改插入的数据量。
通过这种方式,你可以测试并比较不同插入操作的性能,优化你的 SQLite 插入操作。