Я не верю, что вам нужен CursorWrapper, цель CursorWraper - переопределить методы курсора, такие как getCount.
Я считаю, что вам нужен только курсор, например, вам, вероятно, просто нужно что-тостроки (чтобы получить все оценки вместе с курсом и термином для каждой оценки) : -
public Cursor getAllAssessmentsWithCourseAndTermdetails() {
String tables = TermDbSchema.AssessmentTable.NAME +
" JOIN " + TermDbSchema.CourseTable.NAME + " ON " +
TermDbSchema.AssessmentTable.Cols.COL_ASSESS_COURSE_REFERENCE + " = " +
TermDbSchema.CourseTable.NAME + "." + "_id" +
" JOIN " + TermDbSchema.TermTable.NAME + " ON " +
TermDbSchema.CourseTable.Cols.COL_COURSE_TERM_REFERENCE + " = " +
TermDbSchema.TermTable.NAME + "." + "_id";
return this.getWritableDatabase().query(tables,null,null,null,null,null,null);
}
Это соответствует SQL: -
SELECT * FROM assessments
JOIN courses ON course_reference = courses._id
JOIN terms ON term_reference = terms._id
- (обратите внимание, префикс _id столбцов требуется в противном случае _id является неоднозначным, дополнительно НЕ используйте getColumnIndex (_id) , а для получения соответствующего значения используйтестолбец, который ссылается на столбец _id. Я считаю, что getColumnIndex всегда будет возвращать последнее совпадающее значение.
Вот рабочий пример, основанный на ваших определениях. Вспомогательный класс базы данных, используемый в этом примере:-
public class DBHelper extends SQLiteOpenHelper {
public static final String DBNAME = "mydb";
public static final int DBVERSION = 1;
public DBHelper(Context context) {
super(context, DBNAME, null, DBVERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table " + TermDbSchema.TermTable.NAME + "(" +
"_id integer primary key autoincrement, " +
TermDbSchema.TermTable.Cols.UUID + ", " +
TermDbSchema.TermTable.Cols.TITLE + ", " +
TermDbSchema.TermTable.Cols.START_DATE + ", " +
TermDbSchema.TermTable.Cols.END_DATE +
")"
);
db.execSQL("create table " + TermDbSchema.CourseTable.NAME + "(" +
"_id integer primary key autoincrement, " +
TermDbSchema.CourseTable.Cols.UUID + ", " +
TermDbSchema.CourseTable.Cols.TITLE + ", " +
TermDbSchema.CourseTable.Cols.START_DATE + ", " +
TermDbSchema.CourseTable.Cols.END_DATE + ", " +
TermDbSchema.CourseTable.Cols.CHOSEN_START_DATE + ", " +
TermDbSchema.CourseTable.Cols.CHOSEN_END_DATE + ", " +
TermDbSchema.CourseTable.Cols.COURSE_STATUS + ", " +
TermDbSchema.CourseTable.Cols.OPTIONAL_NOTE + ", " +
TermDbSchema.CourseTable.Cols.MENTOR_NAME + ", " +
TermDbSchema.CourseTable.Cols.MENTOR_PHONE + ", " +
TermDbSchema.CourseTable.Cols.MENTOR_EMAIL + ", " +
TermDbSchema.CourseTable.Cols.COL_COURSE_TERM_REFERENCE + " INTEGER REFERENCES " +
TermDbSchema.TermTable.NAME + "(_id) ON DELETE CASCADE ON UPDATE CASCADE" + //<<<<<<<<<< ADDED
")"
);
db.execSQL("create table " + TermDbSchema.AssessmentTable.NAME + "(" +
"_id integer primary key autoincrement, " +
TermDbSchema.AssessmentTable.Cols.UUID + ", " +
TermDbSchema.AssessmentTable.Cols.TITLE + ", " +
TermDbSchema.AssessmentTable.Cols.ASSESS_TYPE + ", " +
TermDbSchema.AssessmentTable.Cols.DUE_DATE + ", " +
TermDbSchema.AssessmentTable.Cols.GOAL_DATE + ", " +
TermDbSchema.AssessmentTable.Cols.COL_ASSESS_COURSE_REFERENCE + " INTEGER REFERENCES " + TermDbSchema.CourseTable.NAME + "(_id) ON DELETE CASCADE ON UPDATE CASCADE" + //<<<<<<<<<< ADDED
")"
);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
@Override
public void onConfigure(SQLiteDatabase db) {
super.onConfigure(db);
db.setForeignKeyConstraintsEnabled(true);
}
public long addTerm(String title, String start_date, String end_date) {
ContentValues cv = new ContentValues();
cv.put(TermDbSchema.TermTable.Cols.TITLE,title);
cv.put(TermDbSchema.TermTable.Cols.START_DATE,start_date);
cv.put(TermDbSchema.TermTable.Cols.END_DATE,end_date);
return this.getWritableDatabase().insert(TermDbSchema.TermTable.NAME,null,cv);
}
public long addCourse(
String title,
String start_date,
String end_date,
String chosen_start_date,
String chosen_end_date,
String status, String note,
String mentor_name,
String mentor_phone,
String mentor_email,
long course_reference) {
ContentValues cv = new ContentValues();
cv.put(TermDbSchema.CourseTable.Cols.TITLE,title);
cv.put(TermDbSchema.CourseTable.Cols.START_DATE,start_date);
cv.put(TermDbSchema.CourseTable.Cols.END_DATE,end_date);
cv.put(TermDbSchema.CourseTable.Cols.CHOSEN_START_DATE,chosen_start_date);
cv.put(TermDbSchema.CourseTable.Cols.CHOSEN_END_DATE,chosen_end_date);
cv.put(TermDbSchema.CourseTable.Cols.COURSE_STATUS,status);
cv.put(TermDbSchema.CourseTable.Cols.OPTIONAL_NOTE,note);
cv.put(TermDbSchema.CourseTable.Cols.MENTOR_NAME,mentor_name);
cv.put(TermDbSchema.CourseTable.Cols.MENTOR_PHONE,mentor_phone);
cv.put(TermDbSchema.CourseTable.Cols.MENTOR_EMAIL,mentor_email);
cv.put(TermDbSchema.CourseTable.Cols.COL_COURSE_TERM_REFERENCE,course_reference);
return this.getWritableDatabase().insert(TermDbSchema.CourseTable.NAME,null,cv);
}
public long addAssessment(
String title,
String assessType,
String duedate,
String goaldate,
long course_reference) {
ContentValues cv = new ContentValues();
cv.put(TermDbSchema.AssessmentTable.Cols.TITLE, title);
cv.put(TermDbSchema.AssessmentTable.Cols.ASSESS_TYPE,assessType);
cv.put(TermDbSchema.AssessmentTable.Cols.DUE_DATE,duedate);
cv.put(TermDbSchema.AssessmentTable.Cols.GOAL_DATE,goaldate);
cv.put(TermDbSchema.AssessmentTable.Cols.COL_ASSESS_COURSE_REFERENCE,course_reference);
return this.getWritableDatabase().insert(TermDbSchema.AssessmentTable.NAME,null,cv);
}
public Cursor getAllCoursesWithTermDetails() {
String tables = TermDbSchema.CourseTable.NAME +
" JOIN " + TermDbSchema.TermTable.NAME + " ON " +
TermDbSchema.CourseTable.Cols.COL_COURSE_TERM_REFERENCE + " = " +
TermDbSchema.TermTable.NAME + "." + "_id";
return this.getWritableDatabase().query(tables,null,null,null,null,null,null);
}
public Cursor getAllAssessmentsWithCourseAndTermdetails() {
String tables = TermDbSchema.AssessmentTable.NAME +
" JOIN " + TermDbSchema.CourseTable.NAME + " ON " +
TermDbSchema.AssessmentTable.Cols.COL_ASSESS_COURSE_REFERENCE + " = " +
TermDbSchema.CourseTable.NAME + "." + "_id" +
" JOIN " + TermDbSchema.TermTable.NAME + " ON " +
TermDbSchema.CourseTable.Cols.COL_COURSE_TERM_REFERENCE + " = " +
TermDbSchema.TermTable.NAME + "." + "_id";
return this.getWritableDatabase().query(tables,null,null,null,null,null,null);
}
}
Для проверки использовалось следующее: -
public class MainActivity extends AppCompatActivity {
DBHelper mDBHlpr;
ArrayList<Long> terms = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDBHlpr = new DBHelper(this);
addSometestingData();
Cursor csr = mDBHlpr.getAllCoursesWithTermDetails();
DatabaseUtils.dumpCursor(csr);
csr = mDBHlpr.getAllAssessmentsWithCourseAndTermdetails();
DatabaseUtils.dumpCursor(csr);
}
private void addSometestingData() {
if (DatabaseUtils.queryNumEntries(mDBHlpr.getWritableDatabase(), TermDbSchema.TermTable.NAME) < 1) {
addSomeTerms();
addSomeCourses();
addSomeAssessments();
}
}
private void addSomeTerms() {
terms.add(mDBHlpr.addTerm("TERM001","2019-01-01","2019-0331"));
terms.add(mDBHlpr.addTerm("TERM002","2019-04-01","2019-06-30"));
terms.add(mDBHlpr.addTerm("TERM003","2019-07-01","2019-09-30"));
terms.add(mDBHlpr.addTerm("TERM004","2019-10-01","2019-12-31"));
}
private void addSomeCourses() {
mDBHlpr.addCourse(
"Math01",
"2019-01-01","2019-03-14","2019-01-03","2019-03-07",
"OK","blah",
"Fred","0000000000","fred@email.com",
terms.get(0));
mDBHlpr.addCourse(
"Math02",
"2019-04-01","2019-06-14","2019-04-03","2019-06-07",
"OK","blah",
"Fred","0000000000","fred@email.com",
terms.get(1));
mDBHlpr.addCourse(
"Math03",
"2019-07-01","2019-09-14","2019-07-03","2019-09-07",
"OK","blah",
"Fred","0000000000","fred@email.com",
terms.get(2));
mDBHlpr.addCourse(
"Math01",
"2019-10-01","2019-12-14","2019-10-03","2019-12-07",
"OK","blah",
"Fred","0000000000","fred@email.com",
terms.get(3));
}
private void addSomeAssessments() {
mDBHlpr.addAssessment("MATH02-A01","?","2019-01-31","2019-01-24",1);
mDBHlpr.addAssessment("MATH01-A02","?","2019-02-28","2019-02-21",1);
mDBHlpr.addAssessment("MATH01-A03","?","2019-03-31","2019-03-24",1);
mDBHlpr.addAssessment("MATH02-A01","?","2019-04-30","2019-04-23",2);
// and so on
}
}
Результат
Первый дамп курсора
2019-05-13 11:22:06.344 I/System.out: >>>>> Dumping cursor android.database.sqlite.SQLiteCursor@76cd9ae
2019-05-13 11:22:06.345 I/System.out: 0 {
2019-05-13 11:22:06.345 I/System.out: _id=1
2019-05-13 11:22:06.345 I/System.out: uuid=null
2019-05-13 11:22:06.345 I/System.out: title=Math01
2019-05-13 11:22:06.345 I/System.out: startdate=2019-01-01
2019-05-13 11:22:06.345 I/System.out: enddate=2019-03-14
2019-05-13 11:22:06.345 I/System.out: chosenstartdate=2019-01-03
2019-05-13 11:22:06.346 I/System.out: chosenenddate=2019-03-07
2019-05-13 11:22:06.346 I/System.out: coursestatus=OK
2019-05-13 11:22:06.346 I/System.out: optionalnote=blah
2019-05-13 11:22:06.346 I/System.out: mentorname=Fred
2019-05-13 11:22:06.346 I/System.out: mentorphone=0000000000
2019-05-13 11:22:06.346 I/System.out: mentoremail=fred@email.com
2019-05-13 11:22:06.346 I/System.out: term_reference=1
2019-05-13 11:22:06.346 I/System.out: _id=1
2019-05-13 11:22:06.346 I/System.out: uuid=null
2019-05-13 11:22:06.347 I/System.out: title=TERM001
2019-05-13 11:22:06.347 I/System.out: startdate=2019-01-01
2019-05-13 11:22:06.347 I/System.out: enddate=2019-0331
2019-05-13 11:22:06.347 I/System.out: }
2019-05-13 11:22:06.347 I/System.out: 1 {
2019-05-13 11:22:06.347 I/System.out: _id=2
2019-05-13 11:22:06.347 I/System.out: uuid=null
2019-05-13 11:22:06.347 I/System.out: title=Math02
2019-05-13 11:22:06.347 I/System.out: startdate=2019-04-01
2019-05-13 11:22:06.347 I/System.out: enddate=2019-06-14
2019-05-13 11:22:06.347 I/System.out: chosenstartdate=2019-04-03
2019-05-13 11:22:06.347 I/System.out: chosenenddate=2019-06-07
2019-05-13 11:22:06.347 I/System.out: coursestatus=OK
2019-05-13 11:22:06.347 I/System.out: optionalnote=blah
2019-05-13 11:22:06.348 I/System.out: mentorname=Fred
2019-05-13 11:22:06.348 I/System.out: mentorphone=0000000000
2019-05-13 11:22:06.348 I/System.out: mentoremail=fred@email.com
2019-05-13 11:22:06.348 I/System.out: term_reference=2
2019-05-13 11:22:06.348 I/System.out: _id=2
2019-05-13 11:22:06.348 I/System.out: uuid=null
2019-05-13 11:22:06.348 I/System.out: title=TERM002
2019-05-13 11:22:06.348 I/System.out: startdate=2019-04-01
2019-05-13 11:22:06.349 I/System.out: enddate=2019-06-30
2019-05-13 11:22:06.349 I/System.out: }
2019-05-13 11:22:06.349 I/System.out: 2 {
2019-05-13 11:22:06.349 I/System.out: _id=3
2019-05-13 11:22:06.349 I/System.out: uuid=null
2019-05-13 11:22:06.349 I/System.out: title=Math03
2019-05-13 11:22:06.349 I/System.out: startdate=2019-07-01
2019-05-13 11:22:06.349 I/System.out: enddate=2019-09-14
2019-05-13 11:22:06.349 I/System.out: chosenstartdate=2019-07-03
2019-05-13 11:22:06.350 I/System.out: chosenenddate=2019-09-07
2019-05-13 11:22:06.350 I/System.out: coursestatus=OK
2019-05-13 11:22:06.350 I/System.out: optionalnote=blah
2019-05-13 11:22:06.350 I/System.out: mentorname=Fred
2019-05-13 11:22:06.350 I/System.out: mentorphone=0000000000
2019-05-13 11:22:06.350 I/System.out: mentoremail=fred@email.com
2019-05-13 11:22:06.350 I/System.out: term_reference=3
2019-05-13 11:22:06.350 I/System.out: _id=3
2019-05-13 11:22:06.350 I/System.out: uuid=null
2019-05-13 11:22:06.350 I/System.out: title=TERM003
2019-05-13 11:22:06.350 I/System.out: startdate=2019-07-01
2019-05-13 11:22:06.350 I/System.out: enddate=2019-09-30
2019-05-13 11:22:06.350 I/System.out: }
2019-05-13 11:22:06.350 I/System.out: 3 {
2019-05-13 11:22:06.350 I/System.out: _id=4
2019-05-13 11:22:06.350 I/System.out: uuid=null
2019-05-13 11:22:06.350 I/System.out: title=Math01
2019-05-13 11:22:06.350 I/System.out: startdate=2019-10-01
2019-05-13 11:22:06.350 I/System.out: enddate=2019-12-14
2019-05-13 11:22:06.351 I/System.out: chosenstartdate=2019-10-03
2019-05-13 11:22:06.351 I/System.out: chosenenddate=2019-12-07
2019-05-13 11:22:06.351 I/System.out: coursestatus=OK
2019-05-13 11:22:06.351 I/System.out: optionalnote=blah
2019-05-13 11:22:06.351 I/System.out: mentorname=Fred
2019-05-13 11:22:06.351 I/System.out: mentorphone=0000000000
2019-05-13 11:22:06.351 I/System.out: mentoremail=fred@email.com
2019-05-13 11:22:06.351 I/System.out: term_reference=4
2019-05-13 11:22:06.351 I/System.out: _id=4
2019-05-13 11:22:06.351 I/System.out: uuid=null
2019-05-13 11:22:06.351 I/System.out: title=TERM004
2019-05-13 11:22:06.351 I/System.out: startdate=2019-10-01
2019-05-13 11:22:06.351 I/System.out: enddate=2019-12-31
2019-05-13 11:22:06.351 I/System.out: }
2019-05-13 11:22:06.351 I/System.out: <<<<<
Второй (оценки)дамп курсора
- 1-я строка Ссылка на курс >> >> 1035 *
- 2-я строка Ссылка на курс >> >> 1038 *
- 3-я строка Ссылка на курс >>
2019-05-13 11:22:06.356 I/System.out: course_reference=1
- 4-й ряд Ссылка на курс:
>> 2019-05-13 11:22:06.358 I/System.out: course_reference=2
: -
2019-05-13 11:22:06.352 I/System.out: >>>>> Dumping cursor android.database.sqlite.SQLiteCursor@e3fe34f
2019-05-13 11:22:06.353 I/System.out: 0 {
2019-05-13 11:22:06.353 I/System.out: _id=1
2019-05-13 11:22:06.353 I/System.out: uuid=null
2019-05-13 11:22:06.353 I/System.out: title=MATH02-A01
2019-05-13 11:22:06.353 I/System.out: assesstype=?
2019-05-13 11:22:06.353 I/System.out: duedate=2019-01-31
2019-05-13 11:22:06.353 I/System.out: goaldate=2019-01-24
2019-05-13 11:22:06.353 I/System.out: course_reference=1
2019-05-13 11:22:06.353 I/System.out: _id=1
2019-05-13 11:22:06.353 I/System.out: uuid=null
2019-05-13 11:22:06.353 I/System.out: title=Math01
2019-05-13 11:22:06.353 I/System.out: startdate=2019-01-01
2019-05-13 11:22:06.353 I/System.out: enddate=2019-03-14
2019-05-13 11:22:06.353 I/System.out: chosenstartdate=2019-01-03
2019-05-13 11:22:06.354 I/System.out: chosenenddate=2019-03-07
2019-05-13 11:22:06.354 I/System.out: coursestatus=OK
2019-05-13 11:22:06.354 I/System.out: optionalnote=blah
2019-05-13 11:22:06.354 I/System.out: mentorname=Fred
2019-05-13 11:22:06.354 I/System.out: mentorphone=0000000000
2019-05-13 11:22:06.354 I/System.out: mentoremail=fred@email.com
2019-05-13 11:22:06.354 I/System.out: term_reference=1
2019-05-13 11:22:06.354 I/System.out: _id=1
2019-05-13 11:22:06.354 I/System.out: uuid=null
2019-05-13 11:22:06.354 I/System.out: title=TERM001
2019-05-13 11:22:06.354 I/System.out: startdate=2019-01-01
2019-05-13 11:22:06.354 I/System.out: enddate=2019-0331
2019-05-13 11:22:06.354 I/System.out: }
2019-05-13 11:22:06.354 I/System.out: 1 {
2019-05-13 11:22:06.354 I/System.out: _id=2
2019-05-13 11:22:06.354 I/System.out: uuid=null
2019-05-13 11:22:06.354 I/System.out: title=MATH01-A02
2019-05-13 11:22:06.354 I/System.out: assesstype=?
2019-05-13 11:22:06.354 I/System.out: duedate=2019-02-28
2019-05-13 11:22:06.354 I/System.out: goaldate=2019-02-21
2019-05-13 11:22:06.355 I/System.out: course_reference=1
2019-05-13 11:22:06.355 I/System.out: _id=1
2019-05-13 11:22:06.355 I/System.out: uuid=null
2019-05-13 11:22:06.355 I/System.out: title=Math01
2019-05-13 11:22:06.355 I/System.out: startdate=2019-01-01
2019-05-13 11:22:06.355 I/System.out: enddate=2019-03-14
2019-05-13 11:22:06.355 I/System.out: chosenstartdate=2019-01-03
2019-05-13 11:22:06.355 I/System.out: chosenenddate=2019-03-07
2019-05-13 11:22:06.355 I/System.out: coursestatus=OK
2019-05-13 11:22:06.355 I/System.out: optionalnote=blah
2019-05-13 11:22:06.355 I/System.out: mentorname=Fred
2019-05-13 11:22:06.355 I/System.out: mentorphone=0000000000
2019-05-13 11:22:06.355 I/System.out: mentoremail=fred@email.com
2019-05-13 11:22:06.355 I/System.out: term_reference=1
2019-05-13 11:22:06.355 I/System.out: _id=1
2019-05-13 11:22:06.355 I/System.out: uuid=null
2019-05-13 11:22:06.355 I/System.out: title=TERM001
2019-05-13 11:22:06.355 I/System.out: startdate=2019-01-01
2019-05-13 11:22:06.355 I/System.out: enddate=2019-0331
2019-05-13 11:22:06.355 I/System.out: }
2019-05-13 11:22:06.355 I/System.out: 2 {
2019-05-13 11:22:06.356 I/System.out: _id=3
2019-05-13 11:22:06.356 I/System.out: uuid=null
2019-05-13 11:22:06.356 I/System.out: title=MATH01-A03
2019-05-13 11:22:06.356 I/System.out: assesstype=?
2019-05-13 11:22:06.356 I/System.out: duedate=2019-03-31
2019-05-13 11:22:06.356 I/System.out: goaldate=2019-03-24
2019-05-13 11:22:06.356 I/System.out: course_reference=1
2019-05-13 11:22:06.356 I/System.out: _id=1
2019-05-13 11:22:06.356 I/System.out: uuid=null
2019-05-13 11:22:06.356 I/System.out: title=Math01
2019-05-13 11:22:06.356 I/System.out: startdate=2019-01-01
2019-05-13 11:22:06.356 I/System.out: enddate=2019-03-14
2019-05-13 11:22:06.356 I/System.out: chosenstartdate=2019-01-03
2019-05-13 11:22:06.356 I/System.out: chosenenddate=2019-03-07
2019-05-13 11:22:06.357 I/System.out: coursestatus=OK
2019-05-13 11:22:06.357 I/System.out: optionalnote=blah
2019-05-13 11:22:06.357 I/System.out: mentorname=Fred
2019-05-13 11:22:06.357 I/System.out: mentorphone=0000000000
2019-05-13 11:22:06.357 I/System.out: mentoremail=fred@email.com
2019-05-13 11:22:06.357 I/System.out: term_reference=1
2019-05-13 11:22:06.357 I/System.out: _id=1
2019-05-13 11:22:06.357 I/System.out: uuid=null
2019-05-13 11:22:06.357 I/System.out: title=TERM001
2019-05-13 11:22:06.357 I/System.out: startdate=2019-01-01
2019-05-13 11:22:06.357 I/System.out: enddate=2019-0331
2019-05-13 11:22:06.357 I/System.out: }
2019-05-13 11:22:06.358 I/System.out: 3 {
2019-05-13 11:22:06.358 I/System.out: _id=4
2019-05-13 11:22:06.358 I/System.out: uuid=null
2019-05-13 11:22:06.358 I/System.out: title=MATH02-A01
2019-05-13 11:22:06.358 I/System.out: assesstype=?
2019-05-13 11:22:06.358 I/System.out: duedate=2019-04-30
2019-05-13 11:22:06.358 I/System.out: goaldate=2019-04-23
2019-05-13 11:22:06.358 I/System.out: course_reference=2
2019-05-13 11:22:06.358 I/System.out: _id=2
2019-05-13 11:22:06.358 I/System.out: uuid=null
2019-05-13 11:22:06.358 I/System.out: title=Math02
2019-05-13 11:22:06.358 I/System.out: startdate=2019-04-01
2019-05-13 11:22:06.358 I/System.out: enddate=2019-06-14
2019-05-13 11:22:06.358 I/System.out: chosenstartdate=2019-04-03
2019-05-13 11:22:06.358 I/System.out: chosenenddate=2019-06-07
2019-05-13 11:22:06.358 I/System.out: coursestatus=OK
2019-05-13 11:22:06.358 I/System.out: optionalnote=blah
2019-05-13 11:22:06.359 I/System.out: mentorname=Fred
2019-05-13 11:22:06.359 I/System.out: mentorphone=0000000000
2019-05-13 11:22:06.359 I/System.out: mentoremail=fred@email.com
2019-05-13 11:22:06.359 I/System.out: term_reference=2
2019-05-13 11:22:06.359 I/System.out: _id=2
2019-05-13 11:22:06.359 I/System.out: uuid=null
2019-05-13 11:22:06.359 I/System.out: title=TERM002
2019-05-13 11:22:06.359 I/System.out: startdate=2019-04-01
2019-05-13 11:22:06.359 I/System.out: enddate=2019-06-30
2019-05-13 11:22:06.359 I/System.out: }
2019-05-13 11:22:06.359 I/System.out: <<<<<
PS У меня нет проблем с настройкойUUID