Новые статьи

Размеры текста в канвасе

Android  canvas


Если вы рисуете графику прямо в Canvas'е, то рано или поздно вам захочется выводить на экран и текст. Для этого вам нужно знать, как он будет располагаться, соответственно потребуется рассчитать его ширину/высоту для выравнивания и прочих эффектных штук.



Недавно в своём приложении мне также понадобилось вертикальное и горизонтальное центрирование. Поэтому я начал со следующего кода:

  1. Paint mTextPaint = new Paint();
  2. mTextPaint.setTextAlign(Paint.Align.CENTER);  // Включим центрирование
  3.  
  4. // И когда происходит отрисовка...
  5. canvas.drawText(mText,
  6.         mBounds.centerX(),  // mBounds — некая область канваса
  7.         mBounds.centerY(),  // X, Y — центр области

Продолжить

Рейтинг:  4  (За: 4 | Против: 0)
Добавлено: 19.01.2015 от Ксакеп

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

Java 8 в Android со Stream API и лямбдами

Android  retrolambda, stream api, java 8

Как вы знаете, Android основан на Java 6. Google не спешит добавлять поддержку новых версий Java, поэтому приходится мечтать даже об использовании try-with-resources, multi-catch из Java 7, не говоря уже о Lambda Expressions и Stream API.
   Но если чего-то сильно захотеть, то никакие преграды не остановят, ведь так? Если мы не можем запустить код из Java 8 в Android-приложениях, то почему бы не преобразовать его в Java 6 совместимый? Именно это и делает проект Retrolambda финского разработчика Esko Luontola.


Retrolambda
   На странице проекта есть описание и короткое видео, демонстрирующее, как работает преобразование.
Вкратце, Retrolambda анализирует байт-код скомпилированных классов, ищет вызовы лямбда-выражений,
Продолжить

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

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

Как эффективно учиться

Прочее  перевод

Я убеждён, что столь большая разница между хорошими студентами и плохими объясняется наличием привычек учиться. Большинство студентов ничего о них не знает, и как следствие, имеет низкую успеваемость, а преподаватели просто неспособны привить хорошие навыки в учёбе.

Обучение пропорционально усилиям
Вам кажется, что если вы сидите в аудитории, слушаете очередную лекцию, или, например, читаете новую главу в книге, то вы учитесь. Такой тип обучения является пассивным, а потому неэффективен. Что ещё хуже — у вас создаётся ложное впечатление, будто бы вы изучили материал. Вы можете прослушать курс лекций по квантовой механике, после чего вы познакомитесь с тематикой, некоторой терминологией но... на этом всё.

Будет лучше, если вы станете постоянно стимулировать
Продолжить

Рейтинг:  18  (За: 18 | Против: 0)
Добавлено: 1.01.2015 от Ксакеп

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

Mockito и Behavior Driven Development

Java  test, bdd

Когда разработчик только начинает изучать принципы тестирования, он, как правило, знакомится в первую очередь с тестированием, основывающемся на проверке данных. То есть, чтобы протестировать функцию сложения чисел разработчик пишет, например, такой тест: “Заданы числа 2 и 3, в качестве результата ожидается 5”, и по тому, выполнилось ли это утверждение или нет, он делает вывод о верной или неверной реализации тестируемой функции.
Такой подход хорошо работает, когда код достаточно прост, результат предсказуем, и его проверка не займёт относительно много времени. Но на практике часто функции сложные, тяжело покрыть тестами каждый возможный исход, либо подготовка исходных или проверка конечных данных для теста занимает много времени. Можно, конечно, подумать: “Это сложно тестировать
Продолжить

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

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

Простой бот для сайта

PHP/MySQL  бот, scala, php

Наверняка, многие уже успели заметить некоторое нововведение на нашем сайте. Сейчас я расскажу, откуда пошли корни, как работает бот и как наполнялась база фраз. Сделать точно такого же бота не составит труда, уж поверьте.


Корни :oak:
Идею добавить на сайт бота подкинул благородный дон Virus-ON, так что все лавры ему.

Что же нужно для создания бота?
Во-первых, база данных фраз — память бота, чтобы он мог отвечать на сообщения.
Во-вторых, некоторый алгоритм выбора фраз — мозг бота, чтобы он отвечал более-менее в тему.


База данных. Часть 1
По воле случая, довелось познакомиться с одним человеком, программирующем
Продолжить

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

Комментарии (16)
<< 1 ... 34 35 36 37 38 ... 49 >>

Мы в соцсетях

tw tg yt gt