𝔸𝕚𝕟𝕤𝕙𝕦𝕣𝕖𝕞.
Нужно данные которые юзер вводит отправить на почту предприятия.
Muhammad
Как вызвать E-mail почту при клике на адрес почти
Ivan
Нужно данные которые юзер вводит отправить на почту предприятия.
можешь открывать Gmail, юзеру надо будет просто кнопку "Отправить" нажать
Ivan
можешь через свой бекенд это делать
𝔸𝕚𝕟𝕤𝕙𝕦𝕣𝕖𝕞.
Тип он введет данные.
𝔸𝕚𝕟𝕤𝕙𝕦𝕣𝕖𝕞.
И после открывается gmail?
Ivan
ну любое почтовое приложение установленное, у юзера будет выбор
Ivan
туда можно прокинуть текст и "кому" сразу в интенте
Muhammad
какой код надо писать в Intent
Nikolai
intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.google.com/search?q=intent+send+email"));
𝔸𝕚𝕟𝕤𝕙𝕦𝕣𝕖𝕞.
Это идея.
Ivan
Это идея.
заметь твой изначальный вопрос вообще ничего не содержал про отправку email
𝔸𝕚𝕟𝕤𝕙𝕦𝕣𝕖𝕞.
Всм?
𝔸𝕚𝕟𝕤𝕙𝕦𝕣𝕖𝕞.
Тупанул.
Ivan
ну потом уже да))
Anonymous
Всем привет. В чем отличия package com.app.name от package com.exemple.name
Anonymous
ну, они разные...
А чем они отличаются?
Ivan
средней частью
Anonymous
Блин давай без шуток
Ivan
я правда не понимаю просто)
Anonymous
Я серьёзно спрашиваю
Ivan
А чем они отличаются?
вопрос в том что такое package name у приложения?
Anonymous
В плане работоспособности программы это на что-то влияет если я заменю app на exemple?
Azad
Всем привет. В чем отличия package com.app.name от package com.exemple.name
это просто иерархия папок.. в com лежит app в app лежит name. Можешь как угодно называть папки
Ivan
В плане работоспособности программы это на что-то влияет если я заменю app на exemple?
не влияет, но в Google Play чтоб залить твой package должен быть уникальным
uroboros
А нормально, что ArrayAdapter по 3 раза отрисовывает элементы списка?
Anonymous
Нет
Андрей
Люди, как сделать макет для диалогового фрагмента в альбомной ориентации? Просто создание альтернативного макета не помогло...
Nikolai
layout-land ?
Anonymous
layout-land ?
Никогда в жизни не юзал)
Nikolai
всё когдато первый раз )
Anonymous
всё когдато первый раз )
Такая редкая дичь. Да и баганая наверное. Не видел ни в одном проекте даже
Nikolai
любая прила поддерживающая планшеты использует чтото подобное
Anonymous
любая прила поддерживающая планшеты использует чтото подобное
я имею ввиду что это явно не в хмл решается)
Anonymous
По-любому есть подводные камни из-за которых от этого отказываются и пилят велосипеды
Nikolai
один из заморочек чтобы id совпали у разных лайяутов
Anonymous
зная андроид и то, как его любят менять все кому не лень, такие прелести имеют обратную сторону медали
Anonymous
то же касается и CompoundDrawable например его я тоже не юзаю
Nikolai
нормально юзается
Anonymous
нормально юзается
хз, после того как разные магические краши начали приходить, с ними связанные, начал создавать имейж вью и текст вью раздельно
Anonymous
а потом и вовсе перестал юзать хмл
Nikolai
а потом и вовсе перестал юзать хмл
CompoundDrawables не через xml юзается
Anonymous
CompoundDrawables не через xml юзается
я не знаю что там и как в хмл юзается, я назвал программный аналог
Андрей
Anonymous
Hi
Anonymous
Подскажите как правильно сделать. Есть 2 экрана. Допустим, "Мой плейлист" и "Плейлист другого юзера". Внешне они выглядят практически идентично, за исключением небольших деталей( разный текст в тулбаре, в "Мой плейлист" есть возможность отредактировать название(показана иконка )). Далее идет список видео ,верстка идентичная ,в обоих плейлистах. Вариант 1) Создать 2 фрагмента "Мой плейлист" и "Плейлист другого юзера" ,которые никак не связаны Вариант 2) Создать 1 фрагмент, создать общий интерфейс и создать 2 класса которые его реализуют. При создании фрагмента передавать тип и соответственно дергать методы нужного класса. Второй вариант, по идеи, более правильный, но замороченный. Если в этом смысл? Или же есть 3 вариант?
Nikolai
3) создать 1 фрагмент, 1 класс и передать тип при создании
Nikolai
Переключить логику где имеются различия
Nikolai
Если конечно различий не очень много
Eugene
Если конечно различий не очень много
Ключевое) Ибо иначе это будет просто говнокод)
Anonymous
Переключить логику где имеются различия
в том тои дело, если немного то норм, а если будет много, то ...
Nikolai
Тогда сразу разделить на 2 фрагмента, 2 класса
Eugene
Подскажите как правильно сделать. Есть 2 экрана. Допустим, "Мой плейлист" и "Плейлист другого юзера". Внешне они выглядят практически идентично, за исключением небольших деталей( разный текст в тулбаре, в "Мой плейлист" есть возможность отредактировать название(показана иконка )). Далее идет список видео ,верстка идентичная ,в обоих плейлистах. Вариант 1) Создать 2 фрагмента "Мой плейлист" и "Плейлист другого юзера" ,которые никак не связаны Вариант 2) Создать 1 фрагмент, создать общий интерфейс и создать 2 класса которые его реализуют. При создании фрагмента передавать тип и соответственно дергать методы нужного класса. Второй вариант, по идеи, более правильный, но замороченный. Если в этом смысл? Или же есть 3 вариант?
Имхо, на старте для неопытного не нужно сильно париться с повторением кода. Как правило это приводит к тому, что не опытные разработчики объединяют код там, где это не нужно или даже вредно. Для начала нужно ответить на вопрос могут ли требования к этим экранам меняться по отдельности
Eugene
Потому что иначе есть шанс, что при изменении чего либо для одного флоу ты будешь рефакторить все
Eugene
Так что просто создавай два фрагмента, а потом по ощущениям в будущем поправишь как нужно
Артем
Возник такой вопрос: а можно ли подгрузить из Firebase Realtime Database данные и запихать их в static листы, чтобы в дальнейшем обращаться к ним из других классов? Сейчас у меня есть класс Database, где есть 3 метода для каждого референса и 3 интерфейса, чтобы доставать данные в других классах (как в первом ответе отсюда https://stackoverflow.com/questions/48499310/how-to-return-a-documentsnapshot-as-a-result-of-a-method). Но вот возникла надобность работать одновременно с данными по двум референсам, поэтому и спрашиваю. Мб какие-то другие решения есть? Надеюсь, +- понятно изъяснился
Daniil
Всем привет Сталкивался ли кто-то с такой проблемой, что view с высотой match_constraint, расположенной внутри ConstraintLayout, который в свою очередь расположен внутри NestedScrollView не воспринимает высоту как match_constraint, а воспринимает ее как 0 ? Если же указать высоту как match_parent или wrap_content или просто фиксированной, то все ок
Daniil
Причем если Constraint не будет вложен в NestedScrollView, то все работает нормально
Nikolai
попробуй задать NestedScrolView android:fillViewport="true"
Anonymous
Добречко, может не в тему, но хочется ответа, новичку какой лучше язык изучать под Андроид: java или Kotlin ?
Anonymous
А для начала с чего начать, чтобы в овраг со ступором не в пасть?)
Nikolai
мне кажется дело привычки. просто у Котлина очень много действий можно поместить в одну строчку кода и в этих конструкциях бывает легко запутаться
Anonymous
Ясно
Anonymous
А какие видео на Ютюбе смотреть по джаве ?
Mike
www.nohello.com
Alexey
Времени тратишь гораздо больше
Anonymous
А с чего начать?
Mike
Почему?
как ты видео по диагонали прочитаешь? Как пропустить то, что уже знешь? А теперь сделай скидку на средний уровень качества материалов, находящийся около плитнуса