Android Development Thread 2.1.1> Хочу вкатиться в разработку под Android! С чего начать?Большинство приложений написано на Java, выучить её на хорошем уровне — это первое, что необходимо сделать. Рекомендуемую литературу см. в Java-треде.После этого можно установить Android Studio, открыть официальную документацию http://developer.android.com/training/index.html и попробовать создать по туториалам своё первое приложение.В дальнейшем потребуется базовое знание SQL, понимание XML и JSON.> Мануалы?- Официальная документация: http://developer.android.com/- Полезный гайд для начинающих и продвинутых: http://guides.thecodepath.com/android- Бесплатный видеокурс от Google для новичков: https://www.udacity.com/course/android-development-for-beginners--ud837- Два ресурса, единственный плюс которых — русский язык: http://startandroid.ru/ и http://developer.alexanderklimov.ru/android/- Классика, способная дать ответ на почти любой вопрос "Как сделать xyz?": http://stackoverflow.com/> Не хочу писать на Java!- Kotlin — JVM-совместимый язык от JetBrains. Есть лямбды, стримы и делегаты. Можно использовать в проекте вместе с кодом на Java.> Есть что-то кроме нативных приложений на Java/Kotlin?- Qt — кросс-платформенный фреймворк на C++. Используется в основном для игры и для приложений с высокими требованиями к производительности (обработка изображений, звука, ГИС-системы). Спрашивать в C++ треде.- Xamarin — кросс-платформенный фреймворк на C#. Представляет из себя обёртку над Android API. Куплено Microsoft. Теперь есть бесплатная версия. Спрашивать в C#-треде.- PhoneGap/Ionic/Titanium/ReactNative — имя им javascript, принципы у них разные, первые три попытка в кроссплатформенность одного кода, ReactNative проповедует другой подход, а именно написание разного кода но на одном языке. Популярность у них разная как и размер комьюнити. Вопросы по ним — в js-тред.- BugVM — кросс-платформенный фреймворк, написанный на Java. Форк невинно убиенного RoboVM.> Хочу писать игры!LibGDX или Unity. Спрашивать в /gd/.> Что нужно, чтобы взяли джуниором? Что учить в первую очередь?Нужно хорошее знание Java, понимание базовых принципов Android (жизненный цикл activity/fragment, что такое Context, intents, services, UI thread, support library, shared preferences, SQLite), знание популярных библиотек типа Retrofit + Glide/Picasso. И хотя бы оно готовое приложение.Предыдущий тред: https://2ch.hk/pr/res/919538.html
>>940781 (OP)Вкатываюсь, тут же реквестирую способ сделать живые обои. В инете лежат способы через канвас, но они 10% цпу кушают. Видел еще идею через опен гл. Загнать все картинки в массив и крутить
>>940902Стандартные же есть. Открой исходники и посмотри
Есть варианты отобразить картинку с возможностью приближения/удаления/скролла без ебли с самостоятельной реализацией всей хуйни?
Аноны я слишком тупой что бы вкурить примеры с гита Сторио. В нете туторов не от слова совсем. Кто нить может дать примитивный пример получения данный из провайдера? У меня есть связка из контракта, sqlhelpera и провайдера. Лоадер грузит это и пилит даные в объект. Как все это перевести на рельсы storio?
>>941200https://github.com/chrisbanes/PhotoView
Как делать репозиторий, если мне помимо круда, надо скачивать хуйню из сущность по url, загружать ее на один из серверов (по выбору), а также получать джоином из базы вместе с другой сущностью
>>941224Разные dataSource объекты, репозиторий занимается обработкой цепочки. С rx легко и удобно.
Ананасы, как в полноэкранном приложении отключить появление статусбара при свайпе с верхнего края экрана вниз? Ведро 7.1.
>>941106Смотрел те, где куб вращается, там просто транформация линий, не совсем то что я хочу реализовать. Мне бы или гифку проиграть или массив картинок без нагрузки на цп. Но наверное только и остается сорцы чужие смотреть. Энивей спасибо.
>>941265Да вроде никак, у юзера всегда должен быть доступ к статус бару.
Пытаюсь убрать овердро в своем приложении, но столкнулся с такой вещью - у меня есть экран, на котором расположены текствью с полупрозрачным фоном, а бэкграунд экрана это изображение. На самом бэкграунде овердро нет, но на этих вьюхах оно >=4. Если я меняю фон с прозрачного на непрозрачный, оно становится =2. С этим можно что-то сделать или такая сильная перерисовка плата за красивый полупрозрачный фон?
>>941569Прозрачность это дорого.
Могут ли возникнут какие-то проблемы, если использовать внутри rx-операций(которые происходят не в мейн потоке) поля активти/фрагмента, которые инжектятся дагером. Инжектятся в onCreate, а создание всех подписок происходит в onResume, отписываются в onPause?
>>941207Бамп. Туторов точно нету.
PackageManager.getApplicationIcon() дает иконки разного разрешения в зависимости от текущего разрешения экрана.Как получить иконки не больше чем xhdpi?
>>940781 (OP)Сложно ли сделать кейлоггер(с высылкой данных на мой аппарат) для телефона тянки? Какими средствами это можно реализовать?
>>941606Могут.
>>941876Пошёл нахуй.
>>941876>Какими средствами это можно реализовать?Гугли winapi lowlevel hook, raw input. Еще тебе надо будет написать панель на пхп, куда будут высылаться логи.>>941881Сам иди нахуй.
>>941953>winapiпричем здесь ведро, малохольный?
Запилите уже нормальную шапку без этой всрахи с сальными волосами
Андроны, есть одна база , она создалась всё заебись, но когда я меняю в ней данные, они нихуя не меняются. >"CREATE TABLE IF NOT EXISTS "Пытался перед этим делать > DROP TABLE IF EXISTSНо такое чувство что программе по сути дела похуй на базу. Она как буд-то один раз создалась и всё, потому-что когда удалил/переустановил приложение появилась уже ошибка, что дропать таблицу нельзя и иди нахуй. Какого хуя эта ошибка до переустановки не появлялась?
>>942403Вот база - https://github.com/nmimsmpstme/MPSTME_Project_Android/blob/master/13_Voice_Sneha_Sally_Parul_MK/Work%20Space/Project/Voice/src/com/example/voice/DbHelper.javaАктивити в котором вызывается - https://github.com/nmimsmpstme/MPSTME_Project_Android/blob/master/13_Voice_Sneha_Sally_Parul_MK/Work%20Space/Project/Voice/src/com/example/voice/QuizActivity.java
Чопоны. buildToolsVersion, compileSdkVersion и targetSdkVersion нужно ставить в максимальные, когда создаешь новый проект?Если да, то норм ли будет работать приложение на говноустройствах, если я активно начну угорать по лямбдам и прочей вкусовщине 8 жабы?
>>942472> говноустройствахТолько лямбды бэкпортнуты до 8 апи.
Как сделать чтобы imageView перекрывал кастомный view (линию)?Тоесть чтобы imageView был сверху и линию не было видно
Почему у меня два раза отправляется запрос, хотя я всего один раз вызываю функцию для отправки? Я как-то не так сохраняю observable?
>>942499Ой бля, забыл добавить, что это происходит при повороте экрана.
>>942499А кеш то твой где валяется? А вообще вроде как тут: https://github.com/NYTimes/Store решили эту проблемку и если запрос еще идет то ты к нему подключишься.
>>942477Ты имеешь в виду джек?
>>942511mObservablesCache - это синглтон который я инжекчу через даггер.>и если запрос еще идет то ты к нему подключишься.Вот мне это в идеале и нужно. Хочу разобраться как делать долгие запросы и при перевороте экрана подключаться к уже существующим, а не создавать новый. Погляжу, спасибо.
>>942515retrolambda
>>942517Если продолжаешь пилить свой велосипед, то прочти вот это - https://www.captechconsulting.com/blogs/a-mvp-approach-to-lifecycle-safe-requests-with-retrofit-20-and-rxjava
>>942351
>>942547Да, я видел эту штуку. У меня почти тоже самое, только они юзают cache (preparedObservable = preparedObservable.cache()), а как я понимаю он копирует ответ (или может я не так понимаю?), а мне надо чтобы к тому же самому реквесту можно было подключиться (например когда фотки на сервер заливаешь).
>>942569Нет, оно создает обсервбл к который будет эмитить тоже самое что и исходный, второго запроса не будет, а результат будет сохарнен и выдан другому подписчику.
>>942566Чё за лярва страшная?
>>942660В общем да. Сделал с cache и всё заработало. Единственно что, вместо LruCache заюзал Map обычный, потому что от кеша толку нет - один хуй нужно удалять свой observable из него вручную (в onNext и onError), иначе оно всегда будет его возвращать и запроса нового не будет.
Аноны, подскажите - добавляю в студии на Activity элемент Image Button, убираю фон, устанавливая в Transperent Color и... у кнопки пропадает "анимация" нажатия.Как с этим бороться?Если фон не убирать, то при добавлении PNG без фона фон кнопки отличается от фона окна приложения.Первые шаги в Андроид Деве, делаю по сайту Климова, у него ответа на этот вопрос не нашел.
>>942925В общем, ты переизобрел store, на который тебе кидали ссылку.
>>943063Ну бля, чёт не очень хочется подключать ещё одну либу только ради того, чтобы можно было приаттачиться к старому запросу. Да и тупо хотелось разобраться самому как это делается.
>>941207Вроде всё просто https://github.com/pushtorefresh/storio/blob/master/docs/StorIOContentResolver.md
>>941207Документация там плохая.Возможно ли в Store.IO описывать структуру таблиц классами, как в cupboard?
>>943168Я два дня втыкал пока понял что typeMapping генериться при компиляции.
Есть один метод, он запускает активити, которая вытягивает картинку из галереи. Как описать событие, которое происходит, пользователь закенселил выбор картинки?
>>943275В onActivityResult resultCode будет RESULT_CANCELED
>>943227Ага, вижу. Надо самому запросы писать.В целом Store.IO всё равно страшно хороша.
>>943227> Документация там плохая.Открой пул-реквест и улучши её. Или хотя бы issue создай и опиши, что тебе там непонятно.
>>943326Не подскажешь как запилисть update данных?
>>943370https://github.com/pushtorefresh/storio/blob/master/docs/StorIOSQLite.md#2-put-operation
>>943376мне нужен PutResolver же? Или можно как то проще? Тупо в ContentValues запихнуть например айдишник не получиться?
Сап прогач, скажи как называется язык програмирования/автоматизации для андроида(аналог autoIt для винды), такой язык, которым можно тыкать по эмулированному андроиду через adb в винде, закачивать контакты, и так далее, и тому подобное.С меня няша видиорелейтед
>>943634Espresso?
>>943647>EspressoДобра тебе анончик, вывело на статью на хабре на все остальные языки автоматизации для андроида
>>943668И что в итоге выбрал?
>>943672Пока ничего, пойду искать фрилансера, т.к. пишу на шарпах
Анон, дай книгу, прочитав все которую, я бы смог собрать приложение на андроид в андроидстудио.Жаву знаю.
>>943879https://4pda.ru/forum/index.php?showtopic=159318&st=1120
Зачем нужны приложения на андроид?Ведь сейчас у каждого сайта есть адаптивная мобильная версия.Судяьпо новостям, юзеры пресытились аппликухами
>>940781 (OP)Антуаны, есть вопрос по ретрофиту и интентам.В общем, есть у меня два Activity. В первом у меня RecyclerView, в ViewHolder этого ресайклера при выборе элемента создается интент и после этого происходит переход на второе Activity. Там в onResume я делаю enque. Когда я возвращаюсь в первое и снова вызываю второе Activity, у меня вместо двух запросов к серверу делается сразу 4, в следующий раз - 6, ну итд. Вопрос: это косяк на стороне ретрофита или интентов? И как исправить, чтобы число запросов не увеличивалось?Вот первый Activityhttps://github.com/TheKlash/MyWeather/blob/master/app/src/main/java/ru/nway/myweather/activities/CitiesActivity.javaВот второйhttps://github.com/TheKlash/MyWeather/blob/master/app/src/main/java/ru/nway/myweather/activities/WeatherActivity.javaВот их контролерhttps://github.com/TheKlash/MyWeather/blob/master/app/src/main/java/ru/nway/myweather/activities/Controller.javaПростите, что без коментов
>>943911В контроллере находится RecyclerView
Както из адаптера можно выдернуть позицию зная данные элемента?
>>944117Есть метод getPosition()
>>944121как выдернуть все холдеры и получить даные хранящиеся в них?
>>944128и когда я найду соответисвие с тем id что есть у меня тогда я из него и вытащу позицию.
>>943376А в как сторие решает что вызвать из putResolver?
>>944128А ты как холдеры формируешь? Я тут недавно писал похожую хуйню, так вот я написал метод в дб хелпере, который возвращал мне лист обьектов, которые я заганял в холдер
>>944146Я лист заганяю в ресайклр, а в холдоре есть привязаный элемент. Извне я получаю какие то данные, обновляю бд и что бы не перезагружать весть лист в ресайклре я хочу сравнить мои данные с данными в холдерах, найти нужный холдер и наконец получить его позицию.
>>944146https://gist.github.com/skyfishjy/443b7448f59be978bc59
Как правильно пилить коллбэки на системный события типа onClick() в активити/фрагментах - отдельным анонимным классом, или все интерфейсы имплементить у активити? При втором способе можно в иерархии переопределять какой-нибудь клик без проблем, но класс засирается хуйнёй-малафьёй типа onClickXXXX
>>944310>иерархияСтарайся этого избегать по максимуму. Композиция наше все.
>>944316Почему? Основа ООП - это ведь инкапсуляция, полиморфизм и наследование
>>944513Вот и наследуйся от интерфейсов, а в нормальных языках от трейтов.>Favor 'object composition' over 'class inheritance'.Читай паттерны.
>>944513Это хуевое ООП из 90х. Нормальное ООП - это обьекты и связи между ними.
>>944515Интерфейсы реализуют, а не наследуются от них.
>>944536проиграл с умника
>>944536Бля пиздос как же жить теперь.
Андроид студио не видит мой говносмарт, процессор не поддерживается для нормального эмулятора в ней. Будет совсем уебством использовать сторонний эмулятор, типа AndyOS или BlueStacks, каждый раз устанавливая в него сбилденный апк?
>>944623> Андроид студио не видит мой говносмартДрайвер накатил? USB дебаг включил?
>>944623Universal adb driver попробуй
Как вам идея, сосоны:1) Весь код вьюх ебашить во фрагментах (profit: иерархия и т.д. не дублируется на активити)2) Юзать одно активити для нескольких разных экранов, которому при вызове передавать в bundle код фрагмента, который надо запустить?
>>944717С подключением.
>>94471710/10
>>944641>>944629Спасибо, аноны, получилось.
Создаю Intent, создаю bundle, вызываю startActivity, в Activity в метод onCreate не передается Bundle. В чем может быть проблема?
>>944836Он в getIntent отсутствует?
>>944843Да
Есть активити с recyclerView, из него я через fab вызываю activityForResult - AddRecord, на резалте обновляю лист, который формирует recyclerView.Из адаптера я тоже вызываю addRecord, но просто через startActivity.Если я после того как вызвал addRecord из адаптера вернусь на активити с RecyclerView то сработает ли метод onActivityResult в нем?
>>944862Если нет, то есть ли метод, который сработает, когда я возвращаюсь к активити из любого другого?
>>944870старт резюме рестарт
Следите за руками:Приложение без упоминания камеры в манифесте просит запустить камеру для захвата все ок.Приложению добавляется пермишен камеры в манифесте, потому что в другом месте нужен прямой доступ к камере, в том месте добавляется запрос на пермишен и все хорошо, теперь если в том месте где просто запускается интент нет полученного пермишена на камеру, то кина не будет и НИКАКОЙ ОШИБКИ ТОЖЕ НЕ БУДЕТ, НИ В ЛОГЕ НИГДЕ, БЛЯТЬ ЧТО ЗА ХУЙНЯ НАХУЙ ПРОСТО. Это вообще хоть где-то задокументировано, может это конечно хуйня специально от MIUI, но у меня есть неприятное ощущение что нет.
>>945932а теперь внятно.
>>945932Умерьте свой пыл для начала, господин.> Это вообще хоть где-то задокументированоhttps://developer.android.com/reference/android/provider/MediaStore.html#ACTION_IMAGE_CAPTURE> Note: if you app targets M and above and declares as using the CAMERA permission which is not granted, then attempting to use this action will result in a SecurityException.
>>946015Спасибо, тогда где эксепшн? Остальные сесюрити эксепшн норм кидались.
У кого есть тестовый проект по реализации апи клиента на ретрофите и, может быть, rx? Сейчас мой клиент написан на голом okhttp с кастомными коллбеками, а это не очень хорошо.
>>946511А зачем тебе чужой проект? Вот очень понятная статья про основы Retrofit'a https://habrahabr.ru/post/314028/
>>946511https://futurestud.io/
>>946544Основы я умею. Мне бы на архитектуру правильную взглянуть.>>946547Сейчас почитаю, что там. А у тебя нет этой книжечки? https://futurestud.io/books/retrofit
>>943668кстати тут найдется хотя бы один анон который шарит в автоматизации тестирования на андроид? заплачу, надо сделать приложку, которую я смогу контролировать через адб
>>946511Как правильно отменять запросы в ретрофите, чтобы после дестрой сервиса/активити не поймать вызов коллбека.
>>946640>>946511Потерял знак вопроса, извиняйте.Ретрофит подразумевает что ответ от сервера прийдет известной структуры, как быть, если сервер присылает 2 разных ответа и их надо разобрать?
>>946590А Spoon не подходит?
>>946737шта такое спун?
Анон, делаю что-то типа блокнотаНе могу понять, как реализовать печать жирных или кривых символовЧтобы не весь EditText стал жирным/кривым, а только новые символы
>>946871SpannableString гугли
>>946641Свой десериализатор мути.
>>940781 (OP)Какую полезную библиотеку для ведра можно запилить? Есть какие-нибудь реквесты?
Возможно будет нубский вопрос, который тут задавали миллион раз.Сценарий:1. Если юзер не залогинен, то показываем ему форму логина. После успешного логина перекидываем в рабочую область приложения2. Если юзер залогинен, то показываем ему рабочую область приложенияВижу несколько путей решения:1. Делаем все в мейнактивити фрагментхосте. В зависимости от статуса авторизации, показываем фрагмент логина или фрагмент рабочей области2. Создаем LoginActivity, которая является активити лунхера. Если юзер уже авторизован, то она делает редирект на MainActivity.На какой стул сесть? В первом случае слишком дохуя телодвижений с фрагментманагером. Плюс ко всему, в результате будут вложенные фрагменты. Не знаю, правильно ли это.Во втором случае происходит холостой запуск логинактивити, в случае, если юзер авторизован. Да и вообще, с семантической точки зрения, считаю не совсем правильным, такую вот активити делать лунхеровой.Может кто подскажет, как это в общем случае делается по феншую?
>>947163А ты не подумал, что будет удобнее в onResume MainActivity проверять, залогинен ли юзер, а если нет, то отправлять в LoginActivity?
>>947168А это хорошая идея. Спасябки. Не подумал, т.к. только вкатываюсь и не прорабатывал типичные сценарии.
>>947168почему в onResume?
>>947217Тащемта правильно все. Если в onCreate, то будет фейл, если токен протух, пока ты сворачивал аппликуху.
Анончик, хочешь заработать пару подорожников за несколько часов?есть ТЗ:Необходимо написать приложение, которое будет осуществлять доступ к автоматизациии симулятора (espresso/robotium/UIautomator) андроид через adb. К примеру клик по координатам, отправка текста, удаление/загрузка контактов, изменение build.prop, пролистывание экрана и т.д.Оче надо держи видиорелайтед для настроенияи мыло на всякий [email protected]
Нид хелп. Когда юзал активити все было нормально - клава тупо сдвигала все вверх. Перешел на фрагмент - и клава рушит верстку(Релятивка, нижние елементы привязаны к углу, и размер картинки меняеться). Как пофиксить?
>>947335А зачем тебе это?
>>943227нет, это не орм, то, что там есть маппинг на базе annotation процессоров ничего не значит
>>947493Что зачем? Мне нужно что бы пик 1 от клавы просто сдвигался вверх а не менял размери елементов.
>>947517Это был вопрос на пост выше
>>947344Поставь что эти значки под последним инпутом, тогда их спрячет, а не поднимет.
>>944836В том что его нужно из getIntent брать...
>>947522сори, в глаза ебусь
>>947525трабла в том что ещё картинка меняеться
>>947544Поставь ей фиксированный размер и не будет менятся, можешь вообще в ScrollView хуйнуть и поставить ему fillViewPort=true
>>9475481 - низя. Картинка не фиксированая тянеться пикасой и хоть как то подгоняеться. 2 - попробую отпишусь
>>947554Поменяй скейл тайп и пикасса срать не будет.
>>947554>тянеться>подгоняетьсяТы ведь специально, да?
>>947493чтобы ты анон спросил, хочу управлять андроидом через винду, ботов там писать
>>947600Простыл малось - жопой думаю и в глаза с утра ебусь. Прошу извинения
Господа, а есть ли где-нибудь гайдик по оптимальному парсу курсора для комплексных (вытянутых с кучей join-ов) сущностей ?
>>940781 (OP)Подскажите, что под андроид можно написать дельного, кроме игрушек.Хочу вкатиться, но так он мне как говно без зодач.
>>947670Мобилки вообще говно без задач, лучше учи хаскель.
>>940781 (OP)Соус шебм.
>>947670Напиши клиент для какого-нибудь апи. Для твиттера, вкашечки, гитхаба, редтьюба.
>>947692Прямо весь клиент? Или, например, смотрелку фоток?
>>947335БамП
>>947727Смотрелка фоток - это 2 главы в учебнике Big Nerd Ranch. Хош вкатиться - пили монстра. Игрушки к андрои деву не имеют абсолютно никаго отношения.
>>947737Да ты угораешь? Авторизация + запросы к сети + архитектура + сохранение стейта + либы.Почти у всех знакомых ведроид-разрабов на гугл-плее висит всякая залупа вроде крестиков-ноликов и погодного сервиса.
>>947606Нахуй проследуй.
>>947670> но так он мне как говно без зодач.Так и есть. Если есть на примете что-то более интересное, то лучше не вкатывайся вообще сюда.
>>947743лулз в том что можно и без этого. А можно запилить крестики и погоду со всем этим. Эти знакомые могли стать девами в славные времена когда все что нужно было - это сказать да на "знаешь яву?". Сейчас же у нубов все в реактивщене и юзаньи апишников соц сетей. Вкатыванье становиться сложнее и правельно.
Есть вопрос к тем, кто работал с vk sdk. Нужна реализация поиска юзверей, похожая на ту, что есть на самом сайте. Т.е. по городу, универу и тд. Есть какие либо готовые реализации этой ебалы? Или самому пилить нужно будет?
>>947760мамашу свою нахуй проведи, долбаебЧто тут нет анонов, которые за хуйню работы, денег получить не хотят?
>>947891Я тебя в рот, ебал, скотина обоссаная. Съеби нахуй из треда.
>>947667UPD: так же ищу всевозможные оптимизации. Из того, что уже есть - использование кэша для индексов курсора, дабы не искать каждый раз индекс для названия колонки. Ориентировочно, каждый ответ от бд (каждая сущность) выходит на примерно 150-200 строк (спасибо, joinы...), так что ориентир по большей части на эффективный парсинг join-курсора.
>>948336Какой нахуй парсинг курсора? Что ты несешь, наркоман? Объясняй нормально, что ты хочешь и код показывай.
>>948336Делаешь один раз getColumnIndexOrThrow для каждой колонки и потом по этим индексам тягаешь, а вообще не надо там курсор дрочить по углам, шабить SQLiteHelper, что в общем одно и тоже.
Замена синглтона:Service vs Компонент даггера с аннотацией Singleton?
>>948401Сервис будет жить после закрытия приложения, а компонент - нет.
Антоны, а как такое может быть? Уникальных пользователей 57 , а купили всего 19 человек. Не значит это что где-то апк слили?
>>948344Парсинг сложных данных в курсоре в сущности (читай POJO с кучей списков)
Как сделать колапсинг тулбар как в гугл плее? Сначала он прозрачный, а потом становится солид.
При каждом создании проекта появляются одни и те же файлы.Как их окончательно выпилить??
>>948512Не знаю что за первый файл, но второй для планшетов. Поставь себе нормальный вид проекта и поймешь - project вместо android
>>948519Пикрелейтед. Я добавлял эту картинку в папке res, правой кнопкой new->image assetsОна теперь постоянно импортируется и вызывает ошибки.
Сам разобралсяУдалил файл по ссылке C:\Program Files\Android\Android Studio\plugins\android\lib\templates\gradle-projects\NewAndroidModule\root\res\mipmap-xxxhdpi>>948526
>>947335бамп
А кто какие исключения отлавливает, делая http запрос ? Из очевидного только UnknownHostException всеми нами любымый приходит :)
>>948670Любой IOException - чек ер конекшнКакой-нибудь ParseException - bad response try later404 - нахуй с пляжа401 - тут надо смотреть детальней, много чего может быть5xx - извините у нас бекендщик поц, мы работаем над этим2xx - лайкайте ваших котиков дальше
>>948767Именно касательно исключения (коды ответа то могут быть любыми, это отдельно отрабатываю). Волнует - что нужно отлавливать по исключениям для отдельной обработки
Поясните, как использовать fragment shared elements transitions при условии, что шейред элементом является подгруженная из интернета пикча? У меня сначала открывается новый фрагмент, а потом только лишь подгружается пикча. Использую glide.
>>948987Обе должны отображать уже загруженную картинку, то есть ты вначале показываешь в обоих мелкую УЖЕ загруженную картинку. Ну и можешь паралельно фетчнуть норм размера.
Аноны, подскажите по InterstitialAd.В соответствии с рекомендациями гугля сделал что-то такое, с проверкой, готово ли к показу объявление:> if (mInterstitialAd.isLoaded()) {> mInterstitialAd.show();> } else {> Toast.makeText(this, R.string.cantload, Toast.LENGTH_SHORT).show();> reverseTimer(60,mTimer);> }Ну т.е. если есть реклама - показать, если нет, то мы ждем минуту и пробуем снова.А есть ли какой-то способ проверить, была ли реклама пользователем загружена и, желательно, какой-нибудь идентификатор, чтобы понять, какую именно рекламу он смотрел?Вижу в описании класса метод > boolean > isLoading()> Returns true if the ad is loading.это оно или нет?Ну и по поводу айди:>public AdListener getAdListener ()>Returns the AdListener for this InterstitialAd.Вроде оно?
И вдогонку, самое главное - есть ли какой-то способ понять, был ли клик по рекламному объявлению?
Поздравляю тред с днем рождения, ведь ему уже 2 года Давно я в тред не заходил. Вижу шизик-дрочер оп так и у руля со своей поехавшей нумирацей. мимо-первый-оп>>947670Я даже хуй знает что тебе сказать. Мобайл сейчас топ на рынке веб контента, и популярность еще растет. Потому все что имеет под капотом запросы в интернет можно делать на телефоне. Другое дело что со временем через лет 5 я думаю, разработку начнут переводить на прогресив веб апликейшены.Добавь до этого стенделон клиенты типа будильников, калькуляторов и прочего. Добавь управление любыми девайсами типа телевизоров и прочего.Спектр юзабилити настолько большой что пиздец.В общем мобайл ну никак не говно без задач. Не слушай долбоебов. Просто, как и везде, 90% разрабов месят говнокод в говнопроектах, но повторюсь, так везде.
>>949257> поехавшая нумерация Разработчик, не слышавший про semantic versions? > мимо-первый-опПошёл нахуй со своим вниманиеблядством.
Есть gridView, который заполняется FrameLayout'ами. А внутри каждого FrameLayout'а несколько ImageView, которые проигрываю анимации.А теперь вопрос - как настроить z-order этих imageView относительно друг друга в во всех FrameLayout? Сейчас анимация предыдущего FrameLayout'а всегда перекрывается анимациями следующего, а нужно чтобы они сохраняли свою иерархию. Чтобы ImageView на верхушке FrameLayout'а не мог быть перекрыт ImageView со дна другого FrameLayout'а.
>>949362Я так понимаю, там в итоге формируется что-то вроде<LinearLayout>-<GridView--<FrameLayout ---ImageView1---ImageView2-->--<FrameLayout ---ImageView1---ImageView2-->--<FrameLayout ---ImageView1---ImageView2-->-</GridView></LinearLayout>И последний всегда выше в иерархии. Куда вот копать и возможно ли это вообще, чтобы ImageView1 никогда не мог перекрыть ImageView2? Или он всегда будет ниже по оси z и это никак не изменить?
Задамка тут вопрос. Подскажите как мне поступить, чтобы убрать в WebClient-е "Proxy-Connection" при подключенном прокси.. С джавой знаком слабо. Пробовал декомпилить rt.jar чтобы изменить класс HttpURLConnection(здесь https://leibnizhu.gitlab.io/2016/12/04/%E7%88%AC%E8%99%AB%E4%BD%BF%E7%94%A8%E4%BB%A3%E7%90%86%E6%97%B6%E5%AF%B9HTTP%E8%AF%B7%E6%B1%82%E5%A4%B4Proxy-Connection%E5%AD%97%E6%AE%B5%E7%9A%84%E6%8E%A2%E7%A9%B6/ пишут что это из-за него добавляется этот заголовок), но нихрена не получается, Eclipse после изменения не запускает виртуальную машину. Как правильно распаковать и запаковать rt.jar чтобы нормально потом воспринялся java-ой ?
>>949271>Разработчик, не слышавший про semantic versions? Поехавший долбоеб решил выебнуться, но обосрался. Рад за тебя.Мало того что версии должны быть намертво привязаны к флову разработки, и для именования треда может выступать лишь в роли шутки, даже андроид апликуха подписывается реальной целочисленной версией, так у тебя еще и 2.0.5-2.1.0-2.1.1, что вообще хуй пойми как работает. В общем я не знаю что именно ты долбишь, но нумерация у тебя поехавшая просто в край.>Пошёл нахуй со своим вниманиеблядством. Хочу и буду. Ну хоть не бугурти пожалуйста, а то засрал шапку своим говном и рад. Самая всратая шапки на всей тематике нахуй. Хотя вон шиза и на дажватред перекинулась.Кстати, даже в блядском джава треде лучше поясняется за вкатывания в андроид. Ебучий позор нахуй.>>949364Странно что имейджвью2 не перекрывает первый, увы без воспроизведения в живую хуй разберешься. Но по логике имейджвью 2 должна перекрыть первую всенда.Также мб вариант просто поменять их местами? Или они начинают менять позицию после того как начнут проигрывать анимацию? Мб также юзаешь какие-то имейджлоадеры и прочее?Но как вариант можешь сделать кастомный фреймлейаут, у которого будут два чайлда и переопределенный getChildDrawingOrder. Тут уже железобетонно все должно срабатывать как сам напишешь. И уже этот фреймлейаут юзай. Но кажется мне, решить задачу можно более тривиальным способом.
Как же заебали говнокодеры.
>>947163Сядь на стул сплэшскрина.
>>947168Этого пидора не слушайте. Может у тебя активити вообще стейтом всего приложения управляет? Хранит данные для фагментов, да?
>>949439Я тебе ебало обоссу.
>>949420>Но по логике имейджвью 2 должна перекрыть первую всенда.Но ведь там же строится лэйоут перед отрисовкой, где ImageView1 (1) имеет индекс 5, ImageView2 (1) индекс 6, ImageView1 (2) индекс 7, ImageView2 (2) индекс 8, и тд, например.То есть, как в xml бы они шли последовательно.Мне-то всего нужно, чтобы одна анимация гарантированно была над всем.Может, что-то с ViewOverlay самого GridView сделать, ставить ее над нужной клеткой?
>>949456Так фреймлейауты у тебя всегда на своей позиции, как они друг друга перекрывать могут?
>>949456>>Но по логике имейджвью 2 должна перекрыть первую всегда.Хотя, может дело в том, что каждая последующая клетка тоже проигрывает анимацию. Правда, все равно в днище-ImageView, и эта анимация перекрывает более поверхностную анимацию предшественника.Надо затестить на более простом примере.
>>949420проясни про вкатывание тогда уже. Буду копипастить в каждый тред. И да уже нужон дагер да рх
>>949472>Надо затестить на более простом примере.Лучший вариант, когда происходит НЕХ начать с простого и усложнять.По факту гридлейаут должен менеджить позиции чайлдов-фреймлейаутов, а каждый фреймлейаут будет менеджить позиции имейджвьюх.
>>949474>проясни про вкатывание тогда уже.https://github.com/qqqlll/Java-Thread/wiki/AndroidЭто, если что, из старой шапки андроид треда. Хотя бы просто ссылку дай на эту вики.>И да уже нужон дагер да рхДумаю да, тогда еще несколько слов про архитектуру добавить и збс единой пока нету, но понятие иметь нужно.
>>949469>как они друг друга перекрывать могутЕсли поставить android:clipToPadding="false" фреймлейоутам, и android:clipChildren="false" самому GridView - то анимации фреймлейоутов могут покидать свои границы.Сферический абстрактный пример. Адаптер заполняет GridView фреймлейоутами из двух ImageView.Тот ImageView что на дне это картинка\анимация человечка и кишков, а тот что наверху - анимация\картинка машины, которая едет в сторону правой границы GridView и давит человечков.По идее машинка должна давить человечков, но получается наоборот. В обратную сторону все работает как надо.
>>949485Есть годный мануал по даггеру для идиотов?И может ли тут кто-то в 2 словах пояснить, зачем этот даггер нужен?
>>949490Хз, как-то вот все это с индексом item'a в GridView связано.Или с тем, что я в адаптере эти анимации запускаю, то есть когда итоговый layout не отрисован.
>>949491>Есть годный мануал по даггеру для идиотов?Есть первая часть - https://habrahabr.ru/post/279125/и вторая - https://habrahabr.ru/post/279641/самая понятная статья которую я находил. Но там правда не все фичи есть, но для начала более чем. >зачем этот даггер нужен?DI - dependency injection. Грубо говоря это удобная кодогенерация фабрик, из которых ты будешь получать разные реализации интерфейсов репозиториев, имейджлоадеров, да и чего угодно что сам придумаешь. Руками такое делать как минимум дольше. Хотя удобный DI и руками делать можно. От гугла даже гайды есть.Но даггер норм. Сам еще только учусь его юзать.
>>949490Блять только не говори что ты игру на дефолтном ведро-сдк пилишь.
>>949490Хер знает. Но лучший совет, начинай курить от простого к сложному. Медленно - да, но очень нужный скилл. А то такую комплексную задачу на листике тебе не решат.
>>949516Нет, но эффект анимаций схожий.
Есть два фрагмента, в них создаются OptionsMenu, код идентичный за исключением XML. Проблема в том, что одно нормально инфлейтится, а в другом видно только первый пункт, на хардварную кнопку меню не реагирует. Может ли такое быть из-за нехватки памяти? Потому что такое наблюдается на старом LG E612, на Redmi 3 всё нормально.
>>949485Вот только даже Примитивный MVP каждый ебошит на свой лад. Нахуй стандартизация если ее нету. В V у меня все что связано с оными view + билдеры диалогов и интенты(из за чего эти Vразростаються до 250-300 строк), M- тупо примеры обектов да контракты БД, а в P вызовы ретрофита, бизнес-логика да подготовка и выполнение команд БД. ЧЯДНТ?
>>949559MVP - это паттерн слоя представления. Если у тебя там бизнес логика, то в этом, скорее всего, проблема и есть.
>>949570Очередная охуительная история от прыщавого гения :)MVP - это паттерн архитектуры и разделения бизнес-логики. Слой представления в андроиде задаётся фреймворком
>>949559Ты блять читатьто умеешь?Я же написал>единой пока нету, но понятие иметь нужно.>а в P вызовы ретрофитаВызов ретрофита должен быть в модели, в какой-то реализации репозитория, чтоб подменять бд на ретрофит можно было легко. Более того, грамотные парни объяснили что даже работа с медиаплеером - модель. У меня шаблон разорвало от этого не так давно.Об этом и речь, желательно хоть какое-то представление про архитектуры, потому что чем дольше тянуть тем дольше учится будешь.
>>949503Все-таки в GridView каждый последующий элемент по оси z располагается в порядке "первый вошел - на днище пошел".Запилил я обычный GridView из примера документации, а вместо FrameLayout'ов обычные ImageView сделал. Эффект был точно такой же.Только imageView.setZ(-10f) на том, что не должно ничего перекрывать (или больше 0 на том, что должно) - дает нужный эффект.Вот только до API 21 setZ() нетъ.
>>949559Ну и интерны во вью выглядят странно.>>949608-кун
>>949610>интерны интенты
>>949576Говна поешь, имбецил.
>>949570хуйню сказал
>>949608Что почитать на эту тему?
>>949656Учитывая что все дрочат как хотят, то и пишут по разному. Статей миллионы.Но советую начать с Uncle's Bob Clean architecture.И дальше уже смотреть mvvm/mvp/viper.Viper - сильнее всего бот клин архитекчер заточен, но и кода\абстракций больше в результате.
>>949658Унеси вайпер отсюда, рамблеровский петух. Вы там дрочите на него что ли?
>>949660Ты какой-то ебанутый. Вайпер это самая адекватная реализация клин архитекчер. Да и на мвп он похож пиздец как сильно. Добавляется только интерактор и роутер.
>>949665Я работал в рамблере пару месяцев, такое ощущение, что у них там это религия.
>>949666Бля, ну всяко лучше чем кусок говна в виде активити на 2к строк.
>>949665А в клин архитектуре от фернадо секаса - сюрприз - вместо роутера навигатор. Очень сильно отличается, да.Это ещё не учитывая то, что вайпер и clean-сектанты в один голос агитируют за один из самых парашных и недоработанных паттернов - репозиторий. Это в ведроиде-то, где лейзи лоадинг с элементами списка и ручной выбор источника данных встречаются в каждой второй задаче
>>949674Из крайности в крайность бросаемся, ей богу!
>>949666А куда сьебал потом? Сколько зп? Кулстори?Это ведь вроде одна из топовых рашкинских контор для мобайлера?
>>949685Хуйня, а не контора из-за их вайпера. Надоело, съебал на апворк фрилансить, 3-4к выходит, налоги не плачу.
>>949676>А в клин архитектуре от фернадо секаса - сюрприз - вместо роутера навигатор. Так суть в том что это одни и те же яйца, в чем проблема придурок?>недоработанных паттернов - репозиторийЭто уже какая-то зелень.>Это в ведроиде-то, где лейзи лоадинг с элементами списка и ручной выбор источника данных встречаются в каждой второй задаче Ну так при скролле дергай презентер чтоб получить новую порцию данных и будет тебе лейзилоадинг.>>949678Архитектура либо есть, либо ее нету.
>>949686>вайпераГовнокодеры ебаные.
>>949686Ой блять, поговорил бы с тобой в живую и про твои архитектурные подходы. Съебал он из-за архитектуры, конечно. >>949695Еще один неуч-долбоеб?
>>949689В том и проблема, чушок, что онанизм на "вайпер" - суть онанизм на обычное словечко, скрывающее под собой одну из классических архитектур.>Ну так при скролле дергай презентер чтоб получить новую порцию данных и будет тебе лейзилоадинг.Да я не про пагинацию, додик. Я про связанные сущности в БД, когда у тебя есть список и Details c соответствующим набором сущностей по клику.
>>949697Использую всё, кроме вайпера.
>>949689>Архитектура либо есть, либо ее нету.Архитектура всегда есть, потому что часть её навязана Android-фреймворком. В приложении телеграма чувак хуярит иерархию вью вручную, в другом приложении - она инфлейтится из XML. Это архитектурные решения
>>949699Топ зашкваров в мире ведроид-разработки:XamarinPhoneGapeVIPERRealmAsyncTaskAsyncTaskLoader
>>949698>В том и проблема, чушок, что онанизм на "вайпер" - суть онанизм на обычное словечко, скрывающее под собой одну из классических архитектур.Ты отбитый даун. Мне как-то похуй называть вайпер вайпером или клин архитекчер от фернандо. Главное что оно значит.>Да я не про пагинацию, додик. Я про связанные сущности в БД, когда у тебя есть список и Details c соответствующим набором сущностей по клику.Ты говорил про лейзилоадинг. А то что ты теперь говоришь это отдельная выборка. И все отлично ложится на любую архитектуру.>>949699Назови 5 отличий мвп от вайпера может поймешь что это просто екстеншн вресия мвп.>>949700>В приложении телеграма чувак хуярит иерархию вью вручную, в другом приложении - она инфлейтится из XML. Это архитектурные решенияЭто нихуя не архитектурное решение, это просто грубо говоря переопределение метода метКонтент.>Архитектура всегда есть, потому что часть её навязана Android-фреймворком.Ну если говорить что любой кусок говнокода - архитектура, то конечно же это архитектура. Но мы то белые люди и не должны юзать изначально говна которое диктует андроид фреймворк - а именно говном он и является. 9 лет никто не может вкурить как с этим говном совладать, чтоб и работало и удобно писать было.
>>949702>AsyncTaskLoaderЕдинственная рабочая штука в ведре. Курсор адаптер был просто незаменим хуеву тучу времени.>RealmРили? Зашквар? Хоть я ее и сам не юзаю, но чтоб прям зашквар это ты перегибаешь.>VIPERТут уже непонятно мне, а клинархитекчер не зашквар?
>>949703Ну начнём с того, что логика смещается из модели в интеректор, а ещё есть энтитиз, которые нихуя не делают. Ну и обязанности по UI перешли в презентер, но без возможности изменения данных.Ах да, я уже говорил, что нужно будет писать дохуищу интерфейсов для классов с незначительными обязанностями?
>>949697>Еще один неуч-долбоеб?Ты о чем?
>>949714>писать дохуищу интерфейсов для классов с незначительными обязанностями?звучит охуенно.
>>949702Добавлю.rxJavaRetrolambdaKotlin
>>949728>Retrolambda>KotlinСогласен. А вот за rx ебальник набью
Вот вчера еще тред нормальный был, а сегодня какие-то говноеды набежали и всё засрали.
>>949714>Ну и обязанности по UI перешли в презентерНе совсем. Презентер только дергает юи. Вся логика по этому дерганию в презентере, вся логика самих дерганий - вьюха.>а ещё есть энтитиз, которые нихуя не делаютОбычные поджо, в любом нормальном приложении нужно разграничивать внутренние объекты апликухи с тем говном которое приходит из апи. Потому хз к чему ты приебался.>>949716>Ты о чем? А ты о чем?Ты о чем?
>>949728Ну это толсто, ретролямбда вообще помощник.Rx работает лучше любой многопоточной либы в принципе, хоть за этот минимум ее уже можно любить. Другое дело что это говно сложное и его мало кто толком знает и умеет.Котлин норм, но проблем он не решает сам по себе.>>949730А есть долбоебы кто пишет с rx без лямбд?
>>949732А хуя ты думал, уже будучи мидлом тебя заебывает чистый фреймворк и начинается жонглирования архитектурами и rx.
>>949739о том что вайпер не осилил и ушел. А концепция годная.
>>949744>А концепция годная. Двачую.
Кстати, народ, как вы подружили джека и мультидекс на устройствах меньше пятёрки?
>>949775А есть какая то проблема?
>>949775Чем джек лучше чем ретролямбда? Компиляется быстрей?
>>949800Да, на киткате и ниже не встаёт приложение.>>949803Да, быстрее. Ну и это полноценная java 8, а не пародия
>>949804>полноценная java 8В каком месте? Дефолтные методы и стримы не будут работать до Nки. Чего нет в ретролямбде?
>>949804> Ну и это полноценная java 8, а не пародияВообще нет, такой же бэкпорт, как и ретролямбда.Я как то пытался включить, а он оказывается @Suppress не поддерживает.
>>949805Я не про это. Джек позволяет избавиться сразу от 3 плагинов - прогард, мультидекс, ретролямбда
>>949809Говно. Датабиндинг не пашет, инстант ран не пашет, работает пока что медленнее.
>>949529Бамп
А можно без танцев с бубнами посмотреть базу на емулятуре? Или хотя бы на девайсе?
>>949957на эмуле можно. Заходишь в android device monitordata->data там находишь свой пакет и там где то бд лежит, экспортируешь ее на ПК и смотришь через че удобно
>>949957stetho, и можешь смотреть в браузере
Ананасы, какой будет бест практисес для следующей задачи: приложение показывает список постов, будучи в бэкграунде обновляет его, и если появились новые - присылает нотификейшен.Где хранить список постов, которые пользователь уже видел? Я додумался только до sqlite, но стоит ли делать бд, чтобы создать только одну таблицу с одним столбцом из id?Думал писать в шейред префс последний загруженный пост, но API отдает список, отсортированный по рейтингу, соответственно в теченни дня в любое место списка может вклиниться новый пост. То есть нужно хранить id всех загруженных сегодня постов.
>>949984Почему бы тебе не хранить всю инфу о постах в бд, зачем только айдишники?
Можно как-то узнать, где (в каком класе) вызывается метод?
>>950040Alt + f7Find usages
>>947335Bump
>>950069Пошёл нахуй, гнида обоссаная.
>>947684Удваиваю. Она только по джаве видосы делает?
>>950079
>>950086But what's her name? Or her channel.
>>950100Joana Madzestes
>>950103Thank you very much. I wish you have girlfriend like this!
>>950105suck my member
>>950111Member of what?
>>950116ya skazal suck my member beach!!!
>>950131kakoy naxui plyazh?
>>950154
Как обстоят дела с конкуренцией джуников на вакансии джуников в ДС?
>>950179> вакансии джуновА такие есть?
Как работают свойства layout_marginBottomPercent и layout_marginRightPercent в percentrelativelayout?Какие цифры не ставлю - никакого эффекта нет, элемент прилипает к верху\левому краю и отказывается оттуда уходить. В то время как layout_marginTopPercent и app:layout_marginLeftPercent работают как надо.
Ребят, меня просят написать приложение для интернет магазина, как правильно рассчитать цену, чтобы не продешевить?
>>950708Узнаешь детали работы до мелочей, устанавливаешь цену за час твоей работы и говоришь сколько приблизительно часов надо потратить.
>>950709Какие ставки за час актуальны для рф?
>>950722>>950709>>950708>>950513>>950352>>950179>>950172>>950154Большинство приложений написано на Java, выучить её на хорошем уровне — это первое, что необходимо сделать. Рекомендуемую литературу см. в Java-треде.После этого можно установить Android Studio, открыть официальную документацию и попробовать создать по туториалам своё первое приложение.В дальнейшем потребуется базовое знание SQL, понимание XML и JSON.- Официальная документация: - Полезный гайд для начинающих и продвинутых: - Бесплатный видеокурс от Google для новичков: - Два ресурса, единственный плюс которых — русский язык: и - Классика, способная дать ответ на почти любой вопрос "Как сделать xyz?": - Kotlin — JVM-совместимый язык от JetBrains. Есть лямбды, стримы и делегаты. Можно использовать в проекте вместе с кодом на Java.- Qt — кросс-платформенный фреймворк на C++. Используется в основном для игры и для приложений с высокими требованиями к производительности (обработка изображений, звука, ГИС-системы). Спрашивать в C++ треде.- Xamarin — кросс-платформенный фреймворк на C#. Представляет из себя обёртку над Android API. Куплено Microsoft. Теперь есть бесплатная версия. Спрашивать в C#-треде.- PhoneGap/Ionic/Titanium/ReactNative — имя им javascript, принципы у них разные, первые три попытка в кроссплатформенность одного кода, ReactNative проповедует другой подход, а именно написание разного кода но на одном языке. Популярность у них разная как и размер комьюнити. Вопросы по ним — в js-тред.- BugVM — кросс-платформенный фреймворк, написанный на Java. Форк невинно убиенного RoboVM.LibGDX или Unity. Спрашивать в /gd/.Нужно хорошее знание Java, понимание базовых принципов Android (жизненный цикл activity/fragment, что такое Context, intents, services, UI thread, support library, shared preferences, SQLite), знание популярных библиотек типа Retrofit + Glide/Picasso. И хотя бы оно готовое приложение.Предыдущий тред: >>940781 (OP)Вкатываюсь, тут же реквестирую способ сделать живые обои. В инете лежат способы через канвас, но они 10% цпу кушают. Видел еще идею через опен гл. Загнать все картинки в массив и крутить >>940902Стандартные же есть. Открой исходники и посмотриЕсть варианты отобразить картинку с возможностью приближения/удаления/скролла без ебли с самостоятельной реализацией всей хуйни?Аноны я слишком тупой что бы вкурить примеры с гита Сторио. В нете туторов не от слова совсем. Кто нить может дать примитивный пример получения данный из провайдера? У меня есть связка из контракта, sqlhelpera и провайдера. Лоадер грузит это и пилит даные в объект. Как все это перевести на рельсы storio?>>941200Как делать репозиторий, если мне помимо круда, надо скачивать хуйню из сущность по url, загружать ее на один из серверов (по выбору), а также получать джоином из базы вместе с другой сущностью>>941224Разные dataSource объекты, репозиторий занимается обработкой цепочки. С rx легко и удобно.Ананасы, как в полноэкранном приложении отключить появление статусбара при свайпе с верхнего края экрана вниз? Ведро 7.1.>>941106Смотрел те, где куб вращается, там просто транформация линий, не совсем то что я хочу реализовать. Мне бы или гифку проиграть или массив картинок без нагрузки на цп. Но наверное только и остается сорцы чужие смотреть. Энивей спасибо.>>941265Да вроде никак, у юзера всегда должен быть доступ к статус бару.Пытаюсь убрать овердро в своем приложении, но столкнулся с такой вещью - у меня есть экран, на котором расположены текствью с полупрозрачным фоном, а бэкграунд экрана это изображение. На самом бэкграунде овердро нет, но на этих вьюхах оно >=4. Если я меняю фон с прозрачного на непрозрачный, оно становится =2. С этим можно что-то сделать или такая сильная перерисовка плата за красивый полупрозрачный фон?>>941569Прозрачность это дорого.Могут ли возникнут какие-то проблемы, если использовать внутри rx-операций(которые происходят не в мейн потоке) поля активти/фрагмента, которые инжектятся дагером. Инжектятся в onCreate, а создание всех подписок происходит в onResume, отписываются в onPause?>>941207Бамп. Туторов точно нету.PackageManager.getApplicationIcon() дает иконки разного разрешения в зависимости от текущего разрешения экрана.Как получить иконки не больше чем xhdpi? >>940781 (OP)Сложно ли сделать кейлоггер(с высылкой данных на мой аппарат) для телефона тянки? Какими средствами это можно реализовать?>>941606Могут. >>941876Гугли winapi lowlevel hook, raw input. Еще тебе надо будет написать панель на пхп, куда будут высылаться логи.>>941881Сам иди нахуй.>>941953причем здесь ведро, малохольный?Запилите уже нормальную шапку без этой всрахи с сальными волосамиАндроны, есть одна база , она создалась всё заебись, но когда я меняю в ней данные, они нихуя не меняются. Пытался перед этим делать Но такое чувство что программе по сути дела похуй на базу. Она как буд-то один раз создалась и всё, потому-что когда удалил/переустановил приложение появилась уже ошибка, что дропать таблицу нельзя и иди нахуй. Какого хуя эта ошибка до переустановки не появлялась? >>942403Вот база - Активити в котором вызывается - Чопоны. buildToolsVersion, compileSdkVersion и targetSdkVersion нужно ставить в максимальные, когда создаешь новый проект?Если да, то норм ли будет работать приложение на говноустройствах, если я активно начну угорать по лямбдам и прочей вкусовщине 8 жабы?>>942472Только лямбды бэкпортнуты до 8 апи.Как сделать чтобы imageView перекрывал кастомный view (линию)?Тоесть чтобы imageView был сверху и линию не было видноПочему у меня два раза отправляется запрос, хотя я всего один раз вызываю функцию для отправки? Я как-то не так сохраняю observable?>>942499Ой бля, забыл добавить, что это происходит при повороте экрана.>>942499А кеш то твой где валяется? А вообще вроде как тут: решили эту проблемку и если запрос еще идет то ты к нему подключишься.>>942477Ты имеешь в виду джек?>>942511mObservablesCache - это синглтон который я инжекчу через даггер.Вот мне это в идеале и нужно. Хочу разобраться как делать долгие запросы и при перевороте экрана подключаться к уже существующим, а не создавать новый. Погляжу, спасибо.>>942515retrolambda>>942517Если продолжаешь пилить свой велосипед, то прочти вот это - >>942351>>942547Да, я видел эту штуку. У меня почти тоже самое, только они юзают cache (preparedObservable = preparedObservable.cache()), а как я понимаю он копирует ответ (или может я не так понимаю?), а мне надо чтобы к тому же самому реквесту можно было подключиться (например когда фотки на сервер заливаешь).>>942569Нет, оно создает обсервбл к который будет эмитить тоже самое что и исходный, второго запроса не будет, а результат будет сохарнен и выдан другому подписчику.>>942566Чё за лярва страшная?>>942660В общем да. Сделал с cache и всё заработало. Единственно что, вместо LruCache заюзал Map обычный, потому что от кеша толку нет - один хуй нужно удалять свой observable из него вручную (в onNext и onError), иначе оно всегда будет его возвращать и запроса нового не будет.Аноны, подскажите - добавляю в студии на Activity элемент Image Button, убираю фон, устанавливая в Transperent Color и... у кнопки пропадает "анимация" нажатия.Как с этим бороться?Если фон не убирать, то при добавлении PNG без фона фон кнопки отличается от фона окна приложения.Первые шаги в Андроид Деве, делаю по сайту Климова, у него ответа на этот вопрос не нашел.>>942925В общем, ты переизобрел store, на который тебе кидали ссылку. >>943063Ну бля, чёт не очень хочется подключать ещё одну либу только ради того, чтобы можно было приаттачиться к старому запросу. Да и тупо хотелось разобраться самому как это делается.>>941207Вроде всё просто >>941207Документация там плохая.Возможно ли в Store.IO описывать структуру таблиц классами, как в cupboard?>>943168Я два дня втыкал пока понял что typeMapping генериться при компиляции.Есть один метод, он запускает активити, которая вытягивает картинку из галереи. Как описать событие, которое происходит, пользователь закенселил выбор картинки? >>943275В onActivityResult resultCode будет RESULT_CANCELED>>943227Ага, вижу. Надо самому запросы писать.В целом Store.IO всё равно страшно хороша.>>943227Открой пул-реквест и улучши её. Или хотя бы issue создай и опиши, что тебе там непонятно.>>943326Не подскажешь как запилисть update данных?>>943370>>943376мне нужен PutResolver же? Или можно как то проще? Тупо в ContentValues запихнуть например айдишник не получиться?Сап прогач, скажи как называется язык програмирования/автоматизации для андроида(аналог autoIt для винды), такой язык, которым можно тыкать по эмулированному андроиду чере262
>>950722>>950709>>950708>>950513>>950352>>950179>>950172>>950154Большинство приложений написано на Java, выучить её на хорошем уровне — это первое, что необходимо сделать. Рекомендуемую литературу см. в Java-треде.После этого можно установить Android Studio, открыть официальную документацию и попробовать создать по туториалам своё первое приложение.В дальнейшем потребуется базовое знание SQL, понимание XML и JSON.- Официальная документация: - Полезный гайд для начинающих и продвинутых: - Бесплатный видеокурс от Google для новичков: - Два ресурса, единственный плюс которых — русский язык: и - Классика, способная дать ответ на почти любой вопрос "Как сделать xyz?": - Kotlin — JVM-совместимый язык от JetBrains. Есть лямбды, стримы и делегаты. Можно использовать в проекте вместе с кодом на Java.- Qt — кросс-платформенный фреймворк на C++. Используется в основном для игры и для приложений с высокими требованиями к производительности (обработка изображений, звука, ГИС-системы). Спрашивать в C++ треде.- Xamarin — кросс-платформенный фреймворк на C#. Представляет из себя обёртку над Android API. Куплено Microsoft. Теперь есть бесплатная версия. Спрашивать в C#-треде.- PhoneGap/Ionic/Titanium/ReactNative — имя им javascript, принципы у них разные, первые три попытка в кроссплатформенность одного кода, ReactNative проповедует другой подход, а именно написание разного кода но на одном языке. Популярность у них разная как и размер комьюнити. Вопросы по ним — в js-тред.- BugVM — кросс-платформенный фреймворк, написанный на Java. Форк невинно убиенного RoboVM.LibGDX или Unity. Спрашивать в /gd/.Нужно хорошее знание Java, понимание базовых принципов Android (жизненный цикл activity/fragment, что такое Context, intents, services, UI thread, support library, shared preferences, SQLite), знание популярных библиотек типа Retrofit + Glide/Picasso. И хотя бы оно готовое приложение.Предыдущий тред: >>940781 (OP)Вкатываюсь, тут же реквестирую способ сделать живые обои. В инете лежат способы через канвас, но они 10% цпу кушают. Видел еще идею через опен гл. Загнать все картинки в массив и крутить >>940902Стандартные же есть. Открой исходники и посмотриЕсть варианты отобразить картинку с возможностью приближения/удаления/скролла без ебли с самостоятельной реализацией всей хуйни?Аноны я слишком тупой что бы вкурить примеры с гита Сторио. В нете туторов не от слова совсем. Кто нить может дать примитивный пример получения данный из провайдера? У меня есть связка из контракта, sqlhelpera и провайдера. Лоадер грузит это и пилит даные в объект. Как все это перевести на рельсы storio?>>941200Как делать репозиторий, если мне помимо круда, надо скачивать хуйню из сущность по url, загружать ее на один из серверов (по выбору), а также получать джоином из базы вместе с другой сущностью>>941224Разные dataSource объекты, репозиторий занимается обработкой цепочки. С rx легко и удобно.Ананасы, как в полноэкранном приложении отключить появление статусбара при свайпе с верхнего края экрана вниз? Ведро 7.1.>>941106Смотрел те, где куб вращается, там просто транформация линий, не совсем то что я хочу реализовать. Мне бы или гифку проиграть или массив картинок без нагрузки на цп. Но наверное только и остается сорцы чужие смотреть. Энивей спасибо.>>941265Да вроде никак, у юзера всегда должен быть доступ к статус бару.Пытаюсь убрать овердро в своем приложении, но столкнулся с такой вещью - у меня есть экран, на котором расположены текствью с полупрозрачным фоном, а бэкграунд экрана это изображение. На самом бэкграунде овердро нет, но на этих вьюхах оно >=4. Если я меняю фон с прозрачного на непрозрачный, оно становится =2. С этим можно что-то сделать или такая сильная перерисовка плата за красивый полупрозрачный фон?>>941569Прозрачность это дорого.Могут ли возникнут какие-то проблемы, если использовать внутри rx-операций(которые происходят не в мейн потоке) поля активти/фрагмента, которые инжектятся дагером. Инжектятся в onCreate, а создание всех подписок происходит в onResume, отписываются в onPause?>>941207Бамп. Туторов точно нету.PackageManager.getApplicationIcon() дает иконки разного разрешения в зависимости от текущего разрешения экрана.Как получить иконки не больше чем xhdpi? >>940781 (OP)Сложно ли сделать кейлоггер(с высылкой данных на мой аппарат) для телефона тянки? Какими средствами это можно реализовать?>>941606Могут. >>941876Гугли winapi lowlevel hook, raw input. Еще тебе надо будет написать панель на пхп, куда будут высылаться логи.>>941881Сам иди нахуй.>>941953причем здесь ведро, малохольный?Запилите уже нормальную шапку без этой всрахи с сальными волосамиАндроны, есть одна база , она создалась всё заебись, но когда я меняю в ней данные, они нихуя не меняются. Пытался перед этим делать Но такое чувство что программе по сути дела похуй на базу. Она как буд-то один раз создалась и всё, потому-что когда удалил/переустановил приложение появилась уже ошибка, что дропать таблицу нельзя и иди нахуй. Какого хуя эта ошибка до переустановки не появлялась? >>942403Вот база - Активити в котором вызывается - Чопоны. buildToolsVersion, compileSdkVersion и targetSdkVersion нужно ставить в максимальные, когда создаешь новый проект?Если да, то норм ли будет работать приложение на говноустройствах, если я активно начну угорать по лямбдам и прочей вкусовщине 8 жабы?>>942472Только лямбды бэкпортнуты до 8 апи.Как сделать чтобы imageView перекрывал кастомный view (линию)?Тоесть чтобы imageView был сверху и линию не было видноПочему у меня два раза отправляется запрос, хотя я всего один раз вызываю функцию для отправки? Я как-то не так сохраняю observable?>>942499Ой бля, забыл добавить, что это происходит при повороте экрана.>>942499А кеш то твой где валяется? А вообще вроде как тут: решили эту проблемку и если запрос еще идет то ты к нему подключишься.>>942477Ты имеешь в виду джек?>>942511mObservablesCache - это синглтон который я инжекчу через даггер.Вот мне это в идеале и нужно. Хочу разобраться как делать долгие запросы и при перевороте экрана подключаться к уже существующим, а не создавать новый. Погляжу, спасибо.>>942515retrolambda>>942517Если продолжаешь пилить свой велосипед, то прочти вот это - >>942351>>942547Да, я видел эту штуку. У меня почти тоже самое, только они юзают cache (preparedObservable = preparedObservable.cache()), а как я понимаю он копирует ответ (или может я не так понимаю?), а мне надо чтобы к тому же самому реквесту можно было подключиться (например когда фотки на сервер заливаешь).>>942569Нет, оно создает обсервбл к который будет эмитить тоже самое что и исходный, второго запроса не будет, а результат будет сохарнен и выдан другому подписчику.>>942566Чё за лярва страшная?>>942660В общем да. Сделал с cache и всё заработало. Единственно что, вместо LruCache заюзал Map обычный, потому что от кеша толку нет - один хуй нужно удалять свой observable из него вручную (в onNext и onError), иначе оно всегда будет его возвращать и запроса нового не будет.Аноны, подскажите - добавляю в студии на Activity элемент Image Button, убираю фон, устанавливая в Transperent Color и... у кнопки пропадает "анимация" нажатия.Как с этим бороться?Если фон не убирать, то при добавлении PNG без фона фон кнопки отличается от фона окна приложения.Первые шаги в Андроид Деве, делаю по сайту Климова, у него ответа на этот вопрос не нашел.>>942925В общем, ты переизобрел store, на который тебе кидали ссылку. >>943063Ну бля, чёт не очень хочется подключать ещё одну либу только ради того, чтобы можно было приаттачиться к старому запросу. Да и тупо хотелось разобраться самому как это делается.>>941207Вроде всё просто >>941207Документация там плохая.Возможно ли в Store.IO описывать структуру таблиц классами, как в cupboard?>>943168Я два дня втыкал пока понял что typeMapping генериться при компиляции.Есть один метод, он запускает активити, которая вытягивает картинку из галереи. Как описать событие, которое происходит, пользователь закенселил выбор картинки? >>943275В onActivityResult resultCode будет RESULT_CANCELED>>943227Ага, вижу. Надо самому запросы писать.В целом Store.IO всё равно страшно хороша.>>943227Открой пул-реквест и улучши её. Или хотя бы issue создай и опиши, что тебе там непонятно.>>943326Не подскажешь как запилисть update данных?>>943370>>943376мне нужен PutResolver же? Или можно как то проще? Тупо в ContentValues запихнуть например айдишник не получиться?Сап прогач, скажи как называется язык програмирования/автоматизации для андроида(аналог autoIt для винды), такой язык, которым можно тыкать по эмулированному андроиду чере263
А есть подобная утилита подобно вайперу, только чтобы картинки автоматически в тхреад загружала бы?
>>950838Зачем ты флудишь тут?
Сука тупая, я уж думал кто то по моему вопросу подсказал и ответил на мое сообщение. Какой же ты жалкий, вайп 2 сообщениями.
>>950839Шо блять?Подобна вайперу? Утилита? Архетиктура которая картинки подгружает?
>>950930Чтоб вайпала не копипастами, а картинками в предварительно указанной директории.
Котаны, есть surfaceview, в потоке отрисовки которого происходит выборка из дерева и отрисовка сотен кругов, залитых полупрозрачным цветом.Пользователь может скроллить туда-сюда эту картинку.Как оптимизировать это, чтобы процессор не жрало?
Хотел ебнуть рилм в свой проект, но внезапно жидко обосрался.Никаких тебе JodaTime, rx2, наследования... Обидненько.
>>951018Я нихера не понял.
>>951057>rx2Есть хоть один проект который с ним нормально интегрирован? Везде интероп, так что терпим дальше.
>>951094>Везде интеропВат?
>>951098https://github.com/akarnokd/RxJava2Interop
>>951099Ну так норм, другое дело нахуй пилить свой проект под первый rx.
>>951110Не хочется подключать еще две либы апк не резиновый (нет конечно можно, но потом).
>>951114Заебешься потом переводить с первого на второй.
>>951118А сейчас не заебусь? В любом случае собираюсь летом менять место работы, пусть расхлебывают, а там уже и либы обновятся.
>>951118> Заебешься потом переводить с первого на второй.А можно и не переводить. Работает - не трогай.
>>940781 (OP)Аслам молекул, котаны. Поясните, пожалуйста, кто в теме, какие технологии, фреймворки и вообще, все все, что знаете, которые используются в бэкэнде. Для взаимодействия с андроид, ну и с IOS мобильными приложениями. Больше по джаве интересует, но пишите все подряд. Сам нихуя не могу нагуглить внятного.
>>951144Он работает хуже кстати, точнее медленнее. Первый уже вроде как должен быть деприкейтед.
>>951144Он работает хуже кстати, точнее медленнее. Первый уже вроде как должен быть деприкейтед.Потому новый проект лучше начинать на втором.
>>951149Конечно новые проект на втором, но кидаться вот так вот старый переписывать с интеропом незачем.
>>951147RESTJSONNginx, Spring, HibernateРазницы между тем с кем общаться не должно быть. То есть если в вебе используется какой-нибудь реакт-хуякт, то и для гейоси, и для ведра, и для уеба будет один рест апи, котоырй просто будет выдавать жсон и все довольны.
>>951160Тут вроде как речь идет о новом проекте и интеграции в него рилма на первом rx.Потому проект делать на втором, а работку с рилмом пропускать через тот же интероп.
>>951162Спасибо, анон! Примерно так себе и представлял это.
Возможно ли в SurfaceView как в обычном View: рисовать заново только, если это необходимо?Решение в лоб приводит к тому, что изображение начинает дрожжать.
Сап. Как реализовать похожий функционал на http://www.guidingtech.com/30551/launch-android-apps-volume-buttons/ https://play.google.com/store/apps/details?id=com.irishin.buttonsremapper&hl=en ? Нужно запускать приложение кнопкой громкости/их комбинацией. Сразу без "нипагайдлайнам/нинужна/етц".
>>951455попробуй сервис запилить, который будет слушать нажатие нужных кнопок
Чому glide растягивает пикчи под размер плейсхолдера? Можно как-то пофиксить?
лiл
>>951741>Чому glide растягивает пикчи под размер плейсхолдера? Можно как-то пофиксить?Использовать frescolib
>>951741Параметр scale у твоего ImageView >>951828Пошёл нахуй.
>>940781 (OP)Аноны, а что сейчас для многопоточки актуально использовать, если я подумал и решил, что Rx будет избыточен? Если без левых зависимостей, то в общем есть AsyncTaskLoader, который отлично работает, но слишком много лишнего кода писать требует. Сервисы для всего использовать неудобно, особенного когда результат работы нужно в активити/фрагмент вернуть. Пока пробую библиотеку Chronos и она вроде как то что нужно.Но может забить и писать все на Rx, которые вроде как часто упоминают в вакансиях. Не будет ли оверхедом тащить его в небольшое приложение, которое всего пару раз дергает сеть и все?
>>940781 (OP)is that an android phone in your (что за слово?) or you...Хелп, не расслышал слово.
>>951938pocket
>>951840обоснуй
Раз тут зарождается срач на тему имидж лоадинга вброшу свои пять копеек:1) Picasso - square наше все, норм дефолтные настройки, можно вклинится в процесс загрузки и тд;2) Glide - больше наворотов чем в пикассе, зато есть BitmapPool и поддержка гифок из коробки, привязки к лайфцайклам, из плохого - несколько другая кастомизация, билдер от нас спрятан, лично у меня недавно случился косяк со статическими урлами, который в пикассе бы решался на раз два;3) Fresco - клятый фейсбук рррряяя, пользовался один раз, не понравилось что нужно использовать их классы вьюх, из хорошего поддержка гифок и webp, вроде бы даже на старых ведрах с памятью изворачивается через различные костыли;Ваше мнение?
>>951921Не будет
>>951921Я думаю, альтернатив рексу особых нет. Всё, что предложено гуглом:1) Требует контекста в том, или ином виде2) Тяжело тестируемо, т.к. android-фреймворк3) Требует очень много кода, при этом НЕ лишая разраба ебли с поворотами экрана4) Ходят упорные слухи, что на каких-то версиях работает неправильно
>>952058>при этом НЕ лишая разраба ебли с поворотами экранаЛоадеры лишают как раз. Они даже данные возвращают при повороте, если они до этого уже были готовы, а не рестартуют заново.
>>952036Glide и Picasso оба норм. Вопрос предпочтений, думаю. А фейсбучное говно - это говно, да.
>>952067Попробую протестируй лоадеры. А потом посмотри количество открытых багов с ними связанных.
>>951586Это же батарею убьет быстро, и будет ли работать вне приложения/при заблокированом экране? Самое главное - чтоб из заблокированого состояния в 1-2 клика запустить приложение.Есть какие-то еще варианты?
http://developer.alexanderklimov.ruесть слитые уроки его?
>>952184Нет
>>952177Там может и не сервис проканает, а просто статические ресиверы. Возьми эту приложуху и декомпильни, дальше по манифесту видно будет епт.
>>952191Пиздабол.>>952184Держи, чувак!1 месяц _http://yadi.sk/d/jv2JO8uGCkAZk2 месяц _http://yadi.sk/d/ckvFoi26CkBGx3 месяц _http://yadi.sk/d/ZmJCcjixCkBHw4 месяц _http://yadi.sk/d/bM2OyBOBCkBKo5 месяц _http://yadi.sk/d/yGnjSjaWCkBLi
>>9521771% потребляет foreground сервис за 17 часов, который каждые 2 сек пишет в sqlite.Nexus 5
>>952425А, ну заебись тогда!
Чопоны. Дайте ресурс, в котором хорошо объяснен CoordinatorLayout вместе с AppbarLayout скроллы, вот это все. Чет постоянно натыкаюсь на какую нибудь дичь.
>>952318Спасибо браток!Было бы круто еще слитые уроки вот этого чувака http://www.fandroid.info/
>>952506Можем попробовать тут записатьсяhttp://skladchik.in/threads/fandroid-%D0%9F%D1%80%D0%BE%D0%B4%D0%B2%D0%B8%D0%BD%D1%83%D1%82%D1%8B%D0%B9-%D0%BA%D1%83%D1%80%D1%81-%D0%BF%D0%BE-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B5-%D0%B8%D0%B3%D1%80%D1%8B-lunar-rover.31796/
>>952508Там libgdx ?Я бы вот глянул пока лучше на продвинутый флэппи берд, т.к. только вчера глянул ютубный плейлист.
>>952513libgdx и box2d.А есть какие-нибудь гайды по написанию симуляции водички на джаве? Без всяких юнити/хуюнити.
>>952102>>952036Необучаемые хейтеры-неосиляторы.
>>940781 (OP)Анон, есть вопрос.Делаю приложение с прогнозом погоды. Пользователь может получить погоду либо по своему текущему местонахождению, либо вбив название города. При вводе названия города, я хочу сделать, чтобы ему показывался dropdown список с названиями городов, которые соответствуют его запросу. Тиснул с OpenWeather JSON с городами, думал прогнать его через GSON и сделать суффиксное дерево и по нему запилить поиск, но есть два обстоятельсва, которые меня не устраивают:1) Все названия на латинице. Пидорашки слишком тупы, чтобы знать как ею печатать, поэтому надо сделать так, чтобы поиск можно было вести на языке пользователя.2) В названиях городов из этого JSON есть ебучие умлауты и прочие символы, которых нет в английском алфавите. Как их вводить знают только носители немецкого\турецкого\других языков, а суффиксное дерево предполагает поиск с точностью до буквы.3) API, которой я пользуюсь, требует, чтобы запросы делались не по названию городов, а по географическим координатам. Они есть в моем файле, но два предыдущих условия не позволяют им пользоваться.В общем, что посоветуешь делать? Откуда и как доставать названия городов для dropdown и географические координаты?
>>952529Де ты в моем посте увидел хейт, фреско всем хорош кроме выебывания своими вьюхами. Ну какого черта загрузка изображения привязана к вью?
>>940781 (OP)Котаны, только начинаю ковырять андроид и еще мало что знаю. Хочу сделать в программе элемент для отображения выбора как в таймере на айос - выглядит как прокручивающийся свайпом вверх-вниз список. Есть ли что-то подобное на андроиде?
>>952746Spinner
>>952752>Spinnerможет конкретнее что-то. Как только не пробовал гуглить со словом спиннер. Мне нужен не выпадающий список, а список прокручиваемый свайпом вверх-вниз с визуаляцией как на айосе - будто элементы нанесены на крутящийся вал, чтоле.
>>952756http://guides.codepath.com/android/Working-with-Input-Views#numberpicker
>>952865Спасибо. Именно то, что нужно.
>>951741Пофиксилось добавлением .dontAnimate() к конструктору глайда.
>>952580Потому что ты картинку во вью грузишь. У них свой способ рисовать битмапу во вью со своей реализацией drawable, чтоб избежать утечек. Если ты хочешь отдельную битмапу, постобработку и прочее добро - там для этого дохуя инструментов и обработчиков.
>>952756Шел бы ты нахуй со своим "как в айосе", залетный петухан
Анон, как получить String currentDateTimeString = DateFormat.getDateTimeInstance().format(new Date());но с указанной мною локализацией?
>>953158getDateInstance(int style, Locale aLocale)
>>946590Делаем автотесты на проекте. Какой вопрос?
>>946590Используем эспрессо
>>953158Пользоваться JodaTime например
>>952318О, спасибо тебе, добрый человек!
Анон, поясни, почему в QuizActivity отображается нулевой элемент массива mQuestionBank ? Ведь question - это int переменная
>>953545.setText перегружен и может принимать значение ресурса в strings.xml. Это удобно, дабы не вызывать getString(R.string.question_ocean)
>>953545Big nerd ranch дрочишь? Тоже учился на нем.Вопрос не совсем понял. mCurrentIndex изначально 0. Ты получаешь первый Question и извлекаешь оттуда id строкового ресурса про океаны.
>>952495Ответьте на мой вопрос плизики.
Чопоны. Есть вот запрос на сервак с коллбэком: getData(params, new Callback(){....})Можно ли а главное, нужно ли его переписать в Rx манере? Я что-то тут слышал про то, что Rx можно организовать в некое подобие js promise для обхода лайфсайкла активити/фрагмента. Типо, если повернул мобилку, то при повторном запросе мы получим тот же самый Observable, что запрашивали в первый раз. Поясните за эту хуйню.
>>953593Совсем как промисы не получится.
Аноны, краем уха услышал что школьник или студент может зарегать аккаунт разработчика в гугл плее бесплатно.Где и как это сделать?В гугле вообще пусто и все ведет на гугл плей девелопер консол, где надо платить 25 зеленых.
>>953585Шапку читай плизики.http://guides.codepath.com/android/Handling-Scrolls-with-CoordinatorLayout
>>953967Спасибки.
Куда лучше совать локализацию данных в CleanArchitecture?Если у меня куча запросов, и к ним везде подцепляется локаль устройства - имеет смысл полностью скрывать работу с локалью в репозитории, а в сущностях, которые идут от репозитория, никак не указывать локаль?
Котаны, вопрос про игры.Их кроме как в юнити уже не делают?Можно ли на раз так замутить в обычной андроид студии с минимумом сторонних библиотек нормальную игруху с графоном и караванами?
>>954326libgdx
>>940781 (OP)Сап, котаны. Вкатываюсь по чуть чуть в программирование на ведре на досуге. Вот я прочитал Шильдта Ява для начинающих, потом я прочитал Head First Android. Может кто посоветовать еще что-нить базовое? Не кидайтесь говном, пожалуйста. В гугле рано или поздно что-нибудь нагуглю, просто почему бы не спросить тех, кто уже прошел этот путь.
>>954365->>>952318
Ахаха, Jack теперь deprecated
>>954448Нахуя?
>>954345можно, но нахуя. Слишком низкий кпд. Юзай для мелочей. Главное никогда не юзай хуюнити
>>954449Он был мёртв с самого рождения. Хорошо, что гугл это осознал. https://android-developers.googleblog.com/2017/03/future-of-java-8-language-feature.html
>>954453> Главное никогда не юзай хуюнитиНу раз ты так сказал
>>954457Молодец что согласен
Анон, что я делаю не так, почему время которое было раньше > чем текущее время?
>>954522Используй joda time
>>954522> HH:mm:SS>>954536Щас бы ради простейшей операции либу ставить.
>>954522Знаешь про часовые пояса?
>>954550Нет
>>954548Спасибо, няша. Какой же я дебил.
>>954553Пидора ответ. Подозреваю что ты сравниваешь времена в разных часовых поясах
>>954548Так нормальная реализация даты и времени появилась только в Java 8 и на ведре недоступна.
>>954455Хм. Значит ли это что мы получим жава8 в ближайшие несколько недель, чтобы это не значило
>>954821Да. Но опять же, это будет не полная Джава 8, а лишь то, что поддерживает Джек.
>>954829Хоть что то.
>>954821> Хм. Значит ли это что мы получим жава8Нет, ты получишь кривой бэкпорт без бинарной совместимости. Скомпиленные под 8 либы не подключатся, только исходники.
>>954851Это ещё почему? Если на уровне dx будет осуществляться преобразование, то всё будет поддерживать.
>>954851Дебил ебаный.
У когото есть туторы по oauth?
>>954955А что там сложного?
Как называется view/layout, где карточки прокручиваются, и выходят на передний план, а остальные переходят в задний (и все это без тыкания в них)?
>>954961Что-то вот вроде зацикленного барабана, по достижении последнего элемента показывается первый.Где-то видел, но никак не могу найти.
>>954955то что про я знаю только определение. Хочу научиться делать. Туторов под дроид вроде нету.
Сап, анон. Есть приложение в гугл плей. И есть сайт, который ведёт на страницу скачки этого приложения.Поступила информация, что пару раз была выявлена следующая проблема: пользователь переходит на страничку гугл плей (один раз переход был точно с сайта, в остальные разы - точно неизвестно), устанавливает приложение и вместе с приложением качается вирус неизвестного содержания, но известного поведения (фейковое приложение, сильно грузит систему). Зависимость от версии андроида неизвестна, точно есть на 23 api. Не воспроизводится. (Судя по отзывам, было не более десятка случаев за 1.5к установок (это если учесть людей, которые бы проигнорировали и не стали бы сообщать, так-то всего два отзыва)) .Что это может быть, чем может быть вызвано и как отдебажить?
>>954998Чекни ссылку, может там фейковый стор. Плюс могут быть изначально инфицированные устройства.
По клике на 3ий imageView (скрин 1) ему присваивается другой битмап, после этого его пидорасит (скрин 2) по активити. Еще эти imageView как-то смещены в блупринте (скрин 3).В чем проблема?
Есть какая-нибудь приблуда для андроид студии, чтобы считать производительность кодомакаки, которая ее пользует?Например, сколько строк добавлено за сегодня, сколько удалено и тд.Чтобы унижать\стимулировать себя, говоря "Пидор ленивый", или наоборот, хвалить со словами "Уу, копипастер поехавший", в зависимости от статистики.
>>955110Были плагины для Эклипса, вроде.
>Работаешь в гугле\jetbrains за сотни тысяч баксов, хуяришь имя эмулированного устройства по умолчанию как 4_WVGA_(Nexus_S)_API_21>Вываливаешь эмуляцию на старте с >emulator: ERROR: virtual device name contains invalid characters>emulator: could not find virtual device named '4_WVGA_(Nexus_S)_API_21'>Получаешь премию
>>955153Не просто не смочь в валидацию полей в 2017 в своей собственной среде разработки, но еще и генерировать туда фейловые имена - это пиздец.Ладно бы васяны, но это же огромная корпорация с гигантскими доходами и кучей сотрудников.
Не добавляется пикча в Notification, там есть какие-то ограничения?Если да, то какие?
>>955199В кнопки для Notification*
>>955199Какой телефон? У меня на хуеми ни в каком приложении не видно, так что может в этом проблема.
>>955201Nexus 5x api 25эмулятор
>>955199У меня еще веселее, у меня на некоторых устройствах не видно ШРИФТ. И хз, почему. Заменяется на стандартный. На других все ок.
>>955203В кнопки как в RemoteView?
>>955207Через addAction добавляю>>955206>>955201Вот что нашел>Every action must have an icon (32dp square and matching the Holo Dark action bar visual style)
Посоветуйте интересных опенсурс приложений на "поизучать сорцы". Только не гиганских на 1000 классов типа телеграма, а что-нибудь что можно осилить за пару дней-неделю. Но и не говноподелки васянов, которые сами нихуя не умеют.
>>955221Как ты себе представляешь "что-то интересное" в 2 класса, и при этом не шаблонное говно уровня гуглопримеров?"Что-то интересное" требует написания кучи велосипедов и разгребания зависимостей между ними.
>>955221Любую Haskell библиотеку с first-class функторами и морфизмами, например categоry-extras или recursiоn-schemеs. Это действительно интересно. А вот>требует написания кучи велосипедов и разгребания зависимостей между нимиэто не интересно, а унылый будничный дрочь.мимо
Как лучше всего писать чейнджлоги для пользователей?TextView.setText( длииинная простыня из "бла бла бла \n" + как-то муторно.
>>955221https://bitbucket.org/derekwilson/recommender-android/src
>>955275Вообще-то он просил примеры приложений, а не кирпичей.Обработка которых через "унылый будничный дрочь" и дает в итоге какую-то интересную фичу.
>>955281Ну да, ты прав. Но понятия не имею, что там интересного.
>>955283Контекст применения, конечно. Итог этого дроча, в реализацию которого можно занырнуть поглубже, пусть даже и местами, если надо.Не обязательно же читать всю статью "НАСА созвала экстренную комиссию по вопросу инопланетной жизни", достаточно прочитать вывод в конце и вычленить некоторые положения в середине.Или не обязательно разбираться в физике вплоть до частиц и их отношений, чтобы примерно представлять концепцию Большого Взрыва.ну вы понели.А кирпич - ну лежит он, и хуй знает, все ли возможные места приложения ты сможешь придумать. А так ты увидишь, как из кирпича вырезают самотык и тоже захочешь.
>>955110Ага. Git называеться. Просто смотришь на чейнджлог коммита.
Аноны, у меня большие проблемы. В общем выучил я java core. Захотелось изучить бек-энд разработку, посмотрел какие-то туториалы, наткнулся на json. Почитал в интернете- пришел к выводу что необходимо изучить front-end на каком-то уровне. До этого знал основы html, css но не вникал. Тут начал вникать и понял насколько это не мое, все эти формочки, все эти тонны кода сраного, все эти плавающие элементы. Меня уже тошнит от этого. И тут я задался вопросом, как мне это поможет как back-end'ру? Что мне нужно знать из fronta конкретно? Как работает форма и http методы? А Java script и тот же json на стороне front-end'а также необходим? или можно дропнуть это унылое занятие и пойти учить сам back-end?
>>955321Я стесняюсь выкладывать свое говно на гитхаб.
>>955325Гитхаб!=гит. Есть локальный гит, есть битбакет, гитлаб.
>>955324А может ты уйдешь нахуй с треда про андроид?
>>955329ебать я наркоман, соре
>>955278Создаешь html, загружаешь в WebView.Html это лучший способ, когда нужно отобразить много текста с уникальными элементами.В TextView же обычный plain-текст, который ты не можешь форматировать как хочется.
>>955328>локальный гит, есть битбакет, гитлаб.Ооо, это то что нужно тогда. Сяп.
>>955258Я не говорю в 2 класса, оф кос я и хочу чето с зависимостями и разгребанием кода, но не совсем жирноту типа официальных клиентов вк, фейсбук или еще какой-нибудь телегохуйни на овер 9000 классов, а чтобы можно было в одиночку относительно быстро осилить. Вот например недавно изучил https://github.com/iSoron/uhabits Очень годное приложение, которым я и сам пользуюсь, в исходниках 100 ява файлов и автор писал от души. А взять каких-нибудь индусов из фб, у которых 100500 классов и зависимостей, которые героически преодолевают 64к методов, мешают в лапшу js php java - такое сразу нахуй.Наверняка есть тысячи ламповых андроид приложений, которые будет интересно поизучать и вдохновится.
Вечер в хату, аноны. Начал пробовать javafx и сразу столкнулся с проблемой. У меня есть GridPanel, в каждой ячейке которого лежит TextField. Как мне достать оттуда значение TextField или его цвет? С помощью метода GetChildren()(я пытался но там возвращает коллекцию и я не знаю как в ней найти моё текстовое поле)?Можно ли обращаться через квадратные скобочки, как с массивом делали? Что то типо grid[0][1]?
>>955365-> >>955329
>>955365>android>javafxты опять начинаешь, шакал ебучий?http://stackoverflow.com/questions/20655024/javafx-gridpane-retrive-specific-cell-content Через квадратные скобочки нельзя, массив одномерный. Индекс в возвращаемом массиве GetChildren можно высчитать самому, если тебе известны столб\строка и общее число столбцов. Например (currentRow * totalColumns) + currentColumn. Enjoy your javaparasha без нормального менеджмента столбцов
Аноны, приложение работает с неким апи. У апи описан контракт. Ну т.е. какие ответы оно будет отдавать на какие запросы. И нужно замокать эти ответы, т.к. логика сложная. Как это сделать? Мне бы какой-нибудь инструмент типа proxy. Есть такой? Сейчас charles юзаю, но это не совсем то.
>>955391ну сорян, я прост сука уебок читать не умею, ты меня с кем-то спутал, я другой даун. Я понимаю, что массив одномерный я не понимаю какие элементы в нем хранятся как их привести к типу TextField, idea на меня ругается, а я не ебу как с этого обьекта вытянуть то, что мне надо.
>>955398flavor + okhttp interceptor
>>955408Так код писать надо и собирать проект. Было бы здорово, чтобы ещё и тестировщик мог моки писать, чтобы все тест кейсы пррверить.
>>955399Берешь документацию, ищешь методhttps://docs.oracle.com/javafx/2/api/javafx/collections/ObservableList.html>getChildren>public ObservableList<Node> getChildren()То есть, метод возвращает список из Nodehttps://docs.oracle.com/javafx/2/api/javafx/scene/Node.htmlА Node это суперкласс для твоих TextField.Достаешь из результата getChildren() нужный Node.Node huiNod = достаешь NodeИ кастуешь на него (TextField) huiNode. Пихаешь это в переменную или заключаешь в скобки, и вызываешь нужный метод уровня "вытащить текст из TextField"Ты хуево базис java выучил. В ООП и в областях видимости\пространстве имен вообще ни бум бум.
>>955411Ну как тебе, сказать, я сука один в один хуярил, но мне выдает ошибку, я понимают что TextField это наследник Node, и я пишу в скобочках тип к которому хочу привести, но мне выдает ошибку, говорит, подчеркивает красным и говорит нельзя приравнять java.awt.TextField и Node. Вот поэтому то я сюда и пришел, думал, мож что-то не так делаю
>>955410хуеки
>>955424Давай копипаст этой строчки с ошибкой. И кусок кода, где ты это творишь.
>>955432А всё уже, спасибо анон, была проблема в пакете.
Как через css совладать с размером шрифта? Чтобы отображался одинаково адекватно на всех размерах экрана.
>>955108Нахуй иди со своим блюпринтом.XML сюда
>>955158>кучей сотрудников.Такие же Васяны
Всем чики в етом чяте. Есть арчик, в нем android studio. Скажите ньюфажиньке в разработке под ведро как подключить например это https://github.com/odnoklassniki/ok-android-sdk в прожект. Спасибо заранее.
>>955706
>>955707А кнопочками там никак нельзя? Клинкуть куда-то там, вставить адрес репозитория, вот это всё. Пойду гуглить что за Maven.
>>955708>Пойду гуглить что за MavenЛолблядь!
>>955708Можно, но кликать дольше чем взять и скопировать-вставить ОДНУ БЛЯТЬ ОДНУ СУКА ОДНУ СТРОЧКУ БЛЯТЬ. Ты уж попробуй как-то по порядку все учить, а?
>>955719Мне просто скомпилять надо.
>>955002Я же говорю, что не воспроизводится ошибка. Как ссылка может быть фейковой для одного девайса и нефейковой для другого? Типа, раз в месяц на один час в ссылку инжектят вредоносный контент? Но тогда он бы не открывался в гугл-плее, очевидно же. А предположение, что и ссылка инфицирована, и ещё и гугл плей на девайсах фейковый отсекается бритвой Оккама.>изначально инфицированные устройста.Я тоже надеюсь на это, но нужно проработать все варианты. >>954998Бамп, аноны, у кого есть ещё варианты?
>>955725Добавь строчку:compile 'ru.ok:odnoklassniki-android-sdk:2.0.2'в dependencies {...} build.gradle нужного модуля.
Сап, сколько просить джуну в Киеве? Кроме сдк, кор явы, ооп да алгоритмов знаю: Glide/Picasso, Retrofit с OKHTTP, Rx, StorIO, Dagger, GMaps, тестирование Robolectric, плюс куча мелочи типа ButterKnife, EventBus, IcePick и тд. За это стыдно 500 просить? И посоветуй с "роадмапой" что из этого и в каком порядке стоит учить: Firebase, Play Services, Analytic, In-app Billing, Espresso, LeakCanary?
>>955795Главное котлин не учи
>>955803Почему? Норм же
>>955221https://4pda.ru/forum/index.php?showtopic=200537
>>955812сахарец плюс пиздец зависимы от того что гугел будет делать с джавой. Я не удивлюсь если они запилят свой сфифтgolang
Почему нотификации везде работают по разному, если работают вообще?
>>955880Вот почему: https://medium.com/russian/почему-мой-телефон-не-обновится-до-нового-андроеда-e4cd5fa3fa85
>>955885И как с этим жить?
>>955829> сахарец плюс пиздец зависимы от того что гугел будет делать с джавой. Я не удивлюсь если они запилят свой сфифтgolangХз, пол года уже на нем. Норм.
>>955795Бамп
>>955896Тебе ебало обоссать?
>>955898Главное на вопрос ответь.
>>955905Ответил тебе за щеку.
>>955795>знаю А применять то умеешь?
>>955795500 бачей за этот стек? Неужели у андроид девелоперов такие низкие зп по рынку?Мимоангуларщик перекатывающийся на андроид, т.к. веб говно на 1.5к
>>956048У меня 1.5К. Но андроид тоже днище, лучше в iOS закатывайся.
>>956054Мне похуй на что, айос или андроид. Главное, чтобы приложение было нативным. До этого проработал WPF кодером 5 лет и пришлось перекатываться на веб в силу того, что в вебе меньший порог вхождения на те же бабки, что я получал. Полностью разочаровавшись в вебе, пришел к железному выводу перекатываться обратно на нативщину.
>>956057Двачую. Нативная разработка - наше всё. Ксамарин и веб-поделки - для говноедов.
>>956035Как и всякий нуб) В общем да. Но сильно не углублялся. Дрочить скил ещё успею а жрать и за квартиру платить надо.
>>956048У меня практика уровня своего да чужого диплома плюс всякий треш в духе погодных апп. С рхсом да дагером.
>>955739gradle этот сам найдет сорцы на гитхабе?
>>956171
>>956048> 500 бачей за этот стек?Этот стек за пару недель осваивается, если не быстрее. Тот же rx я вообще не осваивал, просто сел и для меня всё было сразу очевидно, будто так и должно быть; с половиной перечисленных либ также. Платят за опыт, это куда важнее и слабо зависит от знаний технологий.>>955829> сахарецХороший сахар это всегда удобно. Попробовав котлин или скалу, на джаве уже тяжело становится писать, до того это ущербный язык.Хотя бы для общего развития стоит поучить, это полезно.
>>956195дык 500 просить можно или нет?
>>955795Так ты знаешь, или писал с этим проекты? Тут вроде такая история, что можно написать проект на голых асинктасках с ручной обработкой поворота, и это будет для работодателя более ценно, нежели знание кастомных либ.
>>955795700-800 проси, базарю. Может и скинут до 500-600, но главное заднюю не давай и не опускайся до уровня "обоссыте но возьмите, готов работать за опыт еду". Если хоть чем то покажешь на собесах такую позицию - инстант фейл.
>>956216Нельзя
>>956236>это будет для работодателя более ценноМаняистории
Вопрос по даггеру2. Не совсем понял хуйни с сабкомпонентнами. Вот, представим, что у нас есть компонент для аппликухи, который мы инициализируем в Application - ок. Я хочу сделать компонент, который будет относится к лайфсайклу активити предоставлять презентер например, при этом переживая повороты. Во всех мануалах, что нашел, посоны или определяют этот компонент в Application что очень сильно продлевает его жизнь или инициализируют непосредственно в активити сокращая срок жизни как минимум в 2 раза, при условии, что будем вертеть мобилку. Но, при этом, во всех этих мануалах, везде пишется, что типо даггер2 обеспечивает ложение хуя на повороты. Я что-то не так понял?Как пример - вот статьи:https://habrahabr.ru/post/279641/http://guides.codepath.com/android/Dependency-Injection-with-Dagger-2#scopes
>>956195Хуй знает бро. Если сидеть без работы и сычевать дома, то может 2 недели и хватит. А когда у тебя веслание 9.00 - 18.00, то очень мало времени остается. Плюс ко всему, очень лень что-то делать после работы.
>>956177Там же написан комментарий, что не суй сюда зависимости, а суй их в файл конкретного модуля.
>>956318Сами по себе скоупы ничего не делают, они служат лишь как идентификаторы. Их время жизни ты должен определять сам.
>>956340Подскажи тогда, каким образом обеспечить жизнь компонента в пределах жизни активити, ложа хуй на повороты
>>956340Много вариантов.Например, использовать onRetainCustomNonConfigurationInstance(). Или хронить в памяти синглтон с мапой, которая хранит различные компоненты (нужно будет вручную заниматься инвалидацией).Или хранить в retain fragment.А вообще, твой презентер должен тоже умирать и пересоздаваться вместе с UI, а не сохраняться всё это время.Это не его ответсвенность.
>>956342-> >>956345
>>956345> твой презентер должен тоже умирать и пересоздаваться вместе с UIПочему?
>>956358Зачем ему переживать поворот экрана?Чтобы сохранить состоянии представления? Это не его ответственность, этим должно заниматься представление или view state.Чтобы сохранить выполняющиеся запросы? Это не его ответственность. Это должно происходить на уровне модели.Если тебе нужно сохранять презентер, значит, он делает у тебя слишком много.
>>956361Как я себе представляю MVP в андроиде: поправь, если не прав1) Модель. Тут все ясно. запросы, хуе мое. 2) Вьюха. Взаимодействие с юзером. В этой роли выступает активити/фрагмент.2) Презентер. Бизнес логика. Штука, абстрагированная от вьюхи, и уж тем более от лайфсайкла. Она тупо привязана к текущему экрану и все. При поворотах, по идее, просто вновь созданная активити/фрагмент должны взять и отрисовать текущее состояние презентера.В твоих рассуждениях получается, что вьюха должна заниматься состоянием презентера, сохраняя его и передавая следующему презентеру. Слишком по ебанутому, на мой скромный взгляд, звучит.
>>956373> состояние презентераЯ тебе и говорю о том, что у презентера не должно быть состояния.
>>956375Смотри. Вот есть у меня некий сформированный фильтр, по которому я вытягиваю данные. На мой взгляд, его лучше сохранить в презентере, чтобы при повороте экрана заного отрисовать его визуальное представление и загрузить данные из модели по этому фильтру возможно закешированные. Если мы исключаем сохранение состояния в презентере, то как мне лучше воспроизвести сценарий с фильтром?
>>956361И каким образом пересозданный презентер подцепит выполняющийся запрос в модели?
Есть ли лучший способ заставить PreferenceActivity сохранять настройки в int, чемhttps://github.com/Flipboard/psync/issues/5По умолчанию какой-то бред, можно пометить настройку какandroid:inputType="number", но сохраняется она все равно как строка, и вполне вероятно - пустая.
>>956376Откуда у тебя этот фильтр? От юзера? Значит это view state. Откуда-то из друго места? Значит это относится к модели.>>956381RxJava. Или Store, если не хочешь реализовывать это сам.
>>956384Зачем тебе какая-то васянобиблиотека для этого? Две строчки кода ведь, чтобы вручную сохранить как число. https://developer.android.com/reference/android/content/SharedPreferences.Editor.html#putInt(java.lang.String,%20int)
>>956389Там не библиотека, а пример сабкласса. Типа такогоhttps://github.com/jrgifford/androguard/blob/master/examples/android/gtalksms/src/com/googlecode/gtalksms/EditIntegerPreference.java>две строчки кода ведь, чтобы вручную сохранить как числоИ как я это сделаю, если PreferenceScreen строится на основе EditTextPreference?Чтобы сохранять в SharedPreference, все равно нужно делать сабкласс EditTextPreference, в переопределенных методах которого уже самому конвертировать в int и сохранять. Вот я и спрашиваю, если ли лучший способ делать это, ведь вроде такая очевидная вещь. Может, где-то дефолтный EditIntegerPreference завалялся.В примере выше строк 39 (пусть и 70% нефукциольный мусор), а не две. Ради очевидной хуйни многовато кажется, особенно для инструмента, который позиционируется как "минимум пердолева, сделал разметку и получил готовые настройки"
>>956386Что RxJava. Как подцепить обратно этот observable нет блять я не спрашиваю про cache()? Его нужно мало того, что хранить, так еще и костылить систему правильной их идентификации, чтобы если у тебя два однотипных запроса пошло, они оба отдались обратно к презентеру корректно. Да и кто отвечает за удаление их ссылки после отработки, ведь ты же не знаешь на уровне модели, заберет ли презентер их обратно, или он уничтожен окончательно? Или так и будешь хранить все инстансы observabl'ов в какой-нибудь хэш-мапе "номер запроса - obseravble" без очистки?Ну и никто не отменяет кучи ебли с сохранением состояния в бандл, вместо простого сохранения в переживающий перевороты вьюстейт, который привязан к презентеру.
>>956398> какЯ же уже писал, смотри код https://github.com/NYTimes/Store> переживающий перевороты вьюстейтЯ тебе об этом и говорю. Ты точно читаешь мои сообщения? Только причем тут презентер - непонятно, это же не MVVM.
>>956394Не проще какой-нибудь OnChangeListener к твоему EditText'у добавить, и самому сохранять значение?
>>956401>OnChangeListenerСкорее всего. Особенно с точки зрения добавления валидатора (диалог вылезает с предупреждением, например,).Там метод onSharedPreferenceChanged вызывает ДО записи же, да? Из оф документации не понятно. Скорее всего да.
> android.text.TextUtils.isDigitsOnly("")>trueВы видите числа? А они есть!Ну ебана. Такое чувство, что мне нужно написать свою стандартную библиотеку с нуля.
>>956401И все же OnChangeListener так себе вариант. И причина в диалоге. Он срабатывает, когда он уже закрывается и пытается записать нечто в SharedPreference. Допустим, я не хочу чтоб кто-то записал 100500 в поле. Без кастомного диалога я узнаю об этом только постфактум. И мне придется заставлять пользователя еще раз открывать настройки для редактирования.Лучший вариант - не дать ему закрыть диалог, если он записал какое-то говно, как по мне.
>>956440Ну так и напиши тогда просто свой DialogFragment, который проверяет ввод пользователя и если всё ок, то сохраняет в SharedPreference.
>>956448Угу. Что-то типа >DialogPreference - override showDialog()http://stackoverflow.com/questions/2620444/how-to-prevent-a-dialog-from-closing-when-a-button-is-clicked
>>956322Не, ну тут правда, если уже работаешь, то быстро не выйдет. С другой стороны, в таком случае торопиться некуда особо.
>>956405>onSharedPreferenceChanged>ChangedПосле он вызывается.
>>956460Я уже заметил, а даже если бы и до - все равно не то что надо.
>>956318Я пихаю компоненты в статический WeakReference инжектора компоненты.Каждый дрочит как хочет.
>>956318https://medium.com/@Zhuinden/retaining-dagger-components-across-configuration-change-using-service-tree-3709c78bf6d2
Анон, поделись какой-нибудь статьей про использование криптографии в Android и Java.Суть такая - хочу сделать между клиентом и API обмен в виде зашифрованных сообщений (например, видел такое у какой-то биржи, т.е. апишка хавате мессаджи только зашифрованные определенным способом и все такое).И если на php это еще худо-бедно реализуемо mcrypt'ом или openssl, то в джаве я не в зуб ногой.Будет полезно также кинуться статьей про общую реализацию такого, если кто-то уже делал и публиковал.
Какая-то хуйня все равно выходит с этими валидаторами.В принципе, если в showDialog ставить кнопке Ок свой setOnClickListener - диалог не закрывается, если не выполнены условия. НО если они выполнены - ничего не сохраняется, потому что onDialogClosed всегда получaет false. Помогает только костыль в виде прямого вызова onDialogClosed(true). Но тогда onDialogClosed вызывается два раза (хотя, onDialogClosed(false) все равно ничего не делает). Мелочь, но НЕПРИЯТНА. Костыль, говно.А больше ничего переопределить нельзя, потому что это false передается через приватное поле. Разве что с reflection анально поиграться.Вот этот диалог он стандартный или самописный?
>>956535>Вот этот диалог он стандартный или самописный?Пик проебался но да похуй, уже нашел.
>>956535Вообще, лучше для чисел диалогом ставить NumPicker, видимо. Но строки все равно придется валидировать через ебаные нечеловеческие костыли.
>>956534https://habrahabr.ru/post/181372/
Хочу использоваться в качестве summary у Preference шаблон для форматирования строки, в который буду подставлять значения.Вопрос. как вытащить из xml атрибут android:summary?Preference.getSummary не вариант - ведь он выдаст строку, которую не отформатировать, если summary уже было установлено.
>>956652Хотя ладно, можно сохранять summary как шаблон в переменной при создании Preference.А потом переопределить setSummary, передав super.setSummary() уже отформатированную строку.
Котаны, подскажите че не так?Пытаюсь запускать скрипт с помощью AlarmManager каждые 5 минут, но он, сука, то не сработает, а потом аж два раза подряд, либо ваще отстает на минуту каждые полчаса.Всё на девайсе с API 17. Т.е. setRepeating должен точно срабатывать.
>>957060Ну и логи, естесно:<...>17.03.2017 07:20:3017.03.2017 07:25:3017.03.2017 07:30:3017.03.2017 07:40:25 <-вот17.03.2017 07:40:30 <-вот17.03.2017 07:45:3017.03.2017 07:50:3017.03.2017 07:55:3017.03.2017 08:00:3017.03.2017 08:10:25 <-вот17.03.2017 08:10:30 <-вот17.03.2017 08:15:3017.03.2017 08:20:30<...>17.03.2017 16:50:3017.03.2017 16:55:3017.03.2017 17:01:10 <-вот17.03.2017 17:05:3017.03.2017 17:10:3017.03.2017 17:15:3017.03.2017 17:21:08 <-вот17.03.2017 17:25:3017.03.2017 17:40:29 <-вот17.03.2017 17:40:29 <-вот17.03.2017 17:40:30 <-вот17.03.2017 17:45:3017.03.2017 17:51:09 <-вот17.03.2017 17:55:3017.03.2017 18:00:50<...>
>>957060Доки для пидоров> For example, if you have set a recurring alarm for the top of every hour but the phone was asleep from 7:45 until 8:45, an alarm will be sent as soon as the phone awakens, then the next alarm will be sent at 9:00.> If your application wants to allow the delivery times to drift in order to guarantee that at least a certain time interval always elapses between alarms, then the approach to take is to use one-time alarms, scheduling the next one yourself when handling each alarm delivery.Ну и конечно остается вопрос нахуя дрочить девайс каждые 5 минут.
>>957119>>957119>If an alarm is delayed (by system sleep, for example, for non _WAKEUP alarm types), a skipped repeat will be delivered as soon as possible. After that, future alarms will be delivered according to the original schedule; they do not drift over time. For example, if you have set a recurring alarm for the top of every hour but the phone was asleep from 7:45 until 8:45, an alarm will be sent as soon as the phone awakens, then the next alarm will be sent at 9:00.>If an alarm is delayed (by system sleep, for example, for non _WAKEUP alarm types)>alarm.setRepeating(AlarmManager.RTC_WAKEUP, firstMillis, 5 60 1000, pIntent);Разве тот случай?
>>957119>>957122Тем более, девайс-то просыпается каждые 5 минут с точностью в миллисекунду, за исключением некоторых случаев, о которых я написал выше.
>>956195>Этот стек за пару недель осваивается, если не быстрее.Ты гений чтоле, или в вас вузе хорошо задрочили на программирование??
>>957245Он просто пиздабол.
startandroid норм? или лучше alexanderklimov?
>>956459Если не торопиться, то вообще хуй что выучишь. У меня щас план переката с веба на андроид и я очень хочу поскорей перекатиться.
>>957252лучше сразу оба.
>>957252Попытался по первому - оказалось устаревшее говно. Лучше уж блядь доки на ангельском читать, чем этого чмыря.
>>957252Никого из них. alexanderklimov просто берет и копипастит офдоки, обмазав их котами. А примеры всегда говно уровня хеллоувордов.
>>957285>>957288А что тогда лучше?
ПЕРЕКАТ https://2ch.hk/pr/res/957315.htmlПЕРЕКАТ https://2ch.hk/pr/res/957315.htmlПЕРЕКАТ https://2ch.hk/pr/res/957315.html
>>957302Офф доки, исходники и stackOverflow. Если на последнем видишь что решение занимает дохуя строк - игнорируешь и ищешь более лаконичное, даже путем чтения исходников.
Привет и сразу к делу, нужно вырезать фон с объекта на фото (например шорты лежат на однотонном контрастном полу, нужно оставить шорты, а фон убрать) заебался - нихуя не получается. Может кто-то подскажет, или сам сделает за вознаграждение
>>940781 (OP)такой вопрос: нужно написать приложение синхронизации врачей и клиентов. То есть пациент выбирает дотора, или доктор находит пациента по запросу. Сколько может стоить первый рабочий прототип? За сколько времени можно набрасать рабочее приложение?