- PVSM.RU - https://www.pvsm.ru -

Простой каркас Android приложения

Простой каркас Android приложения
Самым сложным этапом в любом деле, пожалуй, является поиск точки старта. При создании приложений для android эту задачу приходится делить на несколько и определять, например, для каких версий android должно быть будущее приложение.
Не буду разводить демагогию и перейду к самой сути. Для создания, с Вашего позволения, стандартно-шаблонного приложения (левое слайдинг-меню, actionbar), которое будет одинаково смотреться как на android-2.2 так и на android-4 я предлагаю не изобретать велосипеды и использовать готовые решения actionbar-sherlock [1] и sliding-menu [2].
В этой статье я нарочно опущу процесс установки среды разработки, но буду подразумевать, что разработка ведется в eclipse android sdk [3].

Подготовка

  • Скачиваем и импортируем в рабочее пространство проекты actionbar-sherlock [1] и sliding-menu [2].
  • Для проекта sliding-menu устанавливаем зависимость от проекта actionbar-sherlock.
    При установке зависимостей можно выскочить ошибка, что jar файлы имеют разные SHA. В таком случае удалите файлы android-support-v4.jar из папки libs проекта sliding-menu
  • Создаем новый проект для своего приложения, как обычно. При установке выбираем Minimum-Required-SDK как API8 (android-2.2) и Target SDK какой требуется (API14 и выше). Устанавливаем нашему проекту зависимости от проектов actionbar-sherlock и sliding-menu.
    Возможно, что будет опять конфликт jar файлов, как в пункте выше. Тогда просто удалите из проекта своего приложения файл android-support-v4.jar в папке libs.

Теперь почти все готово для создания нашего приложения, но если Вы запустите проект на android-2.2 и android-4 то увидите, что приложения выглядят абсолютно по-разному. Чтобы это исправить провернем несколько несложных манипуляций:

  • В папке res создадим папку drawable
  • Из папки drawable-mdpi перенесем файл иконки приложения (по-умолчанию eclipse обзывает его ic_launcher.png) в папку drawable
  • Удалим папки drawable-XXX и папки values-XXX (мое мнение, что данные папки должны создаваться по мере необходимости и/или предрелизной подготовки приложения)
  • В файл res/values/styles.xml укажем, что стиль AppBaseTheme будет наследоваться от стиля style/Theme.Sherlock.Light
Сама соль

У нас все готово для создания приложения – у нас одинаковый внешний вид приложения в стиле 4-го android и это все одинаково прекрасно смотрится и на android-2.2.
На данный момент у нас не хватает только бокового меню. Для его реализации создадим файл разметки в res/layout и назовем его, к примеру, sidemenu.xml. Пока трогать его не будем.
Перейдем к главной activity (если не создано, создайте). Наша activity будет наследоваться не от стандартного класса activity, а от класса SherlockFragmentActivity.
В методе onCreate опишем реализацию нашего бокового меню:

        SlidingMenu menu = new SlidingMenu(this);
        menu.setMode(SlidingMenu.LEFT);
        menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
        menu.setFadeDegree(0.35f);
        menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
        menu.setMenu(R.layout.sidemenu);
        menu.setBehindWidth(200);
        menu.setBackgroundColor(0xFF333333);
        getSupportActionBar().setHomeButtonEnabled(true);

После этих действий у нас готова болванка для создания приложения, которое имеет боковое меню (не забудьте внести свою разметку в файл res/layout/sidemenu.xml), которое открывается/закрывается по «потягиванию» вправо/влево, а так же наше приложение имеет одинаковый внешний вид для всех версий android. В качестве приятного бонуса мы получили еще и полностью кастомизируемый actionbar (о нем я постараюсь рассказать в следующем посте).

Приложу дополнительно исходник такого болванистого проекта: Скачать [4]
В итоге болванка будет выглядеть примерно так:
image
Всем спасибо за внимание и приятной разработки!

Полезные ссылки:
Android SDK [3]
ActionBarSherlock [5]
Sliding Menu [2]

Автор: artem90

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/android/36255

Ссылки в тексте:

[1] actionbar-sherlock: http://actionbarsherlock.com/

[2] sliding-menu: https://github.com/jfeinstein10/SlidingMenu

[3] eclipse android sdk: http://developer.android.com/sdk/index.html

[4] Скачать: https://dl.dropboxusercontent.com/u/25351036/habr/FTest.zip

[5] ActionBarSherlock: http://actionbarsherlock.com

[6] Источник: http://habrahabr.ru/post/182780/