These are chat archives for rus-speaking/android-off-topic

13th
Sep 2015
Rustem Saitkulov
@atetc
Sep 13 2015 06:36

а чего Евгения в rx нету?

Добавил туда тоже, развлекайтесь )

takigava
@takigava
Sep 13 2015 08:26
@artem-zinnatullin Замечательно поживает) Я доволен)
@artem-zinnatullin Я себе выбил лицензию xamarin open source contributor и всё шикарно)
Andrey
@dellby
Sep 13 2015 08:49
Всем привет
помотрел Mobile Camp
вопрос там вроде @artem-zinnatullin показывал как rx круто и можно без 2-х листенеров обойтись для контроля наличия символов 2-х EditText для логина и пароля к примеру и вкл- откл Button-а при наличии/отсутсвии заполненных ET. Вопрос как реализовать это через листенеры, непойму.
Покажите plz на простом примере пжалстааа.
takigava
@takigava
Sep 13 2015 09:04
@dellby Может тебе лучше спросить в канале RX в шапке чата есть ссылка
Andrey
@dellby
Sep 13 2015 09:06
@takigava дык как это сделать без RX с листенером. Артём говорил, что можно обойтись без них. а я хочу понять как с ними это сделать стандартно.
takigava
@takigava
Sep 13 2015 09:09
@dellby Ааа...Сори. Воскресение утро)Да зачем тебе листенеры если есть готовый пример на Rx?Если говорил Артём, то имеет смысл у него спросить.
Andrey
@dellby
Sep 13 2015 09:12
@takigava ну вот что-то мне кажется. что мне пока стоит больше стандартных либ и патернов юзать. Почуствую полезу дальше.
Такой задачи не стоит сейчас сделать это. Меня просто напрягло, что не понимаю в конктерном случае реализацию.
takigava
@takigava
Sep 13 2015 09:18
@dellby Поспрашивай в Rx, я тут ничем помочь не могу. Сам сегодня буду сидеть и избавлятся от лишних лисенеров и callback-ов.
Andrey
@dellby
Sep 13 2015 09:18
@takigava спасиб ;)
sgtraf
@sgtraf
Sep 13 2015 10:16
почему тулбар у меня прозрачный получился, и скрол вью сверзу него прокручивает содержимое
Rustem Saitkulov
@atetc
Sep 13 2015 10:40
@sgtraf кидай код гистом/пастбином
Vladimir Tagakov
@Tagakov
Sep 13 2015 10:42
@dellby
тьфу
щас
pass.setBlaBlaListener(() -> {
  updateLoginButton();
}
login.setBlaBlaListener(() -> {
  updateLoginButton();
}
updateLoginButton(){
  loginButton.setEnabled(!TextUtils.isEmpty(pass.getText()) && !TextUtils.isEmpty(login.getText()));
}
Vladimir Tagakov
@Tagakov
Sep 13 2015 10:49
Всех с праздничком, btw
Andrey
@dellby
Sep 13 2015 11:53
@Tagakov Спасибо.
т.е. скажем у фрагмента/активити я пишу implements myBlaBlaListener
и тогда к EditText я уже смогу его повесить?
Или всетаки надо CustomEditText extends EditText implements myBlaBlaListener или таки я не так понимаю.
Andrey
@dellby
Sep 13 2015 11:59
И всех с праздничком у кого он есть
Vladimir Tagakov
@Tagakov
Sep 13 2015 13:25
@dellby Ты можешь сделать так чтобы твой фрагмен или активити реализовывали лисенер, тогда ты будешь добавлять лисенер так loginEditText.set…Listener(this); Но это сделает неудобной реализацию разной логики для полей логина и пароля. Проще всего будет создать два анонимных класса и назначить их лисенерами к твоим полям
Или сделать так:

        TextWatcher loginButtonUpdater = new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {

            }

            @Override
            public void afterTextChanged(Editable s) {
                updateLoginButton();
            }
        });
        login.addTextChangedListener(loginButtonUpdater);
        pass.addTextChangedListener(loginButtonUpdater);
Andrey
@dellby
Sep 13 2015 13:33
@T
@Tagakov спасибо
Sergey Yaremych
@sergeyfitis
Sep 13 2015 17:14
https://blog.stylingandroid.com/data-binding-part-1 выглядит аппетитно
Herobbo
@Herobbo
Sep 13 2015 18:08
Привет всем! Этот день настал!
Пришло время выпустить мое творение в открытий мир)))
В общем я работаю в офлайн режиме в android studio. И теперь хочу скомпилировать релизный apk, что для этого нужно, чтобы все лишнее убралось (не нужные библиотеки) и сжалось.
Заранее благодарю всех за советы!
Nikolay Kucheriaviy
@Ne1c
Sep 13 2015 18:09
@Herobbo тоже интересует это дело) аналогичная ситуация)
Herobbo
@Herobbo
Sep 13 2015 18:10
@Ne1c Надеюсь нам тут помогут в этом деле, как помогали в начинаниях))
Vladimir Abramov
@kivsiak
Sep 13 2015 18:10
build->generate signed apk. :)
Sergey Yaremych
@sergeyfitis
Sep 13 2015 18:11
@Herobbo посмотри в build.gradle убери неиспользуемые библиотеки, запусти линт, посмотри неиспользуемые ресурсы(drawable, strings) и другие проблемы
sgtraf
@sgtraf
Sep 13 2015 18:11
@atetc вот такой эффект возникает http://visualbooster.com/share/20150913210745525.jpg при использовании такой разметки при выводе фрагмента http://pastebin.com/zbCYvJHu
Nikolay Kucheriaviy
@Ne1c
Sep 13 2015 18:11
@kivsiak а само приложение никак подписывать не надо?
Vladimir Abramov
@kivsiak
Sep 13 2015 18:11
миру от личшних 2 мегабайт и пары библиотек не холодно ни жарко
Sergey Yaremych
@sergeyfitis
Sep 13 2015 18:11
@kivsiak я через градл собираю, assembleRelease
Herobbo
@Herobbo
Sep 13 2015 18:12
@kivsiak неужто все так просто))
Vladimir Abramov
@kivsiak
Sep 13 2015 18:12
@Ne1c ну без ключа ты там все равно ничего не соберещь
sgtraf
@sgtraf
Sep 13 2015 18:13
@atetc от чего такое может возникать?
Nikolay Kucheriaviy
@Ne1c
Sep 13 2015 18:13
@kivsiak какого ключа?
Rustem Saitkulov
@atetc
Sep 13 2015 18:13
@sgtraf в вашем коде не вижу Toolbar, пришлите ссылку на верстку с тулбаром и как вы его в коде используете
Vladimir Abramov
@kivsiak
Sep 13 2015 18:13
Через студию ты и ключ сгенеришь и все такое. Сразу скажу релизный ключ береги как зеницу ока
бекапь, отправь себе же на почту и все такое
после того как опубликуешь прилагу все ключи будут подписанны им же
Nikolay Kucheriaviy
@Ne1c
Sep 13 2015 18:14
@kivsiak а какие последствия в случае потери и всего такого?
Vladimir Abramov
@kivsiak
Sep 13 2015 18:14
@Ne1c апдейтов больше не сможешь выложить
Herobbo
@Herobbo
Sep 13 2015 18:15
@kivsiak Вот интересует, есть ли разница если я сгенерил ключ в офлайн а потом хочу подписать приложение в онлайне?
Vladimir Abramov
@kivsiak
Sep 13 2015 18:15
в смысле в онлайне?
Nikolay Kucheriaviy
@Ne1c
Sep 13 2015 18:16
Окай, сохраню, спасибо
Я тут же типа делал мобильное приложение для гиттера и по этому сразу такой вопрос, к чему гугл может придраться?
Vladimir Abramov
@kivsiak
Sep 13 2015 18:16
если ты собираешь через gradle то
   signingConfigs {
        release {
            storeFile file("..path//")
            storePassword ".."
            keyAlias ".."
            keyPassword ".."
        }
    }
Herobbo
@Herobbo
Sep 13 2015 18:18
@kivsiak Возможно я понимаю режим работы android studio не в полной форме, просто когда я включаю режим онлайн Gradle, то потом не могу обратно скомпилировать в офлайне...
И вообще в чем разница между ними?
Vladimir Abramov
@kivsiak
Sep 13 2015 18:19
в оффлайн режим гредл не лезет в интеренет за обновлениями зависимостей а использует только локальный кэшь
может сильно ускорить время сборки
а вот почему ты не можешь скомпилить без твоих логов никто сказать нельзя
Herobbo
@Herobbo
Sep 13 2015 18:23
@kivsiak Если я использую build->generate signed apk и введу пароль и алиас, этого будет достаточно, чтобы залить на плей?
Vladimir Abramov
@kivsiak
Sep 13 2015 18:23
Это эквивалентно
Herobbo
@Herobbo
Sep 13 2015 18:25
@kivsiak Там еще много полей, они обязательны?
Vladimir Abramov
@kivsiak
Sep 13 2015 18:25
Желательно.
Обязательно там только одно. Эта информация идентифицирует тебя как разработчика
Чем больше тем больше к тебе доверия
Herobbo
@Herobbo
Sep 13 2015 18:26
@kivsiak На счет пароля, он где используется?
Vladimir Abramov
@kivsiak
Sep 13 2015 18:27
Всегда когда тебе нужен этот ключ
Если вдруг у тебя уведут фаил без пароля он бесполезен
Herobbo
@Herobbo
Sep 13 2015 18:29
@kivsiak При последующих обновлениях приложения, так?
Vladimir Abramov
@kivsiak
Sep 13 2015 18:30
Нет. Каждый раз как ты будешь подписывать приалгу потребуется ключ
а будешь ли ты выкладывать подписаную сбрку там уже этот пароль не потребуется
sgtraf
@sgtraf
Sep 13 2015 18:31
@atetc тут разметка main http://pastebin.com/Tti05D5t тут сам тулбар http://pastebin.com/ATeDUSDx тут работа в коде http://pastebin.com/8vTxjgSB
Herobbo
@Herobbo
Sep 13 2015 18:34
@kivsiak И последнее, сгенерированный ключ нужно использовать во всех последующих приложениях?
Sergey Yaremych
@sergeyfitis
Sep 13 2015 18:34
@Herobbo нет, только для конкретного
Vladimir Abramov
@kivsiak
Sep 13 2015 18:36
@Herobbo такого требования нет. Но я не вижу причин почему не использовать один и тот же ключ для всех прилаг
Herobbo
@Herobbo
Sep 13 2015 18:37
@kivsiak будет правильно, для каждой проги свой сертификат?
Vladimir Abramov
@kivsiak
Sep 13 2015 18:38
зачем?
ты смысл сертфиката понимаешь? это подпись которая подтверждает что эту апк выпустил конкретно ты а не левый человек
ты когда документы подписываешь используешь одну и туже подпись или разную для всех организаций?
Herobbo
@Herobbo
Sep 13 2015 18:40
@kivsiak Теперь смысл понял! ))
@kivsiak Вы действительно мне очень помогли, теперь хоть знаю как и что искать!
Благодарю вас!
Rustem Saitkulov
@atetc
Sep 13 2015 18:46
@sgtraf
  1. Контент должен быть внутри LinearLayout c Toolbar ктр., т.е. нужно разместить content_frame прямо под include
  2. Подобные вопросы нужно задавать в осн. канале
sgtraf
@sgtraf
Sep 13 2015 18:53
@atetc ну ты крут, помогло
Rustem Saitkulov
@atetc
Sep 13 2015 18:55
Учите матчасть (как устроены Layouts)
sgtraf
@sgtraf
Sep 13 2015 18:56
да, логично все
с фрагментами особо не разобрался еще
Vladimir Abramov
@kivsiak
Sep 13 2015 19:09
избавился полностью от robospice в пользу ретрофита. робоспайс кончено имеет свои достоинства но с ретрофитом все РАЗЫ чище и проще получается
конечно за жизнным циклом и кэшем приходится самому следить но оно того стоит
Kirill Ashikhmin
@KirillAshikhmin
Sep 13 2015 20:46
@Herobbo @kivsiak моё имхо - если свои мелкие приложения, то один сертификат с разными алиасами, если какой крупный свой проект с планируемым развитием, то можно отдельный сертификат, если на заказ приложение-то обязательно отдельный и для каждого свой
Vladimir Abramov
@kivsiak
Sep 13 2015 20:53
@BOOMik с заказным само собой
Хотя если говорить о заказном то если квалификация заказчика позволяет подпись надо на нем оставить
Kirill Ashikhmin
@KirillAshikhmin
Sep 13 2015 20:59
тут да, но такое не часто бывает