Статьи, которые добавил aNNiMON:

ООП в примерах. Часть 3. Переопределение методов, уровни абстракции

Совершенный код  ооп, java me, java

Пункт меню должен рисоваться на экране. Так почему бы нам не добавить метод отрисовки сразу в класс MenuItem и в его классы-потомки? Передадим этому методу все нужные нам параметры и будем рисовать.
  1. public class MenuItem {
  2.  
  3.     protected static final Font ITEM_FONT = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_MEDIUM);
  4.     protected static final int ITEM_HEIGHT = ITEM_FONT.getHeight() + 5;
  5.  
  6.     protected String name;
  7.  
  8.     public MenuItem(String name) {
  9.         this.name = name;
  10.     }
  11.  
  12.     public String getName() {
  13.         return name;
  14.     }
  15.  
  16.     public void paint(Graphics g, int startY, int itemIndex) {
  17.         g.setFont(ITEM_FONT);
  18.         g.setColor(0xFF095E15);
  19.         g.drawString(name, g.getClipWidth() / 2, startY + ITEM_HEIGHT

Продолжить

Рейтинг:  8  (За: 9 | Против: 1)
Добавлено: 6.02.2014 от aNNiMON

Комментарии (23)

ООП в примерах. Часть 2. Наследование

Совершенный код  ооп, java me, java

Продолжаем осваивать ООП.

Разберёмся с наследованием.
Наследование позволяет взять доступные свойства родительского (базового) класса и использовать их в производных (потомках).
Сразу пример.
Вернём наш класс пункта меню в первоначальный вид:
  1. public class MenuItem {
  2.  
  3.     private String name;
  4.  
  5.     public MenuItem(String name) {
  6.         this.name = name;
  7.     }
  8.  
  9.     public String getName() {
  10.         return name;
  11.     }
  12. }
Теперь давайте создадим производный класс с цветом пункта меню:
  1. public class ColorMenuItem extends MenuItem {
  2.  
  3.     private int color;
  4.  
  5.     public ColorMenuItem(String name, int color) {
  6.         super(name);
  7.         this.color = color;
  8.     }
  9.  
  10.     public int getColor() {
  11.         return color;
  12.     }
  13. }
Первое,
Продолжить

Рейтинг:  5  (За: 6 | Против: 1)
Добавлено: 6.02.2014 от aNNiMON

Комментарии (0)

ООП в примерах. Часть 1

Совершенный код  ооп, java me, java

Недавно я пообещал написать что-нибудь про ООП. Честно сказать, тема довольно щекотливая, новичку без пяти капель не разобраться. Я не знал, с чего начать, поэтому решил просто начать, а дальше уже, по отзывам, буду решать в какую сторону делать упор.

Итак, я не буду сразу парить вас нудной информацией о том, что такое ООП, где оно используется, зачем и т.д. Сразу открываем среду разработки и пишем код!!

Пишем меню на Canvas.

Вариант 1. Меню без ООП.
NonOopMenu.java
Как видно, мы определили массив строк items для пунктов меню и числовое значение cursor для текущего выделенного элемента. При выборе пункта меню мы просто выводим Alert с текстом этого пункта, всё просто.
  - Ну и норм, без ООП справились, - подумаете вы.
  - Хорошо, а если нам надо
Продолжить

Рейтинг:  16  (За: 17 | Против: 1)
Добавлено: 6.02.2014 от aNNiMON

Комментарии (18)

Класс Sprite

Android  gamedev

В Android нет специальных классов для игровых объектов, как это было в Java ME, но зато в нём есть множество других не менее полезных классов, знание которых поможет упростить разработку игры.
Продолжить

Рейтинг:  9  (За: 9 | Против: 0)
Добавлено: 6.12.2013 от aNNiMON

Комментарии (5)

Динамическая подгрузка списка

Android  listview, adapterview

Динамическая подгрузка списка может быть полезной в тех случаях, когда данных очень много, но пользователю может быть полезна не вся информация, а лишь её начальная часть. Примером может служить новостная лента: чтобы не грузить полный список новостей за день, грузятся сначала недавние новости, а потом, по мере прокручивания списка, подгружается более старая информация. По такому способу можно сделать и загрузку твитов, RSS-ленты, почты и так далее.
Продолжить

Рейтинг:  8  (За: 8 | Против: 0)
Добавлено: 13.08.2013 от aNNiMON

Комментарии (20)
Всего: 106
<< 1 ... 18 19 20 21 22 >>
Категории

Мы в соцсетях

tw tg yt gt