要返回当前日期上的所有已记录的锻炼,您可以使用Android的Room Persistence Library进行SQL查询。
首先,您需要创建一个锻炼实体类(Exercise)和一个锻炼数据访问对象(ExerciseDao)。
Exercise 实体类:
@Entity
public class Exercise {
@PrimaryKey(autoGenerate = true)
public int id;
public String name;
public String date;
// 构造函数、getter和setter方法省略
}
ExerciseDao 接口:
@Dao
public interface ExerciseDao {
@Query("SELECT * FROM exercise WHERE date = :currentDate")
List getExercisesByDate(String currentDate);
@Insert
void insertExercise(Exercise exercise);
}
接下来,在您的数据库类中定义一个抽象方法来获得ExerciseDao实例:
@Database(entities = {Exercise.class}, version = 1)
public abstract class AppDatabase extends RoomDatabase {
public abstract ExerciseDao exerciseDao();
}
然后,您可以在活动或其他地方执行以下步骤来查询当前日期上的所有已记录的锻炼:
// 初始化数据库
AppDatabase db = Room.databaseBuilder(getApplicationContext(), AppDatabase.class, "database-name").build();
// 获取当前日期
String currentDate = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(new Date());
// 查询当前日期上的所有已记录的锻炼
List exercises = db.exerciseDao().getExercisesByDate(currentDate);
// 打印结果
for (Exercise exercise : exercises) {
Log.d("Exercise", "ID: " + exercise.id + ", Name: " + exercise.name + ", Date: " + exercise.date);
}
这样,您就可以通过Room库进行SQL查询,返回当前日期上的所有已记录的锻炼。