Двач.hk не отвечает.
Вы видите копию треда, сохраненную 4 июня 2017 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
205 Кб, 938x1116
Android Development Thread 2.1.2 #957315 В конец треда | Веб
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 (М)
785 Кб, Webm
#2 #957317
#3 #957319
>>957302
Начинать всегда лучше с официальных гайдов.
#4 #957338
>>957302
В шапке же есть, алё!
#5 #957339
>>957060
>>957061
>>957122
>>957126

А на моё вопрос так никто и не ответил.
#6 #957344
>>957245
>>957248
Никакого вранья. Стек осваивается за 2 недели при наличии свободного времени. При желании, можно даже чуть быстрее.
Разумеется, в эти 2 недели не входит время на то, чтобы научиться писать код и рабочие программы как таковые.
Может, вы просто тупенькие? Хотя ладно, люди разные, может я и правда слегка перегнул. Просто себя я умным совершенно не считаю.
>>957254
Я опять же имел в виду, когда ты уже под андроид пишешь и решил свой паверлевел поднять. Так-то да, совсем непростая ситуация выходит. Старайся, всё будет хорошо.
957550
#7 #957485
Сап, двач. Есть один EditText и есть простой текст.

Всё до безумия просто: я пишу в поле едиттекст что-то, потом жамкаю кнопку и то, что я ввёл, появляется в отдельном поле как обычный текст. Просто играюсь и изучаю.

Так вот, с жамканием на кнопку и getText/setText всё оказалось просто. Теперь подскажите, как мне сделать так, чтобы в простом Тексте сразу же отображалось то, что я ввожу в едит тексте? Ну то есть в реальном времени как бы дублируя. Я так понимаю, что нужно либо создавать для этого поток Thread(), либо есть какие-то неизвестные мне методы. Спасибо
957495957496
#8 #957495
>>957485
1. On change listener
2. Rx Bindings
3. Data binding
957496
#9 #957496
>>957485
>>957495
Всё, проблема решена, я даун. Если у кого будет такая же, то вот решение

https://www.youtube.com/watch?v=MJ_32Tuuu74
#10 #957550
>>957344
хз каждый раз когда говорю фразу "х - хуйня, за бутылкой пива проясню все", потом думаю - раз это хуйня чем блядь я 4 последних года занимаюсь. Вся мякотка в том что доступной инфы никто не даст. Помню как ебся 2 дня с тем что не вкуривал что сторио генерит тайпмаппинг на этапе компиляции.
184 Кб, 700x994
#11 #957560
>>957315 (OP)
Суп, погромисты. Сам я начинающий, пишу свою прогу типа плеера для интернет-радио. Суть такова, что кнопка плей нажимается, музыка играется. Информация о текущем треке дёргается каждые 10 секунд с сервера, и если трек изменился, то ещё и обложка подсасывается. В данный момент эта процедура отрабатывается в основном активити (он один), музыка же играет в сервисе как положено. Всё работает почти неплохо, несмотря на говнокод.
Собственно вопрос, может ли андроид грохнуть моё активити, но не грохнуть сервис, из-за чего информация о треке перестанет обновляться? Стоит ли запихнуть получение данных с сервера в сервис с плеером? Просто по началу делал без задней мысли, а потом на гитхабе посмотрел сурсы похожих приложений и увидел, что там так же реализовано.
Благодарю за ответы.
957581966089
#12 #957581
>>957560
Я бы через сервис дергал.
957583
#13 #957583
>>957581
А я бы через анус пса.
957584
#14 #957584
>>957583
Да ты и пса... Oh wait
#15 #957607
Как убрать нотификацию, по клику на кнопку нотификации addAction()?
#16 #957615
Двачик, скажи, ЧЯДНТ?

http://pastebin.com/ch6qwHTh

http://pastebin.com/UsfTwj5c

Первый класс - класс с потоком, где я хочу, чтобы цифра a менялась.

Второй - главное активити, где я хочу, чтобы у txt был setText(gg.a). Но когда я это делаю и нажимаю на кнопку в приложении, всё крашится. При этом, как вы видите, я проверяю через лог поток и он работает. Чому не могу передать значение из одного класса в другой без ошибки?
957617957641
#17 #957617
>>957615

>


я хочу, чтобы текст в приложении менялся как в потоке. ТО есть 1, 2, 3, 4, 5.
Может надо не через Thread делать, а через Handler или что там ещё. Асинк таск?
957637
#18 #957637
>>957617
Нельзя менять ui в не главном потоке. Используй AsyncTask первое время, чтобы понять идею. начнёшь блевать - гугли rxjava
957649
#19 #957641
>>957615
И вообще, читай исключения, которые выкидывает
957649
#20 #957649
>>957641
>>957637
спасибо. АсинкТаск могу использовать в другом классе? Или нужно в том же создавать, где главная активити? Или нужен вложенный класс?
957653
#21 #957653
>>957649
я хочу на онКлик вызывать из другого класса - не хочу нагромождения в главном
#22 #957687
Аноны, нужно ли повторно инициализировать элементы уи, если они иницалируются в онкриэйт?

Вот например:
TextView t;
Public onCreate(){
t=(TextView)findviewbyid(тут ссылка);
}

Public void переименуемТекст(){

Тут нужно сразу t.setText
Или нужно
t = textview findviewbyid ссылка на текст

Как правильно? Надо как с классами типа новый экземпляр создавать? Или нет, раз он инициализирован в онкриейт?
}
957749
#23 #957727
Анонасы, мне 16, начинать вкатываться в джаву, именно в разработку приложений? Перспективно? Не кидайте в меня говном, адекватные ведь люди Паскаль,с++ чутка учил, вроде не тупой
957734957755
#24 #957734
>>957727
Матешу сначала выучи.
957735
#25 #957735
>>957734
В мат классе учусь, на уровне ЕГЭ знаю математику. А что там прям такого нужного?
957742
#26 #957742
>>957735
Численные методы идеально знать надо.
957748957764
#27 #957748
>>957742
Стоит ради этого идти в вуз? До 18 хотел понять на среднем уровне джаву и начать уже чем нибудь заниматься.
#28 #957749
>>957687
Все что ты инициализируешь в onCreate будет в норме. Если дело идет после он криэйт смело вызывай свой сет текст.
#29 #957753
alarmIntent = PendingIntent.getBroadcast(this, id, intent, 0);
alarmMgr.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()
+ (time), alarmIntent);

Получается так, что если я создам аларм до того, как предыдущий появился, то они оба алертнутся по времени последнего, что я делаю не так? Request код у них разный и создаються 2 алерта, но последний переписывает время предыдущего.
957782957802
#30 #957755
>>957727
Да, вполне. Банковский софт сам себя не напишет, так что вкатывайся.
Яндекс вон недавно 17летнего пиздюка себе взял на работу, так что давай скорее вкатывайся, а то будешь слишком стар для этой хуйни.
957762
71 Кб, 1002x589
#31 #957760
Спиздил пример TCP-чата(только клиент, сервер есть) отсюда https://www.myandroidsolutions.com/2012/07/20/android-tcp-connection-tutorial т.к. захотел разобраться как это вообще работает.

Просто скопировал код себе, создал такие же джава-классы и иксэмельки(менял только порт и айпишник).

Выводит пикрелейтед ошибки. Классы и методы метит как Cannot resolve symbol/method В чем дело? Гуглил такие ошибки, в основном пишут просто удалить там папку idea и iml-файлы и ребилдить/клинить. Мне не помогает. Если не трудно кому - запустите данный пример у себя и скажите что не так.
957925
#32 #957762
>>957755
Если я смогу в джаву , то есть ли шансы к 18 годикам найти себе удалённую работу?
957763957771
#33 #957763
>>957762
Нет.
В джаве нету фриланса, а удаленная работа только для премиум сениоров.
957765
#34 #957764
>>957742
Какие нахуй численные методы, дискретка нужна.
957767
#35 #957765
>>957763
Как же это так выходит? Я разве не смогу например делать приложения на андроид на заказ/делать и выкладывать в гугел плей.
957769
#36 #957767
>>957764
Графы и комби мы учим с 5 класса, так что в это я могу более-менее. Только алгоритмов не знаю особо, но я думаю это можно выучить.
#37 #957769
>>957765
Дак надо чтобы заказчик у себя размешал.

Да и сам серьезные приложухи ты сделать не сможешь, нужна командная работа. Кто-то рисует интерфейс, другой сервер пишет, и тд.
957773957777
#38 #957771
>>957762

>Если я смогу в джаву , то есть ли шансы к 18 годикам найти себе удалённую работу?


Нет. Работу в офисе- да, реально.
Удаленно -нет.
Во-первых, как тебе ниже анон сказал, фриланса в джаве нет.
Во-вторых, фриланс начинается после 5 лет работы в офисе. Те, кто сразу идут во фриланс, выдают код хуже, чем индусы, и оплачивается их работа соответствующе.
957773957777
#39 #957773
>>957769
>>957771
Ну тоесть анрил без вышки работать удаленно уча джаву? Во что вкатиться?
957778957779
#40 #957777
>>957771
>>957769
Не дописал. Во что вкатиться что бы удаленно к 18 даже не 30 получать, а хотя бы 20-15к. Ибо меня погонят из дома либо в вуз и общагу, либо надо будет снимать хату.
957785
#41 #957778
>>957773
На удаленку учи пыха, жабаскрипт, верстка и mysql
957781
#42 #957779
>>957773
В гей-шлюхи.
957783
#43 #957781
>>957778
Cпасибо, анон, добра тебе
957786
#44 #957782
#45 #957783
>>957779
я всрат
#46 #957785
>>957777
Почему именно удаленно?
Хоккинз?
957787
#47 #957786
>>957781
Тут когда-то был, может и сейчас есть, тред по пхп, с аниме на аватарке. Там были гайды и задачки от ОПа, он же их проверял. Рекомендую туда зайти
957788
#48 #957787
>>957785
первое это то, что папа сам работал в офисе админом сети, и сейчас яро против офисов. говорит лучше работать дворником, чем постоянно как солдат в 8 утра приходить и в 7 уходить. Постоянные коллективные собрания, прочая хуйня. ну и да, немного сыч, но это лечится армией
#49 #957788
>>957786
Хорошо, спасибо. Если я на среднем уровне освою пхп, лучше начать легкие задачки по фрилансу делать, или сразу искать удаленку?
957793
#50 #957789
>>957787
Работаю дома, заебало, хочу в офис.
#51 #957790
>>957787
Не слушай его. Как тебе самому лучше, так и делай.

И армия для быдла, офк.
957800
#52 #957793
>>957788
У меня опыта работы нету, не ко мне это. Просто помню что сидел там и решал задачки.

Мне кажется​ что лучше сначала немного в коллективе поработать, понять как всё работает а потом уже и пробовать искать удалённую работу. Ну и инглиш надо знать (на ру биржу лучше не лезть, само собой).
957801
#53 #957794
>>957787
Ну это все равно, что будучи девственником рассуждать, что секс- это неприятно. Ты сходи, поработай и сделай выводы. Тем паче устроиться на работу ИРЛ намного больше шансов, чем удаленно.
957801
#54 #957800
>>957790
сейчас армия вроде стала лучше, а я блядь ебаное комнатное растение, не способное спросить где находится та или иная улица. Хорошо, спасибо за совет
#55 #957801
>>957793
>>957794
Спасибо аноны
#56 #957802
>>957753
Ну ответьте, плес.
957807
#57 #957807
>>957802
Отбой, разобрался.
957810
#58 #957810
>>957807
Поделись
957811
#59 #957811
>>957810
С андроида 4.4 alarmManager.set() собирает все алармы в одно время, чтобы этого не происходило надо юзать alarmManager.setExact().
957824
#60 #957824
>>957811
Может ты знаешь, как чекнуть работает ли определенный алярм?
957825
#61 #957825
>>957824
Заставь его тоастами серить и поставь время маленькое.
957842
#62 #957842
>>957825
Сделал круче - через FLAG_NO_CREATE
957852
#63 #957852
>>957842
Правда не работает.
#64 #957925
>>957760
Ебать дебил
957927
#65 #957927
>>957925
Ну то помоги
957941
#66 #957941
>>957927
Нет
#67 #958069
Подскажите эмулятор, чтобы бесплатно и мог эмулировать разные реальные девайсы (ну, то есть не абстрактный андроид студио эмулятор, а чтоб, например, мог сэмулировть xiaomi определённой модели).
958071958075
#68 #958071
>>958069
Нет таких. У самсунга можно взять девайс в аренду и подключиться к нему удаленно. Для максимального охвата есть фаирбейзовый тест лаб с реальными девайсами, но там гоняются только тесты.
#69 #958075
>>958069
Gebnymotion, но китайфоны тебе никто эмулировать не будет.
958093
#70 #958093
>>958075
это не эмулятор
958097
#71 #958097
>>958093
что же тогда?
958100
#72 #958100
>>958097
платформа виртуализации на virtualbox, но никак не эмулятор
958104
#73 #958104
>>958100
Чем отличается эмулятор и платформа виртуализации?
958108
#74 #958108
>>958104
Ты никогда не задумывался, почему эмулятор в Android Studio пиздецово медленный в отличии от ВМ Genymotion?
Юзай гугл.
958109
#75 #958109
>>958108
Гугловский эмулятор по скорости такой же, как и Genymotion, и использует ту же виртуализацию на virtual box.
958110958152
#76 #958110
>>958109
И на кой хуй тогда все ставят Genymotion?
958112958113
#77 #958112
>>958110
Я например поставил genymotion, т.к. у меня амуда, которая не поддерживается дефолтным avd.
#78 #958113
>>958110
Кто все?
Старая версия эмулятора работала медленно, да. Новую версию гугл по образу gm запилил, сделав его ненужным.
958118
#79 #958118
>>958113
Но в эмуляторе от Гугл можно же получить на выходе другую архитектуру процессора, в отличии от gm, разве нет?
#80 #958152
>>958109

> Гугловский эмулятор


> использует ту же виртуализацию на virtual box.


Вообще-то qemu гугловский эмулятор использует.
#81 #958207
Как обвести вьюху рамочкой?
958236
#82 #958236
>>958207
Сделать контейнер (framelayout\relativelayout) с вьюхой и рамочкой. Рамочка то сильно сложная?
958237
#83 #958237
>>958236
Нет, обычная линия
958239
#84 #958239
>>958237
У вью есть бэкграунд? Можно было бы рамочку на бэкграунд поставить.
958240
#85 #958240
>>958239
Вью это кардВью, бэкграунда нету.
958244
#87 #958247
>>958244
Спасибо.
#88 #958327
Есть gridView, в который динамически добавляются imageView, и у некоторых есть animatorUpdateListener'ы.

Проблема в том, если приложение уходит в бэкграунд или даже путем нажатия "назад" уходят на более раннее activty из стака - эти listenerы продолжают хуярить.

Есть ли лучший подход, чем держать в activity массив, в который добавляются эти listener'ы при создании, и которые при будут выключаться, если активити будет в OnPause и тд, например?
958378
244 Кб, 640x426
#89 #958341
Здарова, аноны, подскажите плиз, была ли у кого-то такая шняга, что при вызове строк

frManager.beginTransaction()
.replace(R.id.container, currentFragment, currentFragmentTag)
.addToBackStack(currentTag)
.commit();

метод в OnBackStackChangedListener , который onBackStackChanged , срабатывает ДВАЖДЫ? Именно дважды, при первом добавлении одного фрагмента. Причем делаю все , как обычно, на глупые ошибки всевозможные 100 раз проверил, но нифига. Помогите плиз, если кто сталкивался.
958352
#90 #958352
>>958341
Как ты его первый раз добавляешь? Если через replace, то в этом и проблема, используй add.
958363
#91 #958363
>>958352
и так, и так юзпл - проблема остается.
#92 #958369
>>957315 (OP)

>Котаны, под чем удобнее писать под Андроид - Виндовс или Линукс?


Не ОС-срача ради, а удобства для спрашиваю.
958381958411958545
#93 #958378
>>958327
Хотя, можно в onAnimationUpdate Listener'a проверять Activity.isDestroyed(), и отменять анимацию при true.
#94 #958381
>>958369
А какая, нахуй, разница? Ты что-то левое компилировать собрался под ведро, типа интерпретатора петона?
Да и линуксософт хуета ебаная, даже имеющий огромное комьюнити. Например, QT Creator пиздец, какое глючный сравнительно с виндузоаналогом.
#95 #958411
>>958369
На линуксе или маке удобнее тем, что есть нормальная консоль.
Остальное одинаково
958421
#96 #958421
>>958411

>нормальная консоль


И чем же она нормальнее PowerShell? Как обычно, пердоля пукнул без пруфов.
958553959867
#97 #958545
>>958369
Джва года назад градл у меня на винде был очень медленный, раз в десять медленнее, чем на линуксе на том же пека. С чем связано, не знаю. С тех пор кодил только на линуксе.
#98 #958553
>>958421

>PowerShell


Уебывай
958608
#99 #958555
>>958545

>градл


Он и сейчас на винде такой
Причем проект на ноуте с линуксой слабее компа с виндой собирается в раза три дольше
958561
#100 #958561
>>958555
>>958545
Чет мне слабо верится. Да, я верю в проседание процентов на 50, но никак не в 3 раза медленнее на такой же конфигурации. Может ему памяти меньше выделяется по умолчанию, или вы явно указываете? Антивирь-хуивирь там, градл нужно обязательно добавить в исключения виндефендера, а то тот начинает почему то охуевать.
#101 #958605
>>958545
Ок, принято. Ну я мавеном буду собирать, но все равно на линуксе буду.
958609
#102 #958608
>>958553
Обоснуй
#103 #958609
>>958605

> мавеном


Пиздец ты ебанутый.
#104 #958610
>>958545
Бля, меня уже этот градл доебал. Что не сборка, то перекур минимум на 5 минут. Так и от рака легких умереть можно.
958612
#105 #958612
>>958610
Купи уже себе нормальный компьютер
958613
#106 #958613
>>958612
Ебать, Ass Effect новый тянет, а это говно нет.
958616959598
#107 #958616
>>958613
Ты разницу между игровым компьютером и рабочим понимаешь?
У меня вот не тянет наверное, зато собирается всё быстро
958625
#108 #958625
>>958616
Ну давай, распиши какая принципиальная разница между ними.
958631959598
#109 #958631
>>958625
Расписал тебе за щеку.
958647
#110 #958647
>>958631
Какой ты убогий
958651
sage #111 #958651
>>958647
Отвечаешь тому, кого считаешь убогим? Ты убог в квадрате.
#112 #958655
Как пихнуть обьект в интент? Сделал его parceable, но нихуя не помогло.
958658
#113 #958658
>>958655
Значит, хуево сделал. Parcelable и передаётся
#114 #958854
Что юзаете для генерации фабрик под ведроид? AutoFactory от google не предлагать, там гуава
958916
#115 #958913
Анон помоги с дагером. В чем принципиальная разница анотации Inject и Module/Provides?
959299
#116 #958916
>>958854
А там не как с AutoValue? А именно тебе не compile нужен, а provides, и тогда вся их поебень с гуавой только во время компиляции нужна, было бы логично, так как ты в компайлтайме фабрики генеришь.
959137
#117 #959044
>>958545
Сижу на core i3, 8 gb ram и hdd на одном компе и таком же конфиге, но с core i5 4690 на другом.
Так вот, на i5 сильно быстрее, прям заебись даже.
#118 #959098
Что почитать на русском именно про разработку всякого говна для дебилов на русском? Не джаву, а именно про все эти ебучие xml'ы и прочее дегенератство.
959099
#119 #959099
>>959098
Имею ввиду книги. Я же не совсем дебил чтобы читать статейки.
#120 #959137
>>958916
Двачую.
#121 #959140
Оцените мой стартап на Андроид!
https://www.youtube.com/watch?v=KoHD6oZzpvk
sage #122 #959299
>>958913
Inject - метка на поле/конструкторе/методе
Module - метка на классе
Provides - метка на методе класса помеченного Module.
959510
#123 #959483
>>957315 (OP)
Подумываю перекатиться из питона в джава/андройд (да, я такой ебанутый). Вопрос, нужны ли в андройде навыки аналогичные вебовскому фронтенду? Просто мне надоело что каждый работодатель хочет от меня чтобы я запросы в БД мог оптимизировать, и сделать поиск на эластике и настроить/задеплоить продакшен и чтобы жс и верстка. ЗАЕБАЛО. Я просто не успеваю (и не хочу) изучать это все, хочу сосредоточиться на какой-то отрасли.
959490
#124 #959490
>>959483
Андроид собственно и есть фронтенд. Верстка нужна, но она там изи и не такая ебанутая, как html.
#125 #959510
>>959299
а в чем функциональная разница когда мы пилим Inject и Provides? Второе когда нам нужно что то передавать в конструктор?
959568
#126 #959568
>>959510
Inject обозначает место, куда нужно внедрить зависимость. Provides - метод, который её предоставляет.
959573
#127 #959573
>>959568
Нашел тутор где
public class WeatherReporter {
@Inject
WeatherReporter() {
}
}
Предостовляет.Потом тупо вызвал в компоненте
WeatherReporter getWeatherReporter();
Я чего то не понимаю.
981716
#128 #959598
>>958613
>>958625
Да SSD просто нужен.
959862
#129 #959624
>>957315 (OP)
Хочу вкатиться в ондроед разработку на петоне. Игры 2D/3D, нутыпонел. Какие подводные камни, анон?
#130 #959784
>>958545
Димона запускал?
959824
#131 #959824
>>959784
Он вам не Димон
#132 #959862
>>959598
Два чаю. А еще лучше ssd+ 16+гб оператосы для ramdisk
#133 #959867
>>958421
>>958421

>linux


man man
man stdio.h
man ncurses
nano helloworldC.c
gcc -march=native -O1 -o hello hellowordlC.c
emerge -av emacs

>powershell


???
#134 #959976
Поясните за котлин. Он начал вытеснять жабу в новых проектах? Другими словами: при устройстве на работу мне прежде всего нужно будет быть готовым ебошить на котлине?
959987960010
#135 #959987
>>959976
Нет. Только во всяких хипстерских стартапах. А вообще там ничего сложного и зная джаву учится как нехуй.
960009960010
#136 #960009
>>959987
Да я про сложность и не говорю ничего. Просто он удобней чем жаба своей сахарностью. Чего только var стоят.
#137 #960010
>>959976
>>959987
двачую. Скорее гугл голанг адаптирует чем позволит что бы котлин занял хоть какую то долю рынка.
960015960027
#138 #960015
>>960010
Но ведь гугол уже прогнулся под жбрейнс, сделав андроидстудио оффициальной ИДЕ.
#139 #960027
>>960010
Сомнительно.
#140 #960031
>>957315 (OP)
Почоны. Есть ли смысл использовать Activity вместо AppCompatActivity если планируется поддержка устройств 5 и выше? Заранее извините если савсем платина, я не смог нагуглить преимуществ Activity по сравнению с AppCompat.
960035960044
#141 #960035
>>960031
Единственное преимущество - отказаться от компат либы, но ты ее скорее всего все равно будешь использовать, так что преимуществ нет.
960044
#142 #960044
>>960035
Спасибо, это я видел, возможно есть еще что-то.
>>960031
В догонку к этому. При использовании AppCompat я не могу в стилях указывать, например для api 11 Theme.Halo для api 21 Theme.Material - везде приходится использовать Theme.AppCompat
Это не значит, что с AppCompat и Theme.AppCompat мое приложение на андроид с api >21 будет выглядеть хуже, чем с Activity и Theme.Material.
Или с AppCompat можно использовать тему Material просто я где-то очень косячу?
960089
#143 #960089
>>960044
Хуже выглядеть не будет.
#144 #960131
>>957315 (OP)
Аноны, на вакансию конторки Алеф ван лтд недавнюю не откликался никто? А то вдруг у кого тоже опыт общения с ними есть. А то тут такая ситуация, написал им на hh_ru дня 4 назад, сказали что заинтересованы, дали простейшее и тупейшее тестовое задание, сделал его до вечера с закрытыми глазами, вполне неплохо на мой взгляд, сегодня прислали отказ, ничего не объяснив и не прокомментировав. Вот не мудаки ли?

Может кому-то код отревьюить не лень будет, из спортивного интереса? Может я совсем тупой и не понимаю чем он плох и почему не приняли. Я бы ссылку на архив скинул сюда + переписку с hh. Приложение с одим экраном, кода немонго.
960133960177
#145 #960133
>>960131
Сразу надо было постить тз и реализацию, хули.
960136
253 Кб, 1920x2057
#146 #960136
>>960133
Не хотелось мусорить в треде, если всем похуй. Ну ок, прикрепил

Ссылка на json - devcandidates.alef.im/list.php
Архив с кодом - https://yadi.sk/d/Qt6_Oojv3GK6Nn
960207960230
#147 #960177
>>960131
Мб просто кто то другой закрыл собой вакансию.
sage #148 #960207
>>960136

>Архив с кодом


Я б тебя тоже не взял?
960209960230
#149 #960209
>>960207
Чем не понравился код?
960227
497 Кб, 659x1000
#150 #960222
Вызывайте метод recreate() в активити по чаще!
Это позволяет найти баги, про которые вы вспомните, только когда они проявятся.

И ловите барса няшного.
960314
#151 #960227
>>960209
Может стоит заливать код в репозитории?
#152 #960230
>>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;



> нет тестов

960236960239960546
#153 #960236
>>960230
Зачем эти лоадеры городить, когда можно просто сделать асинхронный запрос при помощи OkHTTP?
960706
#154 #960239
>>960230

> А должен был написать, даже если нет



Там написано, что полноценного нет, но общее с инфой о том сколько лет, где живу и чем питаюсь пристуствует.

> этот намекает, что код надо выкладывать не архивом, а на github/bitbucket



Меня просили отписать на почту, если бы попросили выложить на github - так бы и сделал. Ссылку на свой профиль с репами я им письме дал.

> return "";



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

> ????



Вот хули ты мне свои закорючки бессмысленные пишешь? Им скажи что навание класса плохое

https://github.com/google/iosched/blob/master/android/src/main/java/com/google/samples/apps/iosched/ui/BaseActivity.java
960242960555
#155 #960242
>>960239

> Может кому-то код отревьюить не лень будет


Нахуй ты тогда ревью спрашиваешь, даун, если воспринимать его не можешь?

Мы вам перезвоним.
960244960269
#156 #960244
>>960242
Два чая.
#157 #960253
Что не так с >>>>BaseActivity<<<< я в своих проектах в таком классе CompositeSubscription держу, базовый контекст для calligraphy оборачиваю, репозиторий инжекчу.
960522
#158 #960269
>>960242
Я надеялся, что мне нормально пояснят какие проблемы в коде, а ты мне копируешь название класса с вопросительными знаками под ним. Выше я просил уточнить, в чем проблема в коде лоадера. И ты мне отвечаешь, что я твое ревью воспринимать не могу. Что конкретно, копипасту кусков своего кода? Я его и без тебя уже видел, когда писал.
960274
#159 #960274
>>960269

> Вот хули ты мне свои закорючки бессмысленные пишешь?


> я просил уточнить


Съеби уже.
960290
#160 #960290
>>960274

> Съеби уже.



Если здесь отвечают только бесполезные чсвшные мудаки, что же еще остается делать
960295
#161 #960295
>>960290
Алёшенька, дурилка ты картонная. Уёбывай по-хорошему играть в свою контру, пока тебе за шиворот не насрали.
#162 #960314
>>960222
А можно просто воткнуть Don't keep activities
#163 #960432
Сап, впорос по Rx. Как запилить timeout что бы если выполнение выходит за временные рамки - вызвать onComplete и при этом в нем не должно быть Values.
960639
#164 #960497
Как лучше организовать такую вещь:
1. Длительный запрос к серверу в intent service (он убьётся при смахивании приложения из recent?)
2. Проброска в UI: результата и состояния (выполняется или провалился)?
960994
#165 #960522
>>960253
Двачую за пояснение.
#166 #960546
>>960230
Зачем здесь лоадер, если достаточно сделать асинхронный запрос при помощи retrofit и отменить его в onDestroy или там, где логически это лучше подходит?
960706
#167 #960554
Расскажите про jni, имеет ли смысл использовать частые вызовы маленьких функций или там из-за этого задержки?
Дело в том, что я в армии и я написал программу, которая по показаниям акселерометра определяет хлопки по бушлату, и нужной комбинацией можно незаметно включить или выключить музыку (телефоны то тут нельзя). Но оно выжирает батарейку раза в четыре быстрее просто музыки и я подумал что может быть си-функции порезвее будут, если переключение на них не слишком накладно.
#168 #960555
>>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);


Тут тоже нет ничего критичного, если это класс из либы.
#168 #960555
>>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);


Тут тоже нет ничего критичного, если это класс из либы.
960689
57 Кб, 850x480
#169 #960577
Поясните. Насколько реально вот из этого https://github.com/ejgallego/jscoq сделать приложение для андроида? Онлайн-версия в браузере работает, но это несерьезно, хочется локально жи.
#170 #960639
>>960432
Анон помоги. Второй день ебусь. Есть FutureTask ждущий и возвращающий лист. Надо с Rx проследить что бы этот таск выполнялся не больше определенного времени, если больше - все ложим и вызываем onComplete. Как это запилить?
960642
#171 #960642
>>960639
пока есть такая дичь
Observable.fromFuture(futuraTask)
.timeout(i -> Observable.timer(50, TimeUnit.MILLISECONDS), Observable.empty())
961044
#172 #960689
>>960555
Ну вот, уже есть над чем подумать. До тестов не дорос пока, и в ресурсах, как оказывается можно и integer хранить. Спасибо что расписал.
#173 #960706
>>960546
>>960236
Лоадеры хорошо с жизненным циклом связаны, решают все проблемы AsyncTask и не будут продолжать шуршать фоновыми операциями, если Activity ушла в BackStack

Если данные уже загружены в лоадере и гововы, то при изменении конфигурации лоадер просто вернет их, а не будет грузить снова. Поэтому не придется ебаться с поворотами экранов, они все умеют сами

Ну и AT Лоадер сейчас это основной СДКашный дефолтный способ для любой многопоточки, особенно для загрузки чего-то откуда-то. А не 5 разных колбеков, у 5 разных либ, которые типо умеют в асинхронность
#174 #960994
>>960497
Попробуй обычный сервис обмазанный бродкаст ресивирами
#175 #961044
>>960642
Запилил так:
Observable.fromFuture(futureTask)
.timeout(100, TimeUnit.MILLISECONDS) .flatMap(this::listPopulationMoreThanOneMillion) .onErrorResumeNext(Observable.empty())
.doOnComplete(() -> futureTask.cancel(true));
У кого-то есть вариант получше?
#176 #961045
Антоши. Нужен совет, ибо заебался. Гугл нихуя толкового не дал.
В общем, у меня есть MainActivity с ViewPager, в котором статически загнаны 2 фрагмента.
В MainActivity опреден листнер на FAB, который делегирует выполнение в один из фрагментов.
У фрагмента, в его реализации обработки идет вызов DialogFragment.show(), который принимает getFragmentManager.
Все бы ничего, но после поворота экрана getFragmentManager начинает возвращать null. Попытался вызвать getActivity().getSupportFragmentManager, но getActivity() тоже null. Какого хуя анон? Пытался всякие setRetainInstance юзать и прочее - нихуя не помогает.
961099
#177 #961099
>>961045
Нашел таки решение. В общем юзал я FragmentPagerAdapter не FragmentStatePagerAdapter, в котором хранил коллекцию фрагментов, заполняемых заново каждый раз при повороте экрана. Но фрагменты там по факту создаются один единственный раз через getItem(position), а в ту заполняемую мной коллекцию каждый раз сыпались фиктивные фрагменты, которые не кидались в фрагментманагер.
Решение состояло из ручного вытаскивания фрагментов из фрагментманагера по тэгу: "android:switcher:" + pagerId + ":" + getItemId(position). Нахуй так жить посоны?
961102961322
#178 #961102
>>961099
ViewPager вообще один из самых глючных и неудобных в использовании компонентов. У меня тоже постоянные с ним проблемы. Хуже него, пожалуй, только camera api
#179 #961150
Как указать студии где искать NDK? Пакет установлен в /opt/android-ndk, переменная прописана ANDROID_NDK=/opt/android-ndk. Но студия все равно не видит.
961159961326
#180 #961159
>>961150

> ANDROID_NDK


ANDROID_NDK_HOME
#181 #961322
>>961099
Используй SmartPagerAdapter, он хранит коллекцию текующих фрагментов.
#182 #961326
>>961150
File -> Project Structure -> SDK Location
#183 #961340
Програманоны, есть один список, ListView или RecyclerView пока не понятно. И еще есть от 0 до овер 500 item'ов для него, каждому по заинфлейтиной вьюшке соответственно.

Когда пытаюсь натравить адаптер на ListView/RecyclerView и быстро покручиваю список, он начинает ужс как тормозить, очевидно, не хватает вычислительной мощности дабы все отрисовать. Но шаблон ведь, сука, элементарный! Там несколько FrameLayout'ов и LinearLayout'ов! Если же все View'шки создавать предварительно, а не рантаймно, уходит около 100 мс только чтобы создать одну! А это уже вечность, около двух-трёх секунд в результате получается. А RecyclerView ничем, как оказалось, не лучше ListView по скорости отрисовки.

Блджад, как суициднуться? Надеюсь юмор понятен.
961350961366
#184 #961350
>>961340
1) ты срукожопил
2)ресайклер лучше
3)посмотри видео от школы яндекса на тему лайоутов.

>Там несколько FrameLayout'ов и LinearLayout'ов!


>уходит около 100 мс

#185 #961366
>>961340
Вангую что твоя вьюшка будет долго рисоваться даже сама по себе.
#186 #961385
Почему запрос выполняется только 1 раз? Использую Retrofit 2.2.
в onResume():

compositeSubscription.add(
loadCountRequest.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(subscriber)
);

в onDestroyView():

compositeSubscription.unsubscribe();
961399961405
#187 #961399
>>961385
И как же этим говном пользоваться, когда запрос только 1 раз проходит?
#188 #961405
>>961385
Смотри документацию по CompositeSubscription::unsubscribe, в частности там написано что все последующие поступающие подписки будут автоматом отписываться. Так что тебе или новый compositeSubscription надо сделать, либо использовать clear
961414
#189 #961414
>>961405
Приду домой - проверю еще раз.
Вообще я пробовал его пересоздать перед запросом и это не помогло.
Пробовал обычный subscription юзать - тоже не помогло.
Я удивлен. До этого юзал rxjava, но не с retrofit.
961422
#190 #961422
>>961414
Ты явно что-то не так делаешь. Я один раз создаю compositeSubscription (считай в onCreate). А в onPause просто вызываю clear
961460
#191 #961460
>>961422
Проверил - clear тоже приводит к тому, что запрос проходит один раз только.
Пересоздание CompositeSubscription приводит к тому же.

Мне то нужно всего лишь отписаться, тогда, когда view уничтожается во время переворота экран (чтобы не крашнулось все из-за NPE) и отправить повторный запрос в onResume.
961462
#192 #961462
>>961460
Кстати, запрос ВПРИНЦИПЕ только один раз отрабаывает.
961495
#193 #961495
>>961462

>loadCountRequest


Это интерфейс твоего апи или что?
#194 #961497
Если это объект request, то так нельзя, реквест можно использовать только один раз, хочешь повторить - clone, нужно иначе с ретрофитом.
961510
#195 #961510
>>961497
Вот оно что.
До чего же неочевидный момент.
Попробую попозже.

Имеет ли смысл использовать RxJava 2?
961520961565
#196 #961520
>>961510
Ага, переехал на RxJava2 - там даже без clone запрос выполняется каждый раз при вызове onResume.

Наконец-то!
#197 #961565
>>961510
У retrofit'a так всегда было, клята мутабельнсоть.
#198 #961796
Где почитать/посмотреть про клиент-серверное взаимодействие на конкретном примере? Кроме developer.android.com
#199 #961821
Пытаюсь работать с 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$))

Но это очевидная дичь какаято

Как правильно такие штуки делать?
961830961861
#200 #961830
>>961821
flatMap / switchMap
961837
#201 #961837
>>961830
Напиши изи пример, плизики. Я догнать не могу все равно. извини, тупой
961856
#202 #961856
>>961837

>тупой


Просто rxjava дохуя хитовыебанная.
961961
#203 #961861
>>961821

> Observable.create


Observable.fromEmitter - правильное создание обсервабла из колбэка.
961923
43 Кб, 400x400
#204 #961893
Итак, спецы, поясните за эти вещи:
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 сделать внутренним классом.

Всё ли правильно?
43 Кб, 400x400
#204 #961893
Итак, спецы, поясните за эти вещи:
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 сделать внутренним классом.

Всё ли правильно?
961927
#205 #961923
>>961861
Во второй версии нужно использовать create
961930
#206 #961927
>>961893
Полный код показывай, по кускам сложно судить.
961937
#207 #961930
>>961923
Где это нужно использовать?
#209 #961961
>>961856
Нифига подобного. Если ты не даун, осваивается за несколько минут, затем со временем просто осваиваешь разные менее тривиальные операторы, а вот их уже довольно много.
961963961978
#210 #961963
>>961961
Ты тоже даун.

мимо освоил rxjava за 4 секунды
961976
#211 #961976
>>961963
Так я сам вообще не осваивал, там всё интуитивно совершенно.
#212 #961978
>>961961
RxJava это аналог LINQ в дотнетике. Он тривиальный только в тривиальных задачах.
961996
#213 #961996
>>961978

> RxJava это аналог LINQ в дотнетике


Нет. Его аналог - это Streams API.
962053
#214 #962014
Если checkBox чекнут, но disabled, то что я получу при проверке на isChecked()?
#215 #962033
Аноны, у меня в листвью три текствью для разных текстов.
Все наполнители лежат в трех! Массивах, а не водном. Смогу использовать три массива для наполнения каждого текствью через адаптер? И как?
962048
#216 #962048
>>962033
Сможешь
#217 #962053
>>961996
Хуй знает бро. Мне показалось, что стримы - лайтверсия Linq, которая работает онли с коллекциями. RxJava - ебаный эмиттер данных, который легко реализуется средствами IEnumerable. Думаю, что дотнетовая реализация рекса так и сделана.
#218 #962405
Ребят чет ментор сказал что именование у меня говеное и в базе не проверки на тип но не суть что не так с code convention ? Что заменить ?
https://pastebin.com/m7ysyjEf
https://pastebin.com/AF6dxzNY
https://pastebin.com/1et5HS68
962583
#219 #962583
>>962405
Название классов должны быть написаны с заглавной буквы, убрать дырки в коде
962800
#220 #962800
>>962583
Ок спасибо
#221 #963390
Если я использую
RxJava
Retrofit
Okhttp
Dagger
Eventbus
Butterknife
LeakCanary
Timber
Storio
Fabric

в одном петпрожекте, работодатель не обоссыт за дикое использование либ?
963420
#222 #963420
>>963390
Я бы за Eventbus обоссал. остальное норм, если используешь с умом, а не просто напихал всё подряд.
963440963497
#223 #963440
>>963420
С ебасом что не так?
963481
#224 #963481
>>963440
Он deprecated вроде, не? И можно для этих целей использовать rx.
#225 #963497
>>963420
Я тоже автобус заюзал в своем пете, потому как лень было велосипедить через RxJava.

Рейтани мой список:
RxJava, Picasso, EventBus, VkSDK. Последние три чисто, чтобы самому не велосипедить.

Даггеры не стал юзать, т.к. чувствую, что еще сперва нужно разобраться с основами разработки, а потом уже лепить туда DI и прочую новомодную хуйню. У меня даже MVP нету. В роли презентера выступает сам фрагмент.
963506963664
#226 #963506
>>963497

>VkSDK


Эту корявенькую порашу с отсутствием половины функционала в апи лучше вообще заменить ретрофитом
963519
#227 #963511
Кому-нибудь приходилось реализовывать ui тест воспроизводящий два клика по одному месту БЕЗ задержек между кликами? Вручную получается, т.е. после первого клика слушатель кнопки запускается, не успевает отработать до конца, т.к. после второго клика запускается конкурентно еще раз и приложение крашится. В эспрессо сделать не получается, наверно он ждет пока событие отработает даже без идлинг ресурсов, событие кстати синхронное. Пока смотрю в сторону monkey runner, но может можно как-то проще в том же эспрессо?
#228 #963519
>>963506
Я заюзал чисто ради окна логина.
#229 #963624
Аноны, за сколько можно сделать это ТЗ?
Что помимо Java-core надо знать конкретно для этого ТЗ?
Раньше android не интересовал, но решил попробовать.

Создать приложение для Android на языке Java. Оно должно обладать такой минимальной функциональностью:

Поле для ввода текста, который будет переведён на другой язык; переключатель языка и варианты перевода, которые появляются, когда пользователь вводит текст в поле.
Возможность добавить переведённое слово или предложение в избранное.
Возможность просмотра истории переводов.
Возможность просмотра избранного.
Перевод с одного языка на другой с помощью API Яндекс.Переводчика.
963629963632
#230 #963629
>>963624
SQLite, Retrofit, RxJava
963634
#231 #963632
>>963624

>Аноны, за сколько можно сделать это ТЗ?


Вон из профессии
963634
#232 #963634
>>963629
Спасибо
>>963632
Из какой профессии? Я сейчас работаю курьером и до этого всю жизнь работал курьером. Откуда ты меня выгоняешь?
963659
#233 #963659
>>963634

>Я сейчас работаю курьером


Ты сейчас уже работеш программистом, да не простым, а делающим тестовые задания. Тебе подобных сносило в канализацiю в 1998, 2003, 2006-2008 и 2014, но вы никуда не исчезаете, просто место Windows'95 заменил Android — и только-то.
Ты даже не видишь, насколько упали з/п, насколько «рынок» задемпингован... типичный же случай. Возьми вон с полки учебник Экономики и о спросе да предложении почитай.
Ст. 330 УК РФ, ст. 165 УК РФ и ст 163 УК РФ тебе в любой мусарне объяснят. Задания он делает...
#234 #963664
>>963497

> DI


> новомодная хуйня


Мда.
#235 #963669
Должен ли вызываться onResume, когда разворачиваешь приложение из recent?

Порядок действий таков:
1. Приложение запущено.
2. Открываю recent, выбираю это приложение
3. Здесь должен быть вызван onResume?

На XIAOMI onResume не вызывается в таком случае.
На Nexus 5 вызывается.

Ведрооо!
963671
#236 #963671
>>963669
Должен.
#237 #963752
Посоветуйте ORM, которой можно скормить объект у которого есть поля - списки и ORM это прожуёт.

Желательно еще максимально простую в конфигурации.
963759
#238 #963759
>>963752
Нахуй тебе orm в мобильном приложении? Бери StorIO и не выёбывайся.
963762964791
#239 #963762
>>963759

>StorIO


Расскажи вкратце - ждут ли меня там SomeTableContract
SomeTableContractEntry
Cursor через Cursor и тп?
965972
#240 #963788
В Clean Architecture в каком слое нужно форматировать строку для вывода (к примеру, поступившие с данных "Вася" и "Сычёв" форматировать в "Омежка Вася Сычёв")? В интаракторе (по идее, логика формата - тоже бизнес-логика) - и возвращать Entity с уже отформатированной строкой?
Или прямо в вьюхе?
965971
#241 #963919
Не знаю, где спросить, спрошу тут. Имеется телеграммовский клиент на Андроиде, под рутом умею доставать сообщения и контакты из cache4.db. Вопрос, можно ли как-то достать аватары пользователей (url или просто jpeg-файл), как из того же вотсаппа?
#242 #964676
Как запустить одну Activity из другой так, чтобы в recent было 2 активити?
964735964867
#243 #964735
>>964676
Как вариант,
https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NEW_TASK
И сам еще почитай про таски и бек стек активити
964739
#244 #964739
>>964735
С этим флагом оно так не работает.
Уже пробовал.
#245 #964766
Поставил я значит такой себе StreamSupport где-то месяц назад. Всё было хорошо, но вчера я запустил код который давно не тестировал и в котором юзаются стримы и получил:
Caused by: java.lang.ClassNotFoundException: Didn't find class "java8.util.stream.RefStreams" on path: DexPathList
964867
#246 #964791
>>963759

Что блять? Что нахуй? Я не верю своим ебаным глазам, какой нахуй StorIO, у меня не хватает слов чтоб выразить свое негодование, пошел нахуй отсяда, сраный уебок, и чтоб я тя больше не видел здесь, или я вычислю твой ойпи и ты будешь всю жизнь есть манную кашу через трубочку, ебаный дегенерат.
964925
#247 #964867
964877
4 Кб, 441x179
#248 #964877
>>964867

>proguard вырезал?


Ну вроде да.
#249 #964925
>>964791
Какое аргументированное мнение. А теперь съеби в js-тред.
#250 #965402
Доброго времени суток, господа. Заранее прошу прощения за невский вопрос, но не могу его не задать. Скажите, что значит фраза "хороший уровень java"? Как определить момент, когда я достаточно проштудировал обучающие материалы по языку и могу переходить к андроид-разработке?Ещё раз прошу прощения за такой невский вопрос. И заранее спасибо за ответы.
965404965447966097
#251 #965404
>>965402

>невский


Сукааа, нубский конечно.
#252 #965447
>>965402
я вообще не зная java начал под ведро писать.По ходу научился
965500
#253 #965500
>>965447
Аааааа , блядь, я уже не человек нахуй...
Тогда как правильнее всего поступить. Вот допустим у меня цель написать свое приложение (есть пара идей) для андроида. Что мне делать? С чего начать что бы не обосраться? inb4 ты уже обосраться, проснись
заранее спасибо за ответы
965569965923
#254 #965569
>>965500
Для начала напиши хелоу ворлд под ведро и затем просто начни делать проект, что не понятно гугли/сюда пиши
#255 #965646
Как через ретрофит кинуть запрос а потом распарсить бинарник чет в двух соснах запутался
965652
#256 #965652
>>965646
Тебе нужно что бы возвращался ResponseBody.
#257 #965695
Какие вообще минусы у WebView перед TextView?

Через CSS же можно запилить годнейшую разметку, которая будет отлично смотреться на практически всех экранах.
Особенно это касается шрифтов. vw и vh дают ТУ САМУЮ возможность задавать размер текста процентно, например.

Какие еще есть альтернативы такому процентному заданию размера текста? sp или dp вообще не гарантируют, что надпись будет занимать не больше 5% от ширины экрана, например.
965705
#258 #965705
>>965695

> Какие вообще минусы у WebView перед TextView?


То, что вебвью жрет ресурсов дохуя например?

> ТУ САМУЮ


Ту самую ненужную? Больше экран = больше контент, для остальных случаев есть intuit/sdp
#259 #965706
>>965705

> контент


контента
#260 #965713
>>965705

>Ту самую ненужную?


Ты знаешь текущую задачу, которую нужно реализовать, чтобы говорить, что не нужно?
Это мантры сектантов, "нету - значит и не нужно".
Небось, еще до появления Percent(Relative\Frame)Layout'ов то же самое бы сказал.
#261 #965719
>>965705

>intuit/sdp


Но sdp видится как раз очень хорошим дополнением к Percent(Relative\Frame)Layout'ам. Точнее, spp для текста. Спасибо за наводку.
965735
#262 #965728
>>965705
Кстати, как вообще такие библиотеки находятся? Через гугл бесполезно искать же. Сарафанное радио? Собственноручные копания в гитхабопомойке?
Вот никогда бы не натолкнулся на это сам.
965736
#263 #965735
>>965719

>paddingRight="@dimen/_43ssp"


Охуенно. Всегда мечтал о таком. Шишка аж воздымилась.
#264 #965736
>>965728
Через вопросы на стеке, а ля "Как сделать заебись хуйнянейм?"
965781
#265 #965781
>>965736
Всего 21 упоминание там. И всего одно с 10 голосами. Остальные не получали больше 0-2, что очень странно для такой годноты.
965783
#266 #965783
>>965781
И это за три года. Неужели всем так нравится пердолить пиксели в 100500 вариациях, вместо траты времени на что-то более полезное и интересное?
965856
#267 #965856
>>965783
Я пробовал это решение, конкретно мне не подошло, я сам зафигарил себе с десяток размеров под мобилку семидюймовый и десятидуймовый. Идеальная ситуация когда дизайнер сразу рисует какое увеличение тебе нужно. А там мне показалось слишком большой мультиплякатор.
965939
#268 #965870
Я правильно понимаю, что андроид разработка, это как фронтенд, только без на джаве и без html и css, а на основе xml, а данные берутся с сервера, или можно сделать стэндэлон приложение, которое и данные хранить будет уметь и в сеть ходить и логика и все?
965871965878965924
#269 #965871
>>965870
на джаве*
#270 #965878
>>965870
Конечно можно сделать стенделон приложение, как по твоему работает будильник?
965892
#271 #965892
>>965878
Не я имею в виду, можно ли хранить данные прямо в смартфоне, поддержка бд?
965898
#272 #965898
>>965892
Да, из коробки есть SQLite, и key-value хранилище.
965902
#273 #965902
>>965898
О, тогда круто.
#274 #965923
>>965500
Я бы порекомендовал прочесть какую нибудь макулатуру по андроиду, вроде BigNerdranch, где более менее доступно пояснены основные моменты в разработке. Естественно, что ты нихуя толком не запомнишь, но это даст тебе хотя бы начальный кругозор, дабы не обосраться в темном лесу, при написании даже чего либо легкого. Далее просто создаешь проект и начинаешь потихоньку его пилить, гугля все и вся.
Хороший уровень владения чем либо, это когда ты можешь в голове прикинуть сразу несколько путей решения той или иной задачи, а не "а с чего бы вообще начать?".
#275 #965924
>>965870
Андроид разработка, это и есть фронтенд. Только без ебаного html+js. Пиздец, что за люди пошли. Ты кроме веба вообще ничего в жизни не видел?
#276 #965939
>>965856
Вот только у меня нет дизайнера, я один, и меня уже заебало тратить время на более чем 4 варианта разметки (2 под ориентацию, и их вариации под планшет).
С этими десятками размеров пидорасится инкапсуляция - захочешь где-то сделать изменения и придется в каждый xml-файлик залезть, и ничего не забыть (а ведь они еще и на куски могут быть разбиты, пздц). А потом еще и все это говно запустить на десятке тормознутых эмуляторов.
СЛИШКОМ много времени уходит на все это. И часто - с костылями в коде, потому что тот же кастомный шрифт ты хуй задашь через xml, например.
965968965974965990
#277 #965945
>>957315 (OP)
На SDL2 кто-нибудь писал? Сложно вкатиться в этот NDK?
#278 #965968
>>965939

>тот же кастомный шрифт ты хуй задашь через xml


Wrong
В О завезут нативную поддержку, с calligraphy давно есть.
965977
#279 #965971
>>963788
interactor/presenter
#280 #965972
>>963762
да, именно так. Просто StorIO дает немного ништяков при сохранности возможности управлять ей на низком уровне
#281 #965974
>>965939

> кастомный шрифт через хмл


Calligraphy
#282 #965977
>>965968

>с calligraphy


Я слышал про нее, но пока не щупал. Но в принципе и сейчас можно через style. Я больше имел в виду возможности "из коробки", наверное.

А насчет О - это вообще не решение в перспективе лет 5, потому что более старым версиям от этого ни холодно, ни жарко будет (min api 14 не даст этим пользоваться же, например).
А делать что-то эксклюзивно под 5% обладателей О как-то не очень.
965981
#283 #965981
>>965977
Понятное дело, просто оно потихоньку доползает.
#284 #965990
>>965939
Хех, у меня есть набор расширений к AppCompatTextView, каждый для своего шрифта, и их прям в xml и пихаешь. Нормально так выходит.
965996966005
#285 #965996
>>965990
Пизда, а если тебе нужен шрифт в TextInputLayout'e? Лучше бы в databinding запихал ей богу.
965999
#286 #965998
А кто-нибудь пробовал с i2p приложения разрабатывать ?
#287 #965999
>>965996
Ну, мне было не нужно добавлять кастомный шрифт в textinputlayout
#288 #966005
>>965990
Если все равно приходится делать свой сабкласс View, почему бы в конструкторе свой кастомный параметр в xml не парсить?
Например

String font = attrs.getAttributeStringValue(null, "font", "default.ttf");

Не придется кучу вариаций содержать.
966007
#289 #966007
>>966005
И потом в сабклассе Application закешировать, чтобы один шрифт был загружен только один раз на все приложение, и не было утечек памяти не было через
Typeface.createFromAsset(context.getAssets(), fontName);
#290 #966041
Ребята, посоветуйте, пожалуйста, ресурс, где можно узнать название всех UI елементов андроида я гуглил, найти не могу, типо боковое меню, верхнее меню, там, кнопка, слайдер, но как они называются на самом деле в сообществе, нигде не могу найти
966099
#291 #966089
>>957560

>андроид грохнуть моё активити, но не грохнуть сервис


может, и не может наоборот. если сервис грохнет - то только после того как грохнёт активити. такие приоритеты уж у него. поэтому пихай в сервис.
#292 #966095
>>957787
армию нахуй, постарайся пробиться в какойнибудь яндекс на стажировку на годик-два во время учебки (там какраз порядка 30-50 платят стажирующимся). заодно и социализацию прокачаешь.

потом поднимешь опыт и можешь удаленку искать. иначе без пруфов того что умеешь могёшь на удалёнку тебя работодателю слишком рисково брать.
#293 #966097
>>965402
Хороший уровень Java - это ответить на любой вопрос, упомянутый в этой книге https://www.amazon.com/Programmer-Study-1Z0-803-1Z0-804-Certification/dp/0071772006

По Андроиду, к сожалению, почти все книги - хуйня.
#294 #966099
#295 #966187
Как открыть активити в новом окне на устройствах до API Level 21?

Intent.FLAG_ACTIVITY_NEW_DOCUMENT - доступна только с api level 21
Передача данных из xml разметки в конструктор класса #296 #966257
Всем привет!
У меня вопрос, как в конструктор определённого класса передать свойства элементов из xml кода. Дело в том, что я пытался делать вот так https://pastebin.com/DK020UJ0 но благополучно получаю NPE. Помогите советом.
#298 #966360
>>966257
Чет не понял, зачем тебе конструктор в activity.
И в твоем примере не понятно, какой ты аттрибут из xml хочешь вытащить.
#299 #966372
Добрый вечер, господа.
Изучаю Java и андроид около месяца, до этого другие языки не изучал, разве что только поверхностно. Никак не могу понять, как получить SHA1 и заюзать google api. Уроков по созданию сетевых приложений я не нашел, а в официальной документации от гуглов хуита непонятная. Подскажи, адекватный анон, как же это сделать или какие уроки загуглить, а то я уже неделю в ступоре
966389966398
#300 #966389
>>966372

>Java и андроид около месяца


Да ты охуел.
966391966414
#301 #966391
>>966389
А потом такой
"в официальной документации от гуглов хуита непонятная"
Пиздец. Насмотрятся своих видосиков и ябутся в жеппы.
966414
#302 #966398
>>966372
https://developers.google.com/maps/documentation/android-api/signup?hl=ru

Если тебе не понятно, что тут написано - то программирование явно не для тебя.
#303 #966414
>>966389
>>966391
Что за хейт на ровном месте? Эта доска для того и существует, чтобы аноны делились знаниями и опытом друг с другом.
Да, изучаю недолго, да. По видео, по учебникам. Все с чего-то начинают/начинали
#304 #966509
>>966257
Это так не работает, убери конструктор нахуй. Если тебе надо в активити что-то передать используй Intent, потом в onCreate всю эту хуйню сделаешь, а данные через getIntent() достанешь.
966510
#305 #966510
>>966257
>>966509
И запомни, для любых Application, Activity, Service и Fragment'ов всегда должен быть конструктор без параметров, что бы система могла потом сама восстановить компоненту.
228 Кб, 1080x1080
#306 #966513
Есть один 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());
}
}
966517966520
#307 #966517
>>966513

>В может быть чем причина??


>Caused by: java.lang.NumberFormatException: Invalid int:



Действительно, в чем же? Неужели оно не написало, странно...
966533
#308 #966520
>>966513
А вообще ты совсем какую-то хуйню делаешь, кроме того что там может быть пустота и не число, а потому и NumberFormatException, ты почему-то смотришь в onCreate, что очевидно не верно, так как в onCreate там еще пусто скорее всего.
966533
25 Кб, 343x597
#309 #966533
>>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));
}
}
25 Кб, 343x597
#309 #966533
>>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));
}
}
#310 #966711
Я ничего не знаю о разработке игр под ведро.

По-приколу сделал для тян подобие "3 в ряд" на обычных вьюшках (GridView, да, я мазохист, и вообще это было в целях обучения работы с ведром).
Ей зашло, и она хочет еще. Но вот беда - все это говно уже жутко тормозит, стандартные вьюшки не тянут сотни объектов на экране. Ничего нельзя добавить без удара по производительности.

Улучшатся ли мои дела, если я перейду на Canvas? Не хотелось бы брать простой путь в виде готовых движков, хочется попердолить стандартные костыли.
Или с Canvas тоже нет пути?
#311 #966719
>>966711
У кого есть опыт в Canvas и SurfaceView? Что из этого тут будет уместнее - и почему?
966720
#312 #966720
>>966719
Я так понимаю, SurfaceView предпочтительнее, ибо можно вывод вывести в отдельный от mainUI тред?
Но в то же время Canvas из этого SurfaceView не может быть hardware acceleration. Насколько это критично?
966729
#313 #966729
>>966720
Хотя, судя по всему, Canvas тоже имеет проблемы с доступной памятью. Лучше перейти на OpenGl.
#314 #966733
>>966711
LibGDX или Unity бери
#315 #966735
>>966711

> Но вот беда - все это говно уже жутко тормозит


Так делай перемещения объектов на translation'ах, а не margin'ax
966750
#316 #966748
>>966711
Единственный верный путь это Canvas + Surfaceview или OpenGL.

На canvas сделай.
#317 #966750
>>966735
Я так и делаю, но у меня две матрицы, и два представляющих их поля одно над другим.

Вот когда одно при каждом изменении обновлялся лишь адаптер одного поля - все было еще терпимым, но два работающих одновременно уже не тянет. И это при том, что в адаптерах новое View (с ViewHolder'ом, ага) создается лишь при определенных условиях, а не все сразу.

Каждая ячейка поля составная, часто из нескольких 10-20кб картинок.
Суммарно картинки не занимают больше пары мегабайт в объеме, казалось бы, но стоит добавить еще и фон на 500 кб - и тормозить начинает даже с одним полем и адаптером.
Хотя, можно было бы подумать над кешированием одинаковых картинок - но я хз, поможет ли это.

При срабатывающих одновременно 50-100 анимациях куча кадров пропускается, вплоть до невидимости происходящего. + Эта же проблема с добавлениям очков над уничтоженной клеткой. И бинго пердольности - сделать так, чтобы при уничтоженной бонус-клетке от нее разлетались шарики к клеткам того же типа на поле, например.

Кроме того GridView, в принципе, вообще хуево подходит для матриц, из-за прибитого гвоздями адаптера и отсутствия нормальной работы со столбцами.
Слишком пердольно и костыльно уже. Проще самому написать представление с 0, чем возиться с костылями.
#318 #966751
>>966711
Делать на GridView - признак неправильного мышления.

Всё, что нужно для 3 в ряд - нарисовать несколько фигур.
966754
#319 #966754
>>966751
Как я уже говорил, я выбрал обычные вьюшки, чтобы поучиться стандартной библиотеке (чтобы взяться за более приложение, не связанное с играми, уже набив шишки). Этим я полностью удовлетворен.
Ну и соблазнился сеткой, по примеру всяких уже деланных морских боев и саперов на декстопах.
#320 #967340
Привет и сразу к делу, нужно вырезать фон с объекта на фото (например шорты лежат на однотонном контрастном полу, нужно оставить шорты, а фон убрать) заебался - нихуя не получается. Может кто-то подскажет, или сам сделает за вознаграждение
967359967547
#321 #967359
>>967340
OpenCV
967360
#322 #967360
>>967359
Юзал-не осилил
#323 #967547
>>967340
Фотки шорт вкидывай.
967791
#324 #967791
>>967547
Абсолютно любой объект на однотонном фоне
967870
51 Кб, 414x414
#325 #967806
>>957315 (OP)
Я все больше наблюдаю вакансий по react native и даже на рассейском фрилансе заказчики часто хотят приложение имено на нем, а ведь Андроид он пока умеет дико коряво в глючно и все равно уже востребован. С ректом видится мне реально есть вероятность того, о чем говорили большевики и нативные приложения медленно но верно начнут умирать и я этому препятствий не вижу, честно говоря. Кто захочет платить в 2 раза больше, когда можно так нехило сэкономить, да и еще фронтенд обезьянку, которые и так в каждой первой конторе водятся, припахать можно, а не искать непонятных разработчиков на swift или kotlin. И, в общем, Антоны, у вас от всего этого еще не пригорает? А то у меня по немногу начинает, с учетовм того, что вкатиться пока только во фриланс получилось, а удаленных вакансий на hh по нативному Андроиду на последние 3 недели было 4 с половиной штуки (я мониторю). Куда, они, сука, делись?!

Особенно забавно на фоне всего этого выглядят те, кто только начинает ботать нативный мобайл, когда уже сейчас на фрилансе 80% заказов на гибридное приложение, сразу под обе платформы. А нативная разработка имеет неплохую вроятность перетечь на реакт по названным выше причинам. Поэтому если кто-то здесь только начинает, то я бы очень рекомендовал выбирать ios а не Android. Вакансий существенно больше и востребованность с недостатком кадров выше. Хакинтош настраивает за день и работает весьма плавно, первое время можно пускать хелло ворлды в симуляторе, а б/у Айфон с рук можно купить за очень небольшие деньги и накатить на него актуальную версию ios. Хотя меня Android и java нравятся и устраивают полностью, но ios сейчас востребованне и вкатиться проще.

И так, Антоны, что делать? Продолжать углубляться в чистый натив и надеяться на то, что хотя бы процентов 40 рынка останется за ним или понемному начинаться учить сраный js?
967810967868968083
#326 #967810
>>967806
Джава всё. Нативная разработка тоже уже скоро всё. Будущее за JavaScript.
967861
#327 #967861
>>967810

>Джава всё.



Это с чего вдруг?
968036
#328 #967868
>>967806
У меня приложение использует bluetooth и алгоритмы ЦОС. При этом ключевой момент - низкое потребление аккумулятора.
Как ты предлагаешь это на реакте делать?
#329 #967870
>>967791
Размытие + canny = получаешь очертание объекта на фоне.
Выбираешь всё, что внутри контура.
967933
#330 #967933
>>967870
При размытии контуры же станут менее четкими, кенни сможет тут нормально отработать?Как потом убрать размытие?
968003
#331 #968003
>>967933
Крути параметры.
Размытие нужно только, чтобы убрать неравномерности на контрастном фоне.
#333 #968082
Сап, котаны, а пробовал ли кто-нибудь загоняться по задержанной синхронизации данных в отдельном процессе при отсутствии интернета ? Вопрос собственно такой. Сейчас у меня есть проект, построенный по чистой архитектуре. Все работает в одном (основном) процессе, все репозитории-usecase-ы инициализируются соответственно в нем. Проблема появляется, когда мы откладываем какое-то действие, и приложение умирает.

Логично в таких случаях использовать компонент типа JobScheduler, ну, или просто самописный сервис, работающий в отдельном процессе. Но тут всплывает проблема номер 2 - необходимость либо дублировать инициализацию всех компонент domain и data слоев в этом(-их) сервисах, либо же инициализировать их только там, и болтать с ними из основного процесса через AIDP/Intent-ы, что, в общем то, далеко от предела мечтаний чуть менее, чем на дохуя.

Как вы решаете эту проблему ?
#334 #968083
>>967806
Натив онли, если тебя интересует что-то сложнее запроси-покажи приложений, конечно же.
971778
#335 #968218
Какую из архитектур выбрать, чтобы максимально быстро вкатиться и начать пилить?
Интересует прежде всего простота тестирования.
968225968241
#336 #968225
>>968218

> быстро вкатиться


> простота тестирования


Взаимоисключающие пункты.
#337 #968241
>>968218
В зависимости от сложности проекта нужно смотреть, да и специфики. На больших - лучше выбрать чистую/VIPER, сделаешь скелет, пропишешь основные компоненты и дальше со скоростью экран/сутки штампуешь.

Если речь идет о мелких приложениях - то банального MVP будет достаточно, да и тот не сильно обязателен. Можно даже попробовать что-нибудь на service + Broadcast receiver/другой шине запилить, чтобы быстро было
235 Кб, 1786x718
269 Кб, 1708x742
178 Кб, 1063x585
#338 #968557
Есть проблема.

Есть вьюха 3 пик, которую я запихиваю через include в другую.
Когда ставлю layout_height в match_parent, то все смотрится нормально 1 пик. Когда выставляю более логичное значение wrap_content, то вьюха съезжает вниз 2 пик.
Что за хуйня анон?
970031
#339 #968877
Как сделать чтобы в переводчике текст переводился сразу, еще во время его набора?
Например пока я пишу hello
мне выдает:
he - он
hell - ад
и т д.
968946970499
#340 #968946
>>968877
Ontextchangedlistener
#341 #969021
Кто-то пользовался ObjectBox'ом, как оно?
#342 #969520
Есть некий layout, на котором есть единственная view с match_parent размерами, которая не рисуется и всегда возвращает height/width -1. Почему такое может быть?
969524969569969701
#343 #969524
>>969520

> которая не рисуется


GONE? Тогда не удивительно.
969567
#344 #969567
>>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"/>
#345 #969569
>>969520
Странным образом стало выдавать 0 вместо -1. А вроде ничего не менял
969659
#346 #969659
>>969569
Напоминаю, что до onLayout getWidth/Height будет возвращать 0 всегда.
#347 #969701
>>969520
оно просто не отрисовалось. Поставь листнер onLaoutChange или че то такое
969755
#348 #969755
>>969701
Так в том и дело, что можно ждать бесконечно, оно не рисуется
969762
#349 #969762
>>969755
это западло у меня только на одном телефоне. На втором и на эмуляторе все в порядке
#350 #969867
Джаву знаю, решил вкатиться в андроид, нашел школу мобильной разработки от яндекса (бесплатная), гляньте плиз вступительной задание, реально до 24 апреля такое сделать, если андроид с 0 изучать или даже не пытаться и спокойно учить или может там изи и просто выглядит страшно?

https://academy.yandex.ru/events/mobdev/msk-2017/
5 Кб, 465x28
7 Кб, 666x48
#351 #969954
/pr, я просто хочу сделать обычный get на страничку гита. стаковерфло примеры все как один выдают пикрил один.
инет на телефоне есть. Что делать? Реально нужна помощь, иначе я тупо забью на всё это
969979
#352 #969979
>>969954
А интернет на устройстве-то есть? Если это эмулятор то может стоит перезагрузить. Попробуй еще https://github.com
970000
#353 #969986
>>969867

> андроид с 0


Там требования на задание предмидловские.
970003
44 Кб, 677x297
#354 #970000
>>969979

>инет на телефоне есть


писал же. устройство реальное. перезапуск апки не помог
Пробовал опять та же ошибосина.
970076972912
#355 #970001
>>969867
У меня знакомый при весьма хуевом знании жабы да и ведра вроде как сделал (смотрел его демку). Приходилось правда разъяснить ему че такое архитектура и с чем ее нужно подавать, но в целом - задание довольно простое. Мой совет - не используй там никаких ORM и юзай поменьше фреймворков. Тогда получится нормально запилить в срок. Начнешь ебаться с сторонними фреймами - хуйцов по срокам соснешь
970021
#356 #970003
>>969986
Я бы сказал, что upper-джуновские скорее
970078
#357 #970013
Сап, андроид-куны. Есть вопрос. У меня есть Switch, который нормально работает только при включении его.

https://pastebin.com/7uN8sLrv

Вот смотрите. Со стрингами всё нормально, если щелкать на эту штуку, то в логах всё выводится. Проблема в том, что изначально он находится в выключенном состоянии - так надо, но другие методы почему-то не видят стринг language. То есть стринг так-то задан и по-идее должен работать, но он работает только если я включу и переключу обратно Switch. Как поправить?
970023
#358 #970021
>>970001
Ок, спасибо, попробую
#359 #970023
>>970013
Простите, сам обосрался. Исправил
#360 #970031
помогите с >>968557 плизики
#361 #970076
>>970000

> хуй_пизда_джигурда



Завязывай, в джаве CamelCase. Ты небось в сеть на главном потоке ходишь.
970218970220
#362 #970078
>>970003
Нет, все же мидловские. По требованиям необходимо разработать конечный продукт не из говна и палок, так еще и покрыть его тестами.
972889
13 Кб, 579x111
#363 #970218
>>970076
бля не нужно жи гадать где я накасячил. тупо android не моё. Карма испорчена иду назад гонять змей в змеетред.
970231972888
#364 #970220
>>970076

>CamelCase


Отрефакторил бы но в жепу android
#365 #970231
>>970218

> setText из фонового потока


У тебя эта хуйня все равно не заработает.
970236970238
#366 #970236
>>970231
А вот уже интересно.
А как тогда?
970238970317
#367 #970238
>>970231
>>970236
Но это бы просто не поменяло текст. а текст меняется будто инета нет. Блин может это из за того что у меня на телефоне api4 а собираю в api25?
970246
#368 #970246
>>970238

> а текст меняется будто инета нет


Ну у тебя по идеи должна была выпасть ошибка Only the original thread that created a view hierarchy can touch its views.

> api4


Где ты это откопал?
970443
#369 #970317
>>970236
A S Y N C T A S K
S
Y
N
C
T
A
S
K
#370 #970443
>>970246

>api4


Досталось в наследство от прадеда нищеброд я
#371 #970479
>>969867
Лол тоже его делаю.
Встретимся на курсах, если не соснем, конечно.
970483
#372 #970483
>>970479
Лучше встретимся на курсах и там соснём друг у друга :3
970486
#373 #970486
>>970483
Обязательно.
Я кстати нашел несколько хороших open source подобных ТЗ.
Как их грамотно спиздить и выдать за свои чтобы не запалил?
Или можно смело пиздить ВСЕ ?
970491970499970511
sage #374 #970491
>>970486
Какое же ты днище.
970497
#375 #970497
>>970491
Я думал в общий доступ выкладывают чтобы можно было спизить, посмотреть как реализовано, не?
sage #376 #970499
>>968877
>>969867
>>970486
Вас туда точно не возьмут, с такими познаниями и отношением. И слава богу
970504
#377 #970504
>>970499
Ну там конкурс около 20 человек на место.
Не возьмут да и похуй.
Зато есть мотивация поделать (спиздить) приложение.
#378 #970511
>>970486
>>969867

Блять, с какими же червями я на одной борде сижу.
Один хочет ВКАТИТЬСЯ за две недели.
Второй хочет чужое ТЗ украсть и выдать за свое.

Черви, пидоры.
970686
135 Кб, 470x859
21 Кб, 1015x151
Эмулятор - лох, пидр #379 #970569
Ребят, что делать, если android эмулятор начинает дико тормозить, пропускать кадры грузиться 10+ минут хотя до этого всё работало и ни одной строчки кода не было написано что бы всё так сломать.
970688970747
#380 #970686
>>970511
Так я и спрашиваю, можно ли (понял уже что нельзя)
54 Кб, 604x461
#381 #970688
#382 #970747
>>970569
Genymotion ?
31 Кб, 750x118
#383 #970792
>>957315 (OP)
Аноны, как правильно сверстать элемент который на пик? Я пока вроде сделал и кажется получилось то что нужно, но меня гложут сомнения, что вложенность слишком большая и я не умею в верску UI. Аккуратнее и проще сделать как-то можно или и так неплохо?

https://pastebin.com/mCf5c8j0
970801971849
#384 #970801
>>970792
Не самая глубокая вложенность, терпимо на самом деле, можно использовать вместо <l><i><t></l>, один TextView, а можно использовать ConstraintLayout, тогда все вообще в одном перенте будут.
970804
#385 #970804
>>970801

>можно использовать вместо <l><i><t></l>, один TextView



drawableLeft/right у TextView не позволяет размер иконки менять, они слишком здоровы были, поэтому пришлось отдельным ImageView сделать. Про ConstraintLayout надо почитать, спасибо
970808
#386 #970808
>>970804

>drawableLeft/right у TextView не позволяет размер иконки менять


yep, это основная проблема, потом еще и не расположить как надо.
Еще можно попробовать RelativeLayout или даже PercentRelativeLayout
972884
#387 #970982
Решил сделать круглую картинку. Стал гуглить и обнаружил, что изкаробки решения нет. Везде какие-то вилосипеды. В результате заюзал Fresco. Все правильно сделал?
971075
#388 #971071
ГАЙС. Вопрос про организацию базы данных. Пишу программу, которая будет хранить данные о бытовых счетчиках.
У СЧЕТЧИКА БУДЕТ:
Имя, тариф, показание, id, дата последнего показания.

И счетсчиков можно будет добавлять несколько. КАК организовать БД правильней? Сколько таблиц? разделять не разделять? Что делать?
971082972152
#389 #971075
>>970982
Вряд ли, я бы обошелся чем-то менее тяжеловесным и Glide и Picasso имеют нужные возможности.
#390 #971082
>>971071
Я бы сделал две таблицы:
1) id-счетчика, имя счетчика, тариф
2) id-показания, показание, дата, id-счетчика
+ индекс для показаний, и тебе не надо хранить последнее показание отдельно;
972882
109 Кб, 1440x2560
#391 #971143
Аноны, как от Яндекса взять дополнительную инфу по переводу? Как на скрине.

Пока что у меня получается только моментальный перевод через TextWatcher

update: пока писал нашел инфу сам, дополнительная инфа по переводу запрашивается через API Яндекс словаря. (Это для анона который со мной делает это ТЗ)
971593
#392 #971593
>>971143
Давно пилишь?

Я с 15 марта еще начал, запилил все минимальные требования + подробное описание со словаря, сейчас покрываю тестами.

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

Оставь контакты, пообщаемся
971785971824
12 Кб, 959x210
#393 #971775
Анон, помоги с вопросом.
Внутри функции есть исключение try catch.
Мне нужно, что функция возвращала return-ом переменную.
Но как сделать, чтобы return срабатывал в поле try?
Пример кода
http://pastecode.ru/0eb518/
#394 #971778
>>968083

>сложнее запроси-покажи приложений


90% прилаг
#395 #971785
>>971593
А ты хорошо знаешь Ведроид? Какой опыт в программировании? Просто интересно.
Я другой анон, не тот, которого ты спрашиваешь
мой телеграмм - ambientbro
972270
#396 #971824
>>971593
У меня наоборот сделан моментальный перевод (через AsyncRequest) , а как подрубить словарь я еще не допер.
Активно делаю только с выходных, до этого проходил всякие туториалы по андройду.
А какие контакты нужны?
У меня сейчас телефон в ремонте, так что могу либо фейкопочту либо скайп там или дискорд.
972270
15 Кб, 112x351
#397 #971849
>>970792
Еще такой вопрос в догонку. Вот такие дырки во вьюхе сделать реально? Важно чтобы тень от cardview правльно отображалась, т.е. додавить drawable цвета фона не выйдет. Пока решение не хочет гуглиться, есть какие-то варианты?
971936
#398 #971931
Без вышки джуном андроидным возьмут, если будет какая нибудь хуйня из говна и палок в плеймаркете?
971935
#399 #971935
>>971931
Нет. Нужна вышка и справка о том, что ты не лиственник.
#400 #971936
>>971849
Можно, как вариант - кастомная вьюха. Там ты на канвасе будешь рисовать правильный путь и ему тенюху.
#401 #971938
парни, где почитать подробно про архитектуру приложений на андроид?

Сидел, писал приложение и до какого-то этапа всё понимал. После чего стал охуевать от кучи собственных костылей, левых ненужных классов и явно лишних действий. Понял, что нужно было в начале всё на листике где-то расписать "что и как будет", после чгео только браться.
974733
#402 #971939
Кто-то объяснит мне наконец, зачем нужны все эти подписи private?

Я знаю, что это такое и почему его делают. Но блять! Если у меня в классе всего ОДИН стринг, то нахуя его делать приватным? Кто его дернет? Что с ним станет? Или это просто пишут ради написания, типа ебать умный дохуя написал ееееее ?
971942974734
#404 #972028
Было бы неплохо, если бы вы зарейтили код моей поделки
https://github.com/schvabodka-man/WhatToDo
Собираюсь это выложить в гуглоплей.
972054
#405 #972037
Документация написана еще не для всех классов, но это временно
#406 #972054
>>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'ы не отписываешь?
972066972883
#407 #972066
>>972054
Потому что я копипастил билды с maven central.
Окей, пофикшу.
А нахуй их отписывать?
972074
#408 #972074
>>972066
Подписки держат ссылку на активити.
972084
#409 #972084
>>972074
И что? Пару мегабайт памяти сэкономить?
972086972103
#410 #972086
>>972084
Причет, ты охуел?
972089
#411 #972089
>>972086
А зачем это нужно? Сборщик мусора и так все почистит - а что не почистит, то и не нужно чистить.
#412 #972103
>>972084

> очевидная утечка памяти в приложении


> И что? Пару мегабайт памяти сэкономить?



Ну я хуй знает что тут сказать даже.
972104
#413 #972104
>>972103
В джаве память не течет
972108972130
#414 #972108
>>972104
Ну тебе виднее.

Какой то классический пример уже:

> не понимает даже лайфсайкл активити


> зато уже напихал RX с даггером

972112
#415 #972112
>>972108
Лайфцикл это просто последовательность вызовов 3.5 методов, там нечему понимать.
972139
#416 #972130
>>972104
Память не течет, зато она может не очищаться, если программист еблан.
972134
#417 #972134
>>972130
Я самый умный и хороший программист области, района и всех трёх миров.
#418 #972139
>>972112
Там нечего понимать, но ты даже с этим обосрался.
972260
#419 #972152
Гайс. Вопрос про структуру БД. из поста >>971071
Я решил сделать такую структуру:
ТАБЛИЦА СЧЕТЧИКОВ:
1) id счетчика
2) Название
3) Начальное показание
ТАБЛИЦА ПОКАЗАНИЙ:
1) id показания
2) показание
3) дата показания
4) тариф
5) id счетчика

и тут меня осенило:
У меня же разные типы счетчиков на разных фрагментах (СВЕТ, ГАЗ, ВОДА). Счетчики это элементы ListView. Мне надо вводить новую колонку для счетчиков? ТИП СЧЕТЧИКА
972181
#420 #972181
>>972152
очевидно, да, если под названием имеешь в виду модель счетчика(название модели железки).
#421 #972260
>>972139
Это конечно не так
#422 #972270
>>971785
Чуть больше полугода работаю джуном, одно маленькое приложение в сторе.

В принципе сейчас могу что угодно сделать под ведро, вопрос только в качестве, особенно когда проект разрастается.
Тестовое моё мне уже не так нравится как в начале работы.

>>971824

>AsyncRequest


Это встроенное в ведро что-то?
Я за обращения в сеть напрямую через стандартное api вообще не шарю, заюзал ретрофит.

>А какие контакты нужны?


Ну лучше тоже ТГ, соберем конфу раз тут много желающих
972274
sage #423 #972274
>>972270
Съебите в /soc/, заебали.
972338
#424 #972338
>>972274
Хикка чтоле?
#425 #972365
Господа, какие существуют (существуют ли?) способы преобразования аудио аутпута на уровне приложения? Мне бы бинаурально преобразование сделать, или для этого нужно лезть в NDK по самые помидоры?
972843
13 Кб, 220x220
#426 #972379
Ведрач, выручай, в какую сторону копать?
Необходимо, чтобы приложение написанное на react-native запускалась при запуске девайса, а так же, чтобы это приложение нельзя было ни свернуть, ни выйти из него.
Сам вебразраб, в андроиде не силен
972382972395
#427 #972382
>>972379
Для запуска:
https://habrahabr.ru/post/271663/
Дай угадаю, киоск? Насчет не сворачиваемости не скажу, но можно сделать сервис который запускает приложение если оно не запущено и тупо по таймеру чекать, вообще все зависит от условий на устройстве, с рутом ты конечно многое сможешь сделать. Другое дело что все это надо делать вне js'a.
972384972401
#428 #972384
>>972382

>Насчет не сворачиваемости не скаж


Цитирую заказчика

>при попытке свернуть приложение центральной кнопкой или удержанием других комбинация выскакивает надпись, что "политика безопасности запрещает использование диспетчера задач". Приложение развернуто на весь экран.

972396972881
sage #429 #972395
>>972379

> react native


> вебразраб


Для начала научись читать шапку, а потом иди в свой тред.
972401
#430 #972396
>>972384
Ну тут и до кастомной прошивки можно дойти. http://stackoverflow.com/questions/17549478/how-to-disable-home-and-other-system-buttons-in-android
972401
#431 #972401
>>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


Спасибо, надеюсь поможет
#432 #972408
Возможно ли в xml-TextView задать переменную и менять ее на java?
Чтобы в strings.xml это выглядело как
<string name="next">Hello %username%</string>
972409
#433 #972409
>>972408
я так как-то делал:
<string name="next">Hello %s</string>

tv.setText( String.format( getString(R.string.next), "yoba"))

общую мысль, надеюсь, понял.
972414
#434 #972414
>>972409
Понял, да
#435 #972843
>>972365
Bump вопросу.
972879
#436 #972871
>>957315 (OP)
Куда дели каноничного трапа, суки ?!
#437 #972879
>>972843
Посмотри презентацию Григория Ключникова на тытрубе, он рассказывал о том, как он кодировал и декодировал видеопоток. Принцип будет примерно тем же (в NDK с его слов он не лез)
972892
#438 #972881
>>972384
Если это корпоративное приложение - то попробуй посмотреть вот здесь. Но соглашусь с одним из ответивших - тут на js не решить особо ничего, наверное: https://developer.android.com/work/guide.html
#439 #972882
>>971082
Лучше продублировать дату последнего показания в таблицу со счетчиками и поставить триггер на insert в показаниях, который будет автоматически обновлять дату в табице счетчиков при внесении нового показания. да, я, блеать, ненавижу joinить, когда можно избежать этого
#440 #972883
>>972054
Можно даже package-private, удивлю тебя. И не только можно, а нужно
#441 #972884
>>970808

>или даже PercentRelativeLayout


Фу-фу-фу, говномес, трубочист, еретик. Сжечь нахуй.
Каким ебланом нужно быть, чтобы не вектор выстанавливать в процентных значениях ?!
972887
#442 #972887
>>972884
Это несколько ортогональные вещи как бы (лэйаут и картинки), че тебя так от лэйаута порвало?
972891
#443 #972888
>>970218
Умри. Просто, блять, сдохни. Ты из какого потока View обновляешь, пес?! Я тебя сейчас за это за щеку обновлю, сука, накачаю тебе апдейтов полон рот.
#444 #972889
>>970078
И что? Само приложение тянет максимум на upper-junа, там нету нихуя сложного. Все решается без каких-либо сложных архитектурных решений. Не требуется работать со сложными компонентами API Android, ну и так далее.
#445 #972891
>>972887
Потому что по контексте видно, что процентаж относится не только к tv, иначе о нем речи бы не зашло.
972894
#446 #972892
>>972879

>Григория Ключникова


Спасибо за совет, но я что-то совсе не могу найти, нк мог бы ты скинуть линк?
972896
#447 #972894
>>972891
Ну я вообще не предполагал процентами на картинку влиять, я больше о позиционировании.
972895
#448 #972895
>>972894
даже за это можно ноги-руки поотрывать процентах в 90 случаев. В офф. нотациях про проценты ни слова, так хули ты решил вдруг что нужно мутить что-то, о чем нормальные дяди ничего не говорят?
972910
#450 #972910
>>972895
В смысле? Про эти лэйауты есть в статье про саппортные либы, у меня есть ощущение что в некоторых случаях эти лэйауты использовать лучше чет констрейнт.
>>972896
Спасибо.
972916
#451 #972912
#452 #972916
>>972910
Несмотря на то, что они саппортные, в материал дизайн нотации очень четко прописаны 99,9% отступов в dp. Не следует делать адаптивку для мобайла, это плохой тон.
972931
#453 #972922
Комрады, хочу написать аппликуху для дроида. Мне нужно что-то с минимальным порогом входа. Я охуел от тормознутости и огромности AndroidStudio и мне перехотелось ее использовать. Есть ли что-то более простое, с точки зрения Unix/VIM юзера? Мне нравится FP, и не нравится Java/XML, поэтому выбираю между Kotlin и Clojure из языков. Приложение достаточно простое, по сути - демон.
#454 #972926
>>972922
Eclipse
#455 #972931
>>972916
А как тогда без адаптивки учитывать, то что например, в лендскейпе у некоторых дейвасов есть нав бар, а у некоторых нет, я в процентах в констрейнте/персенте раскидаю и если пользователь сделает размер текста больше фиксированные отступы не пожуют текст и все хорошо.
>>972922
Возьми котлин, у кложы будет серьезный оверхед на мой взгляд. Компилировать можешь через консольку и заливать через нее же. Я думаю для вима даже есть плагины.
972933
#456 #972932
>>972922
Code studio + ручной билд
#457 #972933
>>972931
все просто, ты создаешь отдельную разметку для каждого типа экрана.
972935
#458 #972935
>>972933
Ну давай отдели экран нексуса 5 от экрана например S5. У одного есть навбар на экране, у другого хардварные кнопки. Или я накачу кастомную прошивку и сделаю себе в довесок к хардварным кнопкам навбар на экране. В результате теряю ~40dp во горизонтали из-за навбара.
972940
#459 #972940
>>972935
Нормальные люди не поддерживают кастомные прошивки и не гарантируют корректное отображение UI и работоспособность приложений на них...
972963
#460 #972963
>>972940
Что за пушку я прочитал? Как ты отличаешь кастомную от обычной, наркоман? Гапс это кастомная или родная? А если я на хуеми линедж накачу, или я купил хуейзу и хочу туду от васян666 запердолить, или мне надоела самсунговская анальная хуйня.
972978
#461 #972978
>>972963
Если человек будет обращаться с проблемой в тп, с него спросят данные о девайсе. Или если в статистике будет крэшлог - сначала будут смотреть на данные о девайсе, и если это официалка - уже фиксить
#462 #972980
Аноны, какой самый оптимальный способ реализовать bottom navigation view ?
Я запутался что такое activity и что такое fragment, получается делать только через обычное меню (три точки сверху слева) но это не то что нужно.
Ссылку или что гуглить хотя бы
972999973004
#463 #972999
>>972980
Открой семпл который предлагает студия для этого боттом бара. И в тот фрейм что сразу в активти просто пихай фрагменты, все как с дровером.
#464 #973004
>>972980
Сначала нормально разобраться в том, что такое Активити и что такое Фрагмент и зачем они нужны
#465 #973258
Здарова, двачаны. Маза такая, есть битмап фотки его подгружаю в ImageView, потом модифицирую и модификацию записываю в другую переменную, и из другой переменной я закидываю в ImageView, всё меняется всё хорошо, но после смены битман фотки становится recycled и я с ним работать не могу хотя надо, помогайте код выкладываю ссылкой, внизу сообщение из дебага:
https://pastebin.com/kZqUEvRc
973367
#466 #973280
>>972922

> выбираю между Kotlin и Clojure


Ещё Scala посмотри, под андроид на нём отлично писать выходит.
#467 #973316
>>968036
норкоман, не знает чем Java от Java EE отличается
973321
#468 #973321
>>973316
Думаешь, если сдохнет EE, то это никак не отразится на SE и она будет себя прекрасно чувствовать?
973513
#469 #973367
>>973258
бамп
#470 #973513
>>973321
На EE уже одно легаси, энтерпрайз на спринге весь.
973880
#471 #973655
Есть стринга, в которой набор слов, надо выбрать те, которые начинаються с определенной буквы, а после неё идут цифры. Как это сделать, или хотя бы как гуглить?
973764
#472 #973657
Кто ответит на вопрос по моему коду? С помощью диалога я добавляю в БД некоторые данные, которые должны потом отобразиться в ListView.

Данные добавляются в БД (скачал базу с утройства после выполнения. данные есть), но в ListView через кастомный адаптер не хотят идти.

300р могу дать за решение проблемы. + задам пару вопросов.
Кто готов помочь - пишите.
973764
#473 #973764
>>973655
regex
>>973657
Данные у него идти не хотят, пиздос, еще и секретный дохуя, вот ты бы выложил кучок кода на пастабин и тебе бы уже кучу ответов за щеку напихали.
973865
#474 #973837
Аноны, я вконец запутался с bottom navigation view.
Нашел два примера, в одном все меняется через fragmentы
В другом меняется видимость элементов:
if(layout.equals("main")){
main.setVisibility(View.VISIBLE);
favorite.setVisibility(View.GONE);
settings.setVisibility(View.GONE);

Какой способ правильный из этих двух??
973927974239
#475 #973865
>>973764
Починил уже. в адаптере кое что не так возвращалось
#476 #973870
В стандартном bottom navigation view можно убрать текст под иконками? чтобы они были выровнены по центру? Если оставить пустой title то иконки как бы ближе к верху стоят.
973928
#477 #973880
>>973513
Лол, Спринг по-твоему не поверх EE написан?
973966
#478 #973927
>>973837
Легче фрагментами, но можно и через вьюхи. телега вон все на вьюхах, код ужасный но продукт нормальный.
#479 #973928
#480 #973966
>>973880
Нет, просто поддерживает спецификации
#481 #974239
>>973837
Так ViewPager жи.
175 Кб, 340x255
#482 #974468
подскажите почему с компиляцией не создается класс DaggerAppComponent? Модуль есть, интерфейс AppComponent тоже
974566
#483 #974566
>>974468
Apt? Логи?
#484 #974567
Поясните: стоит ли юзать котлин, или это говно умрёт вместе с джеком, не родившись?
974577
#485 #974577
>>974567
Ну, у тебя есть выбор: писать на активно разрабатываемом языке с удобным сахаром, комфортной работой с данными и минималистичным синтаксисом, или писать на старом, медленно развивающимся языке, на котором ты для элементарных задач будешь фигачить тонны циклов и страдать от синтаксиса.
Сам решай. Котлин умирать совсем не собирается.
#486 #974733
>>971938
в гугле по тегам, MVP(либы: mosby, moxy), MVVM(не актуально вроже), VIPER (не пугайся, что там про айфон в основном - для ведра тоже актуально), (еще есть даташины и подобные - но вроде уже считается не актуальным, в том смысле что возлагали надежды, которые не оправдались - вместо нагромождения еболы в активити получили колбэкхэлы) + посмотри что такое DI
в ютубе, кстати, есть довольно много видосиков на тему
+ на десерт: луркай гитхабы
#487 #974734
>>971939
рассмотрим два ситуейшена: у тебя есть просто паблик стринг и есть прайват стринг с геттером и сетером. Проходят дни, недели и ты понимаешь что этот стринг нужно не просто устанавливать\получать, но еще и как то предварительно проверять на нулл или менять. И в случае с паблик стрингом - тебе придется пройти по всему своему говнокоду и поменять везде на то, что ты хочешь. В случае с геттером\сеттером - ты поменяешь код только в одном месте - в самом геттере\сеттере.
На самом деле я бы посоветовал тебе не использовать private, а наступить на эту граблю самому, тогда до тебя дойдет вся магия.
277 Кб, 1920x1080
Play Market #488 #974771
Анон, если в своем приложении буду воспроизводить вэбэмки с музыкой и прочим контентом, то гугл не начнет ругаться на нарушение авторских прав? Приложение будет нечто плеера, в котором конкретно будет указан сервак с тем самым контентом.
974772
#489 #974772
>>974771
не начнет. Скрины сделай только без нарушения авторских прав
974773
#490 #974773
>>974772
А в случае наличия порнографических материалов?
974795
#491 #974795
>>974773
Выебет в анальную жепу ануса
#492 #974803
Как грамотно спиздить кусок чужого кода, чтобы не запалили?
Кроме как поменять название всех переменных методов и классов?

И что потом будет если на собеседовании попросят пояснить за этот кусок? Посадят на бутылку?
974806974817974847
#493 #974806
>>974803
В загадки с тобой играть будут.
974827
#494 #974817
>>974803
Понять что делает этот кусок кода и написать для себя.
974827
#495 #974823
CameraSource.takePicture(null, new CameraSource.PictureCallback() {
@Override
public void onPictureTaken(byte[] bytes) {

Bitmap imageBitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
...
}

Дебажил это говно, массив байтов нормально заходит, но пикча не декодится, в чем проблема?
пробовал сохранять в интернал мемори, а потом брать оттуда, та же хуйня
#496 #974827
>>974806
Какие загадки?
>>974817
Так зачем писать самому если можно спиздить?
974832974835974847
#497 #974832
>>974827
МОжно сделать лучше например.
#498 #974835
>>974827
Есть два стула...
sage #499 #974847
>>974827
>>974803
Ты опять выходишь на связь, мудила?
#500 #974851
#501 #976148
Нужен прогер, для разработки и дальнейшей работы над мобильным приложением.
Опыт работы обязателен.
Мои контакты son.IFivebaANUSyande`{dxPUNCTUMr=fyu
Зарплата от 500зеленых в месяц. В перспективе рост зп
В письме рассказать немного о себе, о своих проектах и т.п., сколько готовы уделять времени работе, возраст.
#502 #981716
>>959573
В компоненте не обязательно объявлять WeatherReporter, т.к. твой WeatherReporter может инжектиться без модулей с пустым-то конструктором
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 4 июня 2017 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски