Наши проекты

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

Дизайн API библиотеки


На написание данной статьи меня натолкнула библиотека EasyCamera, которая упрощает сложный вызов Android Camera API (статья о ней).
Часто приходится сталкиваться с тем, что для работы той или иной библиотеки необходимо прочитать документацию или поискать подробные примеры её использования. Например, чтобы заставить ту же Android Camera API показать экран видоискателя, нужно вызвать сначала метод setPreviewDisplay(holder), а затем уже startPreview(). Это не всегда очевидно и не очень удобно.
Поэтому при проектировании библиотеки следует учитывать некоторые параметры, а именно:
1. Классы и методы должны быть понятны пользователю (в данном случае пользователем...
Продолжить

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

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

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


Первая часть
Вторая часть. Наследование.

Пункт меню должен рисоваться на экране. Так почему бы нам не добавить метод отрисовки сразу в класс 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,
...
Продолжить

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

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

ООП в примерах. Часть 4. Интерфейсы, повторное использование


Первая часть
Вторая часть. Наследование
Третья часть. Переопределение методов, уровни абстракции

Продолжим наше изучение ООП. Давайте создадим сущность Меню и обернём её вокруг наших пунктов, то есть перенесём всё, что касается меню в отдельный класс Menu.
Позиция курсора (int cursor), массив с пунктами меню (MenuItem[] items), отрисовка, обработка клавиш теперь будет в классе Menu. Menu.java
Вместо массива я добавил Vector, чтобы можно было динамически добавлять элементы.

Теперь класс Canvas будет ещё проще:
  1. public class OopMenu5 extends Canvas {
  2.  
  3.     private final
...
Продолжить

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

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

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


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

Разберёмся с наследованием.
Наследование позволяет взять доступные свойства родительского (базового) класса и использовать их в производных (потомках).
Сразу пример.
Вернём наш класс пункта меню в первоначальный вид:
  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;
...
Продолжить

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

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

Класс Sprite


В Android нет специальных классов для игровых объектов, как это было в Java ME, но зато в нём есть множество других не менее полезных классов, знание которых поможет упростить разработку игры.
Во-первых, в Android есть специальные классы для точек, прямоугольников, контуров и остальных объектов. Теперь не нужно иметь кучу переменных, чтобы оперировать координатами персонажей, достаточно задать класс Point (для координат типа int) или PointF (для координат типа float).
Во-вторых, возможности рисования в Android куда более богаты, чем в Java ME. Здесь тебе и рисование градиентов, и гибкая работа с изображениями Bitmap, и сглаживание, и поворот, и т.д.
Советую посмотреть на список классов пакета android.graphics.

Вот...
Продолжить

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

Комментарии (5)
Всего: 50
<< 1 ... 7 8 9 10 >>
Категории


Пожертвования

Аноним2800 р.
Freddy1700 р.
NaruTrey800 р.
vlavolk637 р.
GOFMIDO256 р.
  © aNNiMON (Melnik Software)
 
Яндекс.Метрика