Как лучше организовать структуру приложения.
Приложение, по сути, будет мобильной версией сайта.
Получение данных будет через REST Api.
Примерные методы
1) Получение всех постов
2) Получение всех постов из категории (по id)
3) Получение поста (по id)
4) Получение меню
Как лучше организовать все это?
1) Создать 1 джава класс, содержит в себе вышеуказанные методы (что-то вроде модели).
1.1) Под каждый метод создать активити, который будет взаимодействовать с определенным методом (вызывать нужный метод, выводить данные). (типа контроллера)
2) Создать необходимое кол-во активити, которые в себе будут содержать всю логику (парсинг,обработку, вывод).
Может кто-то уже делать что-то подобное, подскажите пожалуйста.
p.s делаю это исключительно в целях обучения.
Структура
Re: Отправка + получение данных из другого класса
Нужно вызывать еще метод show().
Toast.makeText(this, api.otherTest("MyString"), Toast.LENGTH_SHORT).show();
Toast.makeText(this, api.otherTest("MyString"), Toast.LENGTH_SHORT).show();
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
Donald E. Knuth.
Donald E. Knuth.
Re: Структура
vitaliy, спасибо, я забыл про него, разобрался, сейчас немного отредактировал пост.
Re: Структура
Lemme писал(а):Как лучше организовать структуру приложения.
Примерные методы
1) Получение всех постов
2) Получение всех постов из категории (по id)
3) Получение поста (по id)
4) Получение меню
Код: Выделить всё
class Post{
// и еще переменные которые нужны.
// get & set методы.
private String title;
private String article;
public Post(String title, String article){
this.title = title;
this.article = article;
}
}
class DonloadPosts{
List<Post> allPosts;
DonloadPosts(){ // или массив или как пожелаешь.
}
public boolean downloadAllPosts(List<Post> container){ // можно без контейнера, тогда создаёшь свою коллекцию и заполняешь
// качаешь, заполняешь, если всё хорошо возвращаешь true;
}
public boolean downloadPostsFromCategory(List<Post> container, PostsCategory postsCategory){
// PostCategory - enum
switch(postsCategory){
case PostsCategory.Fun: //TODO качаешь, заполняешь, если всё хорошо возвращаешь true;
break;
default // можешь убрать метод downloadAllPosts и выполнять его здесь, как условие по умолчанию.
}
}
public boolean downloadPost(Post conainer, int id){
//TODO качаешь, заполняешь, если всё хорошо возвращаешь true;
}
}
}
PS : Идея с контейнером не самая удачная )) Лучше переменные внутри класса.
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
Donald E. Knuth.
Donald E. Knuth.