М.Двач / Программирование

Этого треда уже нет.
Это копия, сохраненная 4 июня 2017 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

205 Кб, 938x1116

Android Development Thread 2.1.2 20 Мар, 08:37 #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 (М)

Ответы957560958369959483959624960031960131965945967806970792972871

785 Кб, Webm

20 Мар, 08:38 #2 #957317

20 Мар, 08:51 #3 #957319

>>957302
Начинать всегда лучше с официальных гайдов.

20 Мар, 10:28 #4 #957338

>>957302
В шапке же есть, алё!

20 Мар, 10:30 #5 #957339

>>957060
>>957061
>>957122
>>957126

А на моё вопрос так никто и не ответил.

20 Мар, 10:49 #6 #957344

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

Ответы957550

20 Мар, 14:07 #7 #957485

Сап, двач. Есть один EditText и есть простой текст.

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

Так вот, с жамканием на кнопку и getText/setText всё оказалось просто. Теперь подскажите, как мне сделать так, чтобы в простом Тексте сразу же отображалось то, что я ввожу в едит тексте? Ну то есть в реальном времени как бы дублируя. Я так понимаю, что нужно либо создавать для этого поток Thread(), либо есть какие-то неизвестные мне методы. Спасибо

Ответы957495957496

20 Мар, 14:23 #8 #957495

>>957485
1. On change listener
2. Rx Bindings
3. Data binding

Ответы957496

20 Мар, 14:24 #9 #957496

>>957485
>>957495
Всё, проблема решена, я даун. Если у кого будет такая же, то вот решение

https://www.youtube.com/watch?v=MJ_32Tuuu74

20 Мар, 15:45 #10 #957550

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

184 Кб, 700x994

20 Мар, 16:00 #11 #957560

>>957315 (OP)
Суп, погромисты. Сам я начинающий, пишу свою прогу типа плеера для интернет-радио. Суть такова, что кнопка плей нажимается, музыка играется. Информация о текущем треке дёргается каждые 10 секунд с сервера, и если трек изменился, то ещё и обложка подсасывается. В данный момент эта процедура отрабатывается в основном активити (он один), музыка же играет в сервисе как положено. Всё работает почти неплохо, несмотря на говнокод.
Собственно вопрос, может ли андроид грохнуть моё активити, но не грохнуть сервис, из-за чего информация о треке перестанет обновляться? Стоит ли запихнуть получение данных с сервера в сервис с плеером? Просто по началу делал без задней мысли, а потом на гитхабе посмотрел сурсы похожих приложений и увидел, что там так же реализовано.
Благодарю за ответы.

Ответы957581966089

20 Мар, 16:34 #12 #957581

>>957560
Я бы через сервис дергал.

Ответы957583

20 Мар, 16:35 #13 #957583

>>957581
А я бы через анус пса.

Ответы957584

20 Мар, 16:35 #14 #957584

>>957583
Да ты и пса... Oh wait

20 Мар, 17:33 #15 #957607

Как убрать нотификацию, по клику на кнопку нотификации addAction()?

20 Мар, 17:43 #16 #957615

Двачик, скажи, ЧЯДНТ?

http://pastebin.com/ch6qwHTh

http://pastebin.com/UsfTwj5c

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

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

Ответы957617957641

20 Мар, 17:44 #17 #957617

>>957615
>
я хочу, чтобы текст в приложении менялся как в потоке. ТО есть 1, 2, 3, 4, 5.
Может надо не через Thread делать, а через Handler или что там ещё. Асинк таск?

Ответы957637

20 Мар, 18:06 #18 #957637

>>957617
Нельзя менять ui в не главном потоке. Используй AsyncTask первое время, чтобы понять идею. начнёшь блевать - гугли rxjava

Ответы957649

20 Мар, 18:10 #19 #957641

>>957615
И вообще, читай исключения, которые выкидывает

Ответы957649

20 Мар, 18:16 #20 #957649

>>957641
>>957637
спасибо. АсинкТаск могу использовать в другом классе? Или нужно в том же создавать, где главная активити? Или нужен вложенный класс?

Ответы957653

20 Мар, 18:22 #21 #957653

>>957649
я хочу на онКлик вызывать из другого класса - не хочу нагромождения в главном

20 Мар, 19:15 #22 #957687

Аноны, нужно ли повторно инициализировать элементы уи, если они иницалируются в онкриэйт?

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

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

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

Как правильно? Надо как с классами типа новый экземпляр создавать? Или нет, раз он инициализирован в онкриейт?
}

Ответы957749

20 Мар, 19:50 #23 #957727

Анонасы, мне 16, начинать вкатываться в джаву, именно в разработку приложений? Перспективно? Не кидайте в меня говном, адекватные ведь люди Паскаль,с++ чутка учил, вроде не тупой

Ответы957734957755

20 Мар, 19:53 #24 #957734

>>957727
Матешу сначала выучи.

Ответы957735

20 Мар, 19:54 #25 #957735

>>957734
В мат классе учусь, на уровне ЕГЭ знаю математику. А что там прям такого нужного?

Ответы957742

20 Мар, 19:57 #26 #957742

>>957735
Численные методы идеально знать надо.

Ответы957748957764

20 Мар, 20:03 #27 #957748

>>957742
Стоит ради этого идти в вуз? До 18 хотел понять на среднем уровне джаву и начать уже чем нибудь заниматься.

20 Мар, 20:06 #28 #957749

>>957687
Все что ты инициализируешь в onCreate будет в норме. Если дело идет после он криэйт смело вызывай свой сет текст.

20 Мар, 20:10 #29 #957753

alarmIntent = PendingIntent.getBroadcast(this, id, intent, 0);
alarmMgr.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()
+ (time), alarmIntent);

Получается так, что если я создам аларм до того, как предыдущий появился, то они оба алертнутся по времени последнего, что я делаю не так? Request код у них разный и создаються 2 алерта, но последний переписывает время предыдущего.

Ответы957782957802

20 Мар, 20:11 #30 #957755

>>957727
Да, вполне. Банковский софт сам себя не напишет, так что вкатывайся.
Яндекс вон недавно 17летнего пиздюка себе взял на работу, так что давай скорее вкатывайся, а то будешь слишком стар для этой хуйни.

Ответы957762

71 Кб, 1002x589

20 Мар, 20:15 #31 #957760

Спиздил пример TCP-чата(только клиент, сервер есть) отсюда https://www.myandroidsolutions.com/2012/07/20/android-tcp-connection-tutorial т.к. захотел разобраться как это вообще работает.

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

Выводит пикрелейтед ошибки. Классы и методы метит как Cannot resolve symbol/method В чем дело? Гуглил такие ошибки, в основном пишут просто удалить там папку idea и iml-файлы и ребилдить/клинить. Мне не помогает. Если не трудно кому - запустите данный пример у себя и скажите что не так.

Ответы957925

20 Мар, 20:16 #32 #957762

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

Ответы957763957771

20 Мар, 20:17 #33 #957763

>>957762
Нет.
В джаве нету фриланса, а удаленная работа только для премиум сениоров.

Ответы957765

20 Мар, 20:20 #34 #957764

>>957742
Какие нахуй численные методы, дискретка нужна.

Ответы957767

20 Мар, 20:20 #35 #957765

>>957763
Как же это так выходит? Я разве не смогу например делать приложения на андроид на заказ/делать и выкладывать в гугел плей.

Ответы957769

20 Мар, 20:21 #36 #957767

>>957764
Графы и комби мы учим с 5 класса, так что в это я могу более-менее. Только алгоритмов не знаю особо, но я думаю это можно выучить.

20 Мар, 20:22 #37 #957769

>>957765
Дак надо чтобы заказчик у себя размешал.

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

Ответы957773957777

20 Мар, 20:23 #38 #957771

>>957762
>Если я смогу в джаву , то есть ли шансы к 18 годикам найти себе удалённую работу?
Нет. Работу в офисе- да, реально.
Удаленно -нет.
Во-первых, как тебе ниже анон сказал, фриланса в джаве нет.
Во-вторых, фриланс начинается после 5 лет работы в офисе. Те, кто сразу идут во фриланс, выдают код хуже, чем индусы, и оплачивается их работа соответствующе.

Ответы957773957777

20 Мар, 20:23 #39 #957773

>>957769
>>957771
Ну тоесть анрил без вышки работать удаленно уча джаву? Во что вкатиться?

Ответы957778957779

20 Мар, 20:25 #40 #957777

>>957771
>>957769
Не дописал. Во что вкатиться что бы удаленно к 18 даже не 30 получать, а хотя бы 20-15к. Ибо меня погонят из дома либо в вуз и общагу, либо надо будет снимать хату.

Ответы957785

20 Мар, 20:26 #41 #957778

>>957773
На удаленку учи пыха, жабаскрипт, верстка и mysql

Ответы957781

20 Мар, 20:26 #42 #957779

>>957773
В гей-шлюхи.

Ответы957783

20 Мар, 20:27 #43 #957781

>>957778
Cпасибо, анон, добра тебе

Ответы957786

20 Мар, 20:27 #44 #957782

>>957753
bump

20 Мар, 20:27 #45 #957783

>>957779
я всрат

20 Мар, 20:28 #46 #957785

>>957777
Почему именно удаленно?
Хоккинз?

Ответы957787

20 Мар, 20:29 #47 #957786

>>957781
Тут когда-то был, может и сейчас есть, тред по пхп, с аниме на аватарке. Там были гайды и задачки от ОПа, он же их проверял. Рекомендую туда зайти

Ответы957788

20 Мар, 20:31 #48 #957787

>>957785
первое это то, что папа сам работал в офисе админом сети, и сейчас яро против офисов. говорит лучше работать дворником, чем постоянно как солдат в 8 утра приходить и в 7 уходить. Постоянные коллективные собрания, прочая хуйня. ну и да, немного сыч, но это лечится армией

Ответы957789957790957794966095

20 Мар, 20:32 #49 #957788

>>957786
Хорошо, спасибо. Если я на среднем уровне освою пхп, лучше начать легкие задачки по фрилансу делать, или сразу искать удаленку?

Ответы957793

20 Мар, 20:32 #50 #957789

>>957787
Работаю дома, заебало, хочу в офис.

20 Мар, 20:32 #51 #957790

>>957787
Не слушай его. Как тебе самому лучше, так и делай.

И армия для быдла, офк.

Ответы957800

20 Мар, 20:35 #52 #957793

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

Мне кажется​ что лучше сначала немного в коллективе поработать, понять как всё работает а потом уже и пробовать искать удалённую работу. Ну и инглиш надо знать (на ру биржу лучше не лезть, само собой).

Ответы957801

20 Мар, 20:35 #53 #957794

>>957787
Ну это все равно, что будучи девственником рассуждать, что секс- это неприятно. Ты сходи, поработай и сделай выводы. Тем паче устроиться на работу ИРЛ намного больше шансов, чем удаленно.

Ответы957801

20 Мар, 20:45 #54 #957800

>>957790
сейчас армия вроде стала лучше, а я блядь ебаное комнатное растение, не способное спросить где находится та или иная улица. Хорошо, спасибо за совет

20 Мар, 20:45 #55 #957801

>>957793
>>957794
Спасибо аноны

20 Мар, 20:45 #56 #957802

>>957753
Ну ответьте, плес.

Ответы957807

20 Мар, 20:48 #57 #957807

>>957802
Отбой, разобрался.

Ответы957810

20 Мар, 20:57 #58 #957810

>>957807
Поделись

Ответы957811

20 Мар, 21:00 #59 #957811

>>957810
С андроида 4.4 alarmManager.set() собирает все алармы в одно время, чтобы этого не происходило надо юзать alarmManager.setExact().

Ответы957824

20 Мар, 21:39 #60 #957824

>>957811
Может ты знаешь, как чекнуть работает ли определенный алярм?

Ответы957825

20 Мар, 21:40 #61 #957825

>>957824
Заставь его тоастами серить и поставь время маленькое.

Ответы957842

20 Мар, 22:04 #62 #957842

>>957825
Сделал круче - через FLAG_NO_CREATE

Ответы957852

20 Мар, 22:10 #63 #957852

>>957842
Правда не работает.

20 Мар, 23:51 #64 #957925

>>957760
Ебать дебил

Ответы957927

20 Мар, 23:54 #65 #957927

>>957925
Ну то помоги

Ответы957941

21 Мар, 00:09 #66 #957941

>>957927
Нет

21 Мар, 09:39 #67 #958069

Подскажите эмулятор, чтобы бесплатно и мог эмулировать разные реальные девайсы (ну, то есть не абстрактный андроид студио эмулятор, а чтоб, например, мог сэмулировть xiaomi определённой модели).

Ответы958071958075

21 Мар, 09:43 #68 #958071

>>958069
Нет таких. У самсунга можно взять девайс в аренду и подключиться к нему удаленно. Для максимального охвата есть фаирбейзовый тест лаб с реальными девайсами, но там гоняются только тесты.

21 Мар, 09:56 #69 #958075

>>958069
Gebnymotion, но китайфоны тебе никто эмулировать не будет.

Ответы958093

21 Мар, 10:46 #70 #958093

>>958075
это не эмулятор

Ответы958097

21 Мар, 10:55 #71 #958097

>>958093
что же тогда?

Ответы958100

21 Мар, 11:00 #72 #958100

>>958097
платформа виртуализации на virtualbox, но никак не эмулятор

Ответы958104

21 Мар, 11:16 #73 #958104

>>958100
Чем отличается эмулятор и платформа виртуализации?

Ответы958108

21 Мар, 11:25 #74 #958108

>>958104
Ты никогда не задумывался, почему эмулятор в Android Studio пиздецово медленный в отличии от ВМ Genymotion?
Юзай гугл.

Ответы958109

21 Мар, 11:27 #75 #958109

>>958108
Гугловский эмулятор по скорости такой же, как и Genymotion, и использует ту же виртуализацию на virtual box.

Ответы958110958152

21 Мар, 11:28 #76 #958110

>>958109
И на кой хуй тогда все ставят Genymotion?

Ответы958112958113

21 Мар, 11:30 #77 #958112

>>958110
Я например поставил genymotion, т.к. у меня амуда, которая не поддерживается дефолтным avd.

21 Мар, 11:30 #78 #958113

>>958110
Кто все?
Старая версия эмулятора работала медленно, да. Новую версию гугл по образу gm запилил, сделав его ненужным.

Ответы958118

21 Мар, 11:39 #79 #958118

>>958113
Но в эмуляторе от Гугл можно же получить на выходе другую архитектуру процессора, в отличии от gm, разве нет?

21 Мар, 12:42 #80 #958152

>>958109
> Гугловский эмулятор
> использует ту же виртуализацию на virtual box.
Вообще-то qemu гугловский эмулятор использует.

21 Мар, 14:48 #81 #958207

Как обвести вьюху рамочкой?

Ответы958236

21 Мар, 15:43 #82 #958236

>>958207
Сделать контейнер (framelayout\relativelayout) с вьюхой и рамочкой. Рамочка то сильно сложная?

Ответы958237

21 Мар, 15:45 #83 #958237

>>958236
Нет, обычная линия

Ответы958239

21 Мар, 15:47 #84 #958239

>>958237
У вью есть бэкграунд? Можно было бы рамочку на бэкграунд поставить.

Ответы958240

21 Мар, 15:48 #85 #958240

>>958239
Вью это кардВью, бэкграунда нету.

Ответы958244

21 Мар, 15:54 #86 #958244

>>958240
http://stackoverflow.com/questions/36575069/how-to-set-colored-border-on-cardview

Ответы958247

21 Мар, 15:56 #87 #958247

>>958244
Спасибо.

21 Мар, 17:48 #88 #958327

Есть gridView, в который динамически добавляются imageView, и у некоторых есть animatorUpdateListener'ы.

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

Есть ли лучший подход, чем держать в activity массив, в который добавляются эти listener'ы при создании, и которые при будут выключаться, если активити будет в OnPause и тд, например?

Ответы958378

244 Кб, 640x426

21 Мар, 18:00 #89 #958341

Здарова, аноны, подскажите плиз, была ли у кого-то такая шняга, что при вызове строк

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

метод в OnBackStackChangedListener , который onBackStackChanged , срабатывает ДВАЖДЫ? Именно дважды, при первом добавлении одного фрагмента. Причем делаю все , как обычно, на глупые ошибки всевозможные 100 раз проверил, но нифига. Помогите плиз, если кто сталкивался.

Ответы958352

21 Мар, 18:24 #90 #958352

>>958341
Как ты его первый раз добавляешь? Если через replace, то в этом и проблема, используй add.

Ответы958363

21 Мар, 18:43 #91 #958363

>>958352
и так, и так юзпл - проблема остается.

21 Мар, 18:51 #92 #958369

>>957315 (OP)
>Котаны, под чем удобнее писать под Андроид - Виндовс или Линукс?
Не ОС-срача ради, а удобства для спрашиваю.

Ответы958381958411958545

21 Мар, 18:58 #93 #958378

>>958327
Хотя, можно в onAnimationUpdate Listener'a проверять Activity.isDestroyed(), и отменять анимацию при true.

21 Мар, 19:01 #94 #958381

>>958369
А какая, нахуй, разница? Ты что-то левое компилировать собрался под ведро, типа интерпретатора петона?
Да и линуксософт хуета ебаная, даже имеющий огромное комьюнити. Например, QT Creator пиздец, какое глючный сравнительно с виндузоаналогом.

21 Мар, 19:30 #95 #958411

>>958369
На линуксе или маке удобнее тем, что есть нормальная консоль.
Остальное одинаково

Ответы958421

21 Мар, 19:39 #96 #958421

>>958411
>нормальная консоль
И чем же она нормальнее PowerShell? Как обычно, пердоля пукнул без пруфов.

Ответы958553959867

21 Мар, 21:41 #97 #958545

>>958369
Джва года назад градл у меня на винде был очень медленный, раз в десять медленнее, чем на линуксе на том же пека. С чем связано, не знаю. С тех пор кодил только на линуксе.

Ответы958555958561958605958610959044959784

21 Мар, 21:55 #98 #958553

>>958421
>PowerShell
Уебывай

Ответы958608

21 Мар, 21:58 #99 #958555

>>958545
>градл
Он и сейчас на винде такой
Причем проект на ноуте с линуксой слабее компа с виндой собирается в раза три дольше

Ответы958561

21 Мар, 22:10 #100 #958561

>>958555
>>958545
Чет мне слабо верится. Да, я верю в проседание процентов на 50, но никак не в 3 раза медленнее на такой же конфигурации. Может ему памяти меньше выделяется по умолчанию, или вы явно указываете? Антивирь-хуивирь там, градл нужно обязательно добавить в исключения виндефендера, а то тот начинает почему то охуевать.

21 Мар, 23:37 #101 #958605

>>958545
Ок, принято. Ну я мавеном буду собирать, но все равно на линуксе буду.

Ответы958609

21 Мар, 23:38 #102 #958608

>>958553
Обоснуй

21 Мар, 23:41 #103 #958609

>>958605
> мавеном
Пиздец ты ебанутый.

21 Мар, 23:41 #104 #958610

>>958545
Бля, меня уже этот градл доебал. Что не сборка, то перекур минимум на 5 минут. Так и от рака легких умереть можно.

Ответы958612

21 Мар, 23:42 #105 #958612

>>958610
Купи уже себе нормальный компьютер

Ответы958613

21 Мар, 23:44 #106 #958613

>>958612
Ебать, Ass Effect новый тянет, а это говно нет.

Ответы958616959598

21 Мар, 23:48 #107 #958616

>>958613
Ты разницу между игровым компьютером и рабочим понимаешь?
У меня вот не тянет наверное, зато собирается всё быстро

Ответы958625

22 Мар, 00:02 #108 #958625

>>958616
Ну давай, распиши какая принципиальная разница между ними.

Ответы958631959598

22 Мар, 00:18 #109 #958631

>>958625
Расписал тебе за щеку.

Ответы958647

22 Мар, 00:30 #110 #958647

>>958631
Какой ты убогий

Ответы958651

sage 22 Мар, 00:32 #111 #958651

>>958647
Отвечаешь тому, кого считаешь убогим? Ты убог в квадрате.

22 Мар, 00:37 #112 #958655

Как пихнуть обьект в интент? Сделал его parceable, но нихуя не помогло.

Ответы958658

22 Мар, 00:46 #113 #958658

>>958655
Значит, хуево сделал. Parcelable и передаётся

22 Мар, 10:21 #114 #958854

Что юзаете для генерации фабрик под ведроид? AutoFactory от google не предлагать, там гуава

Ответы958916

22 Мар, 12:40 #115 #958913

Анон помоги с дагером. В чем принципиальная разница анотации Inject и Module/Provides?

Ответы959299

22 Мар, 12:44 #116 #958916

>>958854
А там не как с AutoValue? А именно тебе не compile нужен, а provides, и тогда вся их поебень с гуавой только во время компиляции нужна, было бы логично, так как ты в компайлтайме фабрики генеришь.

Ответы959137

22 Мар, 17:01 #117 #959044

>>958545
Сижу на core i3, 8 gb ram и hdd на одном компе и таком же конфиге, но с core i5 4690 на другом.
Так вот, на i5 сильно быстрее, прям заебись даже.

22 Мар, 18:11 #118 #959098

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

Ответы959099

22 Мар, 18:11 #119 #959099

>>959098
Имею ввиду книги. Я же не совсем дебил чтобы читать статейки.

22 Мар, 19:20 #120 #959137

>>958916
Двачую.

22 Мар, 19:25 #121 #959140

Оцените мой стартап на Андроид!
https://www.youtube.com/watch?v=KoHD6oZzpvk

sage 22 Мар, 22:40 #122 #959299

>>958913
Inject - метка на поле/конструкторе/методе
Module - метка на классе
Provides - метка на методе класса помеченного Module.

Ответы959510

23 Мар, 11:47 #123 #959483

>>957315 (OP)
Подумываю перекатиться из питона в джава/андройд (да, я такой ебанутый). Вопрос, нужны ли в андройде навыки аналогичные вебовскому фронтенду? Просто мне надоело что каждый работодатель хочет от меня чтобы я запросы в БД мог оптимизировать, и сделать поиск на эластике и настроить/задеплоить продакшен и чтобы жс и верстка. ЗАЕБАЛО. Я просто не успеваю (и не хочу) изучать это все, хочу сосредоточиться на какой-то отрасли.

Ответы959490

23 Мар, 11:58 #124 #959490

>>959483
Андроид собственно и есть фронтенд. Верстка нужна, но она там изи и не такая ебанутая, как html.

23 Мар, 12:45 #125 #959510

>>959299
а в чем функциональная разница когда мы пилим Inject и Provides? Второе когда нам нужно что то передавать в конструктор?

Ответы959568

23 Мар, 15:16 #126 #959568

>>959510
Inject обозначает место, куда нужно внедрить зависимость. Provides - метод, который её предоставляет.

Ответы959573

23 Мар, 15:29 #127 #959573

>>959568
Нашел тутор где
public class WeatherReporter {
@Inject
WeatherReporter() {
}
}
Предостовляет.Потом тупо вызвал в компоненте
WeatherReporter getWeatherReporter();
Я чего то не понимаю.

Ответы981716

23 Мар, 16:22 #128 #959598

>>958613
>>958625
Да SSD просто нужен.

Ответы959862

23 Мар, 16:58 #129 #959624

>>957315 (OP)
Хочу вкатиться в ондроед разработку на петоне. Игры 2D/3D, нутыпонел. Какие подводные камни, анон?

23 Мар, 22:53 #130 #959784

>>958545
Димона запускал?

Ответы959824

23 Мар, 23:28 #131 #959824

>>959784
Он вам не Димон

24 Мар, 01:20 #132 #959862

>>959598
Два чаю. А еще лучше ssd+ 16+гб оператосы для ramdisk

24 Мар, 01:43 #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
???

24 Мар, 10:27 #134 #959976

Поясните за котлин. Он начал вытеснять жабу в новых проектах? Другими словами: при устройстве на работу мне прежде всего нужно будет быть готовым ебошить на котлине?

Ответы959987960010

24 Мар, 11:28 #135 #959987

>>959976
Нет. Только во всяких хипстерских стартапах. А вообще там ничего сложного и зная джаву учится как нехуй.

Ответы960009960010

24 Мар, 11:58 #136 #960009

>>959987
Да я про сложность и не говорю ничего. Просто он удобней чем жаба своей сахарностью. Чего только var стоят.

24 Мар, 11:59 #137 #960010

>>959976
>>959987
двачую. Скорее гугл голанг адаптирует чем позволит что бы котлин занял хоть какую то долю рынка.

Ответы960015960027

24 Мар, 12:01 #138 #960015

>>960010
Но ведь гугол уже прогнулся под жбрейнс, сделав андроидстудио оффициальной ИДЕ.

24 Мар, 12:51 #139 #960027

>>960010
Сомнительно.

24 Мар, 12:56 #140 #960031

>>957315 (OP)
Почоны. Есть ли смысл использовать Activity вместо AppCompatActivity если планируется поддержка устройств 5 и выше? Заранее извините если савсем платина, я не смог нагуглить преимуществ Activity по сравнению с AppCompat.

Ответы960035960044

24 Мар, 13:01 #141 #960035

>>960031
Единственное преимущество - отказаться от компат либы, но ты ее скорее всего все равно будешь использовать, так что преимуществ нет.

Ответы960044

24 Мар, 13:16 #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

24 Мар, 14:47 #143 #960089

>>960044
Хуже выглядеть не будет.

24 Мар, 16:31 #144 #960131

>>957315 (OP)
Аноны, на вакансию конторки Алеф ван лтд недавнюю не откликался никто? А то вдруг у кого тоже опыт общения с ними есть. А то тут такая ситуация, написал им на hh_ru дня 4 назад, сказали что заинтересованы, дали простейшее и тупейшее тестовое задание, сделал его до вечера с закрытыми глазами, вполне неплохо на мой взгляд, сегодня прислали отказ, ничего не объяснив и не прокомментировав. Вот не мудаки ли?

Может кому-то код отревьюить не лень будет, из спортивного интереса? Может я совсем тупой и не понимаю чем он плох и почему не приняли. Я бы ссылку на архив скинул сюда + переписку с hh. Приложение с одим экраном, кода немонго.

Ответы960133960177

24 Мар, 16:36 #145 #960133

>>960131
Сразу надо было постить тз и реализацию, хули.

Ответы960136

253 Кб, 1920x2057

24 Мар, 16:43 #146 #960136

>>960133
Не хотелось мусорить в треде, если всем похуй. Ну ок, прикрепил

Ссылка на json - devcandidates.alef.im/list.php
Архив с кодом - https://yadi.sk/d/Qt6_Oojv3GK6Nn

Ответы960207960230

24 Мар, 17:46 #147 #960177

>>960131
Мб просто кто то другой закрыл собой вакансию.

sage 24 Мар, 18:33 #148 #960207

>>960136
>Архив с кодом
Я б тебя тоже не взял?

Ответы960209960230

24 Мар, 18:41 #149 #960209

>>960207
Чем не понравился код?

Ответы960227

497 Кб, 659x1000

24 Мар, 18:55 #150 #960222

Вызывайте метод recreate() в активити по чаще!
Это позволяет найти баги, про которые вы вспомните, только когда они проявятся.

И ловите барса няшного.

Ответы960314

24 Мар, 19:00 #151 #960227

>>960209
Может стоит заливать код в репозитории?

24 Мар, 19:06 #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

24 Мар, 19:15 #153 #960236

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

Ответы960706

24 Мар, 19:20 #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

24 Мар, 19:26 #155 #960242

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

Мы вам перезвоним.

Ответы960244960269

24 Мар, 19:33 #156 #960244

>>960242
Два чая.

24 Мар, 19:45 #157 #960253

Что не так с >>>>BaseActivity<<<< я в своих проектах в таком классе CompositeSubscription держу, базовый контекст для calligraphy оборачиваю, репозиторий инжекчу.

Ответы960522

24 Мар, 20:02 #158 #960269

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

Ответы960274

24 Мар, 20:09 #159 #960274

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

Ответы960290

24 Мар, 20:38 #160 #960290

>>960274
> Съеби уже.

Если здесь отвечают только бесполезные чсвшные мудаки, что же еще остается делать

Ответы960295

24 Мар, 20:43 #161 #960295

>>960290
Алёшенька, дурилка ты картонная. Уёбывай по-хорошему играть в свою контру, пока тебе за шиворот не насрали.

24 Мар, 21:07 #162 #960314

>>960222
А можно просто воткнуть Don't keep activities

25 Мар, 01:29 #163 #960432

Сап, впорос по Rx. Как запилить timeout что бы если выполнение выходит за временные рамки - вызвать onComplete и при этом в нем не должно быть Values.

Ответы960639

25 Мар, 08:12 #164 #960497

Как лучше организовать такую вещь:
1. Длительный запрос к серверу в intent service (он убьётся при смахивании приложения из recent?)
2. Проброска в UI: результата и состояния (выполняется или провалился)?

Ответы960994

25 Мар, 10:11 #165 #960522

>>960253
Двачую за пояснение.

25 Мар, 11:37 #166 #960546

>>960230
Зачем здесь лоадер, если достаточно сделать асинхронный запрос при помощи retrofit и отменить его в onDestroy или там, где логически это лучше подходит?

Ответы960706

25 Мар, 12:24 #167 #960554

Расскажите про jni, имеет ли смысл использовать частые вызовы маленьких функций или там из-за этого задержки?
Дело в том, что я в армии и я написал программу, которая по показаниям акселерометра определяет хлопки по бушлату, и нужной комбинацией можно незаметно включить или выключить музыку (телефоны то тут нельзя). Но оно выжирает батарейку раза в четыре быстрее просто музыки и я подумал что может быть си-функции порезвее будут, если переключение на них не слишком накладно.

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

25 Мар, 12:26 #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

25 Мар, 13:21 #169 #960577

Поясните. Насколько реально вот из этого https://github.com/ejgallego/jscoq сделать приложение для андроида? Онлайн-версия в браузере работает, но это несерьезно, хочется локально жи.

25 Мар, 14:27 #170 #960639

>>960432
Анон помоги. Второй день ебусь. Есть FutureTask ждущий и возвращающий лист. Надо с Rx проследить что бы этот таск выполнялся не больше определенного времени, если больше - все ложим и вызываем onComplete. Как это запилить?

Ответы960642

25 Мар, 14:28 #171 #960642

>>960639
пока есть такая дичь
Observable.fromFuture(futuraTask)
.timeout(i -> Observable.timer(50, TimeUnit.MILLISECONDS), Observable.empty())

Ответы961044

25 Мар, 15:46 #172 #960689

>>960555
Ну вот, уже есть над чем подумать. До тестов не дорос пока, и в ресурсах, как оказывается можно и integer хранить. Спасибо что расписал.

25 Мар, 16:11 #173 #960706

>>960546
>>960236
Лоадеры хорошо с жизненным циклом связаны, решают все проблемы AsyncTask и не будут продолжать шуршать фоновыми операциями, если Activity ушла в BackStack

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

Ну и AT Лоадер сейчас это основной СДКашный дефолтный способ для любой многопоточки, особенно для загрузки чего-то откуда-то. А не 5 разных колбеков, у 5 разных либ, которые типо умеют в асинхронность

25 Мар, 22:32 #174 #960994

>>960497
Попробуй обычный сервис обмазанный бродкаст ресивирами

26 Мар, 00:16 #175 #961044

>>960642
Запилил так:
Observable.fromFuture(futureTask)
.timeout(100, TimeUnit.MILLISECONDS) .flatMap(this::listPopulationMoreThanOneMillion) .onErrorResumeNext(Observable.empty())
.doOnComplete(() -> futureTask.cancel(true));
У кого-то есть вариант получше?

26 Мар, 00:17 #176 #961045

Антоши. Нужен совет, ибо заебался. Гугл нихуя толкового не дал.
В общем, у меня есть MainActivity с ViewPager, в котором статически загнаны 2 фрагмента.
В MainActivity опреден листнер на FAB, который делегирует выполнение в один из фрагментов.
У фрагмента, в его реализации обработки идет вызов DialogFragment.show(), который принимает getFragmentManager.
Все бы ничего, но после поворота экрана getFragmentManager начинает возвращать null. Попытался вызвать getActivity().getSupportFragmentManager, но getActivity() тоже null. Какого хуя анон? Пытался всякие setRetainInstance юзать и прочее - нихуя не помогает.

Ответы961099

26 Мар, 03:52 #177 #961099

>>961045
Нашел таки решение. В общем юзал я FragmentPagerAdapter не FragmentStatePagerAdapter, в котором хранил коллекцию фрагментов, заполняемых заново каждый раз при повороте экрана. Но фрагменты там по факту создаются один единственный раз через getItem(position), а в ту заполняемую мной коллекцию каждый раз сыпались фиктивные фрагменты, которые не кидались в фрагментманагер.
Решение состояло из ручного вытаскивания фрагментов из фрагментманагера по тэгу: "android:switcher:" + pagerId + ":" + getItemId(position). Нахуй так жить посоны?

Ответы961102961322

26 Мар, 04:59 #178 #961102

>>961099
ViewPager вообще один из самых глючных и неудобных в использовании компонентов. У меня тоже постоянные с ним проблемы. Хуже него, пожалуй, только camera api

26 Мар, 11:10 #179 #961150

Как указать студии где искать NDK? Пакет установлен в /opt/android-ndk, переменная прописана ANDROID_NDK=/opt/android-ndk. Но студия все равно не видит.

Ответы961159961326

26 Мар, 11:26 #180 #961159

>>961150
> ANDROID_NDK
ANDROID_NDK_HOME

26 Мар, 16:03 #181 #961322

>>961099
Используй SmartPagerAdapter, он хранит коллекцию текующих фрагментов.

26 Мар, 16:07 #182 #961326

>>961150
File -> Project Structure -> SDK Location

26 Мар, 16:34 #183 #961340

Програманоны, есть один список, ListView или RecyclerView пока не понятно. И еще есть от 0 до овер 500 item'ов для него, каждому по заинфлейтиной вьюшке соответственно.

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

Блджад, как суициднуться? Надеюсь юмор понятен.

Ответы961350961366

26 Мар, 16:51 #184 #961350

>>961340
1) ты срукожопил
2)ресайклер лучше
3)посмотри видео от школы яндекса на тему лайоутов.
>Там несколько FrameLayout'ов и LinearLayout'ов!
>уходит около 100 мс

26 Мар, 17:09 #185 #961366

>>961340
Вангую что твоя вьюшка будет долго рисоваться даже сама по себе.

26 Мар, 17:45 #186 #961385

Почему запрос выполняется только 1 раз? Использую Retrofit 2.2.
в onResume():

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

в onDestroyView():

compositeSubscription.unsubscribe();

Ответы961399961405

26 Мар, 18:27 #187 #961399

>>961385
И как же этим говном пользоваться, когда запрос только 1 раз проходит?

26 Мар, 18:41 #188 #961405

>>961385
Смотри документацию по CompositeSubscription::unsubscribe, в частности там написано что все последующие поступающие подписки будут автоматом отписываться. Так что тебе или новый compositeSubscription надо сделать, либо использовать clear

Ответы961414

26 Мар, 19:06 #189 #961414

>>961405
Приду домой - проверю еще раз.
Вообще я пробовал его пересоздать перед запросом и это не помогло.
Пробовал обычный subscription юзать - тоже не помогло.
Я удивлен. До этого юзал rxjava, но не с retrofit.

Ответы961422

26 Мар, 19:35 #190 #961422

>>961414
Ты явно что-то не так делаешь. Я один раз создаю compositeSubscription (считай в onCreate). А в onPause просто вызываю clear

Ответы961460

26 Мар, 20:51 #191 #961460

>>961422
Проверил - clear тоже приводит к тому, что запрос проходит один раз только.
Пересоздание CompositeSubscription приводит к тому же.

Мне то нужно всего лишь отписаться, тогда, когда view уничтожается во время переворота экран (чтобы не крашнулось все из-за NPE) и отправить повторный запрос в onResume.

Ответы961462

26 Мар, 20:58 #192 #961462

>>961460
Кстати, запрос ВПРИНЦИПЕ только один раз отрабаывает.

Ответы961495

26 Мар, 21:50 #193 #961495

>>961462
>loadCountRequest
Это интерфейс твоего апи или что?

26 Мар, 21:51 #194 #961497

Если это объект request, то так нельзя, реквест можно использовать только один раз, хочешь повторить - clone, нужно иначе с ретрофитом.

Ответы961510

26 Мар, 22:03 #195 #961510

>>961497
Вот оно что.
До чего же неочевидный момент.
Попробую попозже.

Имеет ли смысл использовать RxJava 2?

Ответы961520961565

26 Мар, 22:14 #196 #961520

>>961510
Ага, переехал на RxJava2 - там даже без clone запрос выполняется каждый раз при вызове onResume.

Наконец-то!

26 Мар, 23:08 #197 #961565

>>961510
У retrofit'a так всегда было, клята мутабельнсоть.

27 Мар, 15:08 #198 #961796

Где почитать/посмотреть про клиент-серверное взаимодействие на конкретном примере? Кроме developer.android.com

27 Мар, 15:47 #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

27 Мар, 15:57 #200 #961830

>>961821
flatMap / switchMap

Ответы961837

27 Мар, 16:03 #201 #961837

>>961830
Напиши изи пример, плизики. Я догнать не могу все равно. извини, тупой

Ответы961856

27 Мар, 16:28 #202 #961856

>>961837
>тупой
Просто rxjava дохуя хитовыебанная.

Ответы961961

27 Мар, 16:31 #203 #961861

>>961821
> Observable.create
Observable.fromEmitter - правильное создание обсервабла из колбэка.

Ответы961923

43 Кб, 400x400

27 Мар, 16:58 #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

27 Мар, 16:58 #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

27 Мар, 17:21 #205 #961923

>>961861
Во второй версии нужно использовать create

Ответы961930

27 Мар, 17:22 #206 #961927

>>961893
Полный код показывай, по кускам сложно судить.

Ответы961937

27 Мар, 17:24 #207 #961930

>>961923
Где это нужно использовать?

27 Мар, 17:30 #208 #961937

>>961927
Лови!
https://gist.github.com/anonymous/20f0b40ccb93726eaf204c62e2110552

27 Мар, 18:09 #209 #961961

>>961856
Нифига подобного. Если ты не даун, осваивается за несколько минут, затем со временем просто осваиваешь разные менее тривиальные операторы, а вот их уже довольно много.

Ответы961963961978

27 Мар, 18:12 #210 #961963

>>961961
Ты тоже даун.

мимо освоил rxjava за 4 секунды

Ответы961976

27 Мар, 18:40 #211 #961976

>>961963
Так я сам вообще не осваивал, там всё интуитивно совершенно.

27 Мар, 18:50 #212 #961978

>>961961
RxJava это аналог LINQ в дотнетике. Он тривиальный только в тривиальных задачах.

Ответы961996

27 Мар, 19:18 #213 #961996

>>961978
> RxJava это аналог LINQ в дотнетике
Нет. Его аналог - это Streams API.

Ответы962053

27 Мар, 20:06 #214 #962014

Если checkBox чекнут, но disabled, то что я получу при проверке на isChecked()?

27 Мар, 20:29 #215 #962033

Аноны, у меня в листвью три текствью для разных текстов.
Все наполнители лежат в трех! Массивах, а не водном. Смогу использовать три массива для наполнения каждого текствью через адаптер? И как?

Ответы962048

27 Мар, 21:05 #216 #962048

>>962033
Сможешь

27 Мар, 21:28 #217 #962053

>>961996
Хуй знает бро. Мне показалось, что стримы - лайтверсия Linq, которая работает онли с коллекциями. RxJava - ебаный эмиттер данных, который легко реализуется средствами IEnumerable. Думаю, что дотнетовая реализация рекса так и сделана.

28 Мар, 17:00 #218 #962405

Ребят чет ментор сказал что именование у меня говеное и в базе не проверки на тип но не суть что не так с code convention ? Что заменить ?
https://pastebin.com/m7ysyjEf
https://pastebin.com/AF6dxzNY
https://pastebin.com/1et5HS68

Ответы962583

28 Мар, 20:40 #219 #962583

>>962405
Название классов должны быть написаны с заглавной буквы, убрать дырки в коде

Ответы962800

29 Мар, 02:32 #220 #962800

>>962583
Ок спасибо

30 Мар, 01:30 #221 #963390

Если я использую
RxJava
Retrofit
Okhttp
Dagger
Eventbus
Butterknife
LeakCanary
Timber
Storio
Fabric

в одном петпрожекте, работодатель не обоссыт за дикое использование либ?

Ответы963420

30 Мар, 03:18 #222 #963420

>>963390
Я бы за Eventbus обоссал. остальное норм, если используешь с умом, а не просто напихал всё подряд.

Ответы963440963497

30 Мар, 07:50 #223 #963440

>>963420
С ебасом что не так?

Ответы963481

30 Мар, 10:29 #224 #963481

>>963440
Он deprecated вроде, не? И можно для этих целей использовать rx.

30 Мар, 10:59 #225 #963497

>>963420
Я тоже автобус заюзал в своем пете, потому как лень было велосипедить через RxJava.

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

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

Ответы963506963664

30 Мар, 11:10 #226 #963506

>>963497
>VkSDK
Эту корявенькую порашу с отсутствием половины функционала в апи лучше вообще заменить ретрофитом

Ответы963519

30 Мар, 11:16 #227 #963511

Кому-нибудь приходилось реализовывать ui тест воспроизводящий два клика по одному месту БЕЗ задержек между кликами? Вручную получается, т.е. после первого клика слушатель кнопки запускается, не успевает отработать до конца, т.к. после второго клика запускается конкурентно еще раз и приложение крашится. В эспрессо сделать не получается, наверно он ждет пока событие отработает даже без идлинг ресурсов, событие кстати синхронное. Пока смотрю в сторону monkey runner, но может можно как-то проще в том же эспрессо?

30 Мар, 11:34 #228 #963519

>>963506
Я заюзал чисто ради окна логина.

30 Мар, 15:03 #229 #963624

Аноны, за сколько можно сделать это ТЗ?
Что помимо Java-core надо знать конкретно для этого ТЗ?
Раньше android не интересовал, но решил попробовать.

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

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

Ответы963629963632

30 Мар, 15:13 #230 #963629

>>963624
SQLite, Retrofit, RxJava

Ответы963634

30 Мар, 15:18 #231 #963632

>>963624
>Аноны, за сколько можно сделать это ТЗ?
Вон из профессии

Ответы963634

30 Мар, 15:20 #232 #963634

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

Ответы963659

30 Мар, 15:51 #233 #963659

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

30 Мар, 15:56 #234 #963664

>>963497
> DI
> новомодная хуйня
Мда.

30 Мар, 16:05 #235 #963669

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

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

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

Ведрооо!

Ответы963671

30 Мар, 16:07 #236 #963671

>>963669
Должен.

30 Мар, 18:48 #237 #963752

Посоветуйте ORM, которой можно скормить объект у которого есть поля - списки и ORM это прожуёт.

Желательно еще максимально простую в конфигурации.

Ответы963759

30 Мар, 19:00 #238 #963759

>>963752
Нахуй тебе orm в мобильном приложении? Бери StorIO и не выёбывайся.

Ответы963762964791

30 Мар, 19:04 #239 #963762

>>963759
>StorIO
Расскажи вкратце - ждут ли меня там SomeTableContract
SomeTableContractEntry
Cursor через Cursor и тп?

Ответы965972

30 Мар, 19:58 #240 #963788

В Clean Architecture в каком слое нужно форматировать строку для вывода (к примеру, поступившие с данных "Вася" и "Сычёв" форматировать в "Омежка Вася Сычёв")? В интаракторе (по идее, логика формата - тоже бизнес-логика) - и возвращать Entity с уже отформатированной строкой?
Или прямо в вьюхе?

Ответы965971

30 Мар, 22:50 #241 #963919

Не знаю, где спросить, спрошу тут. Имеется телеграммовский клиент на Андроиде, под рутом умею доставать сообщения и контакты из cache4.db. Вопрос, можно ли как-то достать аватары пользователей (url или просто jpeg-файл), как из того же вотсаппа?

01 Апр, 11:13 #242 #964676

Как запустить одну Activity из другой так, чтобы в recent было 2 активити?

Ответы964735964867

01 Апр, 13:06 #243 #964735

>>964676
Как вариант,
https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NEW_TASK
И сам еще почитай про таски и бек стек активити

Ответы964739

01 Апр, 13:21 #244 #964739

>>964735
С этим флагом оно так не работает.
Уже пробовал.

01 Апр, 14:07 #245 #964766

Поставил я значит такой себе StreamSupport где-то месяц назад. Всё было хорошо, но вчера я запустил код который давно не тестировал и в котором юзаются стримы и получил:
Caused by: java.lang.ClassNotFoundException: Didn't find class "java8.util.stream.RefStreams" on path: DexPathList

Ответы964867

01 Апр, 14:32 #246 #964791

>>963759

Что блять? Что нахуй? Я не верю своим ебаным глазам, какой нахуй StorIO, у меня не хватает слов чтоб выразить свое негодование, пошел нахуй отсяда, сраный уебок, и чтоб я тя больше не видел здесь, или я вычислю твой ойпи и ты будешь всю жизнь есть манную кашу через трубочку, ебаный дегенерат.

Ответы964925

01 Апр, 15:47 #247 #964867

>>964766
proguard вырезал?
>>964676
https://www.youtube.com/watch?v=4Y3JMvbcxQE

Ответы964877

4 Кб, 441x179

01 Апр, 15:59 #248 #964877

>>964867
>proguard вырезал?
Ну вроде да.

01 Апр, 17:57 #249 #964925

>>964791
Какое аргументированное мнение. А теперь съеби в js-тред.

02 Апр, 13:42 #250 #965402

Доброго времени суток, господа. Заранее прошу прощения за невский вопрос, но не могу его не задать. Скажите, что значит фраза "хороший уровень java"? Как определить момент, когда я достаточно проштудировал обучающие материалы по языку и могу переходить к андроид-разработке?Ещё раз прошу прощения за такой невский вопрос. И заранее спасибо за ответы.

Ответы965404965447966097

02 Апр, 13:44 #251 #965404

>>965402
>невский
Сукааа, нубский конечно.

02 Апр, 15:09 #252 #965447

>>965402
я вообще не зная java начал под ведро писать.По ходу научился

Ответы965500

02 Апр, 16:26 #253 #965500

>>965447
Аааааа , блядь, я уже не человек нахуй...
Тогда как правильнее всего поступить. Вот допустим у меня цель написать свое приложение (есть пара идей) для андроида. Что мне делать? С чего начать что бы не обосраться? inb4 ты уже обосраться, проснись
заранее спасибо за ответы

Ответы965569965923

02 Апр, 18:24 #254 #965569

>>965500
Для начала напиши хелоу ворлд под ведро и затем просто начни делать проект, что не понятно гугли/сюда пиши

02 Апр, 21:23 #255 #965646

Как через ретрофит кинуть запрос а потом распарсить бинарник чет в двух соснах запутался

Ответы965652

02 Апр, 21:37 #256 #965652

>>965646
Тебе нужно что бы возвращался ResponseBody.

02 Апр, 22:50 #257 #965695

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

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

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

Ответы965705

02 Апр, 22:58 #258 #965705

>>965695
> Какие вообще минусы у WebView перед TextView?
То, что вебвью жрет ресурсов дохуя например?
> ТУ САМУЮ
Ту самую ненужную? Больше экран = больше контент, для остальных случаев есть intuit/sdp

Ответы965706965713965719965728

02 Апр, 22:59 #259 #965706

>>965705
> контент
контента

02 Апр, 23:03 #260 #965713

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

02 Апр, 23:07 #261 #965719

>>965705
>intuit/sdp
Но sdp видится как раз очень хорошим дополнением к Percent(Relative\Frame)Layout'ам. Точнее, spp для текста. Спасибо за наводку.

Ответы965735

02 Апр, 23:17 #262 #965728

>>965705
Кстати, как вообще такие библиотеки находятся? Через гугл бесполезно искать же. Сарафанное радио? Собственноручные копания в гитхабопомойке?
Вот никогда бы не натолкнулся на это сам.

Ответы965736

02 Апр, 23:26 #263 #965735

>>965719
>paddingRight="@dimen/_43ssp"
Охуенно. Всегда мечтал о таком. Шишка аж воздымилась.

02 Апр, 23:26 #264 #965736

>>965728
Через вопросы на стеке, а ля "Как сделать заебись хуйнянейм?"

Ответы965781

03 Апр, 00:17 #265 #965781

>>965736
Всего 21 упоминание там. И всего одно с 10 голосами. Остальные не получали больше 0-2, что очень странно для такой годноты.

Ответы965783

03 Апр, 00:23 #266 #965783

>>965781
И это за три года. Неужели всем так нравится пердолить пиксели в 100500 вариациях, вместо траты времени на что-то более полезное и интересное?

Ответы965856

03 Апр, 08:07 #267 #965856

>>965783
Я пробовал это решение, конкретно мне не подошло, я сам зафигарил себе с десяток размеров под мобилку семидюймовый и десятидуймовый. Идеальная ситуация когда дизайнер сразу рисует какое увеличение тебе нужно. А там мне показалось слишком большой мультиплякатор.

Ответы965939

03 Апр, 10:14 #268 #965870

Я правильно понимаю, что андроид разработка, это как фронтенд, только без на джаве и без html и css, а на основе xml, а данные берутся с сервера, или можно сделать стэндэлон приложение, которое и данные хранить будет уметь и в сеть ходить и логика и все?

Ответы965871965878965924

03 Апр, 10:15 #269 #965871

>>965870
на джаве*

03 Апр, 10:30 #270 #965878

>>965870
Конечно можно сделать стенделон приложение, как по твоему работает будильник?

Ответы965892

03 Апр, 11:01 #271 #965892

>>965878
Не я имею в виду, можно ли хранить данные прямо в смартфоне, поддержка бд?

Ответы965898

03 Апр, 11:20 #272 #965898

>>965892
Да, из коробки есть SQLite, и key-value хранилище.

Ответы965902

03 Апр, 11:27 #273 #965902

>>965898
О, тогда круто.

03 Апр, 12:14 #274 #965923

>>965500
Я бы порекомендовал прочесть какую нибудь макулатуру по андроиду, вроде BigNerdranch, где более менее доступно пояснены основные моменты в разработке. Естественно, что ты нихуя толком не запомнишь, но это даст тебе хотя бы начальный кругозор, дабы не обосраться в темном лесу, при написании даже чего либо легкого. Далее просто создаешь проект и начинаешь потихоньку его пилить, гугля все и вся.
Хороший уровень владения чем либо, это когда ты можешь в голове прикинуть сразу несколько путей решения той или иной задачи, а не "а с чего бы вообще начать?".

03 Апр, 12:16 #275 #965924

>>965870
Андроид разработка, это и есть фронтенд. Только без ебаного html+js. Пиздец, что за люди пошли. Ты кроме веба вообще ничего в жизни не видел?

03 Апр, 12:35 #276 #965939

>>965856
Вот только у меня нет дизайнера, я один, и меня уже заебало тратить время на более чем 4 варианта разметки (2 под ориентацию, и их вариации под планшет).
С этими десятками размеров пидорасится инкапсуляция - захочешь где-то сделать изменения и придется в каждый xml-файлик залезть, и ничего не забыть (а ведь они еще и на куски могут быть разбиты, пздц). А потом еще и все это говно запустить на десятке тормознутых эмуляторов.
СЛИШКОМ много времени уходит на все это. И часто - с костылями в коде, потому что тот же кастомный шрифт ты хуй задашь через xml, например.

Ответы965968965974965990

03 Апр, 12:41 #277 #965945

>>957315 (OP)
На SDL2 кто-нибудь писал? Сложно вкатиться в этот NDK?

03 Апр, 12:57 #278 #965968

>>965939
>тот же кастомный шрифт ты хуй задашь через xml
Wrong
В О завезут нативную поддержку, с calligraphy давно есть.

Ответы965977

03 Апр, 12:59 #279 #965971

>>963788
interactor/presenter

03 Апр, 12:59 #280 #965972

>>963762
да, именно так. Просто StorIO дает немного ништяков при сохранности возможности управлять ей на низком уровне

03 Апр, 13:03 #281 #965974

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

03 Апр, 13:06 #282 #965977

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

А насчет О - это вообще не решение в перспективе лет 5, потому что более старым версиям от этого ни холодно, ни жарко будет (min api 14 не даст этим пользоваться же, например).
А делать что-то эксклюзивно под 5% обладателей О как-то не очень.

Ответы965981

03 Апр, 13:07 #283 #965981

>>965977
Понятное дело, просто оно потихоньку доползает.

03 Апр, 13:17 #284 #965990

>>965939
Хех, у меня есть набор расширений к AppCompatTextView, каждый для своего шрифта, и их прям в xml и пихаешь. Нормально так выходит.

Ответы965996966005

03 Апр, 13:27 #285 #965996

>>965990
Пизда, а если тебе нужен шрифт в TextInputLayout'e? Лучше бы в databinding запихал ей богу.

Ответы965999

03 Апр, 13:30 #286 #965998

А кто-нибудь пробовал с i2p приложения разрабатывать ?

03 Апр, 13:30 #287 #965999

>>965996
Ну, мне было не нужно добавлять кастомный шрифт в textinputlayout

03 Апр, 13:41 #288 #966005

>>965990
Если все равно приходится делать свой сабкласс View, почему бы в конструкторе свой кастомный параметр в xml не парсить?
Например

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

Не придется кучу вариаций содержать.

Ответы966007

03 Апр, 13:45 #289 #966007

>>966005
И потом в сабклассе Application закешировать, чтобы один шрифт был загружен только один раз на все приложение, и не было утечек памяти не было через
Typeface.createFromAsset(context.getAssets(), fontName);

03 Апр, 15:15 #290 #966041

Ребята, посоветуйте, пожалуйста, ресурс, где можно узнать название всех UI елементов андроида я гуглил, найти не могу, типо боковое меню, верхнее меню, там, кнопка, слайдер, но как они называются на самом деле в сообществе, нигде не могу найти

Ответы966099

03 Апр, 17:15 #291 #966089

>>957560
>андроид грохнуть моё активити, но не грохнуть сервис
может, и не может наоборот. если сервис грохнет - то только после того как грохнёт активити. такие приоритеты уж у него. поэтому пихай в сервис.

03 Апр, 17:20 #292 #966095

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

потом поднимешь опыт и можешь удаленку искать. иначе без пруфов того что умеешь могёшь на удалёнку тебя работодателю слишком рисково брать.

03 Апр, 17:26 #293 #966097

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

По Андроиду, к сожалению, почти все книги - хуйня.

03 Апр, 17:28 #294 #966099

>>966041
/g android ui elements list

третья ссылка

https://www.tutorialspoint.com/android/android_user_interface_controls.htm

03 Апр, 20:42 #295 #966187

Как открыть активити в новом окне на устройствах до API Level 21?

Intent.FLAG_ACTIVITY_NEW_DOCUMENT - доступна только с api level 21

Передача данных из xml разметки в конструктор класса 03 Апр, 21:57 #296 #966257

Всем привет!
У меня вопрос, как в конструктор определённого класса передать свойства элементов из xml кода. Дело в том, что я пытался делать вот так https://pastebin.com/DK020UJ0 но благополучно получаю NPE. Помогите советом.

Ответы966299966360966509966510

03 Апр, 22:27 #297 #966299

>>966257
http://stackoverflow.com/a/28882536/1454571

03 Апр, 23:27 #298 #966360

>>966257
Чет не понял, зачем тебе конструктор в activity.
И в твоем примере не понятно, какой ты аттрибут из xml хочешь вытащить.

03 Апр, 23:35 #299 #966372

Добрый вечер, господа.
Изучаю Java и андроид около месяца, до этого другие языки не изучал, разве что только поверхностно. Никак не могу понять, как получить SHA1 и заюзать google api. Уроков по созданию сетевых приложений я не нашел, а в официальной документации от гуглов хуита непонятная. Подскажи, адекватный анон, как же это сделать или какие уроки загуглить, а то я уже неделю в ступоре

Ответы966389966398

03 Апр, 23:50 #300 #966389

>>966372
>Java и андроид около месяца
Да ты охуел.

Ответы966391966414

03 Апр, 23:51 #301 #966391

>>966389
А потом такой
"в официальной документации от гуглов хуита непонятная"
Пиздец. Насмотрятся своих видосиков и ябутся в жеппы.

Ответы966414

03 Апр, 23:58 #302 #966398

>>966372
https://developers.google.com/maps/documentation/android-api/signup?hl=ru

Если тебе не понятно, что тут написано - то программирование явно не для тебя.

04 Апр, 00:14 #303 #966414

>>966389
>>966391
Что за хейт на ровном месте? Эта доска для того и существует, чтобы аноны делились знаниями и опытом друг с другом.
Да, изучаю недолго, да. По видео, по учебникам. Все с чего-то начинают/начинали

04 Апр, 10:09 #304 #966509

>>966257
Это так не работает, убери конструктор нахуй. Если тебе надо в активити что-то передать используй Intent, потом в onCreate всю эту хуйню сделаешь, а данные через getIntent() достанешь.

Ответы966510

04 Апр, 10:10 #305 #966510

>>966257
>>966509
И запомни, для любых Application, Activity, Service и Fragment'ов всегда должен быть конструктор без параметров, что бы система могла потом сама восстановить компоненту.

228 Кб, 1080x1080

04 Апр, 10:18 #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

04 Апр, 10:25 #307 #966517

>>966513
>В может быть чем причина??
>Caused by: java.lang.NumberFormatException: Invalid int:

Действительно, в чем же? Неужели оно не написало, странно...

Ответы966533

04 Апр, 10:32 #308 #966520

>>966513
А вообще ты совсем какую-то хуйню делаешь, кроме того что там может быть пустота и не число, а потому и NumberFormatException, ты почему-то смотришь в onCreate, что очевидно не верно, так как в onCreate там еще пусто скорее всего.

Ответы966533

25 Кб, 343x597

04 Апр, 10:43 #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

04 Апр, 10:43 #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));
}
}

Показать весь текст

04 Апр, 17:25 #310 #966711

Я ничего не знаю о разработке игр под ведро.

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

Улучшатся ли мои дела, если я перейду на Canvas? Не хотелось бы брать простой путь в виде готовых движков, хочется попердолить стандартные костыли.
Или с Canvas тоже нет пути?

Ответы966719966733966735966748966751

04 Апр, 17:35 #311 #966719

>>966711
У кого есть опыт в Canvas и SurfaceView? Что из этого тут будет уместнее - и почему?

Ответы966720

04 Апр, 17:39 #312 #966720

>>966719
Я так понимаю, SurfaceView предпочтительнее, ибо можно вывод вывести в отдельный от mainUI тред?
Но в то же время Canvas из этого SurfaceView не может быть hardware acceleration. Насколько это критично?

Ответы966729

04 Апр, 17:57 #313 #966729

>>966720
Хотя, судя по всему, Canvas тоже имеет проблемы с доступной памятью. Лучше перейти на OpenGl.

04 Апр, 18:08 #314 #966733

>>966711
LibGDX или Unity бери

04 Апр, 18:14 #315 #966735

>>966711
> Но вот беда - все это говно уже жутко тормозит
Так делай перемещения объектов на translation'ах, а не margin'ax

Ответы966750

04 Апр, 18:40 #316 #966748

>>966711
Единственный верный путь это Canvas + Surfaceview или OpenGL.

На canvas сделай.

04 Апр, 18:42 #317 #966750

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

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

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

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

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

04 Апр, 18:43 #318 #966751

>>966711
Делать на GridView - признак неправильного мышления.

Всё, что нужно для 3 в ряд - нарисовать несколько фигур.

Ответы966754

04 Апр, 18:46 #319 #966754

>>966751
Как я уже говорил, я выбрал обычные вьюшки, чтобы поучиться стандартной библиотеке (чтобы взяться за более приложение, не связанное с играми, уже набив шишки). Этим я полностью удовлетворен.
Ну и соблазнился сеткой, по примеру всяких уже деланных морских боев и саперов на декстопах.

05 Апр, 14:56 #320 #967340

Привет и сразу к делу, нужно вырезать фон с объекта на фото (например шорты лежат на однотонном контрастном полу, нужно оставить шорты, а фон убрать) заебался - нихуя не получается. Может кто-то подскажет, или сам сделает за вознаграждение

Ответы967359967547

05 Апр, 15:31 #321 #967359

>>967340
OpenCV

Ответы967360

05 Апр, 15:32 #322 #967360

>>967359
Юзал-не осилил

05 Апр, 21:11 #323 #967547

>>967340
Фотки шорт вкидывай.

Ответы967791

06 Апр, 01:30 #324 #967791

>>967547
Абсолютно любой объект на однотонном фоне

Ответы967870

51 Кб, 414x414

06 Апр, 01:59 #325 #967806

>>957315 (OP)
Я все больше наблюдаю вакансий по react native и даже на рассейском фрилансе заказчики часто хотят приложение имено на нем, а ведь Андроид он пока умеет дико коряво в глючно и все равно уже востребован. С ректом видится мне реально есть вероятность того, о чем говорили большевики и нативные приложения медленно но верно начнут умирать и я этому препятствий не вижу, честно говоря. Кто захочет платить в 2 раза больше, когда можно так нехило сэкономить, да и еще фронтенд обезьянку, которые и так в каждой первой конторе водятся, припахать можно, а не искать непонятных разработчиков на swift или kotlin. И, в общем, Антоны, у вас от всего этого еще не пригорает? А то у меня по немногу начинает, с учетовм того, что вкатиться пока только во фриланс получилось, а удаленных вакансий на hh по нативному Андроиду на последние 3 недели было 4 с половиной штуки (я мониторю). Куда, они, сука, делись?!

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

И так, Антоны, что делать? Продолжать углубляться в чистый натив и надеяться на то, что хотя бы процентов 40 рынка останется за ним или понемному начинаться учить сраный js?

Ответы967810967868968083

06 Апр, 02:39 #326 #967810

>>967806
Джава всё. Нативная разработка тоже уже скоро всё. Будущее за JavaScript.

Ответы967861

06 Апр, 09:37 #327 #967861

>>967810
>Джава всё.

Это с чего вдруг?

Ответы968036

06 Апр, 09:59 #328 #967868

>>967806
У меня приложение использует bluetooth и алгоритмы ЦОС. При этом ключевой момент - низкое потребление аккумулятора.
Как ты предлагаешь это на реакте делать?

06 Апр, 10:02 #329 #967870

>>967791
Размытие + canny = получаешь очертание объекта на фоне.
Выбираешь всё, что внутри контура.

Ответы967933

06 Апр, 11:50 #330 #967933

>>967870
При размытии контуры же станут менее четкими, кенни сможет тут нормально отработать?Как потом убрать размытие?

Ответы968003

06 Апр, 12:37 #331 #968003

>>967933
Крути параметры.
Размытие нужно только, чтобы убрать неравномерности на контрастном фоне.

06 Апр, 13:46 #332 #968036

>>967861

https://habrahabr.ru/post/304812/

Ответы973316

06 Апр, 14:48 #333 #968082

Сап, котаны, а пробовал ли кто-нибудь загоняться по задержанной синхронизации данных в отдельном процессе при отсутствии интернета ? Вопрос собственно такой. Сейчас у меня есть проект, построенный по чистой архитектуре. Все работает в одном (основном) процессе, все репозитории-usecase-ы инициализируются соответственно в нем. Проблема появляется, когда мы откладываем какое-то действие, и приложение умирает.

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

Как вы решаете эту проблему ?

06 Апр, 14:49 #334 #968083

>>967806
Натив онли, если тебя интересует что-то сложнее запроси-покажи приложений, конечно же.

Ответы971778

06 Апр, 17:24 #335 #968218

Какую из архитектур выбрать, чтобы максимально быстро вкатиться и начать пилить?
Интересует прежде всего простота тестирования.

Ответы968225968241

06 Апр, 17:31 #336 #968225

>>968218
> быстро вкатиться
> простота тестирования
Взаимоисключающие пункты.

06 Апр, 18:09 #337 #968241

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

Если речь идет о мелких приложениях - то банального MVP будет достаточно, да и тот не сильно обязателен. Можно даже попробовать что-нибудь на service + Broadcast receiver/другой шине запилить, чтобы быстро было

235 Кб, 1786x718

269 Кб, 1708x742

178 Кб, 1063x585

07 Апр, 00:04 #338 #968557

Есть проблема.

Есть вьюха 3 пик, которую я запихиваю через include в другую.
Когда ставлю layout_height в match_parent, то все смотрится нормально 1 пик. Когда выставляю более логичное значение wrap_content, то вьюха съезжает вниз 2 пик.
Что за хуйня анон?

Ответы970031

07 Апр, 18:50 #339 #968877

Как сделать чтобы в переводчике текст переводился сразу, еще во время его набора?
Например пока я пишу hello
мне выдает:
he - он
hell - ад
и т д.

Ответы968946970499

07 Апр, 20:21 #340 #968946

>>968877
Ontextchangedlistener

07 Апр, 23:49 #341 #969021

Кто-то пользовался ObjectBox'ом, как оно?

08 Апр, 22:34 #342 #969520

Есть некий layout, на котором есть единственная view с match_parent размерами, которая не рисуется и всегда возвращает height/width -1. Почему такое может быть?

Ответы969524969569969701

08 Апр, 22:50 #343 #969524

>>969520
> которая не рисуется
GONE? Тогда не удивительно.

Ответы969567

09 Апр, 01:08 #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"/>

09 Апр, 01:10 #345 #969569

>>969520
Странным образом стало выдавать 0 вместо -1. А вроде ничего не менял

Ответы969659

09 Апр, 09:00 #346 #969659

>>969569
Напоминаю, что до onLayout getWidth/Height будет возвращать 0 всегда.

09 Апр, 11:12 #347 #969701

>>969520
оно просто не отрисовалось. Поставь листнер onLaoutChange или че то такое

Ответы969755

09 Апр, 12:17 #348 #969755

>>969701
Так в том и дело, что можно ждать бесконечно, оно не рисуется

Ответы969762

09 Апр, 12:23 #349 #969762

>>969755
это западло у меня только на одном телефоне. На втором и на эмуляторе все в порядке

09 Апр, 13:38 #350 #969867

Джаву знаю, решил вкатиться в андроид, нашел школу мобильной разработки от яндекса (бесплатная), гляньте плиз вступительной задание, реально до 24 апреля такое сделать, если андроид с 0 изучать или даже не пытаться и спокойно учить или может там изи и просто выглядит страшно?

https://academy.yandex.ru/events/mobdev/msk-2017/

Ответы969986970001970479970499970511

5 Кб, 465x28

7 Кб, 666x48

09 Апр, 14:17 #351 #969954

/pr, я просто хочу сделать обычный get на страничку гита. стаковерфло примеры все как один выдают пикрил один.
инет на телефоне есть. Что делать? Реально нужна помощь, иначе я тупо забью на всё это

Ответы969979

09 Апр, 14:36 #352 #969979

>>969954
А интернет на устройстве-то есть? Если это эмулятор то может стоит перезагрузить. Попробуй еще https://github.com

Ответы970000

09 Апр, 14:56 #353 #969986

>>969867
> андроид с 0
Там требования на задание предмидловские.

Ответы970003

44 Кб, 677x297

09 Апр, 15:15 #354 #970000

>>969979
>инет на телефоне есть
писал же. устройство реальное. перезапуск апки не помог
Пробовал опять та же ошибосина.

Ответы970076972912

09 Апр, 15:16 #355 #970001

>>969867
У меня знакомый при весьма хуевом знании жабы да и ведра вроде как сделал (смотрел его демку). Приходилось правда разъяснить ему че такое архитектура и с чем ее нужно подавать, но в целом - задание довольно простое. Мой совет - не используй там никаких ORM и юзай поменьше фреймворков. Тогда получится нормально запилить в срок. Начнешь ебаться с сторонними фреймами - хуйцов по срокам соснешь

Ответы970021

09 Апр, 15:16 #356 #970003

>>969986
Я бы сказал, что upper-джуновские скорее

Ответы970078

09 Апр, 15:25 #357 #970013

Сап, андроид-куны. Есть вопрос. У меня есть Switch, который нормально работает только при включении его.

https://pastebin.com/7uN8sLrv

Вот смотрите. Со стрингами всё нормально, если щелкать на эту штуку, то в логах всё выводится. Проблема в том, что изначально он находится в выключенном состоянии - так надо, но другие методы почему-то не видят стринг language. То есть стринг так-то задан и по-идее должен работать, но он работает только если я включу и переключу обратно Switch. Как поправить?

Ответы970023

09 Апр, 15:30 #358 #970021

>>970001
Ок, спасибо, попробую

09 Апр, 15:35 #359 #970023

>>970013
Простите, сам обосрался. Исправил

09 Апр, 15:41 #360 #970031

помогите с >>968557 плизики

09 Апр, 16:18 #361 #970076

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

Завязывай, в джаве CamelCase. Ты небось в сеть на главном потоке ходишь.

Ответы970218970220

09 Апр, 16:20 #362 #970078

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

Ответы972889

13 Кб, 579x111

09 Апр, 17:39 #363 #970218

>>970076
бля не нужно жи гадать где я накасячил. тупо android не моё. Карма испорчена иду назад гонять змей в змеетред.

Ответы970231972888

09 Апр, 17:41 #364 #970220

>>970076
>CamelCase
Отрефакторил бы но в жепу android

09 Апр, 17:54 #365 #970231

>>970218
> setText из фонового потока
У тебя эта хуйня все равно не заработает.

Ответы970236970238

09 Апр, 17:59 #366 #970236

>>970231
А вот уже интересно.
А как тогда?

Ответы970238970317

09 Апр, 18:03 #367 #970238

>>970231
>>970236
Но это бы просто не поменяло текст. а текст меняется будто инета нет. Блин может это из за того что у меня на телефоне api4 а собираю в api25?

Ответы970246

09 Апр, 18:16 #368 #970246

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

Ответы970443

09 Апр, 18:53 #369 #970317

>>970236
A S Y N C T A S K
S
Y
N
C
T
A
S
K

09 Апр, 20:09 #370 #970443

>>970246
>api4
Досталось в наследство от прадеда нищеброд я

09 Апр, 21:13 #371 #970479

>>969867
Лол тоже его делаю.
Встретимся на курсах, если не соснем, конечно.

Ответы970483

09 Апр, 21:16 #372 #970483

>>970479
Лучше встретимся на курсах и там соснём друг у друга :3

Ответы970486

09 Апр, 21:24 #373 #970486

>>970483
Обязательно.
Я кстати нашел несколько хороших open source подобных ТЗ.
Как их грамотно спиздить и выдать за свои чтобы не запалил?
Или можно смело пиздить ВСЕ ?

Ответы970491970499970511

sage 09 Апр, 21:28 #374 #970491

>>970486
Какое же ты днище.

Ответы970497

09 Апр, 21:31 #375 #970497

>>970491
Я думал в общий доступ выкладывают чтобы можно было спизить, посмотреть как реализовано, не?

sage 09 Апр, 21:32 #376 #970499

>>968877
>>969867
>>970486
Вас туда точно не возьмут, с такими познаниями и отношением. И слава богу

Ответы970504

09 Апр, 21:35 #377 #970504

>>970499
Ну там конкурс около 20 человек на место.
Не возьмут да и похуй.
Зато есть мотивация поделать (спиздить) приложение.

09 Апр, 21:43 #378 #970511

>>970486
>>969867

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

Черви, пидоры.

Ответы970686

135 Кб, 470x859

21 Кб, 1015x151

Эмулятор - лох, пидр 09 Апр, 22:45 #379 #970569

Ребят, что делать, если android эмулятор начинает дико тормозить, пропускать кадры грузиться 10+ минут хотя до этого всё работало и ни одной строчки кода не было написано что бы всё так сломать.

Ответы970688970747

10 Апр, 01:53 #380 #970686

>>970511
Так я и спрашиваю, можно ли (понял уже что нельзя)

54 Кб, 604x461

10 Апр, 01:57 #381 #970688

>>970569

10 Апр, 10:36 #382 #970747

>>970569
Genymotion ?

31 Кб, 750x118

10 Апр, 11:56 #383 #970792

>>957315 (OP)
Аноны, как правильно сверстать элемент который на пик? Я пока вроде сделал и кажется получилось то что нужно, но меня гложут сомнения, что вложенность слишком большая и я не умею в верску UI. Аккуратнее и проще сделать как-то можно или и так неплохо?

https://pastebin.com/mCf5c8j0

Ответы970801971849

10 Апр, 12:12 #384 #970801

>>970792
Не самая глубокая вложенность, терпимо на самом деле, можно использовать вместо <l><i><t></l>, один TextView, а можно использовать ConstraintLayout, тогда все вообще в одном перенте будут.

Ответы970804

10 Апр, 12:18 #385 #970804

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

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

Ответы970808

10 Апр, 12:29 #386 #970808

>>970804
>drawableLeft/right у TextView не позволяет размер иконки менять
yep, это основная проблема, потом еще и не расположить как надо.
Еще можно попробовать RelativeLayout или даже PercentRelativeLayout

Ответы972884

10 Апр, 17:33 #387 #970982

Решил сделать круглую картинку. Стал гуглить и обнаружил, что изкаробки решения нет. Везде какие-то вилосипеды. В результате заюзал Fresco. Все правильно сделал?

Ответы971075

10 Апр, 19:19 #388 #971071

ГАЙС. Вопрос про организацию базы данных. Пишу программу, которая будет хранить данные о бытовых счетчиках.
У СЧЕТЧИКА БУДЕТ:
Имя, тариф, показание, id, дата последнего показания.

И счетсчиков можно будет добавлять несколько. КАК организовать БД правильней? Сколько таблиц? разделять не разделять? Что делать?

Ответы971082972152

10 Апр, 19:24 #389 #971075

>>970982
Вряд ли, я бы обошелся чем-то менее тяжеловесным и Glide и Picasso имеют нужные возможности.

10 Апр, 19:30 #390 #971082

>>971071
Я бы сделал две таблицы:
1) id-счетчика, имя счетчика, тариф
2) id-показания, показание, дата, id-счетчика
+ индекс для показаний, и тебе не надо хранить последнее показание отдельно;

Ответы972882

109 Кб, 1440x2560

10 Апр, 20:38 #391 #971143

Аноны, как от Яндекса взять дополнительную инфу по переводу? Как на скрине.

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

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

Ответы971593

11 Апр, 10:58 #392 #971593

>>971143
Давно пилишь?

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

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

Оставь контакты, пообщаемся

Ответы971785971824

12 Кб, 959x210

11 Апр, 15:09 #393 #971775

Анон, помоги с вопросом.
Внутри функции есть исключение try catch.
Мне нужно, что функция возвращала return-ом переменную.
Но как сделать, чтобы return срабатывал в поле try?
Пример кода
http://pastecode.ru/0eb518/

11 Апр, 15:12 #394 #971778

>>968083
>сложнее запроси-покажи приложений
90% прилаг

11 Апр, 15:20 #395 #971785

>>971593
А ты хорошо знаешь Ведроид? Какой опыт в программировании? Просто интересно.
Я другой анон, не тот, которого ты спрашиваешь
мой телеграмм - ambientbro

Ответы972270

11 Апр, 15:53 #396 #971824

>>971593
У меня наоборот сделан моментальный перевод (через AsyncRequest) , а как подрубить словарь я еще не допер.
Активно делаю только с выходных, до этого проходил всякие туториалы по андройду.
А какие контакты нужны?
У меня сейчас телефон в ремонте, так что могу либо фейкопочту либо скайп там или дискорд.

Ответы972270

15 Кб, 112x351

11 Апр, 16:14 #397 #971849

>>970792
Еще такой вопрос в догонку. Вот такие дырки во вьюхе сделать реально? Важно чтобы тень от cardview правльно отображалась, т.е. додавить drawable цвета фона не выйдет. Пока решение не хочет гуглиться, есть какие-то варианты?

Ответы971936

11 Апр, 17:53 #398 #971931

Без вышки джуном андроидным возьмут, если будет какая нибудь хуйня из говна и палок в плеймаркете?

Ответы971935

11 Апр, 17:57 #399 #971935

>>971931
Нет. Нужна вышка и справка о том, что ты не лиственник.

11 Апр, 17:59 #400 #971936

>>971849
Можно, как вариант - кастомная вьюха. Там ты на канвасе будешь рисовать правильный путь и ему тенюху.

11 Апр, 18:03 #401 #971938

парни, где почитать подробно про архитектуру приложений на андроид?

Сидел, писал приложение и до какого-то этапа всё понимал. После чего стал охуевать от кучи собственных костылей, левых ненужных классов и явно лишних действий. Понял, что нужно было в начале всё на листике где-то расписать "что и как будет", после чгео только браться.

Ответы974733

11 Апр, 18:07 #402 #971939

Кто-то объяснит мне наконец, зачем нужны все эти подписи private?

Я знаю, что это такое и почему его делают. Но блять! Если у меня в классе всего ОДИН стринг, то нахуя его делать приватным? Кто его дернет? Что с ним станет? Или это просто пишут ради написания, типа ебать умный дохуя написал ееееее ?

Ответы971942974734

11 Апр, 18:16 #403 #971942

>>971939
https://ru.wikipedia.org/wiki/Инкапсуляция_(программирование)

11 Апр, 20:44 #404 #972028

Было бы неплохо, если бы вы зарейтили код моей поделки
https://github.com/schvabodka-man/WhatToDo
Собираюсь это выложить в гуглоплей.

Ответы972054

11 Апр, 20:53 #405 #972037

Документация написана еще не для всех классов, но это временно

11 Апр, 21:08 #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

11 Апр, 21:23 #407 #972066

>>972054
Потому что я копипастил билды с maven central.
Окей, пофикшу.
А нахуй их отписывать?

Ответы972074

11 Апр, 21:26 #408 #972074

>>972066
Подписки держат ссылку на активити.

Ответы972084

11 Апр, 21:36 #409 #972084

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

Ответы972086972103

11 Апр, 21:39 #410 #972086

>>972084
Причет, ты охуел?

Ответы972089

11 Апр, 21:42 #411 #972089

>>972086
А зачем это нужно? Сборщик мусора и так все почистит - а что не почистит, то и не нужно чистить.

11 Апр, 22:03 #412 #972103

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

Ну я хуй знает что тут сказать даже.

Ответы972104

11 Апр, 22:04 #413 #972104

>>972103
В джаве память не течет

Ответы972108972130

11 Апр, 22:07 #414 #972108

>>972104
Ну тебе виднее.

Какой то классический пример уже:
> не понимает даже лайфсайкл активити
> зато уже напихал RX с даггером

Ответы972112

11 Апр, 22:12 #415 #972112

>>972108
Лайфцикл это просто последовательность вызовов 3.5 методов, там нечему понимать.

Ответы972139

11 Апр, 22:40 #416 #972130

>>972104
Память не течет, зато она может не очищаться, если программист еблан.

Ответы972134

11 Апр, 22:53 #417 #972134

>>972130
Я самый умный и хороший программист области, района и всех трёх миров.

11 Апр, 22:59 #418 #972139

>>972112
Там нечего понимать, но ты даже с этим обосрался.

Ответы972260

11 Апр, 23:24 #419 #972152

Гайс. Вопрос про структуру БД. из поста >>971071
Я решил сделать такую структуру:
ТАБЛИЦА СЧЕТЧИКОВ:
1) id счетчика
2) Название
3) Начальное показание
ТАБЛИЦА ПОКАЗАНИЙ:
1) id показания
2) показание
3) дата показания
4) тариф
5) id счетчика

и тут меня осенило:
У меня же разные типы счетчиков на разных фрагментах (СВЕТ, ГАЗ, ВОДА). Счетчики это элементы ListView. Мне надо вводить новую колонку для счетчиков? ТИП СЧЕТЧИКА

Ответы972181

12 Апр, 00:16 #420 #972181

>>972152
очевидно, да, если под названием имеешь в виду модель счетчика(название модели железки).

12 Апр, 06:46 #421 #972260

>>972139
Это конечно не так

12 Апр, 07:59 #422 #972270

>>971785
Чуть больше полугода работаю джуном, одно маленькое приложение в сторе.

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

>>971824
>AsyncRequest
Это встроенное в ведро что-то?
Я за обращения в сеть напрямую через стандартное api вообще не шарю, заюзал ретрофит.
>А какие контакты нужны?
Ну лучше тоже ТГ, соберем конфу раз тут много желающих

Ответы972274

sage 12 Апр, 08:17 #423 #972274

>>972270
Съебите в /soc/, заебали.

Ответы972338

12 Апр, 12:07 #424 #972338

>>972274
Хикка чтоле?

12 Апр, 13:46 #425 #972365

Господа, какие существуют (существуют ли?) способы преобразования аудио аутпута на уровне приложения? Мне бы бинаурально преобразование сделать, или для этого нужно лезть в NDK по самые помидоры?

Ответы972843

13 Кб, 220x220

12 Апр, 14:04 #426 #972379

Ведрач, выручай, в какую сторону копать?
Необходимо, чтобы приложение написанное на react-native запускалась при запуске девайса, а так же, чтобы это приложение нельзя было ни свернуть, ни выйти из него.
Сам вебразраб, в андроиде не силен

Ответы972382972395

12 Апр, 14:10 #427 #972382

>>972379
Для запуска:
https://habrahabr.ru/post/271663/
Дай угадаю, киоск? Насчет не сворачиваемости не скажу, но можно сделать сервис который запускает приложение если оно не запущено и тупо по таймеру чекать, вообще все зависит от условий на устройстве, с рутом ты конечно многое сможешь сделать. Другое дело что все это надо делать вне js'a.

Ответы972384972401

12 Апр, 14:18 #428 #972384

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

Ответы972396972881

sage 12 Апр, 14:46 #429 #972395

>>972379
> react native
> вебразраб
Для начала научись читать шапку, а потом иди в свой тред.

Ответы972401

12 Апр, 14:47 #430 #972396

>>972384
Ну тут и до кастомной прошивки можно дойти. http://stackoverflow.com/questions/17549478/how-to-disable-home-and-other-system-buttons-in-android

Ответы972401

12 Апр, 14:51 #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
Спасибо, надеюсь поможет

12 Апр, 15:03 #432 #972408

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

Ответы972409

12 Апр, 15:08 #433 #972409

>>972408
я так как-то делал:
<string name="next">Hello %s</string>

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

общую мысль, надеюсь, понял.

Ответы972414

12 Апр, 15:24 #434 #972414

>>972409
Понял, да

13 Апр, 10:36 #435 #972843

>>972365
Bump вопросу.

Ответы972879

13 Апр, 12:40 #436 #972871

>>957315 (OP)
Куда дели каноничного трапа, суки ?!

13 Апр, 13:12 #437 #972879

>>972843
Посмотри презентацию Григория Ключникова на тытрубе, он рассказывал о том, как он кодировал и декодировал видеопоток. Принцип будет примерно тем же (в NDK с его слов он не лез)

Ответы972892

13 Апр, 13:18 #438 #972881

>>972384
Если это корпоративное приложение - то попробуй посмотреть вот здесь. Но соглашусь с одним из ответивших - тут на js не решить особо ничего, наверное: https://developer.android.com/work/guide.html

13 Апр, 13:20 #439 #972882

>>971082
Лучше продублировать дату последнего показания в таблицу со счетчиками и поставить триггер на insert в показаниях, который будет автоматически обновлять дату в табице счетчиков при внесении нового показания. да, я, блеать, ненавижу joinить, когда можно избежать этого

13 Апр, 13:21 #440 #972883

>>972054
Можно даже package-private, удивлю тебя. И не только можно, а нужно

13 Апр, 13:24 #441 #972884

>>970808
>или даже PercentRelativeLayout
Фу-фу-фу, говномес, трубочист, еретик. Сжечь нахуй.
Каким ебланом нужно быть, чтобы не вектор выстанавливать в процентных значениях ?!

Ответы972887

13 Апр, 13:26 #442 #972887

>>972884
Это несколько ортогональные вещи как бы (лэйаут и картинки), че тебя так от лэйаута порвало?

Ответы972891

13 Апр, 13:27 #443 #972888

>>970218
Умри. Просто, блять, сдохни. Ты из какого потока View обновляешь, пес?! Я тебя сейчас за это за щеку обновлю, сука, накачаю тебе апдейтов полон рот.

13 Апр, 13:28 #444 #972889

>>970078
И что? Само приложение тянет максимум на upper-junа, там нету нихуя сложного. Все решается без каких-либо сложных архитектурных решений. Не требуется работать со сложными компонентами API Android, ну и так далее.

13 Апр, 13:29 #445 #972891

>>972887
Потому что по контексте видно, что процентаж относится не только к tv, иначе о нем речи бы не зашло.

Ответы972894

13 Апр, 13:30 #446 #972892

>>972879
>Григория Ключникова
Спасибо за совет, но я что-то совсе не могу найти, нк мог бы ты скинуть линк?

Ответы972896

13 Апр, 13:36 #447 #972894

>>972891
Ну я вообще не предполагал процентами на картинку влиять, я больше о позиционировании.

Ответы972895

13 Апр, 13:37 #448 #972895

>>972894
даже за это можно ноги-руки поотрывать процентах в 90 случаев. В офф. нотациях про проценты ни слова, так хули ты решил вдруг что нужно мутить что-то, о чем нормальные дяди ничего не говорят?

Ответы972910

13 Апр, 13:38 #449 #972896

>>972892
ici:
https://www.youtube.com/watch?v=lUT504vkJPQ

Ответы972910

13 Апр, 13:53 #450 #972910

>>972895
В смысле? Про эти лэйауты есть в статье про саппортные либы, у меня есть ощущение что в некоторых случаях эти лэйауты использовать лучше чет констрейнт.
>>972896
Спасибо.

Ответы972916

13 Апр, 13:55 #451 #972912

>>970000
Попробуй https://www.github.com

13 Апр, 14:09 #452 #972916

>>972910
Несмотря на то, что они саппортные, в материал дизайн нотации очень четко прописаны 99,9% отступов в dp. Не следует делать адаптивку для мобайла, это плохой тон.

Ответы972931

13 Апр, 14:25 #453 #972922

Комрады, хочу написать аппликуху для дроида. Мне нужно что-то с минимальным порогом входа. Я охуел от тормознутости и огромности AndroidStudio и мне перехотелось ее использовать. Есть ли что-то более простое, с точки зрения Unix/VIM юзера? Мне нравится FP, и не нравится Java/XML, поэтому выбираю между Kotlin и Clojure из языков. Приложение достаточно простое, по сути - демон.

Ответы972926972931972932973280

13 Апр, 14:31 #454 #972926

>>972922
Eclipse

13 Апр, 14:43 #455 #972931

>>972916
А как тогда без адаптивки учитывать, то что например, в лендскейпе у некоторых дейвасов есть нав бар, а у некоторых нет, я в процентах в констрейнте/персенте раскидаю и если пользователь сделает размер текста больше фиксированные отступы не пожуют текст и все хорошо.
>>972922
Возьми котлин, у кложы будет серьезный оверхед на мой взгляд. Компилировать можешь через консольку и заливать через нее же. Я думаю для вима даже есть плагины.

Ответы972933

13 Апр, 14:46 #456 #972932

>>972922
Code studio + ручной билд

13 Апр, 14:47 #457 #972933

>>972931
все просто, ты создаешь отдельную разметку для каждого типа экрана.

Ответы972935

13 Апр, 14:49 #458 #972935

>>972933
Ну давай отдели экран нексуса 5 от экрана например S5. У одного есть навбар на экране, у другого хардварные кнопки. Или я накачу кастомную прошивку и сделаю себе в довесок к хардварным кнопкам навбар на экране. В результате теряю ~40dp во горизонтали из-за навбара.

Ответы972940

13 Апр, 14:57 #459 #972940

>>972935
Нормальные люди не поддерживают кастомные прошивки и не гарантируют корректное отображение UI и работоспособность приложений на них...

Ответы972963

13 Апр, 15:40 #460 #972963

>>972940
Что за пушку я прочитал? Как ты отличаешь кастомную от обычной, наркоман? Гапс это кастомная или родная? А если я на хуеми линедж накачу, или я купил хуейзу и хочу туду от васян666 запердолить, или мне надоела самсунговская анальная хуйня.

Ответы972978

13 Апр, 16:08 #461 #972978

>>972963
Если человек будет обращаться с проблемой в тп, с него спросят данные о девайсе. Или если в статистике будет крэшлог - сначала будут смотреть на данные о девайсе, и если это официалка - уже фиксить

13 Апр, 16:09 #462 #972980

Аноны, какой самый оптимальный способ реализовать bottom navigation view ?
Я запутался что такое activity и что такое fragment, получается делать только через обычное меню (три точки сверху слева) но это не то что нужно.
Ссылку или что гуглить хотя бы

Ответы972999973004

13 Апр, 16:25 #463 #972999

>>972980
Открой семпл который предлагает студия для этого боттом бара. И в тот фрейм что сразу в активти просто пихай фрагменты, все как с дровером.

13 Апр, 16:33 #464 #973004

>>972980
Сначала нормально разобраться в том, что такое Активити и что такое Фрагмент и зачем они нужны

13 Апр, 23:07 #465 #973258

Здарова, двачаны. Маза такая, есть битмап фотки его подгружаю в ImageView, потом модифицирую и модификацию записываю в другую переменную, и из другой переменной я закидываю в ImageView, всё меняется всё хорошо, но после смены битман фотки становится recycled и я с ним работать не могу хотя надо, помогайте код выкладываю ссылкой, внизу сообщение из дебага:
https://pastebin.com/kZqUEvRc

Ответы973367

14 Апр, 00:21 #466 #973280

>>972922
> выбираю между Kotlin и Clojure
Ещё Scala посмотри, под андроид на нём отлично писать выходит.

14 Апр, 02:16 #467 #973316

>>968036
норкоман, не знает чем Java от Java EE отличается

Ответы973321

14 Апр, 02:39 #468 #973321

>>973316
Думаешь, если сдохнет EE, то это никак не отразится на SE и она будет себя прекрасно чувствовать?

Ответы973513

14 Апр, 09:19 #469 #973367

>>973258
бамп

14 Апр, 14:58 #470 #973513

>>973321
На EE уже одно легаси, энтерпрайз на спринге весь.

Ответы973880

14 Апр, 17:58 #471 #973655

Есть стринга, в которой набор слов, надо выбрать те, которые начинаються с определенной буквы, а после неё идут цифры. Как это сделать, или хотя бы как гуглить?

Ответы973764

14 Апр, 18:01 #472 #973657

Кто ответит на вопрос по моему коду? С помощью диалога я добавляю в БД некоторые данные, которые должны потом отобразиться в ListView.

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

300р могу дать за решение проблемы. + задам пару вопросов.
Кто готов помочь - пишите.

Ответы973764

14 Апр, 20:16 #473 #973764

>>973655
regex
>>973657
Данные у него идти не хотят, пиздос, еще и секретный дохуя, вот ты бы выложил кучок кода на пастабин и тебе бы уже кучу ответов за щеку напихали.

Ответы973865

14 Апр, 23:39 #474 #973837

Аноны, я вконец запутался с bottom navigation view.
Нашел два примера, в одном все меняется через fragmentы
В другом меняется видимость элементов:
if(layout.equals("main")){
main.setVisibility(View.VISIBLE);
favorite.setVisibility(View.GONE);
settings.setVisibility(View.GONE);

Какой способ правильный из этих двух??

Ответы973927974239

15 Апр, 01:15 #475 #973865

>>973764
Починил уже. в адаптере кое что не так возвращалось

15 Апр, 01:34 #476 #973870

В стандартном bottom navigation view можно убрать текст под иконками? чтобы они были выровнены по центру? Если оставить пустой title то иконки как бы ближе к верху стоят.

Ответы973928

15 Апр, 02:45 #477 #973880

>>973513
Лол, Спринг по-твоему не поверх EE написан?

Ответы973966

15 Апр, 11:35 #478 #973927

>>973837
Легче фрагментами, но можно и через вьюхи. телега вон все на вьюхах, код ужасный но продукт нормальный.

15 Апр, 11:38 #479 #973928

>>973870
Насколько я понял, то не очень.
http://stackoverflow.com/questions/40183239/remove-bottomnavigationview-labels

15 Апр, 13:10 #480 #973966

>>973880
Нет, просто поддерживает спецификации

15 Апр, 23:08 #481 #974239

>>973837
Так ViewPager жи.

175 Кб, 340x255

16 Апр, 16:50 #482 #974468

подскажите почему с компиляцией не создается класс DaggerAppComponent? Модуль есть, интерфейс AppComponent тоже

Ответы974566

16 Апр, 20:40 #483 #974566

>>974468
Apt? Логи?

16 Апр, 20:41 #484 #974567

Поясните: стоит ли юзать котлин, или это говно умрёт вместе с джеком, не родившись?

Ответы974577

16 Апр, 20:53 #485 #974577

>>974567
Ну, у тебя есть выбор: писать на активно разрабатываемом языке с удобным сахаром, комфортной работой с данными и минималистичным синтаксисом, или писать на старом, медленно развивающимся языке, на котором ты для элементарных задач будешь фигачить тонны циклов и страдать от синтаксиса.
Сам решай. Котлин умирать совсем не собирается.

17 Апр, 04:31 #486 #974733

>>971938
в гугле по тегам, MVP(либы: mosby, moxy), MVVM(не актуально вроже), VIPER (не пугайся, что там про айфон в основном - для ведра тоже актуально), (еще есть даташины и подобные - но вроде уже считается не актуальным, в том смысле что возлагали надежды, которые не оправдались - вместо нагромождения еболы в активити получили колбэкхэлы) + посмотри что такое DI
в ютубе, кстати, есть довольно много видосиков на тему
+ на десерт: луркай гитхабы

17 Апр, 04:38 #487 #974734

>>971939
рассмотрим два ситуейшена: у тебя есть просто паблик стринг и есть прайват стринг с геттером и сетером. Проходят дни, недели и ты понимаешь что этот стринг нужно не просто устанавливать\получать, но еще и как то предварительно проверять на нулл или менять. И в случае с паблик стрингом - тебе придется пройти по всему своему говнокоду и поменять везде на то, что ты хочешь. В случае с геттером\сеттером - ты поменяешь код только в одном месте - в самом геттере\сеттере.
На самом деле я бы посоветовал тебе не использовать private, а наступить на эту граблю самому, тогда до тебя дойдет вся магия.

277 Кб, 1920x1080

Play Market 17 Апр, 10:22 #488 #974771

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

Ответы974772

17 Апр, 10:24 #489 #974772

>>974771
не начнет. Скрины сделай только без нарушения авторских прав

Ответы974773

17 Апр, 10:30 #490 #974773

>>974772
А в случае наличия порнографических материалов?

Ответы974795

17 Апр, 11:21 #491 #974795

>>974773
Выебет в анальную жепу ануса

17 Апр, 11:56 #492 #974803

Как грамотно спиздить кусок чужого кода, чтобы не запалили?
Кроме как поменять название всех переменных методов и классов?

И что потом будет если на собеседовании попросят пояснить за этот кусок? Посадят на бутылку?

Ответы974806974817974847

17 Апр, 12:04 #493 #974806

>>974803
В загадки с тобой играть будут.

Ответы974827

17 Апр, 12:21 #494 #974817

>>974803
Понять что делает этот кусок кода и написать для себя.

Ответы974827

17 Апр, 12:32 #495 #974823

CameraSource.takePicture(null, new CameraSource.PictureCallback() {
@Override
public void onPictureTaken(byte[] bytes) {

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

Дебажил это говно, массив байтов нормально заходит, но пикча не декодится, в чем проблема?
пробовал сохранять в интернал мемори, а потом брать оттуда, та же хуйня

17 Апр, 12:47 #496 #974827

>>974806
Какие загадки?
>>974817
Так зачем писать самому если можно спиздить?

Ответы974832974835974847

17 Апр, 12:55 #497 #974832

>>974827
МОжно сделать лучше например.

17 Апр, 12:58 #498 #974835

>>974827
Есть два стула...

sage 17 Апр, 13:11 #499 #974847

>>974827
>>974803
Ты опять выходишь на связь, мудила?

17 Апр, 13:14 #500 #974851

ПЕРЕКАТ https://2ch.hk/pr/res/974849.html (М)

ПЕРЕКАТ https://2ch.hk/pr/res/974849.html (М)

ПЕРЕКАТ https://2ch.hk/pr/res/974849.html (М)

19 Апр, 07:29 #501 #976148

Нужен прогер, для разработки и дальнейшей работы над мобильным приложением.
Опыт работы обязателен.
Мои контакты son.IFivebaANUSyande`{dxPUNCTUMr=fyu
Зарплата от 500зеленых в месяц. В перспективе рост зп
В письме рассказать немного о себе, о своих проектах и т.п., сколько готовы уделять времени работе, возраст.

28 Апр, 23:38 #502 #981716

>>959573
В компоненте не обязательно объявлять WeatherReporter, т.к. твой WeatherReporter может инжектиться без модулей с пустым-то конструктором

Тред утонул или удален.
Это копия, сохраненная 4 июня 2017 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion