У меня есть подкласс SQLiteOpenHelper, и все компоненты кода готовы к использованию. Вопрос в том, действительно ли это хороший дизайн, позволяющий любому виду деятельности иметь прямой доступ к открытым методам в основном классе базы данных.
У меня есть ситуация, когда моя деятельность будет заполнять информацию в ее макетах в зависимости от того, какую информацию она получает из базы данных - по существу, она динамически создается во время выполнения. так как у меня будет несколько строк, возвращающихся из базы данных, это означает, что у меня будет массив того, что мне нужно, чтобы получить всю информацию.
Так что-то вроде этого:
//in Main Activity Class
private class menuItems{
String category_name;
int category_id;
int menuItem_id;
String menu_title;
String menu_desc;
String price;
int icon;
}
//ArrayList in Main Activity
ArrayList<menuItems> menu = new ArrayList<menuItems>();
Моей деятельности нужна эта "структура" как собственная - чтобы она могла получать информацию из базы данных - что-то вроде getAllMenuItems (), - где этот метод будет выполнять оператор выбора, собрать информацию - это собственная "структура" и верните его обратно к основному виду деятельности. Затем используйте эту информацию в упражнении для построения макетов / представлений и т. Д.
Если бы у меня в конечном итоге был класс-посредник для общения с базой данных, тогда и этому классу потребовалась бы та же самая "структура", определенная в ней. Будет ли лучше дизайн иметь что-то вроде:
MainActivity
DatabaseAccessor - вызывает публичные классы DatabaseHelper (за запрос от MainActivity)
DatabaseHelper (подклассы SQLIteOPenHelper, выполняет все запросы к базе данных)
Я хотел бы спроектировать что-то по образцу MVC (Model-View-Controller), но мне было интересно, что вы, ребята, думаете о практичности этого в приложении для Android.
спасибо!