Я сейчас работаю над приложением и хочу показать одежду на макете. Поэтому я создал базу данных с SQLite и хотел бы узнать, как правильно выполнять итерации для моей функции.
Итак, это две мои функции в классе с именем Vetement BDD:
public Vetement getVetementWithTypeMeteo(int Type) {
//On récupère dans un Cursor les valeurs correspondant à un vetement contenu dans la BDD (ici on sélectionne le vetement grâce à son idMeteo)
Cursor c = bdd.query(TABLE_VETEMENT, new String[]{COL_ID, COL_NOM, COL_METEO, COL_GENRE, COL_IMAGE, COL_VETEMENT, COL_MIN, COL_MAX}, COL_VETEMENT + "=" + Type, null, null, null, null);
return cursorToVetement(c);
}
//Cette méthode permet de convertir un cursor en un vetement
private Vetement cursorToVetement(Cursor c){
//si aucun élément n'a été retourné dans la requête, on renvoie null
if (c.getCount() == 0)
return null;
//Sinon on se place sur le premier élément
Vetement vetement = new Vetement();
//On créé un vetement
//on lui affecte toutes les infos grâce aux infos contenues dans le Cursor
vetement.setVETEMENT(c.getInt(NUM_COL_ID));
vetement.setNOM(c.getString(NUM_COL_NOM));
vetement.setMETEO(c.getString(NUM_COL_METEO));
vetement.setGENRE(c.getString(NUM_COL_GENRE));
vetement.setIMAGE(c.getString(NUM_COL_IMAGE));
vetement.setVETEMENT(c.getInt(NUM_COL_VETEMENT));
vetement.setMIN(c.getInt(NUM_COL_MIN));
vetement.setMAX(c.getInt(NUM_COL_MAX));
//On ferme pas le cursor car on boucle et on ferme a la fin
//On retourne le vetement
return vetement;
}
В мой второй класс (макет, в котором я хочу показать название моей одежды)
VetementBDD vetementBDD = new VetementBDD(this); // I create an instance of my BDD
Перед тем, как открыть свой BDD, я вставляю свои данные (я не показываю вам, что это слишком долго)
Я открываю его:
vetementBDD.open();
И, наконец, я хочу отобразить свои данные в textView:
Vetement MeteoDuJourVetement1 = vetementBDD.getVetementWithTypeMeteo(1);
Vetement MeteoDuJourVetement2 = vetementBDD.getVetementWithTypeMeteo(2);
Vetement MeteoDuJourVetement3 = vetementBDD.getVetementWithTypeMeteo(3);
//Si aucun vetement n'est retourné,
if(MeteoDuJourVetement1 == null){
//On affiche un message indiquant que le vetement n'existe pas dans la BDD
Toast.makeText(this, "Le vetement n'existe pas", Toast.LENGTH_LONG).show();
}
//Si le vetement existe
else{
//on affiche un message indiquant que le vetement existe dans la BDD
Meteo.setText(MeteoDuJourVetement1.getNOM());
}
Итак, я пробовал как 3 метода, но первый зациклен до бесконечности на моем макете (как вы можете видеть, я хочу отображать только имя моей одежды и только одежду, которая имеет тип: 1), а 2 других ничего не отображают.
Ребята, есть ли у вас какой-нибудь совет, чтобы успешно повторять и отображать только ОДИН РАЗ мои данные?