Ich baue eine Android-App und mit ORMLite für SQLite-Operationen und möchte Helper-Klasse für die Datenbankbehandlung erstellen. Ich habe das Problem der großen Code-Duplikate gesehen, kann aber nicht herausfinden, wie man sie umgestaltet.
Bitte beraten Sie, wenn Sie darüber nachdenken.
Ich fühle, dass dieses Problem mangels einiger Grundkenntnisse, so, wenn Sie mir einen Rat senden können, über welches Thema ich tiefer lernen sollte, wird es fantastisch sein!Wie Refactor Helper-Methoden mit Generika und Fremdklassen? (Java Android)
Hier ist die Codeblöcke benötigt in Refactoring:
public static BigGoal createBigGoalRecord(String title,
String description,
Dao<BigGoal, Integer> dao) throws SQLException {
BigGoal bigGoal = new BigGoal(title, description);
dao.create(bigGoal);
assignBigGoalEmptyCollection(bigGoal, dao);
return bigGoal;
}
public static SubGoal createSubGoalRecord(String title, String description,
ObjectiveType type,
Dao<SubGoal, Integer> dao,
BigGoal bigGoal) throws SQLException {
SubGoal subGoal = bigGoal.createSubGoal(title, description, type);
dao.create(subGoal);
assignSubGoalEmptyCollection(subGoal, dao);
bigGoal.getSubGoals().add(subGoal);
return subGoal;
}
public static List<BigGoal> getBigGoalList (Dao<BigGoal, Integer> dao) throws SQLException {
ArrayList<BigGoal> bigGoalList = new ArrayList<>();
CloseableIterator<BigGoal> iterator = dao.closeableIterator();
try {
while (iterator.hasNext()){
BigGoal goal = iterator.next();
bigGoalList.add(goal);
}
} finally {
iterator.close();
}
return bigGoalList;
}
public static List<SubGoal> getSubGoalList (Dao<SubGoal, Integer> dao) throws SQLException {
ArrayList<SubGoal> subGoalList = new ArrayList<>();
CloseableIterator<SubGoal> iterator = dao.closeableIterator();
try {
while (iterator.hasNext()){
SubGoal goal = iterator.next();
subGoalList.add(goal);
}
} finally {
iterator.close();
}
return subGoalList;
}
Werfen Sie einen Blick auf dieses [Beispiel] (http://stackoverflow.com/questions/36506936/bessere-pattern-zu-handle-da-creation-for-pojo-using-sqlite/36511610#36511610). Es bietet einige grundlegende Ideen – jns
Danke! Das hilft mir auch. –