Спрайт (в данном случае речь идет о CSS-спрайте) - это рисунок, внутри которого располагаются несколько изображений. Спрайт применяется для ускорения работы приложения, так как нужно будет загрузить только одно изображение и потом уже брать кусочки этого изображения и применять их в своем приложении. Для того чтобы получить необходимый кусочек спрайта необходимо использовать CSS. Я хочу рассказать о том, как создать вот такой спрайт и как его использовать.
Core Java, Java EE, GWT, GXT, EXT GWT, JavaScript, CSS, HTML, jQuery, jQuery Mobile, PhoneGap, iOS, Android, GAE, Python
Поиск по этому блогу
среда, 27 ноября 2013 г.
суббота, 2 ноября 2013 г.
Какие устройства получат Android 4.4
Android 4.4
понедельник, 28 октября 2013 г.
Список вопросов на собеседовании Java программиста
У меня вышло приложения для iOS. Называется Java справочник.
I. Основы ООП
1. Основные принципы ООП
2. Что такое инкапсуляция? Пример инкапсуляции на Java
3. Что такое наследование? Как реализовано наследование в Java
4. Что такое полиморфизм? Пример полиморфизма на Java
5. Что такое абстракция? Пример абстракций на Java
II. Java Core
2. Разница между final, finally и finalize()
3. Разница между String, StringBuffer и StringBuilder
5. Чем абстрактный класс отличается от интерфейса
6. Переопределение и перегрузка методов в Java
7. Что такое рефлексия в Java
8. Клонирование объектов. В чем отличие между поверхностным и глубоким клонированием
9. Что такое сериализация и десериализация
10. Модификаторы доступа в Java
11. Как работает блок try-catch-finally
12. Что такое Autoboxing
13. Основные методы класса Object. Правила переопределения основных методов класса Object
14. Класс String
15. Разница между & и &&
16. Что такое сборщик мусора? Можно ли его вызвать?
8. Клонирование объектов. В чем отличие между поверхностным и глубоким клонированием
9. Что такое сериализация и десериализация
10. Модификаторы доступа в Java
11. Как работает блок try-catch-finally
12. Что такое Autoboxing
13. Основные методы класса Object. Правила переопределения основных методов класса Object
14. Класс String
15. Разница между & и &&
16. Что такое сборщик мусора? Можно ли его вызвать?
Collection Framework
1. Разница между LinkedList и ArrayList
2. Разница между HashSet и TreeSet
3. Как устроена HashMap
4. Разница между HashMap и Hashtable
5. Разница между Vector и ArrayList
6. Разница между HashMap и TreeMap
7. Разница между интерфейсами Comparable и Comparator?
8. Для чего нужны классы Collections и Arrays?
SQL
Шаблоны проектирования
Вопросы на собеседовании Java программиста. Класс StringTokenizer
Класс StringTokenizer предназначен для разбора строки на составные элементы. Используя этот класс можно выделить из строки слова, задав какие разделители находятся между словами.
1. StringTokenizer tokenizer = new StringTokenizer(String str) - с помощью этого конструктора мы можем создать объект, который позволит нам разбить строку str на слова разделенные пробелами или следующими символами: символ табуляций '\t', символ перевода строки '\n' и символ возврата каретки '\r'.
String str1 = "This is Sparta";
StringTokenizer tokenizer1 = new StringTokenizer(str1);
2. StringTokenizer tokenizer = new StringTokenizer(String str, String delim) - с помощью второго конструктора мы можем задать разделители использую второй параметр конструктора delim. Например, ";:,. " - тут последним разделителем задан пробел, если его не указать, то пробел не будет считаться как разделитель, если мы используем этот конструктор.
String str2 = "This,is.second;example:of StringTokenizer";
StringTokenizer tokenizer2 = new StringTokenizer(str2, ",.:; ");
3. StringTokenizer tokenizer = new StringTokenizer(String str, String delim, String returnDelims) - используя этот конструктор, можно задать через третий параметр returnDelims, чтобы разделители включались в число слов. Если returnDelims равно true, то разделители будут включены в число слов, если false, то не будут.
String str3 = "This,is.third;example: of that post";
StringTokenizer tokenizer3 = new StringTokenizer(str3, ",.:; ", true);
Для демонстрации того, как работать с классом StringTokenizer я буду использовать три основных метода этого класса:
1. Метод int countTokens() - возвращает количество слов разделенных заданными разделителями
2. Метод boolean hasMoreTokens() - возвращает true, если в строке есть еще слова, в противном случае возвращает false
3. Метод String nextToken() - возвращает следующее слово
Конструкторы класса StringTokenizer
String str1 = "This is Sparta";
StringTokenizer tokenizer1 = new StringTokenizer(str1);
2. StringTokenizer tokenizer = new StringTokenizer(String str, String delim) - с помощью второго конструктора мы можем задать разделители использую второй параметр конструктора delim. Например, ";:,. " - тут последним разделителем задан пробел, если его не указать, то пробел не будет считаться как разделитель, если мы используем этот конструктор.
String str2 = "This,is.second;example:of StringTokenizer";
StringTokenizer tokenizer2 = new StringTokenizer(str2, ",.:; ");
3. StringTokenizer tokenizer = new StringTokenizer(String str, String delim, String returnDelims) - используя этот конструктор, можно задать через третий параметр returnDelims, чтобы разделители включались в число слов. Если returnDelims равно true, то разделители будут включены в число слов, если false, то не будут.
String str3 = "This,is.third;example: of that post";
StringTokenizer tokenizer3 = new StringTokenizer(str3, ",.:; ", true);
Методы класса StringTokenizer
1. Метод int countTokens() - возвращает количество слов разделенных заданными разделителями
2. Метод boolean hasMoreTokens() - возвращает true, если в строке есть еще слова, в противном случае возвращает false
3. Метод String nextToken() - возвращает следующее слово
Исходный код программы, показывающей как использовать класс StringTokenizer
import java.util.StringTokenizer; public class StringTokenizerExample { public static void main(String[] args) { System.out.println("Example of how work first constructor of StringTokenizer"); String str1 = "This is Sparta"; StringTokenizer tokenizer1 = new StringTokenizer(str1); System.out.println("Count of tokens in string str1: " + tokenizer1.countTokens()); while (tokenizer1.hasMoreTokens()) { System.out.println(tokenizer1.nextToken()); } System.out.println(); System.out.println("*******************************************************"); System.out.println(); String str2 = "This,is.second;example:of StringTokenizer"; StringTokenizer tokenizer2 = new StringTokenizer(str2, ",.:; "); System.out.println("Count of tokens in string str2: " + tokenizer2.countTokens()); while (tokenizer2.hasMoreTokens()) { System.out.println(tokenizer2.nextToken()); } System.out.println(); System.out.println("*******************************************************"); System.out.println(); String str3 = "This,is.third;example: of that post"; StringTokenizer tokenizer3 = new StringTokenizer(str3, ",.:; ", true); System.out.println("Count of tokens in string str3: " + tokenizer3.countTokens()); while (tokenizer3.hasMoreTokens()) { System.out.println(tokenizer3.nextToken()); } } }
Результат работы программы
четверг, 24 октября 2013 г.
Продвижение блога через Google Play и Android
Нужны новые клиенты? Оригинальный подход для привлечения новых посетителей на сайт придумали ребята из NewApp (www.newapp.pro).
Они создают мобильные приложения с контентом близким по тематике к материалам сайта.
Добавляют в приложение ссылки на сайт. Публикуют приложения в Google Play. После это народ скачивает интересующие их приложения и автоматически направляется на нужный сайт.
А если учесть, что качают приложения из Google Play днем и ночью, то и поток на сайт будет бесконечным!
Теперь появились мысли использовать их подход для продвижения своего блога ;-)
А NewApp пожелаю дальнейших успехов и побольше интересных решений )
Они создают мобильные приложения с контентом близким по тематике к материалам сайта.
Добавляют в приложение ссылки на сайт. Публикуют приложения в Google Play. После это народ скачивает интересующие их приложения и автоматически направляется на нужный сайт.
А если учесть, что качают приложения из Google Play днем и ночью, то и поток на сайт будет бесконечным!
Теперь появились мысли использовать их подход для продвижения своего блога ;-)
А NewApp пожелаю дальнейших успехов и побольше интересных решений )
воскресенье, 13 октября 2013 г.
Native JavaScript document.getElementById vs jQuery $()
Разница между нативным JavaScript методом document.getElementById() и jQuery методом $()
Метод document.getElementById() возвращает HTML DOM объект
Метод jQuery $() возвращает jQuery объект, который является оберткой над DOM объектом и обеспечивает методы jQuery
Метод document.getElementById() возвращает HTML DOM объект
document.getElementById('contents');
Метод jQuery $() возвращает jQuery объект, который является оберткой над DOM объектом и обеспечивает методы jQuery
var contents = $('#contents');
суббота, 12 октября 2013 г.
Native javascript .appendChild Vs jQuery .append() methods
Разница между нативным javaScript методом appendChild() и jQuery методом append заключается в следующем:
appendChild() - это чистый DOM метод (нативный javaScript метод) для добавления дочернего элемента.
append() - это метод библиотеки jQuery, позволяющий добавить некоторый контент или HTML к элементу. Также метод append() способен принимать несколько входящих параметров
appendChild() - это чистый DOM метод (нативный javaScript метод) для добавления дочернего элемента.
document.getElementById('mainElement').appendChild(newElement);
append() - это метод библиотеки jQuery, позволяющий добавить некоторый контент или HTML к элементу. Также метод append() способен принимать несколько входящих параметров
$('#mainElemnt').append('Some text or HTML');
Как добавить рекламу AdMob в Android PhoneGap приложение
PhoneGap это инструмент, позволяющий разрабатывать приложения на JavaScript и конвертировать их в нативные приложения мобильных платформ (такие как Android и iOS). AdMob это платформа для подключения рекламных баннеров в ваше приложения за просмотры и клики по которым можно получать деньги. Здесь я расскажу, как подключить к Android PhoneGap приложению рекламу от Google AdMob. Для этого понадобится сделать следующее
1. Зарегистрироваться в AdMob и получить Publisher ID для подключения рекламного баннера.
2. Внести изменения в Android проект для отображения рекламного баннера
1. Зарегистрироваться в AdMob и получить Publisher ID для подключения рекламного баннера.
2. Внести изменения в Android проект для отображения рекламного баннера
пятница, 11 октября 2013 г.
Справочник полезных рецептов для CSS3 и HTML5
1. Как сделать текстовое поле не редактируемым (how make input textfield non-editable)
Для того, чтобы сделать текстовое поле не редактируемым не нужно применять классы CSS, достаточно использовать атрибут readonly (можно писать так readonly="readonly" )
<input type="text" value="some text" class="gray_text" readonly>
2. Как сделать указатель мыши как указатель с пальцем при наведении на объект (how to change cursor to finger pointer when a user hovers over a object)
Есть элемент, при наведении на который необходимо менять курсор мыши на указатель.
<div class="menu_general"> <p><a id="to_account_and_settings" class="ui-link"> <img src="img/menu/account_settings.png"/> </a></p> <p><a id="to_expansions_extras" class="ui-link"> <img src="img/menu/expansions_extras.png"/> </a></p> <p><a id="to_how_to_play" class="ui-link"> <img src="img/menu/how_to_play.png"/> </a></p> </div>
Для того, чтобы менять курсор необходимо описать в классе ui-link следующее cursor: pointer
.menu_general .ui-link { cursor: pointer; }
четверг, 10 октября 2013 г.
Справочник полезных рецептов для jQuery Mobile
1. Как в jQueryMobile динамически поменять у кнопки атрибут data-theme (jQueryMobile changing button data-theme dynamically)
Есть кнопка, которой задана определенная тема (Пока не все пользователи присоединились кнопка серая). При определенном событии (когда присоединились все пользователи) необходимо менять тему этой кнопки.
<a id="waiting_users" data-role="button" data-theme="c" data-inline="false" >Waiting for Players...</a>
Кнопка в исходном состоянии
Для того чтобы поменять тему кнопки напишем метод, в который будем передавать id кнопки и задавать новую тему, которую хотим установить
changeButtonTheme: function (id, theme) { var currentTheme = $("#" + id).attr('data-theme'); $("#" + id).attr("data-theme", theme) .removeClass("ui-btn-up-" + currentTheme) .addClass("ui-btn-up-" + theme); }
Вызываем наш метод и передаем в него id кнопки и новую тему
changeButtonTheme("waiting_users", "a");
Кнопка после изменения темы
Подписаться на:
Сообщения (Atom)








