У меня есть таблицы в моих тренировках и упражнениях в базе данных. У меня есть следующие методы getAllWorkouts и getAllExercises. Правильно эти методы получают тренировки и упражнения отдельно. Как я могу присоединиться к этим двум вместе? поэтому к тренировке будут присоединены все упражнения. Это отношения 1: M.
getAllWorkouts
public ArrayList<Workout> getAllWokouts(){
ArrayList<Workout> workoutArrayList = new ArrayList<Workout>();
SQLiteDatabase db = this.getReadableDatabase();
try{
String selectQuery = "SELECT * FROM " + TABLE_WORKOUT;
db = this.getReadableDatabase();
Cursor c = db.rawQuery(selectQuery, null);
if (c != null && c.moveToFirst()){
do {
Workout workout = new Workout();
workout.setId(c.getInt(0));
workout.setName(c.getString(1));
workoutArrayList.add(workout);
} while (c.moveToNext());
}
return workoutArrayList;
} catch (SQLiteException se){
Log.v("Exception",
Log.getStackTraceString(se));
} catch (Exception e){
Log.v("Exception",
Log.getStackTraceString(e));
} finally {
db.close();
}
return workoutArrayList;
}
getAllExercises
ArrayList<Exercise> exerciseArrayList = new ArrayList<Exercise>();
SQLiteDatabase db = this.getReadableDatabase();
try{
String selectQuery = "SELECT * FROM " + TABLE_EXERCISE;
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor != null && cursor.moveToFirst()){
do {
Exercise exercise = new Exercise();
exercise.setId(cursor.getInt(0));
exercise.setName(cursor.getString(1));
exercise.setSet(cursor.getString(2));
exercise.setWeight(cursor.getString(3));
exercise.setReps(cursor.getString(4));
exerciseArrayList.add(exercise);
} while (cursor.moveToNext());
}
return exerciseArrayList;
} catch (SQLiteException se){
Log.v("Exception",
Log.getStackTraceString(se));
} catch (Exception e){
Log.v("Exception",
Log.getStackTraceString(e));
} finally {
db.close();
}
return exerciseArrayList;
}
Я использовал следующий код
public Cursor getAllWorkoutsExercises(){
SQLiteDatabase db = this.getReadableDatabase();
String SELECT_QUERY = "SELECT * FROM '" + TABLE_WORKOUT + "'JOIN'" + TABLE_EXERCISE + "' ON '" + EXERCISE_ID + "' GROUP BY '" + EXERCISE_ID + "'ORDER BY'" + WORKOUT_NAME;
Cursor mCursor = db.rawQuery(SELECT_QUERY, null);
return mCursor;
}