• Что нужно сделать, чтобы Navigation Drawer (боковое меню) показывалось на всех activity моего приложения?

    @Eserchik
    Android 2.0 - Activity
    Android 4.0 - Фрагменты
    В настоящее время использование новых Activity на каждое действие создает образ морально устаревшей программы.
    Щас должно быть так: одно приложение - одно activity, а внутри фрагменты и диалоги
    Я предлагаю вам попытаться описать функционал вашего приложения с использованием фрагментов и диалогов.
    Ответ написан
  • Что нужно сделать, чтобы Navigation Drawer (боковое меню) показывалось на всех activity моего приложения?

    @belozerow
    У вас в проекте разные активити с разными меню? Звучит не как самая лучшая идея с точки зрения юзабилити.

    Или же вы хотите сделать одно меню, но при выборе пунктов открывать разные активити, а не фрагменты?
    В таком случае лучше всё же разобраться с фрагментами, потому что потом наверняка упретесь в кучу неприятностей.
    Ответ написан
  • Что нужно сделать, чтобы Navigation Drawer (боковое меню) показывалось на всех activity моего приложения?

    @tralchonok
    Здравствуйте. Правильнее, конечно, использовать фрагменты.
    Чтобы показывать менюшку в других Acitvity - в их onCreate инициализируйте менюку так же, как в основной Activity (как вариант, чтобы не дублировать код, отнаследовать все Activity от какой-то базовой, у которой в onCreate инициализируется меню).
    Теперь о том, почему так делать плохо. При нажатии на элементы меню, я так понимаю, вы будете переключать Activity (показывать разные Activity). При этом у вас менюшка не будет плавно убираться при клике на элемент, а будет резко выскакивать Activity. При реализации же на фрагментах, у вас при нажатии на элемент меню, боковое меню плавно будет закрываться и параллельно будет отображатья фрагмент (посмотрите как это сделано в приложении Google Play, потыкайте в элементы левой менюшки и поймете).
    Переделка на фрагменты это не страшно, я могу скинуть вам простой проектик (в Android Studio), в котором это реализовано - сделаете по аналогии. Кстати, реализация с фрагментами прекрасно работает с библиотекой, которую я описал в статье на хабре.

    UPD: выложил пример тут: https://github.com/tral/MaterialDrawerFragmentSample
    Ответ написан
  • Что нужно сделать, чтобы Navigation Drawer (боковое меню) показывалось на всех activity моего приложения?

    onepavel
    @onepavel
    Консультация и разработка мобильных приложений
    Если вы прям во всех ваших активити хотите сделать меню, сделайте базовый класс с реализацией меню и наследуйте от него все ваши активити.
    Ответ написан
  • Как лечится кризис начинающего программиста?

    kumaxim
    @kumaxim
    Web-программист
    Господин начинающий, у Вас извращенный подход к программированию в целом.
    Программа - это способ более эффективно решить какую-то задачу... способ достижения какой-то заданной цели с меньшим количеством ресурсов.

    Возьмем, как пример, тот же бух.учет на предприятии. Как Вы думаете, почему 1С Бухгалтерия так широко распространилась в РФ и СНГ? Эта программа позволяет бухгалтеру в 2-3 клика мышки сформировать отчет для регулятора(ФНС, ПФР и т.д.), вместо того чтобы человеку сидеть руками искать платежные поручения, вычислять налоги и т.п. Софт просто подтягивает выписку из банка, анализирует ее и выдает готовую для печати бумажку, что экономит бухгалтеру сильно много времени. Расчет заплатанный налогов и отчеты в соц.фонды это вообще красота - 8 кликов мышкой и все готово :-)

    Что я описал выше? Это способ решения одной конкретной задачи с гораздо меньшим количеством ресурсов, в данном случае - времени. Эта программа экономит время на подготовку бумаг, на расчеты сумм налогов, снижает вероятность ошибки и т.д. Это ее основная ценность, которую несут ее создатели обществу

    И вот, далее Вы для себя определитесь, какая Ваша основная цель? Какой Ваш основной посыл обществу?

    Личной мой посыл - "Я помогаю людям экономить: время, деньги, нервы и т.д.".

    Как я это делаю?
    У меня сначала был маленький интернет-магазин по продаже катализаторов для бензина(в поиск "кондиционеры метала для а/м"). При соблюдении определенных условий, расход топлива на малометражках снижался от 20% до 45%
    Вторым моим проектам было небольшое мобильное приложение для отслеживания хода исполнительного производства в ФССП(для взыскательней, уже сдохло). Мне и моим знакомым(не юристы) это экономило достаточно много времени на ругань с приставами, чего они должны делать и т.д. Кто сталкивался с этой службой должен знать эффективность и оперативность их работы, особенно в регионах...
    Сейчас я пишу небольшой конструктор сайтов, который поможет одной дружественной мне веб-студии сильно оптимизировать процесс создания низкобюджетных сайтов визиток

    К чему я все здесь это пишу? Я пытаюсь донести до Вас, что нет Вам смысла учить программирование на какой бы то ни было языке ради самого программирования. Нет смысла Вам учить алгоритмы, структуры, паттерны и т.д. ради их самих.

    Когда Вы пишите программу Вы должны понимать с какой целью Вы ее пишите. Сможет ли ее написание приблизить Вас хотя бы на пару сотых процента к осуществлению Вашей цели, будет ли это укладываться в Ваш посыл обществу. Осознайте это чисто для себя, не нужно это где-то писать.

    Если говорить о чисто практических инструментах(функции стандартной библиотеки, фреймворки и т.д.)... Лично я могу считать себя профессионалом в какой бы то ни было технологии, ни когда я прочитал 1-2 книги и/или написал 1,5 задачи оттуда же. С таким уровнем я не могу сказать что я знаю язык/технологию в принципе, просто знаком - да, но я ее не знаю. Считать себя профессионалом я могу после того как решу не менее сотни задач, используя эту технологию и написал не менее 1 млн строк кода, именно написал, а не сгенерировал rake/gii/artisan или чем-то там еще.

    Вам же я желаю не останавливаться, развивайтесь. Мастерство приходит с опытом.

    P.S.: от холиваров на тему 1С прошу всех воздержаться
    Ответ написан
  • Как начать работать удаленно или фрилансить, если даже проекты по мизерной цене вызывают затруднения?

    HaruAtari
    @HaruAtari
    Я бы посоветовал вам устроиться на некоторое время работать в офис. Работа в команде очень сильно помогает поднять свой уровень. В этом есть несколько плюсов:
    1. У вас всегда под рукой есть ментор, который может подсказать как решить поставленую перед вами конкретную задачу. Знания, получаемые таким образом, усваиваются намного лучше. Вы лучше понимете, как применять свои навыки.
    2. К окманде работает несколько человек, каждый со своим мнением и кругозором. Общение на обеде, за кофе и на обсуждениях проектов поможет ваам расширить свой профессиональный кругозор. Вы узнаете про многие технологии. В данный момент они вам не понадобытся, но вы будете знать о них, во время принятия решений в будущем.
    3. Устраиваясь на работу в офис стажером (или новичком, в общем неопытным специализстом), вы ставите в известность своего работодателя. Он в замен на пониженый оклад (у начинающего программиста ЗП, конечно ниже), помогает вам обучаться, выделяя вам ментора и давая практику.
    4. Вы преобретаете опыт решения реальных кейсов. В дальнейшем вы будете знать, как решается большинство типовых задач.
    5. В спокойной, но реальной обстановке получите опыт обучения "на лету" и поиска нужного материала.

    Я, когда начинал, тоже страдал такой проблемой. Год работы в комманде из 7 программистов стал для меня сильнейшим рывком. За этот год я поднялся больше, чем за предядущие три года самообучения. Поработал, получил опыт (и кучу положительных эмоций от общения с коллегами), потом спокойно перешел на удаленку.

    Мой вам совет: поработайте некоторое время в команде.
    Ответ написан