Android Development Thread 2.1.2> Хочу вкатиться в разработку под 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/940781.html
>>957302Начинать всегда лучше с официальных гайдов.
>>957302В шапке же есть, алё!
>>957060>>957061>>957122>>957126А на моё вопрос так никто и не ответил.
>>957245>>957248Никакого вранья. Стек осваивается за 2 недели при наличии свободного времени. При желании, можно даже чуть быстрее.Разумеется, в эти 2 недели не входит время на то, чтобы научиться писать код и рабочие программы как таковые.Может, вы просто тупенькие? Хотя ладно, люди разные, может я и правда слегка перегнул. Просто себя я умным совершенно не считаю.>>957254Я опять же имел в виду, когда ты уже под андроид пишешь и решил свой паверлевел поднять. Так-то да, совсем непростая ситуация выходит. Старайся, всё будет хорошо.
Сап, двач. Есть один EditText и есть простой текст. Всё до безумия просто: я пишу в поле едиттекст что-то, потом жамкаю кнопку и то, что я ввёл, появляется в отдельном поле как обычный текст. Просто играюсь и изучаю. Так вот, с жамканием на кнопку и getText/setText всё оказалось просто. Теперь подскажите, как мне сделать так, чтобы в простом Тексте сразу же отображалось то, что я ввожу в едит тексте? Ну то есть в реальном времени как бы дублируя. Я так понимаю, что нужно либо создавать для этого поток Thread(), либо есть какие-то неизвестные мне методы. Спасибо
>>9574851. On change listener 2. Rx Bindings 3. Data binding
>>957485>>957495Всё, проблема решена, я даун. Если у кого будет такая же, то вот решение https://www.youtube.com/watch?v=MJ_32Tuuu74
>>957344хз каждый раз когда говорю фразу "х - хуйня, за бутылкой пива проясню все", потом думаю - раз это хуйня чем блядь я 4 последних года занимаюсь. Вся мякотка в том что доступной инфы никто не даст. Помню как ебся 2 дня с тем что не вкуривал что сторио генерит тайпмаппинг на этапе компиляции.
>>957315 (OP)Суп, погромисты. Сам я начинающий, пишу свою прогу типа плеера для интернет-радио. Суть такова, что кнопка плей нажимается, музыка играется. Информация о текущем треке дёргается каждые 10 секунд с сервера, и если трек изменился, то ещё и обложка подсасывается. В данный момент эта процедура отрабатывается в основном активити (он один), музыка же играет в сервисе как положено. Всё работает почти неплохо, несмотря на говнокод.Собственно вопрос, может ли андроид грохнуть моё активити, но не грохнуть сервис, из-за чего информация о треке перестанет обновляться? Стоит ли запихнуть получение данных с сервера в сервис с плеером? Просто по началу делал без задней мысли, а потом на гитхабе посмотрел сурсы похожих приложений и увидел, что там так же реализовано.Благодарю за ответы.
>>957560Я бы через сервис дергал.
>>957581А я бы через анус пса.
>>957583Да ты и пса... Oh wait
Как убрать нотификацию, по клику на кнопку нотификации addAction()?
Двачик, скажи, ЧЯДНТ? http://pastebin.com/ch6qwHThhttp://pastebin.com/UsfTwj5cПервый класс - класс с потоком, где я хочу, чтобы цифра a менялась. Второй - главное активити, где я хочу, чтобы у txt был setText(gg.a). Но когда я это делаю и нажимаю на кнопку в приложении, всё крашится. При этом, как вы видите, я проверяю через лог поток и он работает. Чому не могу передать значение из одного класса в другой без ошибки?
>>957615> я хочу, чтобы текст в приложении менялся как в потоке. ТО есть 1, 2, 3, 4, 5. Может надо не через Thread делать, а через Handler или что там ещё. Асинк таск?
>>957617Нельзя менять ui в не главном потоке. Используй AsyncTask первое время, чтобы понять идею. начнёшь блевать - гугли rxjava
>>957615И вообще, читай исключения, которые выкидывает
>>957641>>957637спасибо. АсинкТаск могу использовать в другом классе? Или нужно в том же создавать, где главная активити? Или нужен вложенный класс?
>>957649я хочу на онКлик вызывать из другого класса - не хочу нагромождения в главном
Аноны, нужно ли повторно инициализировать элементы уи, если они иницалируются в онкриэйт?Вот например: TextView t;Public onCreate(){t=(TextView)findviewbyid(тут ссылка);}Public void переименуемТекст(){Тут нужно сразу t.setText Или нужноt = textview findviewbyid ссылка на текстКак правильно? Надо как с классами типа новый экземпляр создавать? Или нет, раз он инициализирован в онкриейт?}
Анонасы, мне 16, начинать вкатываться в джаву, именно в разработку приложений? Перспективно? Не кидайте в меня говном, адекватные ведь люди Паскаль,с++ чутка учил, вроде не тупой
>>957727Матешу сначала выучи.
>>957734В мат классе учусь, на уровне ЕГЭ знаю математику. А что там прям такого нужного?
>>957735Численные методы идеально знать надо.
>>957742Стоит ради этого идти в вуз? До 18 хотел понять на среднем уровне джаву и начать уже чем нибудь заниматься.
>>957687Все что ты инициализируешь в onCreate будет в норме. Если дело идет после он криэйт смело вызывай свой сет текст.
alarmIntent = PendingIntent.getBroadcast(this, id, intent, 0);alarmMgr.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (time), alarmIntent);Получается так, что если я создам аларм до того, как предыдущий появился, то они оба алертнутся по времени последнего, что я делаю не так? Request код у них разный и создаються 2 алерта, но последний переписывает время предыдущего.
>>957727Да, вполне. Банковский софт сам себя не напишет, так что вкатывайся.Яндекс вон недавно 17летнего пиздюка себе взял на работу, так что давай скорее вкатывайся, а то будешь слишком стар для этой хуйни.
Спиздил пример TCP-чата(только клиент, сервер есть) отсюда https://www.myandroidsolutions.com/2012/07/20/android-tcp-connection-tutorial т.к. захотел разобраться как это вообще работает.Просто скопировал код себе, создал такие же джава-классы и иксэмельки(менял только порт и айпишник).Выводит пикрелейтед ошибки. Классы и методы метит как Cannot resolve symbol/method В чем дело? Гуглил такие ошибки, в основном пишут просто удалить там папку idea и iml-файлы и ребилдить/клинить. Мне не помогает. Если не трудно кому - запустите данный пример у себя и скажите что не так.
>>957755Если я смогу в джаву , то есть ли шансы к 18 годикам найти себе удалённую работу?
>>957762Нет.В джаве нету фриланса, а удаленная работа только для премиум сениоров.
>>957742Какие нахуй численные методы, дискретка нужна.
>>957763Как же это так выходит? Я разве не смогу например делать приложения на андроид на заказ/делать и выкладывать в гугел плей.
>>957764Графы и комби мы учим с 5 класса, так что в это я могу более-менее. Только алгоритмов не знаю особо, но я думаю это можно выучить.
>>957765Дак надо чтобы заказчик у себя размешал.Да и сам серьезные приложухи ты сделать не сможешь, нужна командная работа. Кто-то рисует интерфейс, другой сервер пишет, и тд.
>>957762>Если я смогу в джаву , то есть ли шансы к 18 годикам найти себе удалённую работу?Нет. Работу в офисе- да, реально. Удаленно -нет.Во-первых, как тебе ниже анон сказал, фриланса в джаве нет.Во-вторых, фриланс начинается после 5 лет работы в офисе. Те, кто сразу идут во фриланс, выдают код хуже, чем индусы, и оплачивается их работа соответствующе.
>>957769>>957771Ну тоесть анрил без вышки работать удаленно уча джаву? Во что вкатиться?
>>957771>>957769Не дописал. Во что вкатиться что бы удаленно к 18 даже не 30 получать, а хотя бы 20-15к. Ибо меня погонят из дома либо в вуз и общагу, либо надо будет снимать хату.
>>957773На удаленку учи пыха, жабаскрипт, верстка и mysql
>>957773В гей-шлюхи.
>>957778Cпасибо, анон, добра тебе
>>957753bump
>>957779я всрат
>>957777Почему именно удаленно?Хоккинз?
>>957781Тут когда-то был, может и сейчас есть, тред по пхп, с аниме на аватарке. Там были гайды и задачки от ОПа, он же их проверял. Рекомендую туда зайти
>>957785первое это то, что папа сам работал в офисе админом сети, и сейчас яро против офисов. говорит лучше работать дворником, чем постоянно как солдат в 8 утра приходить и в 7 уходить. Постоянные коллективные собрания, прочая хуйня. ну и да, немного сыч, но это лечится армией
>>957786Хорошо, спасибо. Если я на среднем уровне освою пхп, лучше начать легкие задачки по фрилансу делать, или сразу искать удаленку?
>>957787Работаю дома, заебало, хочу в офис.
>>957787Не слушай его. Как тебе самому лучше, так и делай.И армия для быдла, офк.
>>957788У меня опыта работы нету, не ко мне это. Просто помню что сидел там и решал задачки.Мне кажется что лучше сначала немного в коллективе поработать, понять как всё работает а потом уже и пробовать искать удалённую работу. Ну и инглиш надо знать (на ру биржу лучше не лезть, само собой).
>>957787Ну это все равно, что будучи девственником рассуждать, что секс- это неприятно. Ты сходи, поработай и сделай выводы. Тем паче устроиться на работу ИРЛ намного больше шансов, чем удаленно.
>>957790сейчас армия вроде стала лучше, а я блядь ебаное комнатное растение, не способное спросить где находится та или иная улица. Хорошо, спасибо за совет
>>957793>>957794Спасибо аноны
>>957753Ну ответьте, плес.
>>957802Отбой, разобрался.
>>957807Поделись
>>957810С андроида 4.4 alarmManager.set() собирает все алармы в одно время, чтобы этого не происходило надо юзать alarmManager.setExact().
>>957811Может ты знаешь, как чекнуть работает ли определенный алярм?
>>957824Заставь его тоастами серить и поставь время маленькое.
>>957825Сделал круче - через FLAG_NO_CREATE
>>957842Правда не работает.
>>957760Ебать дебил
>>957925Ну то помоги
>>957927Нет
Подскажите эмулятор, чтобы бесплатно и мог эмулировать разные реальные девайсы (ну, то есть не абстрактный андроид студио эмулятор, а чтоб, например, мог сэмулировть xiaomi определённой модели).
>>958069Нет таких. У самсунга можно взять девайс в аренду и подключиться к нему удаленно. Для максимального охвата есть фаирбейзовый тест лаб с реальными девайсами, но там гоняются только тесты.
>>958069Gebnymotion, но китайфоны тебе никто эмулировать не будет.
>>958075это не эмулятор
>>958093что же тогда?
>>958097платформа виртуализации на virtualbox, но никак не эмулятор
>>958100Чем отличается эмулятор и платформа виртуализации?
>>958104Ты никогда не задумывался, почему эмулятор в Android Studio пиздецово медленный в отличии от ВМ Genymotion?Юзай гугл.
>>958108Гугловский эмулятор по скорости такой же, как и Genymotion, и использует ту же виртуализацию на virtual box.
>>958109И на кой хуй тогда все ставят Genymotion?
>>958110Я например поставил genymotion, т.к. у меня амуда, которая не поддерживается дефолтным avd.
>>958110Кто все? Старая версия эмулятора работала медленно, да. Новую версию гугл по образу gm запилил, сделав его ненужным.
>>958113Но в эмуляторе от Гугл можно же получить на выходе другую архитектуру процессора, в отличии от gm, разве нет?
>>958109> Гугловский эмулятор> использует ту же виртуализацию на virtual box.Вообще-то qemu гугловский эмулятор использует.
Как обвести вьюху рамочкой?
>>958207Сделать контейнер (framelayout\relativelayout) с вьюхой и рамочкой. Рамочка то сильно сложная?
>>958236Нет, обычная линия
>>958237У вью есть бэкграунд? Можно было бы рамочку на бэкграунд поставить.
>>958239Вью это кардВью, бэкграунда нету.
>>958240http://stackoverflow.com/questions/36575069/how-to-set-colored-border-on-cardview
>>958244Спасибо.
Есть gridView, в который динамически добавляются imageView, и у некоторых есть animatorUpdateListener'ы.Проблема в том, если приложение уходит в бэкграунд или даже путем нажатия "назад" уходят на более раннее activty из стака - эти listenerы продолжают хуярить.Есть ли лучший подход, чем держать в activity массив, в который добавляются эти listener'ы при создании, и которые при будут выключаться, если активити будет в OnPause и тд, например?
Здарова, аноны, подскажите плиз, была ли у кого-то такая шняга, что при вызове строк frManager.beginTransaction() .replace(R.id.container, currentFragment, currentFragmentTag) .addToBackStack(currentTag) .commit();метод в OnBackStackChangedListener , который onBackStackChanged , срабатывает ДВАЖДЫ? Именно дважды, при первом добавлении одного фрагмента. Причем делаю все , как обычно, на глупые ошибки всевозможные 100 раз проверил, но нифига. Помогите плиз, если кто сталкивался.
>>958341Как ты его первый раз добавляешь? Если через replace, то в этом и проблема, используй add.
>>958352и так, и так юзпл - проблема остается.
>>957315 (OP)>Котаны, под чем удобнее писать под Андроид - Виндовс или Линукс?Не ОС-срача ради, а удобства для спрашиваю.
>>958327Хотя, можно в onAnimationUpdate Listener'a проверять Activity.isDestroyed(), и отменять анимацию при true.
>>958369А какая, нахуй, разница? Ты что-то левое компилировать собрался под ведро, типа интерпретатора петона?Да и линуксософт хуета ебаная, даже имеющий огромное комьюнити. Например, QT Creator пиздец, какое глючный сравнительно с виндузоаналогом.
>>958369На линуксе или маке удобнее тем, что есть нормальная консоль.Остальное одинаково
>>958411>нормальная консольИ чем же она нормальнее PowerShell? Как обычно, пердоля пукнул без пруфов.
>>958369Джва года назад градл у меня на винде был очень медленный, раз в десять медленнее, чем на линуксе на том же пека. С чем связано, не знаю. С тех пор кодил только на линуксе.
>>958421>PowerShellУебывай
>>958545>градлОн и сейчас на винде такойПричем проект на ноуте с линуксой слабее компа с виндой собирается в раза три дольше
>>958555>>958545Чет мне слабо верится. Да, я верю в проседание процентов на 50, но никак не в 3 раза медленнее на такой же конфигурации. Может ему памяти меньше выделяется по умолчанию, или вы явно указываете? Антивирь-хуивирь там, градл нужно обязательно добавить в исключения виндефендера, а то тот начинает почему то охуевать.
>>958545Ок, принято. Ну я мавеном буду собирать, но все равно на линуксе буду.
>>958553Обоснуй
>>958605> мавеном Пиздец ты ебанутый.
>>958545Бля, меня уже этот градл доебал. Что не сборка, то перекур минимум на 5 минут. Так и от рака легких умереть можно.
>>958610Купи уже себе нормальный компьютер
>>958612Ебать, Ass Effect новый тянет, а это говно нет.
>>958613Ты разницу между игровым компьютером и рабочим понимаешь? У меня вот не тянет наверное, зато собирается всё быстро
>>958616Ну давай, распиши какая принципиальная разница между ними.
>>958625Расписал тебе за щеку.
>>958631Какой ты убогий
>>958647Отвечаешь тому, кого считаешь убогим? Ты убог в квадрате.
Как пихнуть обьект в интент? Сделал его parceable, но нихуя не помогло.
>>958655Значит, хуево сделал. Parcelable и передаётся
Что юзаете для генерации фабрик под ведроид? AutoFactory от google не предлагать, там гуава
Анон помоги с дагером. В чем принципиальная разница анотации Inject и Module/Provides?
>>958854А там не как с AutoValue? А именно тебе не compile нужен, а provides, и тогда вся их поебень с гуавой только во время компиляции нужна, было бы логично, так как ты в компайлтайме фабрики генеришь.
>>958545Сижу на core i3, 8 gb ram и hdd на одном компе и таком же конфиге, но с core i5 4690 на другом.Так вот, на i5 сильно быстрее, прям заебись даже.
Что почитать на русском именно про разработку всякого говна для дебилов на русском? Не джаву, а именно про все эти ебучие xml'ы и прочее дегенератство.
>>959098Имею ввиду книги. Я же не совсем дебил чтобы читать статейки.
>>958916Двачую.
Оцените мой стартап на Андроид!https://www.youtube.com/watch?v=KoHD6oZzpvk
>>958913Inject - метка на поле/конструкторе/методеModule - метка на классеProvides - метка на методе класса помеченного Module.
>>957315 (OP)Подумываю перекатиться из питона в джава/андройд (да, я такой ебанутый). Вопрос, нужны ли в андройде навыки аналогичные вебовскому фронтенду? Просто мне надоело что каждый работодатель хочет от меня чтобы я запросы в БД мог оптимизировать, и сделать поиск на эластике и настроить/задеплоить продакшен и чтобы жс и верстка. ЗАЕБАЛО. Я просто не успеваю (и не хочу) изучать это все, хочу сосредоточиться на какой-то отрасли.
>>959483Андроид собственно и есть фронтенд. Верстка нужна, но она там изи и не такая ебанутая, как html.
>>959299а в чем функциональная разница когда мы пилим Inject и Provides? Второе когда нам нужно что то передавать в конструктор?
>>959510Inject обозначает место, куда нужно внедрить зависимость. Provides - метод, который её предоставляет.
>>959568Нашел тутор гдеpublic class WeatherReporter { @Inject WeatherReporter() { }}Предостовляет.Потом тупо вызвал в компонентеWeatherReporter getWeatherReporter();Я чего то не понимаю.
>>958613>>958625Да SSD просто нужен.
>>957315 (OP)Хочу вкатиться в ондроед разработку на петоне. Игры 2D/3D, нутыпонел. Какие подводные камни, анон?
>>958545Димона запускал?
>>959784Он вам не Димон
>>959598Два чаю. А еще лучше ssd+ 16+гб оператосы для ramdisk
>>958421>>958421>linuxman manman stdio.hman ncursesnano helloworldC.cgcc -march=native -O1 -o hello hellowordlC.cemerge -av emacs>powershell???
Поясните за котлин. Он начал вытеснять жабу в новых проектах? Другими словами: при устройстве на работу мне прежде всего нужно будет быть готовым ебошить на котлине?
>>959976Нет. Только во всяких хипстерских стартапах. А вообще там ничего сложного и зная джаву учится как нехуй.
>>959987Да я про сложность и не говорю ничего. Просто он удобней чем жаба своей сахарностью. Чего только var стоят.
>>959976>>959987двачую. Скорее гугл голанг адаптирует чем позволит что бы котлин занял хоть какую то долю рынка.
>>960010Но ведь гугол уже прогнулся под жбрейнс, сделав андроидстудио оффициальной ИДЕ.
>>960010Сомнительно.
>>957315 (OP)Почоны. Есть ли смысл использовать Activity вместо AppCompatActivity если планируется поддержка устройств 5 и выше? Заранее извините если савсем платина, я не смог нагуглить преимуществ Activity по сравнению с AppCompat.
>>960031Единственное преимущество - отказаться от компат либы, но ты ее скорее всего все равно будешь использовать, так что преимуществ нет.
>>960035Спасибо, это я видел, возможно есть еще что-то.>>960031В догонку к этому. При использовании AppCompat я не могу в стилях указывать, например для api 11 Theme.Halo для api 21 Theme.Material - везде приходится использовать Theme.AppCompatЭто не значит, что с AppCompat и Theme.AppCompat мое приложение на андроид с api >21 будет выглядеть хуже, чем с Activity и Theme.Material.Или с AppCompat можно использовать тему Material просто я где-то очень косячу?
>>960044Хуже выглядеть не будет.
>>957315 (OP)Аноны, на вакансию конторки Алеф ван лтд недавнюю не откликался никто? А то вдруг у кого тоже опыт общения с ними есть. А то тут такая ситуация, написал им на hh_ru дня 4 назад, сказали что заинтересованы, дали простейшее и тупейшее тестовое задание, сделал его до вечера с закрытыми глазами, вполне неплохо на мой взгляд, сегодня прислали отказ, ничего не объяснив и не прокомментировав. Вот не мудаки ли? Может кому-то код отревьюить не лень будет, из спортивного интереса? Может я совсем тупой и не понимаю чем он плох и почему не приняли. Я бы ссылку на архив скинул сюда + переписку с hh. Приложение с одим экраном, кода немонго.
>>960131Сразу надо было постить тз и реализацию, хули.
>>960133Не хотелось мусорить в треде, если всем похуй. Ну ок, прикрепил Ссылка на json - devcandidates.alef.im/list.phpАрхив с кодом - https://yadi.sk/d/Qt6_Oojv3GK6Nn
>>960131Мб просто кто то другой закрыл собой вакансию.
>>960136>Архив с кодомЯ б тебя тоже не взял?
>>960207Чем не понравился код?
Вызывайте метод recreate() в активити по чаще!Это позволяет найти баги, про которые вы вспомните, только когда они проявятся.И ловите барса няшного.
>>960209Может стоит заливать код в репозитории?
>>960136> у меня нет резюмеА должен был написать, даже если нет. Слишком неформальное описание себя. Ты не на дваче, блядь.>>960207 этот намекает, что код надо выкладывать не архивом, а на github/bitbucket.> AsyncTaskLoader> catch (IOException e) {> e.printStackTrace();> return "";> }> JSONArray baseArray = new JSONArray(json);> BaseActivity????> int columnCount = getResources().getBoolean(R.bool.isTablet)? 3: 2;> нет тестов
>>960230Зачем эти лоадеры городить, когда можно просто сделать асинхронный запрос при помощи OkHTTP?
>>960230> А должен был написать, даже если нетТам написано, что полноценного нет, но общее с инфой о том сколько лет, где живу и чем питаюсь пристуствует. > этот намекает, что код надо выкладывать не архивом, а на github/bitbucketМеня просили отписать на почту, если бы попросили выложить на github - так бы и сделал. Ссылку на свой профиль с репами я им письме дал.> return "";Что ты предлагаешь сделать внутри лоадера при возникновении исключения? Выше его не пробросить, а если вернуть пустую строку, то во фрагменте можно это проверить и показать ошибку. Нет? > ????Вот хули ты мне свои закорючки бессмысленные пишешь? Им скажи что навание класса плохоеhttps://github.com/google/iosched/blob/master/android/src/main/java/com/google/samples/apps/iosched/ui/BaseActivity.java
>>960239> Может кому-то код отревьюить не лень будетНахуй ты тогда ревью спрашиваешь, даун, если воспринимать его не можешь?Мы вам перезвоним.
>>960242Два чая.
Что не так с >>>>BaseActivity<<<< я в своих проектах в таком классе CompositeSubscription держу, базовый контекст для calligraphy оборачиваю, репозиторий инжекчу.
>>960242Я надеялся, что мне нормально пояснят какие проблемы в коде, а ты мне копируешь название класса с вопросительными знаками под ним. Выше я просил уточнить, в чем проблема в коде лоадера. И ты мне отвечаешь, что я твое ревью воспринимать не могу. Что конкретно, копипасту кусков своего кода? Я его и без тебя уже видел, когда писал.
>>960269> Вот хули ты мне свои закорючки бессмысленные пишешь? > я просил уточнитьСъеби уже.
>>960274> Съеби уже.Если здесь отвечают только бесполезные чсвшные мудаки, что же еще остается делать
>>960290Алёшенька, дурилка ты картонная. Уёбывай по-хорошему играть в свою контру, пока тебе за шиворот не насрали.
>>960222А можно просто воткнуть Don't keep activities
Сап, впорос по Rx. Как запилить timeout что бы если выполнение выходит за временные рамки - вызвать onComplete и при этом в нем не должно быть Values.
Как лучше организовать такую вещь:1. Длительный запрос к серверу в intent service (он убьётся при смахивании приложения из recent?)2. Проброска в UI: результата и состояния (выполняется или провалился)?
>>960253Двачую за пояснение.
>>960230Зачем здесь лоадер, если достаточно сделать асинхронный запрос при помощи retrofit и отменить его в onDestroy или там, где логически это лучше подходит?
Расскажите про jni, имеет ли смысл использовать частые вызовы маленьких функций или там из-за этого задержки?Дело в том, что я в армии и я написал программу, которая по показаниям акселерометра определяет хлопки по бушлату, и нужной комбинацией можно незаметно включить или выключить музыку (телефоны то тут нельзя). Но оно выжирает батарейку раза в четыре быстрее просто музыки и я подумал что может быть си-функции порезвее будут, если переключение на них не слишком накладно.
>>960239Мамка гонит, так что отвечу быстро. Код не смотрел.>но общее с инфой о том сколько лет, где живу и чем питаюсь пристуствует. Город? В ДСах такое не прокатит>Меня просили отписать на почту, если бы попросили выложить на github - так бы и сделал.Ебаться с архивом им тупо неудобно. С другой стороны, у шизоконтор бывает багор что их тестовое выкладывают на гитхаб. Но архив с кодом - пиздец.>Что ты предлагаешь сделать внутри лоадера при возникновении исключения? Выше его не пробросить, а если вернуть пустую строку, то во фрагменте можно это проверить и показать ошибку. Нет?Можно такой костыльclass LoaderResponse{private String result;private Exception error;}Но пустая строчка - это пиздец, как и вообще строчка без константы в данном случае.> int columnCount = getResources().getBoolean(R.bool.isTablet)? 3: 2;Число колонок вроде можно задавать в Xml. Да и вообще, выглядит костыльно.> нет тестовХотя бы андроидовские можно запилитьВот отсосы дегенерата из того сообщения> BaseActivityНе обращай внимания, в ведроиде физически не заменить наследование композицией полностью. Разве что назвать можно по возможности более информативно.> JSONArray baseArray = new JSONArray(json);Тут тоже нет ничего критичного, если это класс из либы.
Поясните. Насколько реально вот из этого https://github.com/ejgallego/jscoq сделать приложение для андроида? Онлайн-версия в браузере работает, но это несерьезно, хочется локально жи.
>>960432Анон помоги. Второй день ебусь. Есть FutureTask ждущий и возвращающий лист. Надо с Rx проследить что бы этот таск выполнялся не больше определенного времени, если больше - все ложим и вызываем onComplete. Как это запилить?
>>960639пока есть такая дичьObservable.fromFuture(futuraTask) .timeout(i -> Observable.timer(50, TimeUnit.MILLISECONDS), Observable.empty())
>>960555Ну вот, уже есть над чем подумать. До тестов не дорос пока, и в ресурсах, как оказывается можно и integer хранить. Спасибо что расписал.
>>960546>>960236Лоадеры хорошо с жизненным циклом связаны, решают все проблемы AsyncTask и не будут продолжать шуршать фоновыми операциями, если Activity ушла в BackStackЕсли данные уже загружены в лоадере и гововы, то при изменении конфигурации лоадер просто вернет их, а не будет грузить снова. Поэтому не придется ебаться с поворотами экранов, они все умеют самиНу и AT Лоадер сейчас это основной СДКашный дефолтный способ для любой многопоточки, особенно для загрузки чего-то откуда-то. А не 5 разных колбеков, у 5 разных либ, которые типо умеют в асинхронность
>>960497Попробуй обычный сервис обмазанный бродкаст ресивирами
>>960642Запилил так:Observable.fromFuture(futureTask).timeout(100, TimeUnit.MILLISECONDS) .flatMap(this::listPopulationMoreThanOneMillion) .onErrorResumeNext(Observable.empty()).doOnComplete(() -> futureTask.cancel(true));У кого-то есть вариант получше?
Антоши. Нужен совет, ибо заебался. Гугл нихуя толкового не дал.В общем, у меня есть MainActivity с ViewPager, в котором статически загнаны 2 фрагмента.В MainActivity опреден листнер на FAB, который делегирует выполнение в один из фрагментов.У фрагмента, в его реализации обработки идет вызов DialogFragment.show(), который принимает getFragmentManager.Все бы ничего, но после поворота экрана getFragmentManager начинает возвращать null. Попытался вызвать getActivity().getSupportFragmentManager, но getActivity() тоже null. Какого хуя анон? Пытался всякие setRetainInstance юзать и прочее - нихуя не помогает.
>>961045Нашел таки решение. В общем юзал я FragmentPagerAdapter не FragmentStatePagerAdapter, в котором хранил коллекцию фрагментов, заполняемых заново каждый раз при повороте экрана. Но фрагменты там по факту создаются один единственный раз через getItem(position), а в ту заполняемую мной коллекцию каждый раз сыпались фиктивные фрагменты, которые не кидались в фрагментманагер. Решение состояло из ручного вытаскивания фрагментов из фрагментманагера по тэгу: "android:switcher:" + pagerId + ":" + getItemId(position). Нахуй так жить посоны?
>>961099ViewPager вообще один из самых глючных и неудобных в использовании компонентов. У меня тоже постоянные с ним проблемы. Хуже него, пожалуй, только camera api
Как указать студии где искать NDK? Пакет установлен в /opt/android-ndk, переменная прописана ANDROID_NDK=/opt/android-ndk. Но студия все равно не видит.
>>961150> ANDROID_NDKANDROID_NDK_HOME
>>961099Используй SmartPagerAdapter, он хранит коллекцию текующих фрагментов.
>>961150File -> Project Structure -> SDK Location
Програманоны, есть один список, ListView или RecyclerView пока не понятно. И еще есть от 0 до овер 500 item'ов для него, каждому по заинфлейтиной вьюшке соответственно. Когда пытаюсь натравить адаптер на ListView/RecyclerView и быстро покручиваю список, он начинает ужс как тормозить, очевидно, не хватает вычислительной мощности дабы все отрисовать. Но шаблон ведь, сука, элементарный! Там несколько FrameLayout'ов и LinearLayout'ов! Если же все View'шки создавать предварительно, а не рантаймно, уходит около 100 мс только чтобы создать одну! А это уже вечность, около двух-трёх секунд в результате получается. А RecyclerView ничем, как оказалось, не лучше ListView по скорости отрисовки. Блджад, как суициднуться? Надеюсь юмор понятен.
>>9613401) ты срукожопил2)ресайклер лучше3)посмотри видео от школы яндекса на тему лайоутов. >Там несколько FrameLayout'ов и LinearLayout'ов!>уходит около 100 мс
>>961340Вангую что твоя вьюшка будет долго рисоваться даже сама по себе.
Почему запрос выполняется только 1 раз? Использую Retrofit 2.2.в onResume():compositeSubscription.add( loadCountRequest.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(subscriber) );в onDestroyView():compositeSubscription.unsubscribe();
>>961385И как же этим говном пользоваться, когда запрос только 1 раз проходит?
>>961385Смотри документацию по CompositeSubscription::unsubscribe, в частности там написано что все последующие поступающие подписки будут автоматом отписываться. Так что тебе или новый compositeSubscription надо сделать, либо использовать clear
>>961405Приду домой - проверю еще раз.Вообще я пробовал его пересоздать перед запросом и это не помогло.Пробовал обычный subscription юзать - тоже не помогло.Я удивлен. До этого юзал rxjava, но не с retrofit.
>>961414Ты явно что-то не так делаешь. Я один раз создаю compositeSubscription (считай в onCreate). А в onPause просто вызываю clear
>>961422Проверил - clear тоже приводит к тому, что запрос проходит один раз только.Пересоздание CompositeSubscription приводит к тому же.Мне то нужно всего лишь отписаться, тогда, когда view уничтожается во время переворота экран (чтобы не крашнулось все из-за NPE) и отправить повторный запрос в onResume.
>>961460Кстати, запрос ВПРИНЦИПЕ только один раз отрабаывает.
>>961462>loadCountRequestЭто интерфейс твоего апи или что?
Если это объект request, то так нельзя, реквест можно использовать только один раз, хочешь повторить - clone, нужно иначе с ретрофитом.
>>961497Вот оно что.До чего же неочевидный момент.Попробую попозже.Имеет ли смысл использовать RxJava 2?
>>961510Ага, переехал на RxJava2 - там даже без clone запрос выполняется каждый раз при вызове onResume.Наконец-то!
>>961510У retrofit'a так всегда было, клята мутабельнсоть.
Где почитать/посмотреть про клиент-серверное взаимодействие на конкретном примере? Кроме developer.android.com
Пытаюсь работать с VkSdk, юзая RxJava.Как известно, запросы к VkSdk работают через коллбэки.Перенося на RxJava делаю так: Observable.create(s -> {VkRequest.executeWithListener(new ...{s.onNext(res)s.complete()})})Появилось желание сделать цепочку таких вот асинхронных вызовов:getUsers().getFriends().subscribe() где getUsers и getFriends являются такими вот обертками, описанными вышеНо я чет не догоняю, как это лучше реализоватьНа ум приходит что-то типо такого:Observable.create($get_users_with_listener$).subscribe(res -> Observable.create($get_users_with_litener$))Но это очевидная дичь какаятоКак правильно такие штуки делать?
>>961821flatMap / switchMap
>>961830Напиши изи пример, плизики. Я догнать не могу все равно. извини, тупой
>>961837>тупойПросто rxjava дохуя хитовыебанная.
>>961821> Observable.createObservable.fromEmitter - правильное создание обсервабла из колбэка.
Итак, спецы, поясните за эти вещи:RxJava 2:Запускаем запрос к серверу:disposable.clear();request = API.getService().getTableContent(req).cache();disposable.add(request.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribeWith(new ResultObserver()));.cache(); используется для того, чтобы не прерывать запрос и после того, как пересоздастся разметка после переворота экрана - подтянуть результат запроса и показать его в UI:public void setView(IView view){ this.view = view; if(view == null){ disposable.clear(); } else { if(request != null) { disposable.add(request .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribeWith(new ResultObserver())); } } }Observer'ы в обоих случаях создаются новые - т.к. иначе это не работает. В итоге пришлось Observer сделать внутренним классом.Всё ли правильно?
>>961861Во второй версии нужно использовать create
>>961893Полный код показывай, по кускам сложно судить.
>>961923Где это нужно использовать?
>>961927Лови!https://gist.github.com/anonymous/20f0b40ccb93726eaf204c62e2110552
>>961856Нифига подобного. Если ты не даун, осваивается за несколько минут, затем со временем просто осваиваешь разные менее тривиальные операторы, а вот их уже довольно много.
>>961961Ты тоже даун. мимо освоил rxjava за 4 секунды
>>961963Так я сам вообще не осваивал, там всё интуитивно совершенно.
>>961961RxJava это аналог LINQ в дотнетике. Он тривиальный только в тривиальных задачах.
>>961978> RxJava это аналог LINQ в дотнетикеНет. Его аналог - это Streams API.
Если checkBox чекнут, но disabled, то что я получу при проверке на isChecked()?
Аноны, у меня в листвью три текствью для разных текстов.Все наполнители лежат в трех! Массивах, а не водном. Смогу использовать три массива для наполнения каждого текствью через адаптер? И как?
>>962033Сможешь
>>961996Хуй знает бро. Мне показалось, что стримы - лайтверсия Linq, которая работает онли с коллекциями. RxJava - ебаный эмиттер данных, который легко реализуется средствами IEnumerable. Думаю, что дотнетовая реализация рекса так и сделана.
Ребят чет ментор сказал что именование у меня говеное и в базе не проверки на тип но не суть что не так с code convention ? Что заменить ?https://pastebin.com/m7ysyjEfhttps://pastebin.com/AF6dxzNYhttps://pastebin.com/1et5HS68
>>962405Название классов должны быть написаны с заглавной буквы, убрать дырки в коде
>>962583Ок спасибо
Если я используюRxJavaRetrofitOkhttpDaggerEventbusButterknifeLeakCanaryTimberStorioFabricв одном петпрожекте, работодатель не обоссыт за дикое использование либ?
>>963390Я бы за Eventbus обоссал. остальное норм, если используешь с умом, а не просто напихал всё подряд.
>>963420С ебасом что не так?
>>963440Он deprecated вроде, не? И можно для этих целей использовать rx.
>>963420Я тоже автобус заюзал в своем пете, потому как лень было велосипедить через RxJava.Рейтани мой список:RxJava, Picasso, EventBus, VkSDK. Последние три чисто, чтобы самому не велосипедить. Даггеры не стал юзать, т.к. чувствую, что еще сперва нужно разобраться с основами разработки, а потом уже лепить туда DI и прочую новомодную хуйню. У меня даже MVP нету. В роли презентера выступает сам фрагмент.
>>963497>VkSDKЭту корявенькую порашу с отсутствием половины функционала в апи лучше вообще заменить ретрофитом
Кому-нибудь приходилось реализовывать ui тест воспроизводящий два клика по одному месту БЕЗ задержек между кликами? Вручную получается, т.е. после первого клика слушатель кнопки запускается, не успевает отработать до конца, т.к. после второго клика запускается конкурентно еще раз и приложение крашится. В эспрессо сделать не получается, наверно он ждет пока событие отработает даже без идлинг ресурсов, событие кстати синхронное. Пока смотрю в сторону monkey runner, но может можно как-то проще в том же эспрессо?
>>963506Я заюзал чисто ради окна логина.
Аноны, за сколько можно сделать это ТЗ?Что помимо Java-core надо знать конкретно для этого ТЗ?Раньше android не интересовал, но решил попробовать.Создать приложение для Android на языке Java. Оно должно обладать такой минимальной функциональностью:Поле для ввода текста, который будет переведён на другой язык; переключатель языка и варианты перевода, которые появляются, когда пользователь вводит текст в поле.Возможность добавить переведённое слово или предложение в избранное.Возможность просмотра истории переводов.Возможность просмотра избранного.Перевод с одного языка на другой с помощью API Яндекс.Переводчика.
>>963624SQLite, Retrofit, RxJava
>>963624>Аноны, за сколько можно сделать это ТЗ?Вон из профессии
>>963629Спасибо>>963632Из какой профессии? Я сейчас работаю курьером и до этого всю жизнь работал курьером. Откуда ты меня выгоняешь?
>>963634>Я сейчас работаю курьеромТы сейчас уже работеш программистом, да не простым, а делающим тестовые задания. Тебе подобных сносило в канализацiю в 1998, 2003, 2006-2008 и 2014, но вы никуда не исчезаете, просто место Windows'95 заменил Android — и только-то.Ты даже не видишь, насколько упали з/п, насколько «рынок» задемпингован... типичный же случай. Возьми вон с полки учебник Экономики и о спросе да предложении почитай.Ст. 330 УК РФ, ст. 165 УК РФ и ст 163 УК РФ тебе в любой мусарне объяснят. Задания он делает...
>>963497> DI > новомодная хуйня Мда.
Должен ли вызываться onResume, когда разворачиваешь приложение из recent?Порядок действий таков:1. Приложение запущено.2. Открываю recent, выбираю это приложение3. Здесь должен быть вызван onResume?На XIAOMI onResume не вызывается в таком случае. На Nexus 5 вызывается.Ведрооо!
>>963669Должен.
Посоветуйте ORM, которой можно скормить объект у которого есть поля - списки и ORM это прожуёт.Желательно еще максимально простую в конфигурации.
>>963752Нахуй тебе orm в мобильном приложении? Бери StorIO и не выёбывайся.
>>963759>StorIO Расскажи вкратце - ждут ли меня там SomeTableContractSomeTableContractEntryCursor через Cursor и тп?
В Clean Architecture в каком слое нужно форматировать строку для вывода (к примеру, поступившие с данных "Вася" и "Сычёв" форматировать в "Омежка Вася Сычёв")? В интаракторе (по идее, логика формата - тоже бизнес-логика) - и возвращать Entity с уже отформатированной строкой? Или прямо в вьюхе?
Не знаю, где спросить, спрошу тут. Имеется телеграммовский клиент на Андроиде, под рутом умею доставать сообщения и контакты из cache4.db. Вопрос, можно ли как-то достать аватары пользователей (url или просто jpeg-файл), как из того же вотсаппа?
Как запустить одну Activity из другой так, чтобы в recent было 2 активити?
>>964676Как вариант,https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NEW_TASKИ сам еще почитай про таски и бек стек активити
>>964735С этим флагом оно так не работает.Уже пробовал.
Поставил я значит такой себе StreamSupport где-то месяц назад. Всё было хорошо, но вчера я запустил код который давно не тестировал и в котором юзаются стримы и получил:Caused by: java.lang.ClassNotFoundException: Didn't find class "java8.util.stream.RefStreams" on path: DexPathList
>>963759Что блять? Что нахуй? Я не верю своим ебаным глазам, какой нахуй StorIO, у меня не хватает слов чтоб выразить свое негодование, пошел нахуй отсяда, сраный уебок, и чтоб я тя больше не видел здесь, или я вычислю твой ойпи и ты будешь всю жизнь есть манную кашу через трубочку, ебаный дегенерат.
>>964766proguard вырезал?>>964676https://www.youtube.com/watch?v=4Y3JMvbcxQE
>>964867>proguard вырезал?Ну вроде да.
>>964791Какое аргументированное мнение. А теперь съеби в js-тред.
Доброго времени суток, господа. Заранее прошу прощения за невский вопрос, но не могу его не задать. Скажите, что значит фраза "хороший уровень java"? Как определить момент, когда я достаточно проштудировал обучающие материалы по языку и могу переходить к андроид-разработке?Ещё раз прошу прощения за такой невский вопрос. И заранее спасибо за ответы.
>>965402>невскийСукааа, нубский конечно.
>>965402я вообще не зная java начал под ведро писать.По ходу научился
>>965447 Аааааа , блядь, я уже не человек нахуй...Тогда как правильнее всего поступить. Вот допустим у меня цель написать свое приложение (есть пара идей) для андроида. Что мне делать? С чего начать что бы не обосраться? inb4 ты уже обосраться, проснисьзаранее спасибо за ответы
>>965500Для начала напиши хелоу ворлд под ведро и затем просто начни делать проект, что не понятно гугли/сюда пиши
Как через ретрофит кинуть запрос а потом распарсить бинарник чет в двух соснах запутался
>>965646Тебе нужно что бы возвращался ResponseBody.
Какие вообще минусы у WebView перед TextView?Через CSS же можно запилить годнейшую разметку, которая будет отлично смотреться на практически всех экранах.Особенно это касается шрифтов. vw и vh дают ТУ САМУЮ возможность задавать размер текста процентно, например.Какие еще есть альтернативы такому процентному заданию размера текста? sp или dp вообще не гарантируют, что надпись будет занимать не больше 5% от ширины экрана, например.
>>965695> Какие вообще минусы у WebView перед TextView?То, что вебвью жрет ресурсов дохуя например?> ТУ САМУЮТу самую ненужную? Больше экран = больше контент, для остальных случаев есть intuit/sdp
>>965705> контентконтента
>>965705>Ту самую ненужную?Ты знаешь текущую задачу, которую нужно реализовать, чтобы говорить, что не нужно?Это мантры сектантов, "нету - значит и не нужно".Небось, еще до появления Percent(Relative\Frame)Layout'ов то же самое бы сказал.
>>965705>intuit/sdpНо sdp видится как раз очень хорошим дополнением к Percent(Relative\Frame)Layout'ам. Точнее, spp для текста. Спасибо за наводку.
>>965705Кстати, как вообще такие библиотеки находятся? Через гугл бесполезно искать же. Сарафанное радио? Собственноручные копания в гитхабопомойке?Вот никогда бы не натолкнулся на это сам.
>>965719>paddingRight="@dimen/_43ssp"Охуенно. Всегда мечтал о таком. Шишка аж воздымилась.
>>965728Через вопросы на стеке, а ля "Как сделать заебись хуйнянейм?"
>>965736Всего 21 упоминание там. И всего одно с 10 голосами. Остальные не получали больше 0-2, что очень странно для такой годноты.
>>965781И это за три года. Неужели всем так нравится пердолить пиксели в 100500 вариациях, вместо траты времени на что-то более полезное и интересное?
>>965783Я пробовал это решение, конкретно мне не подошло, я сам зафигарил себе с десяток размеров под мобилку семидюймовый и десятидуймовый. Идеальная ситуация когда дизайнер сразу рисует какое увеличение тебе нужно. А там мне показалось слишком большой мультиплякатор.
Я правильно понимаю, что андроид разработка, это как фронтенд, только без на джаве и без html и css, а на основе xml, а данные берутся с сервера, или можно сделать стэндэлон приложение, которое и данные хранить будет уметь и в сеть ходить и логика и все?
>>965870на джаве*
>>965870Конечно можно сделать стенделон приложение, как по твоему работает будильник?
>>965878Не я имею в виду, можно ли хранить данные прямо в смартфоне, поддержка бд?
>>965892Да, из коробки есть SQLite, и key-value хранилище.
>>965898О, тогда круто.
>>965500Я бы порекомендовал прочесть какую нибудь макулатуру по андроиду, вроде BigNerdranch, где более менее доступно пояснены основные моменты в разработке. Естественно, что ты нихуя толком не запомнишь, но это даст тебе хотя бы начальный кругозор, дабы не обосраться в темном лесу, при написании даже чего либо легкого. Далее просто создаешь проект и начинаешь потихоньку его пилить, гугля все и вся.Хороший уровень владения чем либо, это когда ты можешь в голове прикинуть сразу несколько путей решения той или иной задачи, а не "а с чего бы вообще начать?".
>>965870Андроид разработка, это и есть фронтенд. Только без ебаного html+js. Пиздец, что за люди пошли. Ты кроме веба вообще ничего в жизни не видел?
>>965856Вот только у меня нет дизайнера, я один, и меня уже заебало тратить время на более чем 4 варианта разметки (2 под ориентацию, и их вариации под планшет).С этими десятками размеров пидорасится инкапсуляция - захочешь где-то сделать изменения и придется в каждый xml-файлик залезть, и ничего не забыть (а ведь они еще и на куски могут быть разбиты, пздц). А потом еще и все это говно запустить на десятке тормознутых эмуляторов.СЛИШКОМ много времени уходит на все это. И часто - с костылями в коде, потому что тот же кастомный шрифт ты хуй задашь через xml, например.
>>957315 (OP)На SDL2 кто-нибудь писал? Сложно вкатиться в этот NDK?
>>965939>тот же кастомный шрифт ты хуй задашь через xmlWrongВ О завезут нативную поддержку, с calligraphy давно есть.
>>963788interactor/presenter
>>963762да, именно так. Просто StorIO дает немного ништяков при сохранности возможности управлять ей на низком уровне
>>965939> кастомный шрифт через хмлCalligraphy
>>965968>с calligraphyЯ слышал про нее, но пока не щупал. Но в принципе и сейчас можно через style. Я больше имел в виду возможности "из коробки", наверное.А насчет О - это вообще не решение в перспективе лет 5, потому что более старым версиям от этого ни холодно, ни жарко будет (min api 14 не даст этим пользоваться же, например).А делать что-то эксклюзивно под 5% обладателей О как-то не очень.
>>965977Понятное дело, просто оно потихоньку доползает.
>>965939Хех, у меня есть набор расширений к AppCompatTextView, каждый для своего шрифта, и их прям в xml и пихаешь. Нормально так выходит.
>>965990Пизда, а если тебе нужен шрифт в TextInputLayout'e? Лучше бы в databinding запихал ей богу.
А кто-нибудь пробовал с i2p приложения разрабатывать ?
>>965996Ну, мне было не нужно добавлять кастомный шрифт в textinputlayout
>>965990Если все равно приходится делать свой сабкласс View, почему бы в конструкторе свой кастомный параметр в xml не парсить?НапримерString font = attrs.getAttributeStringValue(null, "font", "default.ttf");Не придется кучу вариаций содержать.
>>966005И потом в сабклассе Application закешировать, чтобы один шрифт был загружен только один раз на все приложение, и не было утечек памяти не было через Typeface.createFromAsset(context.getAssets(), fontName);
Ребята, посоветуйте, пожалуйста, ресурс, где можно узнать название всех UI елементов андроида я гуглил, найти не могу, типо боковое меню, верхнее меню, там, кнопка, слайдер, но как они называются на самом деле в сообществе, нигде не могу найти
>>957560>андроид грохнуть моё активити, но не грохнуть сервисможет, и не может наоборот. если сервис грохнет - то только после того как грохнёт активити. такие приоритеты уж у него. поэтому пихай в сервис.
>>957787армию нахуй, постарайся пробиться в какойнибудь яндекс на стажировку на годик-два во время учебки (там какраз порядка 30-50 платят стажирующимся). заодно и социализацию прокачаешь.потом поднимешь опыт и можешь удаленку искать. иначе без пруфов того что умеешь могёшь на удалёнку тебя работодателю слишком рисково брать.
>>965402Хороший уровень Java - это ответить на любой вопрос, упомянутый в этой книге https://www.amazon.com/Programmer-Study-1Z0-803-1Z0-804-Certification/dp/0071772006По Андроиду, к сожалению, почти все книги - хуйня.
>>966041/g android ui elements listтретья ссылкаhttps://www.tutorialspoint.com/android/android_user_interface_controls.htm
Как открыть активити в новом окне на устройствах до API Level 21?Intent.FLAG_ACTIVITY_NEW_DOCUMENT - доступна только с api level 21
Всем привет!У меня вопрос, как в конструктор определённого класса передать свойства элементов из xml кода. Дело в том, что я пытался делать вот так https://pastebin.com/DK020UJ0 но благополучно получаю NPE. Помогите советом.
>>966257http://stackoverflow.com/a/28882536/1454571
>>966257Чет не понял, зачем тебе конструктор в activity. И в твоем примере не понятно, какой ты аттрибут из xml хочешь вытащить.
Добрый вечер, господа. Изучаю Java и андроид около месяца, до этого другие языки не изучал, разве что только поверхностно. Никак не могу понять, как получить SHA1 и заюзать google api. Уроков по созданию сетевых приложений я не нашел, а в официальной документации от гуглов хуита непонятная. Подскажи, адекватный анон, как же это сделать или какие уроки загуглить, а то я уже неделю в ступоре
>>966372>Java и андроид около месяцаДа ты охуел.
>>966389А потом такой"в официальной документации от гуглов хуита непонятная"Пиздец. Насмотрятся своих видосиков и ябутся в жеппы.
>>966372https://developers.google.com/maps/documentation/android-api/signup?hl=ruЕсли тебе не понятно, что тут написано - то программирование явно не для тебя.
>>966389>>966391Что за хейт на ровном месте? Эта доска для того и существует, чтобы аноны делились знаниями и опытом друг с другом. Да, изучаю недолго, да. По видео, по учебникам. Все с чего-то начинают/начинали
>>966257Это так не работает, убери конструктор нахуй. Если тебе надо в активити что-то передать используй Intent, потом в onCreate всю эту хуйню сделаешь, а данные через getIntent() достанешь.
>>966257>>966509И запомни, для любых Application, Activity, Service и Fragment'ов всегда должен быть конструктор без параметров, что бы система могла потом сама восстановить компоненту.
Есть один EditText.Я хочу записать данные с EditText в переменную.Но при создании приложения вылетает.Ругается на последнюю строчку.В может быть чем причина??Caused by: java.lang.NumberFormatException: Invalid int:public class MainActivity extends Activity { private EditText EditView; private int x; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); EditText EditView = (EditText) findViewById(R.id.editText); x = Integer.parseInt(EditView.getText().toString()); }}
>>966513>В может быть чем причина??>Caused by: java.lang.NumberFormatException: Invalid int:Действительно, в чем же? Неужели оно не написало, странно...
>>966513А вообще ты совсем какую-то хуйню делаешь, кроме того что там может быть пустота и не число, а потому и NumberFormatException, ты почему-то смотришь в onCreate, что очевидно не верно, так как в onCreate там еще пусто скорее всего.
>>966517>>966520Я исправилсяpublic class MainActivity extends Activity { public EditText EditView; private int x; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void onClickButton(View view) { TextView textView = (TextView) findViewById(R.id.textView); EditText EditView = (EditText) findViewById(R.id.editText); try { x = Integer.parseInt(EditView.getText().toString()); } catch (NumberFormatException e) { System.out.println("Could not parse " + e); } textView.setText(String.valueOf(x)); }}
Я ничего не знаю о разработке игр под ведро. По-приколу сделал для тян подобие "3 в ряд" на обычных вьюшках (GridView, да, я мазохист, и вообще это было в целях обучения работы с ведром).Ей зашло, и она хочет еще. Но вот беда - все это говно уже жутко тормозит, стандартные вьюшки не тянут сотни объектов на экране. Ничего нельзя добавить без удара по производительности.Улучшатся ли мои дела, если я перейду на Canvas? Не хотелось бы брать простой путь в виде готовых движков, хочется попердолить стандартные костыли.Или с Canvas тоже нет пути?
>>966711У кого есть опыт в Canvas и SurfaceView? Что из этого тут будет уместнее - и почему?
>>966719Я так понимаю, SurfaceView предпочтительнее, ибо можно вывод вывести в отдельный от mainUI тред?Но в то же время Canvas из этого SurfaceView не может быть hardware acceleration. Насколько это критично?
>>966720Хотя, судя по всему, Canvas тоже имеет проблемы с доступной памятью. Лучше перейти на OpenGl.
>>966711LibGDX или Unity бери
>>966711> Но вот беда - все это говно уже жутко тормозитТак делай перемещения объектов на translation'ах, а не margin'ax
>>966711Единственный верный путь это Canvas + Surfaceview или OpenGL.На canvas сделай.
>>966735Я так и делаю, но у меня две матрицы, и два представляющих их поля одно над другим.Вот когда одно при каждом изменении обновлялся лишь адаптер одного поля - все было еще терпимым, но два работающих одновременно уже не тянет. И это при том, что в адаптерах новое View (с ViewHolder'ом, ага) создается лишь при определенных условиях, а не все сразу.Каждая ячейка поля составная, часто из нескольких 10-20кб картинок.Суммарно картинки не занимают больше пары мегабайт в объеме, казалось бы, но стоит добавить еще и фон на 500 кб - и тормозить начинает даже с одним полем и адаптером.Хотя, можно было бы подумать над кешированием одинаковых картинок - но я хз, поможет ли это.При срабатывающих одновременно 50-100 анимациях куча кадров пропускается, вплоть до невидимости происходящего. + Эта же проблема с добавлениям очков над уничтоженной клеткой. И бинго пердольности - сделать так, чтобы при уничтоженной бонус-клетке от нее разлетались шарики к клеткам того же типа на поле, например.Кроме того GridView, в принципе, вообще хуево подходит для матриц, из-за прибитого гвоздями адаптера и отсутствия нормальной работы со столбцами.Слишком пердольно и костыльно уже. Проще самому написать представление с 0, чем возиться с костылями.
>>966711Делать на GridView - признак неправильного мышления.Всё, что нужно для 3 в ряд - нарисовать несколько фигур.
>>966751Как я уже говорил, я выбрал обычные вьюшки, чтобы поучиться стандартной библиотеке (чтобы взяться за более приложение, не связанное с играми, уже набив шишки). Этим я полностью удовлетворен.Ну и соблазнился сеткой, по примеру всяких уже деланных морских боев и саперов на декстопах.
Привет и сразу к делу, нужно вырезать фон с объекта на фото (например шорты лежат на однотонном контрастном полу, нужно оставить шорты, а фон убрать) заебался - нихуя не получается. Может кто-то подскажет, или сам сделает за вознаграждение
>>967340OpenCV
>>967359Юзал-не осилил
>>967340Фотки шорт вкидывай.
>>967547Абсолютно любой объект на однотонном фоне
>>957315 (OP)Я все больше наблюдаю вакансий по react native и даже на рассейском фрилансе заказчики часто хотят приложение имено на нем, а ведь Андроид он пока умеет дико коряво в глючно и все равно уже востребован. С ректом видится мне реально есть вероятность того, о чем говорили большевики и нативные приложения медленно но верно начнут умирать и я этому препятствий не вижу, честно говоря. Кто захочет платить в 2 раза больше, когда можно так нехило сэкономить, да и еще фронтенд обезьянку, которые и так в каждой первой конторе водятся, припахать можно, а не искать непонятных разработчиков на swift или kotlin. И, в общем, Антоны, у вас от всего этого еще не пригорает? А то у меня по немногу начинает, с учетовм того, что вкатиться пока только во фриланс получилось, а удаленных вакансий на hh по нативному Андроиду на последние 3 недели было 4 с половиной штуки (я мониторю). Куда, они, сука, делись?!Особенно забавно на фоне всего этого выглядят те, кто только начинает ботать нативный мобайл, когда уже сейчас на фрилансе 80% заказов на гибридное приложение, сразу под обе платформы. А нативная разработка имеет неплохую вроятность перетечь на реакт по названным выше причинам. Поэтому если кто-то здесь только начинает, то я бы очень рекомендовал выбирать ios а не Android. Вакансий существенно больше и востребованность с недостатком кадров выше. Хакинтош настраивает за день и работает весьма плавно, первое время можно пускать хелло ворлды в симуляторе, а б/у Айфон с рук можно купить за очень небольшие деньги и накатить на него актуальную версию ios. Хотя меня Android и java нравятся и устраивают полностью, но ios сейчас востребованне и вкатиться проще.И так, Антоны, что делать? Продолжать углубляться в чистый натив и надеяться на то, что хотя бы процентов 40 рынка останется за ним или понемному начинаться учить сраный js?
>>967806Джава всё. Нативная разработка тоже уже скоро всё. Будущее за JavaScript.
>>967810>Джава всё. Это с чего вдруг?
>>967806У меня приложение использует bluetooth и алгоритмы ЦОС. При этом ключевой момент - низкое потребление аккумулятора.Как ты предлагаешь это на реакте делать?
>>967791Размытие + canny = получаешь очертание объекта на фоне.Выбираешь всё, что внутри контура.
>>967870При размытии контуры же станут менее четкими, кенни сможет тут нормально отработать?Как потом убрать размытие?
>>967933Крути параметры.Размытие нужно только, чтобы убрать неравномерности на контрастном фоне.
>>967861https://habrahabr.ru/post/304812/
Сап, котаны, а пробовал ли кто-нибудь загоняться по задержанной синхронизации данных в отдельном процессе при отсутствии интернета ? Вопрос собственно такой. Сейчас у меня есть проект, построенный по чистой архитектуре. Все работает в одном (основном) процессе, все репозитории-usecase-ы инициализируются соответственно в нем. Проблема появляется, когда мы откладываем какое-то действие, и приложение умирает. Логично в таких случаях использовать компонент типа JobScheduler, ну, или просто самописный сервис, работающий в отдельном процессе. Но тут всплывает проблема номер 2 - необходимость либо дублировать инициализацию всех компонент domain и data слоев в этом(-их) сервисах, либо же инициализировать их только там, и болтать с ними из основного процесса через AIDP/Intent-ы, что, в общем то, далеко от предела мечтаний чуть менее, чем на дохуя.Как вы решаете эту проблему ?
>>967806Натив онли, если тебя интересует что-то сложнее запроси-покажи приложений, конечно же.
Какую из архитектур выбрать, чтобы максимально быстро вкатиться и начать пилить?Интересует прежде всего простота тестирования.
>>968218> быстро вкатиться > простота тестирования Взаимоисключающие пункты.
>>968218В зависимости от сложности проекта нужно смотреть, да и специфики. На больших - лучше выбрать чистую/VIPER, сделаешь скелет, пропишешь основные компоненты и дальше со скоростью экран/сутки штампуешь. Если речь идет о мелких приложениях - то банального MVP будет достаточно, да и тот не сильно обязателен. Можно даже попробовать что-нибудь на service + Broadcast receiver/другой шине запилить, чтобы быстро было
Есть проблема. Есть вьюха 3 пик, которую я запихиваю через include в другую.Когда ставлю layout_height в match_parent, то все смотрится нормально 1 пик. Когда выставляю более логичное значение wrap_content, то вьюха съезжает вниз 2 пик.Что за хуйня анон?
Как сделать чтобы в переводчике текст переводился сразу, еще во время его набора?Например пока я пишу helloмне выдает:he - онhell - ади т д.
>>968877Ontextchangedlistener
Кто-то пользовался ObjectBox'ом, как оно?
Есть некий layout, на котором есть единственная view с match_parent размерами, которая не рисуется и всегда возвращает height/width -1. Почему такое может быть?
>>969520> которая не рисуетсяGONE? Тогда не удивительно.
>>969524не GONE<GameplayView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="5dp" android:layout_centerHorizontal="true" android:id="@+id/gameplay"/>
>>969520Странным образом стало выдавать 0 вместо -1. А вроде ничего не менял
>>969569Напоминаю, что до onLayout getWidth/Height будет возвращать 0 всегда.
>>969520оно просто не отрисовалось. Поставь листнер onLaoutChange или че то такое
>>969701Так в том и дело, что можно ждать бесконечно, оно не рисуется
>>969755это западло у меня только на одном телефоне. На втором и на эмуляторе все в порядке
Джаву знаю, решил вкатиться в андроид, нашел школу мобильной разработки от яндекса (бесплатная), гляньте плиз вступительной задание, реально до 24 апреля такое сделать, если андроид с 0 изучать или даже не пытаться и спокойно учить или может там изи и просто выглядит страшно?https://academy.yandex.ru/events/mobdev/msk-2017/
/pr, я просто хочу сделать обычный get на страничку гита. стаковерфло примеры все как один выдают пикрил один.инет на телефоне есть. Что делать? Реально нужна помощь, иначе я тупо забью на всё это
>>969954А интернет на устройстве-то есть? Если это эмулятор то может стоит перезагрузить. Попробуй еще https://github.com
>>969867> андроид с 0Там требования на задание предмидловские.
>>969979>инет на телефоне естьписал же. устройство реальное. перезапуск апки не помогПробовал опять та же ошибосина.
>>969867У меня знакомый при весьма хуевом знании жабы да и ведра вроде как сделал (смотрел его демку). Приходилось правда разъяснить ему че такое архитектура и с чем ее нужно подавать, но в целом - задание довольно простое. Мой совет - не используй там никаких ORM и юзай поменьше фреймворков. Тогда получится нормально запилить в срок. Начнешь ебаться с сторонними фреймами - хуйцов по срокам соснешь
>>969986Я бы сказал, что upper-джуновские скорее
Сап, андроид-куны. Есть вопрос. У меня есть Switch, который нормально работает только при включении его. https://pastebin.com/7uN8sLrvВот смотрите. Со стрингами всё нормально, если щелкать на эту штуку, то в логах всё выводится. Проблема в том, что изначально он находится в выключенном состоянии - так надо, но другие методы почему-то не видят стринг language. То есть стринг так-то задан и по-идее должен работать, но он работает только если я включу и переключу обратно Switch. Как поправить?
>>970001Ок, спасибо, попробую
>>970013Простите, сам обосрался. Исправил
помогите с >>968557 плизики
>>970000> хуй_пизда_джигурдаЗавязывай, в джаве CamelCase. Ты небось в сеть на главном потоке ходишь.
>>970003Нет, все же мидловские. По требованиям необходимо разработать конечный продукт не из говна и палок, так еще и покрыть его тестами.
>>970076бля не нужно жи гадать где я накасячил. тупо android не моё. Карма испорчена иду назад гонять змей в змеетред.
>>970076>CamelCaseОтрефакторил бы но в жепу android
>>970218> setText из фонового потокаУ тебя эта хуйня все равно не заработает.
>>970231А вот уже интересно.А как тогда?
>>970231>>970236Но это бы просто не поменяло текст. а текст меняется будто инета нет. Блин может это из за того что у меня на телефоне api4 а собираю в api25?
>>970238> а текст меняется будто инета нетНу у тебя по идеи должна была выпасть ошибка Only the original thread that created a view hierarchy can touch its views.> api4Где ты это откопал?
>>970236A S Y N C T A S K SYNCTASK
>>970246>api4Досталось в наследство от прадеда нищеброд я
>>969867Лол тоже его делаю.Встретимся на курсах, если не соснем, конечно.
>>970479Лучше встретимся на курсах и там соснём друг у друга :3
>>970483Обязательно.Я кстати нашел несколько хороших open source подобных ТЗ.Как их грамотно спиздить и выдать за свои чтобы не запалил?Или можно смело пиздить ВСЕ ?
>>970486Какое же ты днище.
>>970491Я думал в общий доступ выкладывают чтобы можно было спизить, посмотреть как реализовано, не?
>>968877>>969867>>970486Вас туда точно не возьмут, с такими познаниями и отношением. И слава богу
>>970499Ну там конкурс около 20 человек на место.Не возьмут да и похуй.Зато есть мотивация поделать (спиздить) приложение.
>>970486>>969867Блять, с какими же червями я на одной борде сижу.Один хочет ВКАТИТЬСЯ за две недели.Второй хочет чужое ТЗ украсть и выдать за свое.Черви, пидоры.
Ребят, что делать, если android эмулятор начинает дико тормозить, пропускать кадры грузиться 10+ минут хотя до этого всё работало и ни одной строчки кода не было написано что бы всё так сломать.
>>970511Так я и спрашиваю, можно ли (понял уже что нельзя)
>>970569
>>970569Genymotion ?
>>957315 (OP)Аноны, как правильно сверстать элемент который на пик? Я пока вроде сделал и кажется получилось то что нужно, но меня гложут сомнения, что вложенность слишком большая и я не умею в верску UI. Аккуратнее и проще сделать как-то можно или и так неплохо? https://pastebin.com/mCf5c8j0
>>970792Не самая глубокая вложенность, терпимо на самом деле, можно использовать вместо <l><i><t></l>, один TextView, а можно использовать ConstraintLayout, тогда все вообще в одном перенте будут.
>>970801>можно использовать вместо <l><i><t></l>, один TextViewdrawableLeft/right у TextView не позволяет размер иконки менять, они слишком здоровы были, поэтому пришлось отдельным ImageView сделать. Про ConstraintLayout надо почитать, спасибо
>>970804>drawableLeft/right у TextView не позволяет размер иконки менятьyep, это основная проблема, потом еще и не расположить как надо.Еще можно попробовать RelativeLayout или даже PercentRelativeLayout
Решил сделать круглую картинку. Стал гуглить и обнаружил, что изкаробки решения нет. Везде какие-то вилосипеды. В результате заюзал Fresco. Все правильно сделал?
ГАЙС. Вопрос про организацию базы данных. Пишу программу, которая будет хранить данные о бытовых счетчиках.У СЧЕТЧИКА БУДЕТ:Имя, тариф, показание, id, дата последнего показания.И счетсчиков можно будет добавлять несколько. КАК организовать БД правильней? Сколько таблиц? разделять не разделять? Что делать?
>>970982Вряд ли, я бы обошелся чем-то менее тяжеловесным и Glide и Picasso имеют нужные возможности.
>>971071Я бы сделал две таблицы:1) id-счетчика, имя счетчика, тариф2) id-показания, показание, дата, id-счетчика+ индекс для показаний, и тебе не надо хранить последнее показание отдельно;
Аноны, как от Яндекса взять дополнительную инфу по переводу? Как на скрине.Пока что у меня получается только моментальный перевод через TextWatcherupdate: пока писал нашел инфу сам, дополнительная инфа по переводу запрашивается через API Яндекс словаря. (Это для анона который со мной делает это ТЗ)
>>971143Давно пилишь? Я с 15 марта еще начал, запилил все минимальные требования + подробное описание со словаря, сейчас покрываю тестами. Моментальный перевод не делал. Не знаю, стоит лиОставь контакты, пообщаемся
Анон, помоги с вопросом.Внутри функции есть исключение try catch.Мне нужно, что функция возвращала return-ом переменную.Но как сделать, чтобы return срабатывал в поле try?Пример кодаhttp://pastecode.ru/0eb518/
>>968083>сложнее запроси-покажи приложений90% прилаг
>>971593А ты хорошо знаешь Ведроид? Какой опыт в программировании? Просто интересно.Я другой анон, не тот, которого ты спрашиваешьмой телеграмм - ambientbro
>>971593У меня наоборот сделан моментальный перевод (через AsyncRequest) , а как подрубить словарь я еще не допер.Активно делаю только с выходных, до этого проходил всякие туториалы по андройду.А какие контакты нужны?У меня сейчас телефон в ремонте, так что могу либо фейкопочту либо скайп там или дискорд.
>>970792Еще такой вопрос в догонку. Вот такие дырки во вьюхе сделать реально? Важно чтобы тень от cardview правльно отображалась, т.е. додавить drawable цвета фона не выйдет. Пока решение не хочет гуглиться, есть какие-то варианты?
Без вышки джуном андроидным возьмут, если будет какая нибудь хуйня из говна и палок в плеймаркете?
>>971931Нет. Нужна вышка и справка о том, что ты не лиственник.
>>971849Можно, как вариант - кастомная вьюха. Там ты на канвасе будешь рисовать правильный путь и ему тенюху.
парни, где почитать подробно про архитектуру приложений на андроид? Сидел, писал приложение и до какого-то этапа всё понимал. После чего стал охуевать от кучи собственных костылей, левых ненужных классов и явно лишних действий. Понял, что нужно было в начале всё на листике где-то расписать "что и как будет", после чгео только браться.
Кто-то объяснит мне наконец, зачем нужны все эти подписи private? Я знаю, что это такое и почему его делают. Но блять! Если у меня в классе всего ОДИН стринг, то нахуя его делать приватным? Кто его дернет? Что с ним станет? Или это просто пишут ради написания, типа ебать умный дохуя написал ееееее ?
>>971939https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D0%BA%D0%B0%D0%BF%D1%81%D1%83%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)
Было бы неплохо, если бы вы зарейтили код моей поделкиhttps://github.com/schvabodka-man/WhatToDoСобираюсь это выложить в гуглоплей.
Документация написана еще не для всех классов, но это временно
>>972028> compile group: 'io.reactivex.rxjava2', name: 'rxjava', version: '2.0.7'Зачем либы подключать в полной форме записи, вместо сокращенной?> BindView> //Heh, they're all actually public because butter knife need them to be public, not privateМожно спокойно ставить protected> getString(R.string.awards) + movie.getAwards()getString поддерживает форматирование через аргументыНо это все хуйня, ты хули subscription'ы не отписываешь?
>>972054Потому что я копипастил билды с maven central. Окей, пофикшу.А нахуй их отписывать?
>>972066Подписки держат ссылку на активити.
>>972074И что? Пару мегабайт памяти сэкономить?
>>972084Причет, ты охуел?
>>972086А зачем это нужно? Сборщик мусора и так все почистит - а что не почистит, то и не нужно чистить.
>>972084> очевидная утечка памяти в приложении> И что? Пару мегабайт памяти сэкономить?Ну я хуй знает что тут сказать даже.
>>972103В джаве память не течет
>>972104Ну тебе виднее.Какой то классический пример уже:> не понимает даже лайфсайкл активити> зато уже напихал RX с даггером
>>972108Лайфцикл это просто последовательность вызовов 3.5 методов, там нечему понимать.
>>972104Память не течет, зато она может не очищаться, если программист еблан.
>>972130Я самый умный и хороший программист области, района и всех трёх миров.
>>972112Там нечего понимать, но ты даже с этим обосрался.
Гайс. Вопрос про структуру БД. из поста >>971071Я решил сделать такую структуру:ТАБЛИЦА СЧЕТЧИКОВ:1) id счетчика2) Название3) Начальное показаниеТАБЛИЦА ПОКАЗАНИЙ:1) id показания2) показание3) дата показания4) тариф5) id счетчикаи тут меня осенило:У меня же разные типы счетчиков на разных фрагментах (СВЕТ, ГАЗ, ВОДА). Счетчики это элементы ListView. Мне надо вводить новую колонку для счетчиков? ТИП СЧЕТЧИКА
>>972152очевидно, да, если под названием имеешь в виду модель счетчика(название модели железки).
>>972139Это конечно не так
>>971785Чуть больше полугода работаю джуном, одно маленькое приложение в сторе.В принципе сейчас могу что угодно сделать под ведро, вопрос только в качестве, особенно когда проект разрастается. Тестовое моё мне уже не так нравится как в начале работы. >>971824>AsyncRequestЭто встроенное в ведро что-то? Я за обращения в сеть напрямую через стандартное api вообще не шарю, заюзал ретрофит. >А какие контакты нужны?Ну лучше тоже ТГ, соберем конфу раз тут много желающих
>>972270Съебите в /soc/, заебали.
>>972274Хикка чтоле?
Господа, какие существуют (существуют ли?) способы преобразования аудио аутпута на уровне приложения? Мне бы бинаурально преобразование сделать, или для этого нужно лезть в NDK по самые помидоры?
Ведрач, выручай, в какую сторону копать?Необходимо, чтобы приложение написанное на react-native запускалась при запуске девайса, а так же, чтобы это приложение нельзя было ни свернуть, ни выйти из него. Сам вебразраб, в андроиде не силен
>>972379Для запуска:https://habrahabr.ru/post/271663/Дай угадаю, киоск? Насчет не сворачиваемости не скажу, но можно сделать сервис который запускает приложение если оно не запущено и тупо по таймеру чекать, вообще все зависит от условий на устройстве, с рутом ты конечно многое сможешь сделать. Другое дело что все это надо делать вне js'a.
>>972382>Насчет не сворачиваемости не скажЦитирую заказчика>при попытке свернуть приложение центральной кнопкой или удержанием других комбинация выскакивает надпись, что "политика безопасности запрещает использование диспетчера задач". Приложение развернуто на весь экран.
>>972379> react native > вебразраб Для начала научись читать шапку, а потом иди в свой тред.
>>972384Ну тут и до кастомной прошивки можно дойти. http://stackoverflow.com/questions/17549478/how-to-disable-home-and-other-system-buttons-in-android
>>972395Для начала научись читать вопрос, который слабо связан с react-native, глупенький. Еще и сагает собственный тред, ух, какой злой!>>972382>https://habrahabr.ru/post/271663/>>972396>http://stackoverflow.com/questions/17549478/how-to-disable-home-and-other-system-buttons-in-androidСпасибо, надеюсь поможет
Возможно ли в xml-TextView задать переменную и менять ее на java?Чтобы в strings.xml это выглядело как <string name="next">Hello %username%</string>
>>972408я так как-то делал:<string name="next">Hello %s</string>tv.setText( String.format( getString(R.string.next), "yoba"))общую мысль, надеюсь, понял.
>>972409Понял, да
>>972365Bump вопросу.
>>957315 (OP)Куда дели каноничного трапа, суки ?!
>>972843Посмотри презентацию Григория Ключникова на тытрубе, он рассказывал о том, как он кодировал и декодировал видеопоток. Принцип будет примерно тем же (в NDK с его слов он не лез)
>>972384Если это корпоративное приложение - то попробуй посмотреть вот здесь. Но соглашусь с одним из ответивших - тут на js не решить особо ничего, наверное: https://developer.android.com/work/guide.html
>>971082Лучше продублировать дату последнего показания в таблицу со счетчиками и поставить триггер на insert в показаниях, который будет автоматически обновлять дату в табице счетчиков при внесении нового показания. да, я, блеать, ненавижу joinить, когда можно избежать этого
>>972054Можно даже package-private, удивлю тебя. И не только можно, а нужно
>>970808>или даже PercentRelativeLayoutФу-фу-фу, говномес, трубочист, еретик. Сжечь нахуй. Каким ебланом нужно быть, чтобы не вектор выстанавливать в процентных значениях ?!
>>972884Это несколько ортогональные вещи как бы (лэйаут и картинки), че тебя так от лэйаута порвало?
>>970218Умри. Просто, блять, сдохни. Ты из какого потока View обновляешь, пес?! Я тебя сейчас за это за щеку обновлю, сука, накачаю тебе апдейтов полон рот.
>>970078И что? Само приложение тянет максимум на upper-junа, там нету нихуя сложного. Все решается без каких-либо сложных архитектурных решений. Не требуется работать со сложными компонентами API Android, ну и так далее.
>>972887Потому что по контексте видно, что процентаж относится не только к tv, иначе о нем речи бы не зашло.
>>972879>Григория КлючниковаСпасибо за совет, но я что-то совсе не могу найти, нк мог бы ты скинуть линк?
>>972891Ну я вообще не предполагал процентами на картинку влиять, я больше о позиционировании.
>>972894даже за это можно ноги-руки поотрывать процентах в 90 случаев. В офф. нотациях про проценты ни слова, так хули ты решил вдруг что нужно мутить что-то, о чем нормальные дяди ничего не говорят?
>>972892ici:https://www.youtube.com/watch?v=lUT504vkJPQ
>>972895В смысле? Про эти лэйауты есть в статье про саппортные либы, у меня есть ощущение что в некоторых случаях эти лэйауты использовать лучше чет констрейнт. >>972896Спасибо.
>>970000Попробуй https://www.github.com
>>972910Несмотря на то, что они саппортные, в материал дизайн нотации очень четко прописаны 99,9% отступов в dp. Не следует делать адаптивку для мобайла, это плохой тон.
Комрады, хочу написать аппликуху для дроида. Мне нужно что-то с минимальным порогом входа. Я охуел от тормознутости и огромности AndroidStudio и мне перехотелось ее использовать. Есть ли что-то более простое, с точки зрения Unix/VIM юзера? Мне нравится FP, и не нравится Java/XML, поэтому выбираю между Kotlin и Clojure из языков. Приложение достаточно простое, по сути - демон.
>>972922Eclipse
>>972916А как тогда без адаптивки учитывать, то что например, в лендскейпе у некоторых дейвасов есть нав бар, а у некоторых нет, я в процентах в констрейнте/персенте раскидаю и если пользователь сделает размер текста больше фиксированные отступы не пожуют текст и все хорошо.>>972922Возьми котлин, у кложы будет серьезный оверхед на мой взгляд. Компилировать можешь через консольку и заливать через нее же. Я думаю для вима даже есть плагины.
>>972922Code studio + ручной билд
>>972931все просто, ты создаешь отдельную разметку для каждого типа экрана.
>>972933Ну давай отдели экран нексуса 5 от экрана например S5. У одного есть навбар на экране, у другого хардварные кнопки. Или я накачу кастомную прошивку и сделаю себе в довесок к хардварным кнопкам навбар на экране. В результате теряю ~40dp во горизонтали из-за навбара.
>>972935Нормальные люди не поддерживают кастомные прошивки и не гарантируют корректное отображение UI и работоспособность приложений на них...
>>972940Что за пушку я прочитал? Как ты отличаешь кастомную от обычной, наркоман? Гапс это кастомная или родная? А если я на хуеми линедж накачу, или я купил хуейзу и хочу туду от васян666 запердолить, или мне надоела самсунговская анальная хуйня.
>>972963Если человек будет обращаться с проблемой в тп, с него спросят данные о девайсе. Или если в статистике будет крэшлог - сначала будут смотреть на данные о девайсе, и если это официалка - уже фиксить
Аноны, какой самый оптимальный способ реализовать bottom navigation view ? Я запутался что такое activity и что такое fragment, получается делать только через обычное меню (три точки сверху слева) но это не то что нужно.Ссылку или что гуглить хотя бы
>>972980Открой семпл который предлагает студия для этого боттом бара. И в тот фрейм что сразу в активти просто пихай фрагменты, все как с дровером.
>>972980Сначала нормально разобраться в том, что такое Активити и что такое Фрагмент и зачем они нужны
Здарова, двачаны. Маза такая, есть битмап фотки его подгружаю в ImageView, потом модифицирую и модификацию записываю в другую переменную, и из другой переменной я закидываю в ImageView, всё меняется всё хорошо, но после смены битман фотки становится recycled и я с ним работать не могу хотя надо, помогайте код выкладываю ссылкой, внизу сообщение из дебага:https://pastebin.com/kZqUEvRc
>>972922> выбираю между Kotlin и ClojureЕщё Scala посмотри, под андроид на нём отлично писать выходит.
>>968036норкоман, не знает чем Java от Java EE отличается
>>973316Думаешь, если сдохнет EE, то это никак не отразится на SE и она будет себя прекрасно чувствовать?
>>973258бамп
>>973321На EE уже одно легаси, энтерпрайз на спринге весь.
Есть стринга, в которой набор слов, надо выбрать те, которые начинаються с определенной буквы, а после неё идут цифры. Как это сделать, или хотя бы как гуглить?
Кто ответит на вопрос по моему коду? С помощью диалога я добавляю в БД некоторые данные, которые должны потом отобразиться в ListView.Данные добавляются в БД (скачал базу с утройства после выполнения. данные есть), но в ListView через кастомный адаптер не хотят идти. 300р могу дать за решение проблемы. + задам пару вопросов.Кто готов помочь - пишите.
>>973655regex>>973657Данные у него идти не хотят, пиздос, еще и секретный дохуя, вот ты бы выложил кучок кода на пастабин и тебе бы уже кучу ответов за щеку напихали.
Аноны, я вконец запутался с bottom navigation view.Нашел два примера, в одном все меняется через fragmentыВ другом меняется видимость элементов: if(layout.equals("main")){ main.setVisibility(View.VISIBLE); favorite.setVisibility(View.GONE); settings.setVisibility(View.GONE);Какой способ правильный из этих двух??
>>973764Починил уже. в адаптере кое что не так возвращалось
В стандартном bottom navigation view можно убрать текст под иконками? чтобы они были выровнены по центру? Если оставить пустой title то иконки как бы ближе к верху стоят.
>>973513Лол, Спринг по-твоему не поверх EE написан?
>>973837Легче фрагментами, но можно и через вьюхи. телега вон все на вьюхах, код ужасный но продукт нормальный.
>>973870Насколько я понял, то не очень.http://stackoverflow.com/questions/40183239/remove-bottomnavigationview-labels
>>973880Нет, просто поддерживает спецификации
>>973837Так ViewPager жи.
подскажите почему с компиляцией не создается класс DaggerAppComponent? Модуль есть, интерфейс AppComponent тоже
>>974468Apt? Логи?
Поясните: стоит ли юзать котлин, или это говно умрёт вместе с джеком, не родившись?
>>974567Ну, у тебя есть выбор: писать на активно разрабатываемом языке с удобным сахаром, комфортной работой с данными и минималистичным синтаксисом, или писать на старом, медленно развивающимся языке, на котором ты для элементарных задач будешь фигачить тонны циклов и страдать от синтаксиса.Сам решай. Котлин умирать совсем не собирается.
>>971938в гугле по тегам, MVP(либы: mosby, moxy), MVVM(не актуально вроже), VIPER (не пугайся, что там про айфон в основном - для ведра тоже актуально), (еще есть даташины и подобные - но вроде уже считается не актуальным, в том смысле что возлагали надежды, которые не оправдались - вместо нагромождения еболы в активити получили колбэкхэлы) + посмотри что такое DIв ютубе, кстати, есть довольно много видосиков на тему + на десерт: луркай гитхабы
>>971939рассмотрим два ситуейшена: у тебя есть просто паблик стринг и есть прайват стринг с геттером и сетером. Проходят дни, недели и ты понимаешь что этот стринг нужно не просто устанавливать\получать, но еще и как то предварительно проверять на нулл или менять. И в случае с паблик стрингом - тебе придется пройти по всему своему говнокоду и поменять везде на то, что ты хочешь. В случае с геттером\сеттером - ты поменяешь код только в одном месте - в самом геттере\сеттере.На самом деле я бы посоветовал тебе не использовать private, а наступить на эту граблю самому, тогда до тебя дойдет вся магия.
Анон, если в своем приложении буду воспроизводить вэбэмки с музыкой и прочим контентом, то гугл не начнет ругаться на нарушение авторских прав? Приложение будет нечто плеера, в котором конкретно будет указан сервак с тем самым контентом.
>>974771не начнет. Скрины сделай только без нарушения авторских прав
>>974772А в случае наличия порнографических материалов?
>>974773Выебет в анальную жепу ануса
Как грамотно спиздить кусок чужого кода, чтобы не запалили?Кроме как поменять название всех переменных методов и классов? И что потом будет если на собеседовании попросят пояснить за этот кусок? Посадят на бутылку?
>>974803В загадки с тобой играть будут.
>>974803Понять что делает этот кусок кода и написать для себя.
CameraSource.takePicture(null, new CameraSource.PictureCallback() { @Override public void onPictureTaken(byte[] bytes) { Bitmap imageBitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);...}Дебажил это говно, массив байтов нормально заходит, но пикча не декодится, в чем проблема?пробовал сохранять в интернал мемори, а потом брать оттуда, та же хуйня
>>974806Какие загадки?>>974817Так зачем писать самому если можно спиздить?
>>974827МОжно сделать лучше например.
>>974827Есть два стула...
>>974827>>974803Ты опять выходишь на связь, мудила?
ПЕРЕКАТ https://2ch.hk/pr/res/974849.htmlПЕРЕКАТ https://2ch.hk/pr/res/974849.htmlПЕРЕКАТ https://2ch.hk/pr/res/974849.html
Нужен прогер, для разработки и дальнейшей работы над мобильным приложением. Опыт работы обязателен. Мои контакты [email protected] Зарплата от 500зеленых в месяц. В перспективе рост зп В письме рассказать немного о себе, о своих проектах и т.п., сколько готовы уделять времени работе, возраст.
>>959573В компоненте не обязательно объявлять WeatherReporter, т.к. твой WeatherReporter может инжектиться без модулей с пустым-то конструктором