在Android Studio中,可以通过以下步骤从CalendarView中获取年、月、日的int值,并将其保存到SQLite数据库中:
<CalendarView
android:id="@+id/calendarView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/saveButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="保存" />
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CalendarView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private CalendarView calendarView;
private Button saveButton;
private SQLiteOpenHelper dbHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
calendarView = findViewById(R.id.calendarView);
saveButton = findViewById(R.id.saveButton);
dbHelper = new MyDatabaseHelper(this);
calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(@NonNull CalendarView view, int year, int month, int dayOfMonth) {
// 在这里获取选中的日期
Toast.makeText(MainActivity.this, "选中日期:" + year + "-" + (month + 1) + "-" + dayOfMonth, Toast.LENGTH_SHORT).show();
}
});
saveButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 在这里将选中的日期保存到SQLite数据库中
SQLiteDatabase db = dbHelper.getWritableDatabase();
// 执行插入操作
// ...
Toast.makeText(MainActivity.this, "保存成功", Toast.LENGTH_SHORT).show();
}
});
}
}
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class MyDatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "my_database.db";
private static final int DATABASE_VERSION = 1;
public MyDatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 创建表格的SQL语句
String createTableSql = "CREATE TABLE IF NOT EXISTS my_table (id INTEGER PRIMARY KEY AUTOINCREMENT, date TEXT)";
db.execSQL(createTableSql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 数据库升级时的操作,例如删除旧表格并创建新表格
String dropTableSql = "DROP TABLE IF EXISTS my_table";
db.execSQL(dropTableSql);
onCreate(db);
}
}
这样,当用户选择日期后,点击保存按钮,选中的日期就会被保存到SQLite数据库中。请注意,上述代码只是一个示例,实际开发中可能需要根据需求进行适当修改和完善。
领取专属 10元无门槛券
手把手带您无忧上云