Can anyone tell me if the following code is "good"
public MyAnime getMyAnimeByID(int ID) {
SQLiteDatabase db = this.getReadableDatabase();
MyAnime myAnime = new MyAnime();
Cursor cursor = db.query("myAnime", new String[] { "id", "name",
"description", "episodes", "genre", "rating",
"episodesWatched", "stateId" }, "id = ?",
new String[] { String.valueOf(ID) }, null, null, null);
if (cursor.moveToFirst()) {
myAnime = new MyAnime(cursor.getInt(0), cursor.getString(1),
cursor.getString(2), cursor.getInt(3), cursor.getString(4),
cursor.getInt(5), cursor.getInt(6), cursor.getInt(7));
}
cursor.close();
db.close();
return myAnime;
}
public List<MyAnime> getMyAnimes() {
List<MyAnime> myAnimeList = new ArrayList<MyAnime>();
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query("myAnime", new String[] { "id", "name",
"description", "episodes", "genre", "rating",
"episodesWatched", "stateId" },
"stateId = ?", new String[] { String.valueOf(1) }, null, null,
null);
if (cursor.moveToFirst()) {
do {
myAnimeList.add(getMyAnimeByID(cursor.getInt(0)));
} while (cursor.moveToNext());
}
cursor.close();
db.close();
return myAnimeList;
}
Or should I create each object with the class constructor in the GetMyAnimes() method?
public List<MyAnime> getMyAnimes() {
List<MyAnime> myAnimeList = new ArrayList<MyAnime>();
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query("myAnime", new String[] { "id", "name",
"description", "episodes", "genre", "rating",
"episodesWatched", "stateId" }, "stateId = ?",
new String[] { String.valueOf(1) }, null, null, null);
if (cursor.moveToFirst()) {
do {
// myAnimeList.add(getMyAnimeByID(cursor.getInt(0)));
MyAnime myAnime = new MyAnime(cursor.getInt(0),
cursor.getString(1), cursor.getString(2),
cursor.getInt(3), cursor.getString(4),
cursor.getInt(5), cursor.getInt(6), cursor.getInt(7));
myAnimeList.add(myAnime);
} while (cursor.moveToNext());
}
cursor.close();
db.close();
return myAnimeList;
}
I've always wondered but I prefer to use the first method because it avoids errors and makes for simpler more readable code.
Aucun commentaire:
Enregistrer un commentaire