0,0
рейтинг
15 июня 2014 в 22:00

Разработка → Navigation Editor — новый инструмент в Android Studio

В Android Studio появился интересный инструмент для быстрого прототипирования экранов активностей. Как говорят авторы на своей страничке — это пока только предварительная проба пера и данный инструмент ещё будет дорабатываться. Редактор может оказаться полезным как дизайнерам, так и начинающим разработчикам.
Я решил немного поиграться с редактором.

Итак, вы запустили Android Studio и создали простой пример с одной кнопкой. Идём в меню и выбираем Tools | Android | Navigation Editor. На экране появится новая вкладка файла main.nvg.xml и сам редактор, на котором можно увидеть форму своей активности с кнопкой и со стрелочкой, которая соединяется с пунктом меню Settings. Пока ничего интересного.
Дальше начинается магия. Щелкаем правой кнопкой мыши в любом месте редактора и вызываем контекстное меню New Activity....



Появляется стандартный мастер по созданию новой активности. Заполняем поля и двигаемся дальше.



Как только мы нажали кнопку Finish, в редакторе появится изображение второй активности. Причём, из кнопки от первой активности идёт стрелочка.



Если зайти в код класса, то увидим, что там был сгенерирована заготовка для щелчка кнопки.

        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                MyActivity.this.startActivity(new Intent(MyActivity.this, SecondActivity.class));
            }
        });


Однако продолжим. Нам захотелось сделать переход со второй активности на третью. Опять вызываем контекстное меню и создаём новый экран. Но на этот раз между второй и третьей активностью не будет связи.



Не беда. Делаем двойной щелчок по второму экрану и оказываемся в редакторе разметки. Добавляем кнопку и возвращаемся обратно в Navigation Editor. Изменения автоматически применятся и мы увидим добавленную кнопку. Теперь выбираем эту кнопку, зажимаем клавишу Shift и тянем кнопку к третьей активности. Когда вы отпустите мышку, то появится стрелка, идущая от кнопки к третьему экрану.



Причем, в середине появится выпадающий список из двух элементов — swipe и press. Хотя я выбрал вариант swipe, в коде я всё равно получил тот же шаблон с onClick. В принципе, логично для кнопки. Но как получить код для свайпа, я пока не понял. Может кто-то подскажет?

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

Должен признаться, за год я так и не привык к студии и по-прежнему предпочитаю старый добрый Eclipse. Но Гугл делает всё возможное, чтобы заставить перейти разработчиков на новую среду разработки. Я пока записываю для себя новинки на отдельную страничку, но никак не решусь полностью перейти в стан поклонников Android Studio/IntelliJ
Александр Климов @tehnolog
карма
35,0
рейтинг 0,0
Пользователь
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

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

  • +4
    Это круто, похоже на storyboard в XCode.
    К сожалению пока кажется, что синхронизации с реальным кодом нет, то есть если напишешь переход в коде, то он не отобразится на схеме.
    Было бы круто, если бы стало как в iOS, где можно делать переходы на схеме без кода.
    • –2
      В XСode вообще все построено на тесном взаимодействии графических инструментов и кода, если я правильно понимаю. Сначала жутко пугаешься, а потом ничего, привыкаешь, даже нравиться начинает.
      • –1
        Под iOS вообще проще разрабатывать.
        И да, к сожалению, XCode лучше, чем Android Studio или Eclipse.
        • +7
          Xcode не умеет таких банальных вещей, как написать стабы реализаций методов интерфейса(протокола).
          После IntelliJ IDEA чувствуешь себя как без рук.
        • +10
          Скорей всего вы просто не пользовались IDEA, иначе бы так не говорили
        • +1
          Под iOS вообще проще разрабатывать.

          XCode конечно мощное IDE, но ох какое не интуитивное.

          И да, к сожалению, XCode лучше, чем Android Studio или Eclipse.

          Вы еще должны сказать, что под iOS разрабатывать проще, чтобы уж совсем возвыситься
  • +9
    за год я так и не привык к студии и по-прежнему предпочитаю старый добрый Eclipse

    Сурово :) Я после месяца с эклипсом бежал на идею, как угорелый) В эклипсе же даже нормального автодополнения хмл нету, не то что интеллиджи какого-то)
    • +1
      Согласен=) Часто слышал от поклонников Eclipse, что «там можно все настроить». А мне вот нравится, когда все работает как надо из коробки.
      • 0
        Ага, но для этого надо потрать самые лучшие годы своей жизни.
    • +5
      А что подразумевает автодополнение xml? Помимо предложения вариантов, когда я нажимаю ctrl+space? А то оно работает ведь :)
      Для кастомных вьюшек добавляем неймспейс и аналогично дополняется все.

      Я вот начинал под андроид писать в 2010-м и сейчас с еклипсом просто сросся каким-то невидимым нейроинтерфейсом.

      Из реальных проблем вижу медлительность. Тот же Visual Studio работает просто молниеносно по сравнению с ним. Ну и наверное отсутствие адекватного визуального редактора, хотя опять же привык верстать ручками.

      В общем, переубедите меня, пожалуйста, перейти на Android Studio, а то я сам не вижу достаточных стимулов, буду благодарен ;)
      • +3
        Я сам пользовался eclipse пару лет, но когда попробовал ADS, то понял что это небо и земля. Перешёл легко и быстро в течении недели. Eclipse очень глупый.
      • 0
        Вот комент годичной давности, сейчас же стало еще круче, так что пробуйте 2-3 дня с idea поработать, пока горячие клавиши настроите, пока то, пока се, но уже потом не вернетесь на eclipse ^_^
      • +4
        Как же я намучился с этим эклипсом. Хотя внешне он выглядит нормально, после работы в нём начинается батхерт. Начиная с того момента, что сборка от гугла вообще не рабочая (я установил эклипс и в него уже дополнения для андроида — тогда заработало), на выяснение чего мне пришлось потратить два дня, и заканчивая всякими мелкими косяками, типа невозможности запуска проекта, если текущий выделенный файл не является .java. Например, переделываю разметку в xml файле, и чтобы запустить проект нельзя просто щёлкнуть на зелёный треугольничек. Нужно сначала щелкнуть на .java файле или на названии проекта и только потом нажимать на зелёный треугольничек. Через некоторое время это начинает очень бесить.

        Александр Климов, переделайте пожалуйста ваши уроки под Android Studio.
    • –4
      .
  • –1
    Кстати, про список новинок. Автор, а поделитесь им, а? Может быть это станет стимулом перейти на студию для таких же консерваторов вроде меня?)
  • +7
    Активности, ну зачем же люди так пишут :(
  • +2
    Советую вам, автор, все же привыкнуть к студии. Все же основа от JetBrains чрезвычайно умна, а с тех пор, как гугл почти все допилил для нормальной работы, я сразу же пересел с idea на студию. Очень уж хорошо у них все продумано. Я не в курсе, как в эклипсе, но меня чрезвычайно радует, что там интегрирован градл, и в последних версиях с ним очень просто работать, почти нет глюков, которые бы не решались очисткой билда. А также рефакторинг, который очень хорошо завязан на ресурсы в том числе :)

    И по теме топика, конечно же, хочу отметить, что фича весьма полезна :) Попробую при первой же возможности.
  • 0
    Сейчас старые проекты веду в Эклипсе, потому что лень париться с переносом зависимостей. А новые начинал в IDEA 13, где есть полноценная поддержка Android. Так вот, хочу спросить, какие отличия есть в Android Studio по сравнению с обычной IDEA? Стоит ли мне устанавливать именно студию?
  • 0
    Теперь точно "..Studio" :)

    Все это, конечно, хорошо, но лучше бы они занимались упрощением портирования на студию старых проектов, раз так рьяно хотят чтобы разработчики перешли на нее. Как не пытался старый проект под ADT перенести на студию, так бежал от этого с паникой и новой сединой на голове. Я конечно понимаю Gradle, все такое… но какого?! я столько времени должен тратить на простые вещи :) В Eclipse например(как Juno, так и прочие) так и не заработал мастер генерирования билд-файлов для Gradle. Знакомый Android-ер кинул вопрос на Stack-e с решением, так там пунктов 20 и какое-то шаманство:) Да, новые проекты стоит писать под студией, но черт возьми! старых тоже много…
    Поэтому пока старый добрый местами глючный Eclipse, но студию обновляю… в надежде…
    • 0
      Да, Gradle — это, по-моему, самое слабое место студии) На последней версии начисто создаваемый проект сразу выдает ошибку! Типа «build tools 19.0.3 мне не подходит, дайте 19.1». Хотя 19.1 установлен, и заменив цифру в build.gradle получаем рабочий проект.
      И таких мелочей много. Jsoup, например, никак не хотел добавляться в проект и работать. Все стало нормально после создания антового проекта в идее и импорта в студию с созданием Gradle проекта.
      Еще не очень нравится, что версию sdk теперь надо задавать в конфигурационном файле, а не в манифесте, но это мелочи жизни.
      Но 0.6.* версии уже вполне рабочие. Стараюсь работать в студии, чтобы в один момент не отстать от прогресса, хотя это порой связано с головной болью.
      • 0
        Да, это важно конечно, но для меня прогресс — это упрощение моей работы, поэтому я постоянно юзаю новые либы :) мне нравится JetBrains-продукты, они мимими, особенно в плане быстроты набора кода и плюшек, но сейчас студия мне жизнь не упростит. И по-моему это большой минус этого продукта. Получается мы зависим от инструмента, который еще сырой. Я не говорю уже о том, что ручками эту магию править. Хз, я все жду когда время будет и найду недельку на общение с Android Studio.
      • +1
        Gradle — это как раз самое вкусное, что есть в android studio. Из-за него пришлось слезать с любимого eclipse и переезжать на android stduio, ибо то что позволяет делать android studio и gradle из коробоки, в eclipse с ant приходится очень долго колдовать.
    • +1
      хм, уже давно не нужно эксопртировать проект из eclipse, чтобы запустить его в andorid studio.
      Сейчас уже android studio сам конвертирует проект из eclipse в android studio gradle. И конвертирует весьма успешно.
  • +1
    Мне старые проекты удалось портировать без проблем. Вероятно, они у меня не достаточно сложны :)
  • +1
    Что-то мне это напоминает… ах да, NetBeans и JavaME с Visual Designer. Пользовался помню когда-то :)
    Картинка
    image

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.