countDays - метод, который вызывает метод в течение нескольких дней с понедельника по воскресенье. Методы в течение нескольких дней заполняют список для выбранного дня ... Единственное, что меняется в конкретном методе дня, - это номер день, когда пункт ..dan.id = 1-7, 1 указывает на понедельник ... 2 показывает, вторник и т.д ..Retrive from DataBase
private void countDays() {
final String[] word = { " " +Monday(), " " + Tuesday(),
" " + Wednesday()... };
countDays++;
if (countDays >= word.length) {
Days = 0;
TextView.setText(word[Days]);
}
else {
textView.setText(word[Days]);
}
}
// Дни Это для понедельника
возможно вместо методы для каждого дня примерно так: String [] dayFromDb = new String [] {"1, 1", "1,2"} --- для понедельника и вторника
private String Monday() {
String result ="";
Cursor namirniceCursor = database
.rawQuery(
"select DANI_TABLE.dani,OBROK_TABLE.naziv_obroka,OBROK_TABLE."
+ "vrijeme_obroka,MENI_PREHRANA.obrok"
+ " from MENI_PREHRANA "
+ " inner join DANI_TABLE on DANI_TABLE._id=MENI_PREHRANA.dan_id "
+ " inner join OBROK_TABLE on OBROK_TABLE._id=MENI_PREHRANA.obrok_id"
+ " where MENI_PREHRANA.jelovnik_id=?"
+ "and MENI_PREHRANA.dan_id=?", new String[] {
"1", "1" } //"1" monday
);
int dan = namirniceCursor.getColumnIndex("dani");
int obrok = namirniceCursor.getColumnIndex("obrok");
int nazivObroka = namirniceCursor.getColumnIndex("naziv_obroka");
int vrijeme = namirniceCursor.getColumnIndex("vrijeme_obroka");
for (namirniceCursor.moveToFirst(); !namirniceCursor.isAfterLast(); namirniceCursor
.moveToNext()) {
result = result + namirniceCursor.getString(dan) + " \n "
+ namirniceCursor.getString(vrijeme) + " "
+ namirniceCursor.getString(nazivObroka) + " "
+ namirniceCursor.getString(obrok);
}
return result;
}
Это для вторнике
private String Tuesday() {
String[] nam = new String[] { "DANI_TABLE" };
String result = "";
Cursor namirniceCursor = database
.rawQuery(
"select DANI_TABLE.dani,OBROK_TABLE.naziv_obroka,OBROK_TABLE."
+ "vrijeme_obroka,MENI_PREHRANA.obrok"
+ " from MENI_PREHRANA "
+ " inner join DANI_TABLE on DANI_TABLE._id=MENI_PREHRANA.dan_id "
+ " inner join OBROK_TABLE on OBROK_TABLE._id=MENI_PREHRANA.obrok_id"
+ " where MENI_PREHRANA.jelovnik_id=?"
+ "and MENI_PREHRANA.dan_id=?",
new String[] {"1", "2" }); // "2" tuesday
int dan = namirniceCursor.getColumnIndex("dani");
int obrok = namirniceCursor.getColumnIndex("obrok");
int nazivObroka = namirniceCursor.getColumnIndex("naziv_obroka");
int vrijeme = namirniceCursor.getColumnIndex("vrijeme_obroka");
for (namirniceCursor.moveToFirst(); !namirniceCursor.isAfterLast(); namirniceCursor
.moveToNext()) {
result = result + namirniceCursor.getString(dan) + " \n "
+ namirniceCursor.getString(vrijeme) + " "
+ namirniceCursor.getString(nazivObroka) + " "
+ namirniceCursor.getString(obrok);
}
return result;
}
Как уменьшить код, потому что единственное, что изменения является новый String [] { «1», «1»} и новый String [] { "1", "2"} и т.д ...
вместо 'Monday()' do 'naDzien (int dzien)', а затем заменить 'new String [] {" 1 "," 1 "}' на 'new String [] {" 1 ", String.valueOf (dzien)} 'затем вызывать' naDzien (1) 'в течение понедельника,' naDzien (2) 'for tuesday ... fx в цикле' for (int i = 1; i <7; i ++) {result + = naDzien (я); } ' – Selvin
Можете ли вы показать, как реализовать свой код в моем примере, потому что я не совсем понял ... я новичок в программировании на Android ... Thnk вы заранее –