Структура

Ответить
Lemme
Сообщения: 16
Зарегистрирован: 29 янв 2015, 23:38

Структура

Сообщение Lemme » 04 фев 2015, 23:34

Как лучше организовать структуру приложения.

Приложение, по сути, будет мобильной версией сайта.
Получение данных будет через REST Api.

Примерные методы

1) Получение всех постов
2) Получение всех постов из категории (по id)
3) Получение поста (по id)
4) Получение меню

Как лучше организовать все это?

1) Создать 1 джава класс, содержит в себе вышеуказанные методы (что-то вроде модели).
1.1) Под каждый метод создать активити, который будет взаимодействовать с определенным методом (вызывать нужный метод, выводить данные). (типа контроллера)

2) Создать необходимое кол-во активити, которые в себе будут содержать всю логику (парсинг,обработку, вывод).


Может кто-то уже делать что-то подобное, подскажите пожалуйста.

p.s делаю это исключительно в целях обучения.
Последний раз редактировалось Lemme 04 фев 2015, 23:59, всего редактировалось 1 раз.

Аватара пользователя
vitaliy
Сообщения: 44
Зарегистрирован: 10 янв 2015, 14:28
Откуда: Украина

Re: Отправка + получение данных из другого класса

Сообщение vitaliy » 04 фев 2015, 23:53

Нужно вызывать еще метод show().
Toast.makeText(this, api.otherTest("MyString"), Toast.LENGTH_SHORT).show();
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
Donald E. Knuth.

Lemme
Сообщения: 16
Зарегистрирован: 29 янв 2015, 23:38

Re: Структура

Сообщение Lemme » 05 фев 2015, 00:00

vitaliy, спасибо, я забыл про него, разобрался, сейчас немного отредактировал пост.

Аватара пользователя
vitaliy
Сообщения: 44
Зарегистрирован: 10 янв 2015, 14:28
Откуда: Украина

Re: Структура

Сообщение vitaliy » 05 фев 2015, 01:30

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;
}           
}       
}
Для меню создаёшь отдельный класс. Еще можно создать какой - то интерфейс Article, для описания общих свойств статьи и реализовывать его для статей различных категорий (Если в этом есть смысл).

PS : Идея с контейнером не самая удачная )) Лучше переменные внутри класса.
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
Donald E. Knuth.

Ответить