Всем привет! Это моя вторая статья тут, и я снова посвящаю ее своему опыту, полученному при изучении программирования под Android. Во время написания моей первой статьи, мне пришло в голову, что по-хорошему говоря начинать надо было писать с немного другой темы.
Давайте представим себе начинающего программиста под Android: это человек который прочитал пару книг по программированию на Java и под Android. Его распирает от полученных знаний и он может все и вся. У него есть мега-идея, и он немедленно запускает Android Studio и создает новый проект под названием MyRulezProject и… Тоша как бы говорит, это ты зря.
Я вот примерно так же начинал, и наступил на грабли. Одной из первых программ, которую я начинал писать (и которая должна была принести мне успех), был простой менеджер проектов. Казалось бы все просто, есть проект, в проектах есть задачи, а в задачах есть комментарии. Но (!) вся простота (напоминаю я начинающий программист) рассыпалась в прах всего лишь от двух граблей: 1-ая грабля это собственно говоря внешний вид программы и как она должна выглядеть в разные моменты использования. И 2-ая грабля (достаточно тесно связанная с 1-ой граблей) это сценарий использования программы пользователем. Как обойти эти грабли, собственно говоря и посвящена это статья.
Для начало выключите компьютер, и включите какую нибудь музыку (у меня почему-то лучше получается работать под тяжелый рок). Достаньте чистую тетрадь, возьмите в руку карандаш и положите в пределах видимости ластик (желательно мягкий и желательно что бы он лежал в недосягаемости кота, если он у вас есть).
Для начало стоит подумать, с чем придется в итоге работать вам и вашим пользователям. Нарисуйте с какими сущностями им придется иметь дело, и как они будут взаимосвязаны на самом абстрактном уровне.
Отлично. Пока вроде просто получается. Именно на этом этапе Вы начнете осознавать общие контуры того, что Вам предстоит создать. Теперь делаем следующий шаг. Какие у нас будут экраны у пользователя и как он с ними будет взаимодействовать? Вот тут Вам уже придется осознать сколько активностей придется создать и сколько диалоговых окон (если Вы решите их использовать, у меня до сих пор нет однозначного мнения стоит ли их использовать, и не будет ли более правильно использовать активности). Прямоугольники это у меня собственно говоря активности, а овалы диалоговые окна.
Теперь переходим собственно говоря к внешнему виду приложения.Тут собственно говоря две задачи в одной. Первая задача, это сама концепция того, как Вы видите свое приложение.
Вторая задача уже Вы должны продумать мелочи интерфейса: переходы между экранами работа с данными.
Пока я до конца продумал все экраны программы (где всего-то было меньше 10 экранов) — я извел полностью тетрадку с 96 листами.
Ну и в качестве спойлера я намекну на следующие грабли, это попытка написать идеальный код. Вы будете бросать свою уже готовую программу, что бы начать писать теперь уже точно если не идеальный код то близко к идеальному. Не надо так делать. Закончите программу, убедитесь что она работает как надо, а потому уже думайте что бы Вы сделали не так. И в зависимости от успеха Вашей программы либо переписывайте код, либо беритесь за новый проект. Удачи!
Давайте представим себе начинающего программиста под Android: это человек который прочитал пару книг по программированию на Java и под Android. Его распирает от полученных знаний и он может все и вся. У него есть мега-идея, и он немедленно запускает Android Studio и создает новый проект под названием MyRulezProject и… Тоша как бы говорит, это ты зря.
Я вот примерно так же начинал, и наступил на грабли. Одной из первых программ, которую я начинал писать (и которая должна была принести мне успех), был простой менеджер проектов. Казалось бы все просто, есть проект, в проектах есть задачи, а в задачах есть комментарии. Но (!) вся простота (напоминаю я начинающий программист) рассыпалась в прах всего лишь от двух граблей: 1-ая грабля это собственно говоря внешний вид программы и как она должна выглядеть в разные моменты использования. И 2-ая грабля (достаточно тесно связанная с 1-ой граблей) это сценарий использования программы пользователем. Как обойти эти грабли, собственно говоря и посвящена это статья.
Для начало выключите компьютер, и включите какую нибудь музыку (у меня почему-то лучше получается работать под тяжелый рок). Достаньте чистую тетрадь, возьмите в руку карандаш и положите в пределах видимости ластик (желательно мягкий и желательно что бы он лежал в недосягаемости кота, если он у вас есть).
Для начало стоит подумать, с чем придется в итоге работать вам и вашим пользователям. Нарисуйте с какими сущностями им придется иметь дело, и как они будут взаимосвязаны на самом абстрактном уровне.
Отлично. Пока вроде просто получается. Именно на этом этапе Вы начнете осознавать общие контуры того, что Вам предстоит создать. Теперь делаем следующий шаг. Какие у нас будут экраны у пользователя и как он с ними будет взаимодействовать? Вот тут Вам уже придется осознать сколько активностей придется создать и сколько диалоговых окон (если Вы решите их использовать, у меня до сих пор нет однозначного мнения стоит ли их использовать, и не будет ли более правильно использовать активности). Прямоугольники это у меня собственно говоря активности, а овалы диалоговые окна.
Теперь переходим собственно говоря к внешнему виду приложения.Тут собственно говоря две задачи в одной. Первая задача, это сама концепция того, как Вы видите свое приложение.
Вторая задача уже Вы должны продумать мелочи интерфейса: переходы между экранами работа с данными.
Пока я до конца продумал все экраны программы (где всего-то было меньше 10 экранов) — я извел полностью тетрадку с 96 листами.
Ну и в качестве спойлера я намекну на следующие грабли, это попытка написать идеальный код. Вы будете бросать свою уже готовую программу, что бы начать писать теперь уже точно если не идеальный код то близко к идеальному. Не надо так делать. Закончите программу, убедитесь что она работает как надо, а потому уже думайте что бы Вы сделали не так. И в зависимости от успеха Вашей программы либо переписывайте код, либо беритесь за новый проект. Удачи!