Skip to main content

Android для клуба склеротиков

1. Для начала работы надо установить Android SDK. Это только базовые инструменты. Для полноценной разработки используем входящую в SDK утилиту SDK Manager. Там можно установить все остальное, включая SDK Tools. Компонент SDK Tools включает полный набор инструментов для разработки и отладки под android.
Для Eclipse понадобится ADT плагин.

2. Создание Android проекта с Maven:
  • Установить "Android Configurator for M2E" (Help->Eclipse Marketplace, искать по "android m2e"). Добавляет поддержку Maven в ADT.
  • Создать в Eclipse обычный Maven Project.
  • На странице с archetypes добавить новый: android-quickstart (Описание с akquinet STAND).
Чтобы сгенерировать классы и apk выполним Run As -> Maven Install.

Чтобы запустить приложение есть 2 пути:
1) Здесь создают три конфигурации, выполняя Run As -> Maven Build... последовательно для трёх goals:
  • android:emulator-start
  • android:deploy
  • android:run
2) По старинке можно пользоваться Run As -> Android Application (если maven нужен только для continuous integartion).

3. GUI для android состоит из иерархии View и ViewGroup объектов. Текстовое поле, кнопка, ... - это View. Контейнеры, как layout,  - это ViewGroup. Под "inflating" понимают набор действий: взять xml layout, создать все views из него, добавить эти views в родительскую ViewGroup. Внутри setContentView() вызывается inflate(), все созданные views становятся дочерними для activity.

4. Intent - это "намерение" что-то сделать. Например, вызвать другую Activity.

5. Жизненный цикл Activity (картинка c developer.android.com):

Состояния Created и Started являются переходными: система сразу переходит к следующему состоянию. То есть после вызова onCreate() сразу будет вызван onStart(), после которого onResume().

6. Знак вопроса в xml означает обращение к свойству из примененной темы. Например,
android:layout_height="?android:attr/actionBarSize"
установит высоту равную текущему значению высоты android bar'a.

7. Как отобразить RichText? Можно использовать WebView - специальный компонент для отображения HTML. Можно использовать TextView. TextView не знает про HTML-разметку, но знает про Spanned - интерфейс, позволяющий добавлять определенную разметку. Добавление маркировки:
((Spannable)text).setSpan(Object span, int start, int end, int flags);

Получить spanned из html можно с помощью:
HTML.fromHtml(String htmlText, Html.ImageGetter imageGetter, Html.TagHandler tagHandler)



Comments

Popular posts from this blog

Блочный, строчный, ...

Сборник советов: 1. Прижать элемент к нижнему краю контейнера: 2 . Две колонки: 3 . Что означает символ ">" в селекторе? Означает, что будут выбраны только прямые потомки. По-умному, direct descendant combinator. Иными словами, если есть: То "div a {color: blue;}" изменит цвет всех ссылок, а "div > a {color: blue;}" - только первой и третьей. 4 . TODO

Hibernate

1. Hibernate Session . Javadoc называет её главным интерфейсом между java-приложением и Hibernate. Иногда её называют единицей работы или логической транзакцией. Основная функция сессии - обеспечить операции создания, чтения, удаления объектов. Объекты могут находиться в одном из 3 состояний (см. 2) Сессия создается с помощью SessionFactory. SessionFactory знает конфигурацию ORM, её внутреннее состояния immutable. При вызове Configuration().configure() загружается файл hibernate.cfg.xml. После того, как конфигурация загружена, можно изменить настройки программно. Данные корректировки возможны только до создания экземпляра фабрики сессий. // Initialize the Hibernate environment Configuration cfg = new Configuration().configure(); // Create the session factory ServiceRegistryBuilder srb = new ServiceRegistryBuilder(); ServiceRegistry sr = srb.applySettings(cfg.getProperties()).buildServiceRegistry(); SessionFactory factory = cfg.buildSessionFactory(sr); // Obtain the new session obj...

Первые шаги в Selenium

Цель расплывчата: понять и сделать хоть что-нибудь =) Selenium Selenium - группа продуктов. Отличное описание в статье Что такое Selenium? Selenium IDE - плагин для Firefox, позволяет записать тест, выполняя действия в браузере. Казалось бы, Selenium WebDriver должен дать больше возможностей: всё таки не из графического интерфейса тесты пишем, а с помощью языка программирования, но интересная мысль в другой статье того же автора  Что такое Selenium WebDriver? : "... WebDriver не имеет прямого отношения к тестированию. Он всего лишь предоставляет автотестам доступ к браузеру. На этом его функции заканчиваются.Структурирование, группировку и запуск тестов, а также генерацию отчётов о тестировании, обеспечивает фреймворк тестирования, такой как JUnit или TestNG для Java, .."  Локаторы Выбрать элемент на странице можно используя локаторы. Локаторы (в Selenium IDE в поле target) используют DOM, XPath или CSS (или просто ищут по id/name). Полезное: XPath: XML Path La...