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

Этого треда уже нет.
Это копия, сохраненная 11 марта 2018 года.

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

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

43 Кб, 400x267
Android Development Thread 21 дек, 16:59 1110463 В конец треда | Веб

Android Development Thread 2.3.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. Есть лямбды, стримы и делегаты. С 17 мая поддерживается официально.

> Есть что-то кроме нативных приложений на 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/1079097.html (М)

Ответы10478112851315413434148171498116793175011817725372

21 дек, 17:27 2 1110478

>>1110463 (OP)
Зарепортил за всратку с оппика.

Ответы11315

21 дек, 22:34 3 1110656

Есть на борде аносы, которые зарабатывают на своих приложениях в сторе. Я имею ввиду свои личные пет-прожекты и поделия, с продажи которых или с рекламы в которых падает в карман копеечка. Было б интересно послушать истории неуспеха

Ответы1068725186

21 дек, 23:22 4 1110687

>>1110656
Тут ты вряд ли что-то кроме 300к / сек услышишь.
На хабрахабре полно таких историй, вот свежая https://habrahabr.ru/post/345174/

22 дек, 09:09 5 1110806

Пукнул в треде.

22 дек, 10:29 6 1110828

Я правильно понимаю что с 32битной осью тут хуй сделаешь, надо ставить 64 битную?

Ответы10835

22 дек, 10:44 7 1110834

И где можно скачать андроид студио 2.0?
гугль везде удалил, пидрилы, у меня 3.0 не запускается

Ответы10835

22 дек, 10:46 8 1110835

>>1110828
Да, давно пора.
>>1110834
Поищи на торрентах, но зачем тебе он?

Ответы10837

22 дек, 10:49 9 1110837

>>1110835
чтобы не переустанавливать шиндовз.

22 дек, 17:18 10 1111099

сосаны, насколько это гавно железо-независимо?
я могу на любое железо поставить любое ведро?
или там все анально огорожено?

Ответы1113111139

22 дек, 18:40 11 1111131

>>1111099
Каждый производитель устройства пишет собственную прошику. Насколько знаю, Google запустила программу не помню как нзывается точно, что-то вроде Android One, чтобы избавиться от такого положения дел.

Ответы1116311277

22 дек, 18:50 12 1111139

>>1111099
Гугли HAL

22 дек, 19:47 13 1111163

>>1111131
нет, я допустим смогу поставить на старый девайс какой-нибудь новый андроид?
какой там сейчас модный? 5ый?

Ответы11277

22 дек, 23:40 14 1111277

>>1111163
Иногда можешь, но много хуйни может потребовать написать самому. Сейчас последняя версия ведра 8.1.
>>1111131
Trebble называется, но это не панацея, пока вендоры могут класть хуй на пользователей, а кто не ложил и так обновляет.

Ответы11278

22 дек, 23:43 15 1111278

>>1111277
>а кто не ложил
тот клал.

23 дек, 00:16 16 1111285

>>1110463 (OP)
Уберите уже эту мразь с оппика

Ответы113141131512796

23 дек, 00:41 17 1111290

Дройданы, а как вы пилите репозитории под Realm?

Ответы11411

23 дек, 02:48 18 1111314

>>1111285
двачую люто, репорчу каждый тред, но мочуху и остальным походу насрать.

Ответы1131512796

23 дек, 02:53 19 1111315

>>1110478
>>1111285
>>1111314
Если б я был ОПом, я бы специально только эту пикчу и использовал, чтобы вашими бабахами наслаждаться.

Кого вообще ебет, что там за картинка?

Ответы11316

23 дек, 03:01 20 1111316

>>1111315
>Кого вообще ебет, что там за картинка?
Меня до этих тредов никогда не ебало, но эта пикча за гранью.

Ответы12796

23 дек, 13:07 21 1111411

>>1111290
У тебя с ним уже есть DAO, зачем тебе репозитории?

23 Кб, 480x361
23 дек, 14:49 22 1111447

Как запустить из кода стандартное приложение "Загрузки"?

Ответы11449

23 дек, 14:55 23 1111449

>>1111447
Intent

Ответы11452

23 дек, 15:04 24 1111452

>>1111449
Этот ответ ни о чём.

Ответы11455

23 дек, 15:09 25 1111455

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

Ответы11461

23 дек, 15:27 26 1111461

>>1111455
Сам ты аутист. Гугл ничего путного не находит.

Ответы11475

23 дек, 16:06 27 1111471

Какие альтернативы Анроид Студио? Ибо лагает, что пиздец. Комп новый не могу позволить, студентота.

Ответы11480114811149311494

23 дек, 16:18 28 1111475

>>1111461
Тут выше человек не мог найти старую версию студии. Решил проверить самостоятельно, ссылка на скачивание выпала первой. Вывод делайте сами.

Ответы11739

23 дек, 16:26 29 1111480

>>1111471
Что за комп сейчас?

23 дек, 16:30 30 1111481

>>1111471
Никаких

23 дек, 17:15 31 1111493

>>1111471
Запускай грейдл из консольки, эдить в код sublime/vscode

23 дек, 17:16 32 1111494

>>1111471
Вы в каждом треде теперь это спрашивать будете?

24 дек, 13:53 33 1111739

>>1111475
ссылок полно, студии по ссылки нет, дебил

Ответы11842

24 дек, 18:06 34 1111842

>>1111739
А это что?
https://android-studio.ru.uptodown.com/windows

38 Кб, 414x636
24 дек, 18:09 35 1111843

Есть ли способ отобразить RecyclerView в горизонтальном положении в редакторе? Во время работы программы отображается как нужно.

Ответы1184611848

24 дек, 18:11 36 1111846

>>1111843
С тулзами попробуй поигратся, но не уверен что поможет

24 дек, 18:14 37 1111848

>>1111843
android:orientation="horizontal"

Ответы11849

24 дек, 18:17 38 1111849

>>1111848
Увы, никаких изменений. Ладно, хрен с ним, главное что в приложухе все как надо.

Ответы1185111852

24 дек, 18:18 39 1111851

>>1111849
Ты layoutManager указал при этом?

Ответы1185211853

280 Кб, 2784x994
24 дек, 18:22 40 1111852

>>1111849
>>1111851

Ответы12912

24 дек, 18:27 41 1111853

>>1111851
Нет, не указывал. Теперь работает правильно, спасибо.
Раз пошла такая темочка, то как мне правильно кнопочки "большого пальца вверх" сделать? Ну что б при нажатии на них была анимация, как со стандартным Button. Пока сейчас просто ImageView для предварительного просмотра.

Ответы11854

24 дек, 18:42 42 1111854

>>1111853
Гугли ripple effect

24 дек, 19:06 43 1111858

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

Ответы11859

24 дек, 19:08 44 1111859

>>1111858
Убийца снапчата это ты?

Ответы11863

24 дек, 19:30 45 1111863

>>1111859
что такое снапчат?
мне тупо демку одного обработчика замутить надо

Ответы11868

24 дек, 19:48 46 1111868

>>1111863
Говноприлоджуха которая в риалтайме цепляет маски к еблам. Тебе риалтайм или нет? Если нет, то все просто.

Ответы11872

24 дек, 19:56 47 1111872

>>1111868
мне реалтайм, но я не ожидаю больших проблем
на хтмл5 я за день накатал

Ответы1187411927

24 дек, 19:58 48 1111874

>>1111872
просто как писать приложения я в душе не ибу, и поэтому хочу понять масштаб проблемы

Ответы11966

24 дек, 21:56 49 1111927

>>1111872
Как у тебя будет риалтайм если ты на сервер слать будешь?

Ответы11971

24 дек, 23:02 50 1111966

>>1111874
Берешь и пишешь. Без задней мысли.

24 дек, 23:17 51 1111971

>>1111927
ну не риалтайм, а там с задержками небольшими, ок.
я это имел ввиду

Ответы11985

25 дек, 00:00 52 1111985

>>1111971
Ну такое, не очень быстро сделаешь, может быть с вебсокетами, но даже так возможно задеркжа будет неприемлемой.

Ответы11993

25 дек, 00:20 53 1111993

>>1111985
я на хьмл5 делал с вебсокетами, мне чисто продемонстрировать это нужно клиенту
похуй на задержки если они не прям пиздец большие

25 дек, 12:50 54 1112122

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

Ответы1221612219

25 дек, 16:32 55 1112196

Gogle Drive. OAuth 2.0 client ID и API key
В чем разница? Я знаю, что OAuth 2.0 client ID нужен для авторизованных реквестов, а APi key для неавторизованных вызовов. Но как выглядит эта разница на практике?

Ответы12201

25 дек, 16:41 56 1112201

>>1112196
Я правильно понимаю, что если используется приватная папочка приложения на гуглодиске - достаточно лишь API key, а если нужен доступ к порнушке пользователя в ЕГО папках - тут уже нужна авторизация?

Ответы12204

25 дек, 16:45 57 1112204

>>1112201
И если да - значит ли это, что на ведре нельзя безопасно использовать API key без стороны сервера, учитывая это
https://support.google.com/cloud/answer/6310037?hl=en&ref_topic=6262490

25 дек, 17:29 58 1112216

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

Ответы12237

25 дек, 17:32 59 1112219

>>1112122
Тебе совсем делать нехуй, да?

Ответы12224

25 дек, 17:40 60 1112224

>>1112219
ну ява это правда пиздец.

Ответы12240

25 дек, 18:20 61 1112237

>>1112216
Выучит другой яп.

25 дек, 18:29 62 1112240

>>1112224
На ней давно уже никто и не пишет.

Ответы12253

25 дек, 18:58 63 1112253

>>1112240
лол, а на чем пишут android приложения?

Ответы12257

sage 25 дек, 19:03 64 1112257

>>1112253
На HTML

Ответы1228612316

25 дек, 20:17 65 1112286

>>1112257
Как камеру подключить на html?

Ответы12310

25 дек, 20:52 66 1112310

>>1112286
https://developers.google.com/web/fundamentals/media/capturing-images/

Ответы12397

25 дек, 20:57 67 1112316

>>1112257
С bluetooth low energy ты соснешь.

Ответы12366

25 дек, 22:02 68 1112366

>>1112316
Соснешь ты, а я ебану через hni(html native interface)

25 дек, 22:40 69 1112395

Где лучше всего обрабатывать нажатия на вьюшку в RecyclerView? На спех прикрепил пока в методе onBindViewHolder.

Ответы1240312471

25 дек, 22:44 70 1112397

>>1112310
нихуя, ничто из этого не дает доступ непосредственно к камере. максимум можно ролики записать и загрузить

25 дек, 22:49 71 1112403

>>1112395
Внутри вьюхолдера.

18 Кб, 1269x108
25 дек, 23:46 72 1112422

проста, тупа, джава

Ответы12529

26 дек, 01:21 73 1112452

Как запускать приложение на планшете (на самом деле с минимальной шириной 600 dp) в лендскейпе, а на экранах с меньшей шириной - в портретной ориентации? Я создал вариации лейаутов, но вот именно на планшете, хоть тот и лендскейпе лежит, приложение запускается в портретной ориентации.

Ответы12457

26 дек, 01:30 74 1112457

>>1112452
layout-sw600dp-land

26 дек, 02:58 75 1112471

Аноны, у меня в recycler view в каждом айтеме есть прогресс бар, как правильно его обновлять из фрагмента. Пока что передают обновленное значение в адаптер, а там notifyItemChanged(position) и уже через bindViewHolder это обновленное значение попадает в айтем где обноволяет прогресс бар, но при этом вся вьюха перересовывается и постоянно мерцает при обновлении.
Как правильно делают в таких ситуациях?

>>1112395
Ну я передают свой интерфейс в onCreateViewHolder, и в конструкторе ViewHolderа ставлю clickListener как мне надо, а фрагмент с рейсайклером имплементит мой интерфейс нажатий. Может есть и лучшие решения, тоже бы послушал.

Ответы1247212498

26 дек, 02:59 76 1112472

>>1112471
>передаю
фикс

26 дек, 08:16 77 1112498

>>1112471
https://stackoverflow.com/questions/31897469/override-animation-for-notifyitemchanged-in-recyclerview-adapter

26 дек, 09:41 78 1112529

>>1112422
Это что же у всех так 6 гигов памяти отжирает или у тебя там отброный говнокод?

Ответы1255912843

26 дек, 12:48 79 1112559

>>1112529
Это еще мало. Видать просто hello world собрал

26 дек, 17:14 80 1112796

>>1111285
>>1111314
>>1111316

да ладно вам, что не так? Нормальная девушка-блондинка в модных ныне очках, че вы разошлись, смермотокзикозники? Почему вас реально это настолько ебет в тредах про програмач?
П.С. двачую, что на месте ОПа я бы принципиально эту картинку только бы и ставил и наслаждался б багетами даунов

Ответы12873

26 дек, 17:24 81 1112799

Всем привет. Здесь есть те, кто знаком с Oauth2? Хочу написать свой клиент вк, но не в зуб ногой с этими ключами и авторизацией, туго движется. Был бы признателен, если на пальцах от момента ввода данных объяснили что там и как. Спасибо

Ответы12807

26 дек, 17:35 82 1112807

>>1112799
>Oauth2
OAuth 2.0 простым и понятным языком
https://habrahabr.ru/company/mailru/blog/115163/

26 дек, 19:07 83 1112843

>>1112529
У меня 4 гига отжирает хелоу ворлд.

26 дек, 19:32 84 1112864

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

Ответы12914

26 дек, 19:57 85 1112873

>>1112796
Cем, плиз

26 дек, 22:42 86 1112912

>>1111852
посмотри может там есть аттрибут tools:orientation

26 дек, 22:45 87 1112914

>>1112864
Взял и без задней мысли начал вкатываться. Так и не вкотился за несколько лет

27 дек, 13:44 88 1113090

Аноны, надо ли знать протокол http для моб разработки??
Нужно ли понимание как функционирует сервер, бекенд, навыки работы в командной строке Linux??
Можно ли писать под IOS без мака(компьютера от эппл)?
Где-то читал, что написав код на c++, можно его скомпилить кроссплатформенно для IOS и для Android, это правда?

Ответы13142

27 дек, 16:05 89 1113142

>>1113090
Жирный троль.

27 дек, 16:37 90 1113154

>>1110463 (OP)
Анон, как в андроиде внутри организовано общение с сетевым стеком? Мне, юникс сишкоблядине, не совсем ясно, как оно работает: в обычном линуксе работа идет через сокеты и их системные вызовы, в андроиде же это судя по всему организовано через какой-то хитрожопый IPC/RPC (т.е. пользовательское приложение общается с внутренним процессом вместо прямых системных вызовов), но я все-равно не могу понять, какой процесс отвечает за собственно общение с ядром.

Ответы13189

27 дек, 17:51 91 1113189

>>1113154
Тебе надо ковырять исходники. Но вообще дергаются дажвовские сокеты, которые уже на каждой платформе по своему работают.

Ответы13214

27 дек, 18:33 92 1113214

>>1113189
Хм, а ты прав, софт действительно использует обычные жабовские сокеты, никакого ебнутого IPC нет. Я пробовал с помощью cgroups+iptables зарезать трафик для определенного приложения, но он нифига не резался, из-за чего я решил, что трафик идет через что-то другое. В итоге оказалось, что при запуске процесс (в моем случае - Webview browser) всего лишь хуярит какие-то свои сложные правила и таблицы роутинга для процесса, которые перекрывали мои.

Ответы13220

27 дек, 18:38 93 1113217

Драч, посоветуй.
Есть 2 активити: на первой есть список элементов, по нажатию на который открывается activityForResult второй активити для просмотра/редактирования информации. Также, во второй активити есть ViewPager для свайпа фрагментов, в которых собсна вьюхи с полями элемента списка. Вот мне в адаптер ViewPage'а нужно скормить список, который содержится в фрагменте со списокм в главной активити. Как это лучше сделать? Обернуть список в класс, унаследовать его от Serializable и в intent пихать? Класть для ArrayList в синглтон? Или есть способ, о котором я не знаю?

Ответы1323213252

27 дек, 19:07 94 1113220

>>1113214
А, нет, я обосрался, роутинг тут ни при чем и оно все-равно не работает. Ну да хуй с ним, буду копаться в исходниках дальше

27 дек, 19:15 95 1113222

Как опубликовать свое приложение в гугл плее не указывая свои реальные имя/фамилию/адрес?

Ответы13231

27 дек, 20:14 96 1113231

>>1113222
Указать чужие. Делаешь новый эмейл, потом делаешь под фальшивые имена карту, найди бомжа какого-то.

Ответы13249

27 дек, 20:16 97 1113232

>>1113217
Самый простой вариант - сделать Parcelable. Но лучше что бы был какой-нибудь репозиторий с этой ебалой, и его инстанс инжектился в обе активити/фрагмента.

27 дек, 21:35 98 1113249

>>1113231
А на сгуху потом не поеду?
Беларусь если что.

Ответы13277

27 дек, 21:37 99 1113252

>>1113217
Если очень много данных делай синглтон(в intent по моему в последний версиях не больше мегабайта можно пихать), в остальном на мой взгляд лучше юзать интенты с parceable.

27 дек, 22:28 100 1113277

>>1113249
Дроны гугла к тебе прилетят и посадят на бутылку.
На швабре была статья чувака котоырй клепал однотипные клоны говноигр по всяким франшизам-мультикам и греб бабосы с рекламы. Менял эмейлы/карточки и даже железо, еще айпи прятал за проксями, так как гугл выкпуал и банил аккаунты. Но вроде ничего страшного в реальном мире не было.
Чисто теоретически в чем проблема помочь бомжу зарегать карточу, эмейл и аккаунт разработчика? Ничего страшного, только за пиздинг контента могли бы доебаться, но интернет еще вроде не под бацькой.

14 Кб, 567x211
28 дек, 02:51 101 1113352

Блэт. Студию 3.0 скачал на свою жопу. Пустой проект нихуя не работает. Срет пиком. По всем советам эту хуету:

repositories {
maven{url 'https://maven.google.com'}
}

добавил - нихуя не поменялось. Можно оно просто заработает и все?

Ответы1336013399

28 дек, 04:43 102 1113360

>>1113352
Скочай 3.1

28 дек, 09:49 103 1113399

>>1113352
>С:\

28 дек, 13:04 104 1113434

>>1110463 (OP)
Вы когда-нибудь работали с андроидом? Писали под него приложения/игры? Видели его API или код?

Это worst OS ever. Впечатление что код писали первокурсники набранные по ЛГБТ-квотам. Заметьте, я говорю «писали код», а не «проектировали», потому что проектированием там не пахнет. Любой человек с опытом написания больших проектов, напишет лучше, рили.

Api экстремально говняное. Более того, оно часто меняется. В итоге мы имеем по несколько говняных апи в разных версиях. Т.е. можно написать фичу, а через версию андроида узнать, что она отламалось, и нужно юзать другое апи с другими костылями. Без костылей вообще ничего не попишешь.

Глобальные косяки в проектировании, тащатся с первых версий и не исправляются в принципе. Конечно, лучше новую кривую апишку добавить. Эти ребята даже язык не смогли выбрать для проекта, пока андроид написан на джаве, он так и будет тормозить. И не надо мне говорить «джава не тормозит» или «новые андроиды не тормозят», на практике это не так. Когда на 8 ядрах и нескольких гигах RAM звонилка открывается 0.5 сек, это не «не тормозит», а беспредел, на таком железе иначе как мгновенно быть не должно.

Идем дальше, вещи типа GooglePlayServices написаны запредельно говняно. То что в ios делается в 2 строки, тут делается в файл полный костылей и асинхроннного глючного говна.

NDK это просто высер и одновременно плевок в лицо разработчикам под платформу. Из всего апи корректно работает 20%, остальное в той или иной мере не работает или просто недоделано. Есть баги которые не фиксятся с первых версий. Не буду говорить о том, что значительная часть рабочих фичей по части поддержки C++ сделана вообше сторонним разработчиком(спасибо ему за это). И опять же не надо говорить что они думали что «все приложения\игры будут написана на джаве и нативный код ненужон». Сам факт того что они так мыслят, говорит об отсутствии квалификации.

Далее, тулсет. Android Studio — глючное, тормозное ужасное говно. Gradle — вообще ночной кошмар. Такой же тормозной как и студия. За время за которое ant собирал проект, gradle даже запуститься не успевает(Знаете как они пытаются это пофиксить? Запускают демон чтобы не запускатать каждый gradle раз. Overmind). Ужасный, нелогичный, инопланентый синтаксис. Оказывается раньше это был более-менее нормальный язык groovy(Если конечно считать нормальным делать тормозной скриптовый язык на и без того тормозной джаве), но потом туда добавили сахарку и писать на нем даже с документацией проблематично. Haskell понятнее.
Мусор, в каждый проект gradle добавляет кучу мусорных файлов, просто уйму. Про частые обновления которые ломают сборку я промолчу. В свое время я не знал про offline режим, и как-то открыв проект через месяц обнаружил его несобирающимся, хотя ничего не менял. Это беспредел.

Так к чему я это все. Из всего вышесказанного, можно сделать вывод что общий уровень квалификации работников гугла экстремально низкий. Так же основной упор на собеседованиях идет на малоприменимые на практике математические задачи, что ведет к отрицательному отборку, в итоге в гугл попадают студенты-первокурсники, задрочившие сборник олимпиадных задач, имеющие большое самомонение(как же, в гугле же работают), но с отсутствующей квалификацией. Так же в компании сущетсвуют ЛГБТ-квоты, когда нанимают сотрудников не потому что они хорошие специалисты, а потому что они путают мальчиков с девочками.

28 дек, 13:04 104 1113434

>>1110463 (OP)
Вы когда-нибудь работали с андроидом? Писали под него приложения/игры? Видели его API или код?

Это worst OS ever. Впечатление что код писали первокурсники набранные по ЛГБТ-квотам. Заметьте, я говорю «писали код», а не «проектировали», потому что проектированием там не пахнет. Любой человек с опытом написания больших проектов, напишет лучше, рили.

Api экстремально говняное. Более того, оно часто меняется. В итоге мы имеем по несколько говняных апи в разных версиях. Т.е. можно написать фичу, а через версию андроида узнать, что она отламалось, и нужно юзать другое апи с другими костылями. Без костылей вообще ничего не попишешь.

Глобальные косяки в проектировании, тащатся с первых версий и не исправляются в принципе. Конечно, лучше новую кривую апишку добавить. Эти ребята даже язык не смогли выбрать для проекта, пока андроид написан на джаве, он так и будет тормозить. И не надо мне говорить «джава не тормозит» или «новые андроиды не тормозят», на практике это не так. Когда на 8 ядрах и нескольких гигах RAM звонилка открывается 0.5 сек, это не «не тормозит», а беспредел, на таком железе иначе как мгновенно быть не должно.

Идем дальше, вещи типа GooglePlayServices написаны запредельно говняно. То что в ios делается в 2 строки, тут делается в файл полный костылей и асинхроннного глючного говна.

NDK это просто высер и одновременно плевок в лицо разработчикам под платформу. Из всего апи корректно работает 20%, остальное в той или иной мере не работает или просто недоделано. Есть баги которые не фиксятся с первых версий. Не буду говорить о том, что значительная часть рабочих фичей по части поддержки C++ сделана вообше сторонним разработчиком(спасибо ему за это). И опять же не надо говорить что они думали что «все приложения\игры будут написана на джаве и нативный код ненужон». Сам факт того что они так мыслят, говорит об отсутствии квалификации.

Далее, тулсет. Android Studio — глючное, тормозное ужасное говно. Gradle — вообще ночной кошмар. Такой же тормозной как и студия. За время за которое ant собирал проект, gradle даже запуститься не успевает(Знаете как они пытаются это пофиксить? Запускают демон чтобы не запускатать каждый gradle раз. Overmind). Ужасный, нелогичный, инопланентый синтаксис. Оказывается раньше это был более-менее нормальный язык groovy(Если конечно считать нормальным делать тормозной скриптовый язык на и без того тормозной джаве), но потом туда добавили сахарку и писать на нем даже с документацией проблематично. Haskell понятнее.
Мусор, в каждый проект gradle добавляет кучу мусорных файлов, просто уйму. Про частые обновления которые ломают сборку я промолчу. В свое время я не знал про offline режим, и как-то открыв проект через месяц обнаружил его несобирающимся, хотя ничего не менял. Это беспредел.

Так к чему я это все. Из всего вышесказанного, можно сделать вывод что общий уровень квалификации работников гугла экстремально низкий. Так же основной упор на собеседованиях идет на малоприменимые на практике математические задачи, что ведет к отрицательному отборку, в итоге в гугл попадают студенты-первокурсники, задрочившие сборник олимпиадных задач, имеющие большое самомонение(как же, в гугле же работают), но с отсутствующей квалификацией. Так же в компании сущетсвуют ЛГБТ-квоты, когда нанимают сотрудников не потому что они хорошие специалисты, а потому что они путают мальчиков с девочками.

Показать весь текст
Ответы134351344313446

28 дек, 13:13 105 1113435

>>1113434
Хорошо пишешь, но вывод идиотский. Уровень квалификации довольно высокий, но сама суть андроида - добавлять новые фичи asap, а не когда они окаменеют как говно мамонта, а также поддерживать как можно большее количество говнопроизводителей, которые вносят критическое количество говнокода и неразберихи. В то же время в iOS - диаметрально противоположный подход, прямо как альфа и омега, лол. Что лучше - вопрос философвский

28 дек, 13:40 106 1113443

>>1113434
Мне плевать, я готов ебаться с кодом, потому что я нищий и не могу на мак перейти. Да и не нужен этот мак, андройд же ОПЕН_СОУРС.

98 Кб, 474x720
28 дек, 14:03 107 1113446

>>1113434
> Впечатление что код писали первокурсники набранные по ЛГБТ-квотам. Заметьте, я говорю «писали код», а не «проектировали», потому что проектированием там не пахнет.
Начнем с того, что изначально ОС была разработана не Гуглом, а Android Inc, которая к Гуглу никакого отношения и не имела. Большинство ошибок проектировки (которые, кстати, и Гугл признает) — на её совести.

> Глобальные косяки в проектировании, тащатся с первых версий и не исправляются в принципе.
А как ты предлагаешь их исправлять? Вот пересоздание activity при повороте, например. Гуглу нужно изменить это поведение, перелопатить сотни тысяч строк кода и сломать 90% пользовательских приложений?

> ребята даже язык не смогли выбрать для проекта
Выбор Джавы в качестве основного языка разработки был важен для привлечения большого числа разработчиков, которые могли сразу брать и писать код. Если бы API было на Плюсах, стоимость и сложность разработки приложения выросли бы многократно.

> Android Studio — глючное, тормозное ужасное говно
Ты, видимо, XCode или Xamarin Studio никогда не использовал. IDE от JetBrains считаются стандартом в коммерческой разработке ПО.

> Gradle — вообще ночной кошмар.
> За время за которое ant собирал проект, gradle даже запуститься не успевает
Потому, что ant умеет чуть менее, чем нихуя. Еще можно снова сравнить с iOS-разработкой, где до сих пор нет нормальной системы сборки и нормального менеджера пакетов.

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

28 дек, 14:58 108 1113463

Вартан сказал, пишите single activity app, и не юзайте fragments back stack. Кто-нибудь так пишет вообще? Где можно примеры\исходники посмотреть?

Ответы134671350813518

471 Кб, 600x470
28 дек, 15:01 109 1113467

>>1113463
> Вартан сказал

Ответы13476

28 дек, 15:01 110 1113468

Когда я получил данные с сервера, они помещаются во вьюшки, допустим RecyclerView с обработчиком нажатия, где по клику вызывается второе активити и тоже взаимодействует с сервером. Тот самый первый запрос который я вызвал, удаляет же вьюшки так? Мне нужно по идее запихнуть эти данные в БД и тогда, когда я захочу нажать кнопку назад из второго активити и перейти в первое, я просто вытащу это из БД. Или есть другие пути?

Ответы13519

28 дек, 15:45 111 1113476

>>1113467
Ты чё, ты чё, а?

28 дек, 18:00 112 1113498

test

28 дек, 18:06 113 1113508

>>1113463
эм, ты же понимаешь, что тут:
>пишите single activity app
>не юзайте fragments back stack
противоречие и деление на ноль?

Либо ты пишешь приложение с ОДНОЙ активити и там у тебя будет уже много фрагментов в стеке. Либо у тебя вообще нет головной боли с фрагментами, ты используешь архитектуру с множеством активити.
А сингл активити без фрагментов ты не сделаешь даже в тестовом задании для перехода в адекватную контору.

28 дек, 18:26 114 1113518

>>1113463
Ну я пишу с сингл активити. Что именно тебе не понятно?
Вообще вроде как при таком подходе есть какие-то проблемы с nested fragments в view pagerах, но я в них использую обычные вюхи.

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

Ответы13860

28 дек, 18:28 115 1113519

>>1113468
Или в бд, или в преференсы, или в синглтон какой-нибудь хуйнуть.

Ответы13551

53 Кб, 186x169
28 дек, 19:21 116 1113541

Котаны, подскажите есть ли сейчас в андроиде способы работы с диалоговыми окнами без анальной боли вроде setTargetFragment и onActivityResult.
Желательно с минимумом велосипедостроения и крашей.

Ответы136171412014155

28 дек, 19:38 117 1113546

Под пинуксом реально вкатится в разработку или без ЖИНДУСа никак?

Ответы13547

28 дек, 19:49 118 1113547

>>1113546
да

28 дек, 20:28 119 1113551

>>1113519
Хорошо. Если в БД, то лучше Realm использовать или обойтись SQLite?

Ответы13554

28 дек, 20:42 120 1113554

>>1113551
SQLITE конечно же.
Realm - лишняя зависимость и в руках новичка неповоротливый и не оптимальный инструмент.

Ответы13576

28 дек, 22:07 121 1113576

>>1113554
Понял. Спасибо.

15 Кб, 633x326
29 дек, 00:13 122 1113613

Пытался вкатиться, но такая вот херь. Идеи, кроме "выкинуть своё говно и купить нормальный компьютер"?

Ответы136161363213659

29 дек, 00:16 123 1113616

>>1113613
не пытаться вкатываться

29 дек, 00:17 124 1113617

>>1113541
общая модель

Ответы13944

29 дек, 00:35 125 1113632

>>1113613
Ты хоть прочитал что там написано?
Включи виртуализацию в биосе(если она есть у твоего проца) и установи специальнюу мокропиську для винды - haxm. Или используй медленный arm эмулятор КАК ТЕБЕ ПОДСКАЗЫВАЮТ В ЕБАНОМ СООБЩЕНИЕ, БЛЯ

Ответы13659

29 дек, 01:34 126 1113659

>>1113632
>>1113613
Двачую. Если ты даже это сообщение осилить не можешь, тебе в разработке делать нечего.

Собственно, самый универсальный совет - третий. Установи линукс, тогда эмулятор будет работать, даже если у тебя амд вместо процессора.

29 дек, 10:16 127 1113745

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

Ответы13753

29 дек, 11:08 128 1113753

>>1113745
Берешь и заполняешь текстом, в чем проблема? Только надо где-то хранить дополнительно выбранный вариант как он есть.

29 дек, 15:38 129 1113860

>>1113518
Ты кого петушком то обозвал, школьник, сам небось либы юзаешь его по ночам, под одеялом

Ответы13924

29 дек, 19:07 130 1113924

>>1113860
Вартан, лол. Я думал это какой-нибудь новый модный русский андроидопетушок с подворотами. Один хуй, твой качок такой себе авторитет, это как раз школьники любят выбрать себе ОВТАРИТЕТА и смотреть ему в рот без оглядки на здравый смысл. Из "его" либ юзаю только ретрофит. В остальных либах он один из мелких контрибьютеров. ButterKnife параша

Ответы13939

29 дек, 19:59 131 1113939

>>1113924
>Вартан, лол. Я думал это какой-нибудь новый модный русский андроидопетушок с подворотами. Один хуй, твой качок такой себе авторитет, это как раз школьники любят выбрать себе ОВТАРИТЕТА и смотреть ему в рот без оглядки на здравый смысл. Из "его" либ юзаю только ретрофит. В остальных либах он один из мелких контрибьютеров.
Любишь ебаться без реактива, когда весь мир признал его и уже вторая версия стабилизируется? Ебись дальше, обоссышь со своими асинтасками и паттернами хуернами.

>ButterKnife параша
Пидорас.

Ответы1394614104

29 дек, 20:34 132 1113944

>>1113617
Не ответ

29 дек, 20:41 133 1113946

>>1113939
>реактива
А при чем тут твой кочка?
>Пидорас.
>пук

Ответы14104

29 дек, 22:02 134 1113964

Поясните, стоит ли ставить на SSD:
1) SDK
2) Genymotion

Ответы1398314103

29 дек, 23:15 135 1113983

>>1113964
Это тоже самое, как выбирать базуданных. Поставь блять уже и все.

30 дек, 11:49 136 1114103

>>1113964
Стоит!

30 дек, 11:50 137 1114104

>>1113939
Батернайф параша.
>>1113946
>кочка
Скорее всего из-за того он пишет адаптеры под ретрофит, рхбиндинги и прочую ебалу

Ответы14113

30 дек, 12:53 138 1114113

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

30 дек, 13:14 139 1114120

>>1113541
Присоединяюсь к вопросу: какой сейчас самый лучший вариант работать с диалогами внутри фрагментов или активити, при этом корректно отрабатывая переворот экрана, не теряя target fragment и не теряя активити/колбеки?

Ответы14155

30 дек, 16:46 140 1114155

>>1113541
>>1114120
Просто используйте DialogFragment, в чем сложности?

Ответы14156

30 дек, 16:50 141 1114156

>>1114155
Сложности две:
1. Он закроется при перевороте
2. Надо как-то не потерять колбек

Ответы14159

30 дек, 17:06 142 1114159

>>1114156
> Он закроется при перевороте
Нет, не закроется. Из-за того, что он DialogFragment, FragmentManager сам тебе его восстановит после переворота. Или ты неправильно его используешь

> Надо как-то не потерять колбек
В смысле не потерять? Пользователь жмакает на кнопку, передаешь событие дальше своему презентеру или что там у тебя.

Ответы14165

30 дек, 17:27 143 1114165

>>1114159
Что если мне надо передать клик в родительский фрагмент? Как это лучше сделать?
В презентер только если через синглтон передавать, который реализует презентер.

Ответы14166

30 дек, 17:41 144 1114166

>>1114165
Можешь Broadcast кинуть, самое простое.

Ответы14167

30 дек, 17:49 145 1114167

>>1114166
Ух пиздец же. Код обрастает макаронными изделиями.

Ответы1416914170

30 дек, 17:58 146 1114169

>>1114167
Ну или в самом диалогфрагменте обрабатывай клик. Я хз, что там за юзкейс у тебя.

30 дек, 17:59 147 1114170

>>1114167
Вообще, не вижу тут ничего макаронного. Тот же листенер, по сути, только вид с боку. Получил бродкаст в своем родительском фрагменте, обработал или передал в преентер, всё.

30 дек, 18:25 148 1114178

Есть активити, в ней присутствует список. Пользователь выбирает один объект из списка посредством клика и ему открывается второе активити. Стоит ли это активити делать фрагментом? С учетом того, что в этом активити втором показывается еще один список, продуктов например?

Ответы141811418514198

30 дек, 18:37 149 1114181

>>1114178
Да

Ответы14186

30 дек, 18:43 150 1114185

>>1114178
Нет

Ответы14186

30 дек, 18:45 151 1114186

>>1114185
>>1114181
Двачую

30 дек, 19:04 152 1114195

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

Ответы14203

576 Кб, 630x586
30 дек, 19:04 153 1114198

>>1114178
Пиши single activity app, и не юзай fragments back stack

30 дек, 19:13 154 1114203

>>1114195
> когда активитей в стеке дохуя, память жрется не по детски
Что за бред?

Ответы14212

30 дек, 19:26 155 1114212

>>1114203
Видимо у него активити не убираются сборщиком так как проебал ссылки.

Ответы14235

30 дек, 20:55 156 1114235

>>1114212
Хм, а с чего бы им убираться сборщиком??

Ответы1423714256

274 Кб, 1448x969
30 дек, 21:03 157 1114237

>>1114235
С того, что ты кривой говнокодер?

Ответы14238

30 дек, 21:06 158 1114238

>>1114237
ох сынок, тебе только предстоит узнать все прелести андроид дева

Ответы14239

433 Кб, 3264x1836
30 дек, 21:12 159 1114239

>>1114238
Давай, расскажи мне, тупая мелкобуква.

Ответы14241

23 Кб, 604x385
30 дек, 21:19 160 1114241

>>1114239

30 дек, 22:24 161 1114256

>>1114235
Потому что они память жрут но не на экране, ммм?

Ответы14259

30 дек, 22:40 162 1114259

>>1114256
ох сынок, тебе только предстоит узнать все прелести андроид дева

31 дек, 00:08 163 1114296

Есть фрагмент, в нём грузится инфа в листвью и если всё в порядке гружу над ним текствью с количеством элементов. При вызове другого фрагмента и и возврате к этому эта текствью возвращается к своему исходному состоянию - она не видна. Есть способ решить это с помощью лайфсайкла? Потому что сейчас это завязано на переменную isCreated в onCreateView.

Ответы14298

31 дек, 00:16 164 1114298

>>1114296
> Есть способ решить это с помощью лайфсайкла?
Если ты не используешь fragments back stack (на что похоже) то нет.

Ответы14304

31 дек, 00:21 165 1114304

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

Ответы14315

31 дек, 00:59 166 1114315

>>1114304
Если я правильно понял. Корень твоей проблемы в том что у тебя вью хранит бизнес-инфу (информацию об удачности запроса), тогда как вью должно хранить только свою собственную внутренную инфу, а все что касается бизнес логики запрашивать у хозяина. Конкретно проблема в том что даже у существующих фрагментов вью может постоянно создаваться-уничтожатся (для экономии памяти), и в твоем случае при пересоздании вью просирается состояние текствью - так как вью не предназначено для хранения инфы, оно просто выкидывается нахуй. Тебе нужно добавить проперти в фрагмент с состоянием запроса - в процессе/успешно/неуспешно и при создании вью (а также при изменении проперти) приводить вью к внешнему виду.

Ответы14347

31 дек, 02:28 167 1114347

>>1114315
Если я правильно понял, то сейчас у меня именно так и реализовано.

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

View rootView = inflater.inflate(R.layout.list_with_head, container, false);

if (!isCreated) {
if (wasEmpty) {
//фрагмент показывался, данные грузились и произошла ошибка
rootView.findViewById(R.id.empty_list).setVisibility(View.VISIBLE);
((TextView) rootView.findViewById(R.id.empty_list_text)).setText(empty_list_text);
}
else {
//фрагмент показывался и данные успешно загрузились
rootView.findViewById(R.id.list_head).setVisibility(View.VISIBLE);
((TextView) rootView.findViewById(R.id.list_head)).setText(list_head_text);
}
}

//создаётся дальше
}

public void onStart() {
super.onStart();

if (isCreated)
loadItems();
}

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

31 дек, 02:28 167 1114347

>>1114315
Если я правильно понял, то сейчас у меня именно так и реализовано.

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

View rootView = inflater.inflate(R.layout.list_with_head, container, false);

if (!isCreated) {
if (wasEmpty) {
//фрагмент показывался, данные грузились и произошла ошибка
rootView.findViewById(R.id.empty_list).setVisibility(View.VISIBLE);
((TextView) rootView.findViewById(R.id.empty_list_text)).setText(empty_list_text);
}
else {
//фрагмент показывался и данные успешно загрузились
rootView.findViewById(R.id.list_head).setVisibility(View.VISIBLE);
((TextView) rootView.findViewById(R.id.list_head)).setText(list_head_text);
}
}

//создаётся дальше
}

public void onStart() {
super.onStart();

if (isCreated)
loadItems();
}

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

Показать весь текст
Ответы14348

31 дек, 02:32 168 1114348

>>1114347
> Переменные isCreated и wasEmpty изменяю в onPostExecute асинктаска.
Ты вкатывальщик или путешественник во времени?

Ответы14349

31 дек, 02:38 169 1114349

>>1114348
Первое

Ответы14350

31 дек, 02:46 170 1114350

>>1114349
Жаль. А тот купили бы биткоинов по 20 долларов.

31 дек, 11:29 171 1114409

Есть sqlite, в которой хранится 65535 записей с 2 колонками (float) и двумя колонками id.
Данные необходимо выгрести все оттуда, обработать и отобразить или передать в файле на сервер.
Естественно выборка работает ОЧЕНЬ медленно (16 секунд на выборку), а вставка через некоторое время, когда база заполнится начинает тормозить.

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

Ответы1441614421144231442714463

31 дек, 12:45 172 1114416

>>1114409
Ну и зачем тебе тогда база да вообще? Сериализуй в json, его же сразу отправляй на сервер.

Ответы14418

31 дек, 12:53 173 1114418

>>1114416
Очевидно, что данные эти нельзя отправлять сразу.
Иначе бы базы не было.

31 дек, 13:16 174 1114421

>>1114409
> Естественно выборка работает ОЧЕНЬ медленно (16 секунд на выборку), а вставка через некоторое время, когда база заполнится начинает тормозить.
Как реализовал?

31 дек, 13:32 175 1114423

>>1114409
Realm

Ответы14450

31 дек, 13:58 176 1114427

>>1114409
Realm

Ответы1443014450

31 дек, 13:59 177 1114429

Кстати вы все ещё продолжаете ебаться с адаптерами для ресуклера или таки освоили Airbnb epoxy?

Ответы14430

sage 31 дек, 14:02 178 1114430

>>1114427
>>1114429
Правильно, не можешь освоить инструмент - просто бери ещё одну библиотеку.

Ответы144331444914460

31 дек, 14:16 179 1114433

>>1114430
Какой смысл юзать sql для простого key value?

Ответы14437

sage 31 дек, 14:19 180 1114437

>>1114433
Конечно, лучше взять четырёх мегабайтовый realm и юзать его для простого key value storage.

Ответы144391444014448

31 дек, 14:27 181 1114439

>>1114437
Пока не работал с SQLite на должном уровне и только читал про синглтон. Решил поебаться с Realm, мне норм. Я же хипстер.

31 дек, 14:29 182 1114440

>>1114437
Как бы это основной usecase nosql бд

31 дек, 14:42 183 1114448

>>1114437
Мегабайтовый.

31 дек, 14:43 184 1114449

>>1114430
Стоп-стоп. Ты любитель ебаться в сраку с адаптерами?

31 дек, 14:45 185 1114450

>>1114427
>>1114423
Получишь огромный оверхед по памяти.

Ответы14452

31 дек, 14:47 186 1114452

>>1114450
По какой памяти?

Ответы14456

31 дек, 14:50 187 1114456

>>1114452
Не в оперативке, а сам файл бд там больше.

Ответы1445714460

31 дек, 14:51 188 1114457

>>1114456
И что?

Ответы14459

31 дек, 14:56 189 1114459

>>1114457
Это не оптимально. В самом начале в этом проекте использовали Realm, пока она не сожрала 100 мб.

Ответы14466

31 дек, 14:59 190 1114460

819 Кб, 1360x81097 Кб, 1329x492

>>1114456
>>1114430

Ну давайте еще похоливарим.
>РЯЯЯЯ Очень большой файл
>РЯЯЯЯЯЯ Иногда случаются непредвиденные сбои
Топовые компании уже юзают его, недавно видел в Pinterest.
И хватит уже себя обманывать, за реилмом будущее.

Ответы1446114465

31 дек, 15:02 191 1114461

>>1114460
Задачи у всех разные. В этом то дело.
Вот эти цифры, которые там написаны - они не обязательно правдивы и никто не гарантирует, что в моем случае я получу какие-то приемуществ заменив SQLite на Realm вместо самописного решения.

31 дек, 15:05 192 1114463

>>1114409
Храни в бинаре, ёпта, только хардкор

31 дек, 15:10 193 1114465

>>1114460
Есть ли у тебя возможность протестить Realm, вместо того, чтобы скриншоты с сайта вставлять?

Ответы14482

31 дек, 15:11 194 1114466

>>1114459
Так ну проблема в тебе, а не в проекте

Ответы14467

31 дек, 15:13 195 1114467

>>1114466
Цифры в студию, для начала.

31 дек, 15:40 196 1114476

Помню юзал реалм, не понравилось что работать с объектами только на main треде (или другая какая-то лабуда с потоками)ну и весит много, да.
Это что, недавно заказчик захотел скан карточки, размер APK вырос x3.5 из-за card.io. можно разбить на архитектуры конечно, но нах этот гемор надо, тупой Гугл плей сам разбивать не могет

Ответы14479

2 Кб, 364x36
31 дек, 15:44 197 1114478

Почему эта строка подчеркивается и выводится сообщение, когда версии этих библиотек одни и те же?

All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes). Found versions 25.3.1, 23.3.0, 1.0.0.

Ответы14496

31 дек, 15:45 198 1114479

>>1114476
Работать с рилмом надо в том потоке в котором ты создал инстанс. Проблема с весом апк решается сплитами.

Ответы14481

31 дек, 15:49 199 1114481

>>1114479
Вот это тот еще гемор, что пиздец.
У меня данные сваливаются в БД каждый раз из заново созданного потока.
Таковы особенности андроида.

Ответы1448314536

31 дек, 15:51 200 1114482

>>1114465
Уже за меня все сделали
https://habrahabr.ru/post/281226/

Ответы14543

31 дек, 15:52 201 1114483

>>1114481
В общем я понял твои компетенции. Можешь не продолжать.

Ответы1448414486

31 дек, 15:55 202 1114484

>>1114483
Кукарекаешь что-то невнятное. Рассказывай давай как пользоваться Realm'ом в любом потоке.

Ответы14485

31 дек, 15:58 203 1114485

>>1114484
В каком блять любом потоке? Хуяришь бэкграунд в RxJava и все.

Ответы14487

31 дек, 15:58 204 1114486

>>1114483
В знак подтверждения своей компетенции сообщи мне, где в Android API встречается вот этот момент.
Я с удовольствием послушаю.
>каждый раз из нового потока

31 дек, 16:00 205 1114487

>>1114485
Зачем мне еще одна огромная библиотека, еще кучу зависимостей, которые не добавят надёжности?
Будут добавлены проблемы:
1) Возрастет потребление от аккумулятора
2) Раздуется APK
3) Добавится тысяча строк вместе с библиотекой кода в которых очевидно будут ошибки

Ответы144881459314612

97 Кб, 1329x492
31 дек, 16:02 206 1114488

>>1114487
И что? Девелоперс лав юсинг реилм, если ты не ЛАВ, то это твои проблемы.
Хотя и не особо видны глобальные переходы, но будущее все равно за этой библиотекой. В ней получше сидеть, чем на SQLite выпуска нулевых.

Ответы14537

31 дек, 16:18 207 1114496

>>1114478
Транзитивная зависимость у другой библиотеки? Чекай dependency tree

31 дек, 18:02 208 1114536

>>1114481
Яннп, зачем новый поток создавать?

Ответы14544

31 дек, 18:05 209 1114537

>>1114488
Ну скажешь будущее. Если мне много данных хранить не надо, зачем мне реалм? Сейчас оберток реактивных к sqlite полно

Ответы14543

31 дек, 18:23 210 1114543

17 Кб, 644x22816 Кб, 643x228

>>1114537
Хорошо. Используй. >>1114482

31 дек, 18:34 211 1114544

>>1114536
Это нужно спросить у разрабов системы Android.
Мне это тоже не нравится. Связано с bluetooth le api.

Ответы14546

31 дек, 18:39 212 1114546

>>1114544
Ну так синхронизируй с нужным тебе потоком и ебошь в базу. Хули ты?
Берешь такой rx и ебошишь Flowable, если у тебя там потом данных.

Ответы14551

31 дек, 18:51 213 1114551

>>1114546
*поток

31 дек, 20:37 214 1114584

Хочу хуйнёй позаниматься. Есть средства разработки, позволяющие писать под Android на Lisp/ Haskel/ Prolog?
Слышал о mocl, но он вроде как платный.

Ответы14604

31 дек, 20:53 215 1114593

>>1114487
>1) Возрастет потребление от аккумулятора
А еще аккумулятор быстро садиться, когда белый экран на телефоне присутствует. Представим, что крутится спинер при ожидании запроса из сети. Так что давайте откажемся от белых экранов.

>3) Добавится тысяча строк вместе с библиотекой кода в которых очевидно будут ошибки
Убавиться тысяча строк кода и еще пару тысяч строк кода с использованием реактив джавы. Давай, попробуй мне написать на асин тасках два запроса в сеть, чтобы потом я их занес в БД, выбрал что мне нужно и послал на юай.

>2) Раздуется APK
>РЯЯ, МАЛО МЕСТА
Пользователи имеют минимальную оперативку, с 2МБ памяти, верните мне мой 2008 год.

31 дек, 21:06 216 1114604

>>1114584
Prolog не очень дженерик перпс ленгуэдж так что нет. На хаскеле и лиспе можно хуярить. Только смысла нет.

31 дек, 21:45 217 1114612

>>1114487
>2) Раздуется APK
Privet.
https://www.youtube.com/watch?v=ZTzg6lOgYiI

2 янв, 00:09 218 1114817

>>1110463 (OP)
Анончики, Java или Kotlin ? или может Xamarin ?

Ответы1484114925

sage 2 янв, 01:37 219 1114841

>>1114817
Haskell.

2 янв, 11:26 220 1114915

Анон, возможно ли проапдейтить апк автоматически без участия человека?
Ситуация такова: есть девайс, его надо подключить к репозиторию и скачивать новый апк если такой есть. Это дело решается. Дальше нужно этот апк установить, но при установке появляется системный диалог. Возможно ли его убрать? Апк будет просто новой версией аппы. Гугл маркет подключать не вариант.

Ответы149281494815326

2 янв, 12:37 221 1114925

>>1114817
Почему здесь еще находятся троли?

Ответы17009

2 янв, 12:54 222 1114928

>>1114915
ты охуел, конечно нет

Ответы14929

2 янв, 12:54 223 1114929

>>1114928
Почему?

2 янв, 14:55 224 1114948

>>1114915
Для стандартного приложения вряд ли, может через accesability, как вирусня всякая. Но наверное для спец приложений с правами админа можно.

Ответы14949

2 янв, 14:57 225 1114949

>>1114948
Где мне копать?

Ответы14955

2 янв, 15:33 226 1114955

>>1114949
https://developer.android.com/guide/topics/admin/device-admin.html
Насчет accessibility все очень зыбко, в последнее время очень много гадости через него работает, поэтому их сейчас жестко в маркете пресуют.
https://stackoverflow.com/questions/26628262/how-to-click-button-in-settings-using-accessibilityservice

Ответы14957

2 янв, 15:35 227 1114957

>>1114955
Спасибо
Мне на маркет и не надо закидывать

2 янв, 16:37 228 1114981

>>1110463 (OP)
>хотя бы оно готовое приложение.
Что из себя должно представлять такое приложение?

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

Ответы1498414991

2 янв, 16:38 229 1114984

>>1114981
Соц сеть хотя бы

2 янв, 16:51 230 1114991

>>1114981
Как правило, у кандидатов с уже имеющимися приложениями на GitHub шансы на трудоустройство выше. (Особенно, если в них применены все технологии, которые я описал).

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

Ответы15001

2 янв, 17:27 231 1115001

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

Ответы1500215006

2 янв, 17:29 232 1115002

>>1115001
Ретрофит - самое важное, еще джсон поучи, часто нужна кастомная сериализация, глайд/пикассо
С этим, учитывая что ты в остальном нормально шаришь, можно идти искать работу

Ответы15004

2 янв, 17:36 233 1115004

>>1115002
Вот по поводу Glide (Picasso вроде как уже похоронили). Вот что нужно знать про него? Там буквально все в пару строчек кода все укладывается. Почему на него такой акцент делают постоянно?
Использую у себя: OkHttp, Glide, ButterKnife и GraphQl + RxJava

Ответы15007

2 янв, 17:37 234 1115006

>>1115001
Заебал.
https://habrahabr.ru/post/328888/

Ответы15008

2 янв, 17:38 235 1115007

>>1115004
Как заюзать, как правильно картинки порезать и масштабировать, в чем преимущества глайда а в чем пикассо.

2 янв, 17:40 236 1115008

>>1115006
Держу у себя в закладках не первый месяц эту статью. Просто реально интересно, что там описано достаточно для того, чтоб попасть на работу за 40-60к?

Ответы1501315035

2 янв, 17:51 237 1115013

>>1115008
>чтоб попасть на работу за 40-60к?
Я не в дс живу, поэтому нахуй такие цифры. Ты нахуй никому не будешь нужен с такими знаниями без опыта над реальными проектами. Поэтому лично я считаю, что нужно хоть куда-нибудь устроиться, пусть это будет даже проект с асинтасками 2010 года выпуска и тебе потребуется перекатить его под рхджаву, я это сделаю и буду пытаться делать, потому что я будущий андройд девелоперГОВНОЕД.

2 янв, 18:59 238 1115035

>>1115008
>Просто реально интересно, что там описано достаточно для того, чтоб попасть на работу за 40-60к?
По-моему, за 40к нужно просто изъявить желание работать в ДС. За 60к неплохо бы знать хотя бы основы целевого языка и уметь в какую-нибудь пузырьковую сортировку. Мы точно о джава-джуниоре говорим, а не о стажёре на полставки?

Ответы15038

2 янв, 19:18 239 1115038

>>1115035
Джуны никому не нужны. Если сам себя до мидла не подтянешь, тебе так и будут перезванивать

Ответы15076

2 янв, 21:06 240 1115076

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

3 янв, 09:47 241 1115189

Всем привет. Появилась необходимость в использовании базы данных для моего проекта. Как это сделать я пока что не знаю, т.к никогда с бд до этого я не сталкивался. Как мне создать и подключить бд к своему проекту？ Желательно конечно простым и понятнвм языком

Ответы15191

3 янв, 09:52 242 1115191

>>1115189
Ты читать выше можешь? Даун
Я лично кроме как реилма пока ничего не юзал.

Ответы15193

3 янв, 09:58 243 1115193

>>1115191
Окей спасибо почитаю мануалы с оп-поста. Загуглил realm - вроде не очень сложно

Ответы15224

3 янв, 12:26 244 1115224

>>1115193
Есть еще SQLite, но я не очень понимаю, какие там есть ништячки для работы вместе с RxJava. Если найдешь, пиши сюда.

Ответы15227

3 янв, 12:45 245 1115227

>>1115224
SQLite это просто движок бд, причем тут rx. Есть StorIO, который позволяет чть-чуть спрятать под коврик кишки и прицепить rxjava (первую блеадь) поверх. Есть другие, от джейка что-то есть.

Ответы1523915326

3 янв, 13:03 246 1115239

>>1115227
Ну и хрен поймешь, какую юзать и какие компании юзают.

Ответы1524415326

3 янв, 13:12 247 1115244

>>1115239
А ты только попробова поймешь. Я не люблю realm из-за того что завишу от его классов и вообще мутабельности. Я привык к StorIO, но пока они не переехали на новый rx, то говно. Есть SqlBrite, минимализм зато с rx. Есть Room, там все есть и он почти всем хорош, но мне не знашел.

3 янв, 14:50 248 1115314

Можно ли установить апк в сайлент моде без рута?

Ответы15326

3 янв, 15:06 249 1115326

>>1115227
>>1115239
Есть же официальный Room от Гугла, с поддержкой Rx2.

>>1115314
>>1114915
Съеби.

Ответы15687

4 янв, 15:31 250 1115687

>>1115326
>Есть же официальный Room от Гугла, с поддержкой Rx2.
По памяти вроде его в этом году анонсировали. Да и сырой говорят. Но я пока реилмом играюсь, думаю через полгода и его опробую.

105 Кб, 991x631
5 янв, 23:16 251 1116255

Читаю коменты от выступления гугла на ИО 17-ого года. Это действительно пиздец что ли с фрагментами? Массивные компании юзают сторонние либы или заставляют ебаться с реализацией от гугла?

Ответы1630116364

6 янв, 02:53 252 1116301

>>1116255
гугла это большая рекламная зондопараша, пора уже понять

Ответы16364

6 янв, 10:40 253 1116364

>>1116301
Так и думал, что в этом полумертвом-треде какие-то мешки остались.

>>1116255
Отвечая на совй же вопрос, наверное стоит поебаться с фрагментами и все-таки дело иметь с ними, ну и для себя на абстрактном уровне поиграться с Conductor, Moxy + Cicerone. И еще погуглить такие либы.
Ну и видосик:
https://www.youtube.com/watch?v=LidlAkrYKGg&index=1&list=PLjzRz85reDwHCvtdr_HqTiS6T7wlHP8BB
Может пригодиться кому.

6 янв, 11:41 254 1116377

При использовании паттерной MVP/MVC где хранят содержимое к примеру списков? В модели?
Как тогда решается проблема - "юзер удалил из списка 1 элемент - не перезагружаем весь адаптер?".

Ответы1639816401

6 янв, 13:16 255 1116398

>>1116377
Вообще в модели, более конкретно используется курсор который возвращает модель. В роли модели может использоватся какая-то временная структура данных - если изменения не нужно сохранять немедленно, или они вообще в принципе не сохраняются.

>>1116377
> перезагружаем весь адаптер
Это не зависит от того где хранить данные, а от архитектуры списочка. В андроиде такая архитектура что при изменении данных дергается notifyDataSetChanged() - а он сорее всего перезагружает весь список, хотя хуй знает.

Ответы16401

6 янв, 13:37 256 1116401

>>1116398
>>1116377
> Это не зависит от того где хранить данные, а от архитектуры списочка. В андроиде такая архитектура что при изменении данных дергается notifyDataSetChanged() - а он сорее всего перезагружает весь список, хотя хуй знает.
Освойте уже DiffUtil

Ответы16418

6 янв, 13:48 257 1116404

Есть 2 диалога со списками: в одном список из номеров телефонов с двумя чекбоксами, а в другом - то же самое, но вместо номеров телефонов некие идентификаторы абонентов.
Вопрос: как лучше - просто сделать 2 одинаковых класса диалогов с разными именами или обмазываться унификацией и юзать один класс для всего?

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

6 янв, 14:38 258 1116418

>>1116401
Airbnb epoxy

Ответы16422

6 янв, 14:41 259 1116422

>>1116418
И причём тут она? Узнал про новую библиотеку и теперь везде её хуяришь?

Ответы16459

6 янв, 15:46 260 1116453

Где держать адаптер?
В презентере или в моделе?

Ответы16455

6 янв, 15:57 261 1116455

>>1116453
Во вьюхе.

Ответы16456

6 янв, 15:59 262 1116456

>>1116455
А смысл? Вьюха может уничтожаться.

Ответы16471

6 янв, 16:05 263 1116459

>>1116422
При том что контроллеры(адаптеры) эпокси сделают за тебя все диффы и покажут всё что нужно без лишней ебли.

6 янв, 16:32 264 1116471

>>1116456
Потому что все андроидовское говно должно оставаться на уровне ведра и ни в какие модели/презентеры не попадает.

6 янв, 18:12 265 1116505

30 Кб, 1595x35425 Кб, 1579x307

Почему при отладке пикрелейтед выполнение выходит из скоупа на проверках в условии if? И почему return true - unreachable? ЧЯДНТ?

Ответы1650617210

6 янв, 18:13 266 1116506

>>1116505
Немного уточню. Выполнение возвращается в точку вызова, и возвращается, судя по всему, true, но в отладчике я даже не дохожу до return true

Ответы16508

6 янв, 18:19 267 1116508

>>1116506
Зачем ты программируешь?

Ответы16509

6 янв, 18:23 268 1116509

>>1116508
Именно под андроид - чтобы сдать лабу.

Ответы16513

6 янв, 18:29 269 1116513

>>1116509
Хуясе лабы у вас.

Ответы16514

6 янв, 18:37 270 1116514

>>1116513
Да я уже кажется нашел ответ. Просто AS как IDE - говно. Создал лишние булеановские переменные и присвоил им значения, возвращаемые функциями, и увидел как на самом деле отрабатывает функция. Такое чувство, как будто эта скотина втихаря оптимайзит код перед "компиляцией", и исходники уже не соответствуют байт коду во время отладки.

Ответы165181652016522

sage 6 янв, 18:52 271 1116518

>>1116514
> чтобы сдать лабу
> Просто AS как IDE - говно
Держи нас в курсе.

6 янв, 19:02 272 1116520

>>1116514
Долбоеб.

Ответы16526

6 янв, 19:20 273 1116522

>>1116514
Не ты ли тот сказочный долбаёб, который просил написать приложения какие-то до зимы?

Ответы16526

67 Кб, 1046x908
6 янв, 19:23 274 1116524

Решил почитать про глиде, ммм.

Ответы16581

6 янв, 19:25 275 1116526

>>1116522
Нет, не я.
>>1116520
Ну давайте, токсичные уёбки, расскажите мне, почему нажатием F8 по последовательным операциям я вижу, как активная строка кода перепрыгивает туда сюда, а некоторые операции просто не выполняются, хотя должны?

Ответы16528

6 янв, 19:50 276 1116528

>>1116526
F7 пробуй. Узнаешь многое о классах других, будешь гуру прошаренным.

Ответы16529

6 янв, 19:52 277 1116529

>>1116528
Так нет же, я знаю о step into и step over. Там не вызовы функций. Обычные операторы присваиваний/сравнений.

Ответы16530

6 янв, 19:59 278 1116530

>>1116529
Может ты прочитаешь про try и catch для начала?
И почему ты выделяешь овердохуя строк, вместо того, чтобы ебнуть на методе?
Вот поэтому ты и сказочный долбоёб.

Ответы16531

6 янв, 20:04 279 1116531

>>1116530
>И почему ты выделяешь овердохуя строк, вместо того, чтобы ебнуть на методе?
Сначала я так и делал, умник хуев. Потом, когда я понял, что какая то еботня творится, я в отчаянии начал ебашить БП на каждую команду в надежде выловить её выполнение, чтобы лучше понимать, что происходит.
>Может ты прочитаешь про try и catch для начала?
Он что, в java работает как то иначе, как в других языках? Выброшенное исключение в скоупе try не передастся в оператор catch? "String wtf" там чисто чтобы БП на ней поставить, потому что если на фигурную скобку БП уебать, то AS вежливо намекнет мне, что "No executable code found", а мне нужно определить тип исключения и хотя бы message посмотреть.

Ответы16543

6 янв, 20:34 280 1116543

>>1116531
>Сначала я так и делал, умник хуев.
Да ты что.
>я в отчаянии начал ебашить БП на каждую команду в надежде выловить её выполнение, чтобы лучше понимать, что происходит.
Лучше бы анус свой промылил.
>Он что, в java работает как то иначе, как в других языках?
Нет.

Ты троль что ли? Хватит троллить. Если не троль, то пройдись по каждой строчке, приговаривая вслух каждое действие. Ору с тебя.

6 янв, 21:47 281 1116581

>>1116524
А после прогварда как? А вообще пикасса скатилась.

Ответы16588

6 янв, 22:01 282 1116588

>>1116581
>А вообще пикасса скатилась.
Ну я тоже заметил, в этой статье сравнивали глид 3.5 и пикасса 2.5.2, сейчас глид 4+, а вторая все так-же 2.5.2. Еще говорят, что Fresco ничего так.

Ответы1659316637

6 янв, 22:04 283 1116593

>>1116588
А всё потому что пользовать надо фреску.

Ответы16637

sage 6 янв, 23:12 284 1116637

>>1116588
>>1116593
Фу блядь! Сами жрите свое фнйсбучное дерьмо.

Ответы16789

7 янв, 10:40 285 1116789

>>1116637
Не хочу, фреско используется для полного контроля фото, и если твой заказчик совсем пиздец урод и хочет так и сяк.

7 янв, 10:48 286 1116793

>>1110463 (OP)
Пишу на DroidScript, задавайте ответы.
Добавьте в шапку кстати.

Ответы16807

7 янв, 11:20 287 1116807

>>1116793
Скинь примеры готовых приложений на нем.

Ответы16817

7 янв, 11:57 288 1116817

>>1116807
Блядь это сейчас на файлообменники апк заливать надо. Могу скринами кинуть.

Ответы1682116842

7 янв, 12:38 289 1116821

>>1116817
Хотя бы так.

Ответы16844

7 янв, 13:09 290 1116842

>>1116817
Давай, прошел уже час, но я жду.

277 Кб, 480x854
7 янв, 13:10 291 1116844

>>1116821
Где-то на официальном сайте находил приложения, которые были написаны благодаря DS.
Хуй знает где найти список. Ну да ладно. Лучше расскажу о функционале:
Вот допустим прозрачный layout на пик1.
Есть куча всяких приколюх типа Arduino.
Но самое главное это DS Plugin SDK, благодаря которому можно писать плагины на java, расширяющие возможности droidscript.
DS позволяет писать приложения быстро и без мозгоебок. Если нужно в полевых условиях собрать кастомный статусбар, калькулятор, камеру, илм что другое, то DS идеально подходит. А сейчас функционал большой.
Это и работа с терминалом, и UI слабо, но есть html, опять же- прозрачные лэйауты, и работа с файловой системой, очень многое реализованно
Не хватает только кастомного layout для нотификаций.

Ответы16851

7 янв, 13:26 292 1116851

>>1116844
Ух ебать, все бросаю и пересаживаюсь на это божество.

Ответы17752

7 янв, 19:55 293 1117009

>>1114925
я не тролль.

8 янв, 10:48 294 1117210

>>1116505
Билд обнови

8 янв, 16:05 295 1117363

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

Ответы17379

8 янв, 17:03 296 1117379

>>1117363
> Нужна помощь в решении второго практического задания.
Сам думай.

Смотрел исходники телеграмма. Почему они не используют RxJava, почему нет ретрофита, почему они не используют их то блять? За что?!

Ответы1740717414

8 янв, 17:15 297 1117384

Котаны, а разве метод getContext() можно юзать, если minSDKversion = 18?

Справка тут: https://developer.android.com/reference/android/support/v4/app/Fragment.html#getContext()

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

Ответы173861739817616

8 янв, 17:18 298 1117386

>>1117384
А где там написано, что нельзя юзать если меньше какой-то версии?

Ответы17391

8 янв, 17:37 299 1117391

>>1117386
Совсем недавно так было.

Ответы17400

8 янв, 17:49 300 1117398

>>1117384
Это блят суппорт либа, при чем тут версия апи??

Ответы17399

8 янв, 17:52 301 1117399

>>1117398
Точно! Это очень радует.

8 янв, 17:53 302 1117400

>>1117391
>Совсем недавно так было.
Когда блять? У тебя с головой совсем что ли?

Ответы17402

8 янв, 17:54 303 1117402

>>1117400
Нахуй пошел, мудило.

533 Кб, 451x587
8 янв, 18:20 304 1117407

>>1117379
> Смотрел исходники телеграмма. Почему они не используют RxJava, почему нет ретрофита, почему они не используют их то блять? За что?!

Потому что Телеграм — говно. В нем нет ничего хорошего кроме маркетинга.

Его разработчики не заботятся о качестве и поддерживаемости кода. Они не умеют в тесты. Они не умеют в декомпозицию кода. Они не могут в ООП. Всё что они могут — это писать гигантскую неподдерживаемую лапшу в одном классе на 12 тысяч строк кода: https://github.com/DrKLO/Telegram/blob/master/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java

Они не умеют и не хотят учиться пользоваться системами контроля версий: https://github.com/DrKLO/Telegram/pull/76#issuecomment-34747349

Telegram не хочет быть опенсорс-проектом и не хочет открывать свой исходный код для стороннего аудита, несмотря на то, что декларируется обратное. Проект не взаимодействует с сообществом. Всё что есть на Гитхабе — это единичные коммиты, которые сразу же меняют 50 тысяч строк кода: https://github.com/DrKLO/Telegram/commit/dd679bd7d1713896272016d4e53c3b4ead744683

Отсутствует reproducible build, то есть нет никакой возможности проверить, что готовое приложение действительно собрано из того кода, который доступен на Гитхабе.

Телеграм не заботится о твоей приватности. Шифрования по умолчанию нет, вся переписка хранится на сервере в открытом виде. Чтобы включить шифрование, нужно пользоваться т.н. "секретными чатами", которые используют свой непроверенный протокол, который содержит серьезные огрехи безопасности: https://eprint.iacr.org/2015/1177.pdf

Вместо использования решений с доказанной криптостойкостью, команда Телеграма объявляет "конкурсы взлома", чтобы обмануть общественность. Обман в том, что условия конкурса подобраны таким образом, что невозможность выиграть конкурс вообще никак не связана с безопасностью протокола: https://moxie.org/blog/telegram-crypto-challenge/

Итого: Telegram даёт пользователям ложную иллюзию безопасности, вводит их в заблуждение, притворяется приватным мессенджером, не являясь таким. Не используйте Telegram, не дайте себя обмануть.

533 Кб, 451x587
8 янв, 18:20 304 1117407

>>1117379
> Смотрел исходники телеграмма. Почему они не используют RxJava, почему нет ретрофита, почему они не используют их то блять? За что?!

Потому что Телеграм — говно. В нем нет ничего хорошего кроме маркетинга.

Его разработчики не заботятся о качестве и поддерживаемости кода. Они не умеют в тесты. Они не умеют в декомпозицию кода. Они не могут в ООП. Всё что они могут — это писать гигантскую неподдерживаемую лапшу в одном классе на 12 тысяч строк кода: https://github.com/DrKLO/Telegram/blob/master/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java

Они не умеют и не хотят учиться пользоваться системами контроля версий: https://github.com/DrKLO/Telegram/pull/76#issuecomment-34747349

Telegram не хочет быть опенсорс-проектом и не хочет открывать свой исходный код для стороннего аудита, несмотря на то, что декларируется обратное. Проект не взаимодействует с сообществом. Всё что есть на Гитхабе — это единичные коммиты, которые сразу же меняют 50 тысяч строк кода: https://github.com/DrKLO/Telegram/commit/dd679bd7d1713896272016d4e53c3b4ead744683

Отсутствует reproducible build, то есть нет никакой возможности проверить, что готовое приложение действительно собрано из того кода, который доступен на Гитхабе.

Телеграм не заботится о твоей приватности. Шифрования по умолчанию нет, вся переписка хранится на сервере в открытом виде. Чтобы включить шифрование, нужно пользоваться т.н. "секретными чатами", которые используют свой непроверенный протокол, который содержит серьезные огрехи безопасности: https://eprint.iacr.org/2015/1177.pdf

Вместо использования решений с доказанной криптостойкостью, команда Телеграма объявляет "конкурсы взлома", чтобы обмануть общественность. Обман в том, что условия конкурса подобраны таким образом, что невозможность выиграть конкурс вообще никак не связана с безопасностью протокола: https://moxie.org/blog/telegram-crypto-challenge/

Итого: Telegram даёт пользователям ложную иллюзию безопасности, вводит их в заблуждение, притворяется приватным мессенджером, не являясь таким. Не используйте Telegram, не дайте себя обмануть.

Показать весь текст
Ответы17412174171741817438174401749517544176201772829200

8 янв, 18:21 305 1117409

Можно ли доверять ресурсам, которые лежат в @android и быть уверенным, что анимации @android:anim/fade_in и @android:anim/fade_out будут везде одинаковые?

Ответы17416

8 янв, 18:26 306 1117412

>>1117407
Тогда интересно, почему же у них все работает и не лагает.

Ответы17417

8 янв, 18:28 307 1117414

>>1117379
Мне хотя бы помочь с первым шагом, с чего начать. А то в теоретическая часть не дает никаких подсказок по поводу решения практической.

Ответы17417

8 янв, 18:32 308 1117416

>>1117409
На васянской прошивке их могут вообще вырезать.

Ответы17419

8 янв, 18:32 309 1117417

>>1117414
>Мне хотя бы помочь с первым шагом, с чего начать.
Ну и что там?

>>1117407
Сразу видно человек шарит.

>>1117412
Магия.

Ответы17420

8 янв, 18:36 310 1117418

>>1117407
> в одном классе
Это же удобно.
Из одного объекта получаешь доступ к разным методам.

Ответы17790

8 янв, 18:37 311 1117419

>>1117416
Васяны как правило идут нахуй.

8 янв, 18:38 312 1117420

>>1117417
Сейчас пытаюсь решить второе практическое задание.
1) Load all cities (pair id-name) if WeatherCityTable is empty from http://openweathermap.org/help/city_list.txt and save them to database
2) Using the information from the first step find id for each current city
3) Load forecast in all cities using one single request http://openweathermap.org/current#severalid
4) Do all this work in NetworkService (you need to modify it to better support multiple requests)
5) Use SQLite API to manage communication
6) Handle configuration changes
7) Modify all the network layer to create a universal way for managing queries with pattern A

Ответы1742317429

8 янв, 18:49 313 1117423

>>1117420
>1 txt
Думаю не быстро этот список загрузится. Парсинг параметров из строк в джаве всегда медленный.

8 янв, 18:58 314 1117429

>>1117420
100% до этого задания у тебя был пример для deep погружения. Видимо здесь асинтаски нужно юзать. Ну юзай, создаешь класс, где будешь разбирать жсон по косточкам, потом берешь асин таск, подключаешься к нету, если запрос заебись (на скидку, вроде 200) то берешь инпутстрим - расчехляешь и что-то там еще делаешь. Ну и ui обновляешь.

Здесь можно найти работу по всему вышесказанному, QuakeReport - основное, другие две показывают не помню что, но тоже посмотри и скомпилируй. https://github.com/laramartin/android_udacity_course/tree/master/android_networking

С SQLite не работал, поэтому ничего не могу сказать, да и там тоже такого нет. У него есть другая репа https://github.com/laramartin/android_weather но здесь юзаются технологии чуть повыше, не думаю что сгодится, но если на абстрактном уровне разобрать что да как, то можно и понять, как он с SQLite работает.

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

Ответы1743117432

8 янв, 19:03 315 1117431

>>1117429
>Handle configuration changes
Ах, здесь еще поворот экрана, там тоже есть, кстати.

Забыл еще и паттерн А. Ну вот тут есть https://drive.google.com/drive/folders/0B0Z-lYDZWlawTlRDanpCQldBNDQ С примерчиками.
Я бы рекомендовал задрочить это основательно. Чтобы иметь более плотный контакт с девелоперсами. Хотя я только пробегался теоретически.

8 янв, 19:04 316 1117432

>>1117429
Вообще там все несколько проще. Тебе дают по сути готовый проект из которого вырезали часть содержимого и сказали, сделай то-то. Вот сам репозиторий https://github.com/ArturVasilov/AndroidSchool/tree/master/SimpleWeatherPatternA с заданием. Лежит в файле WeatherListActivity, но я уже копипастил информацию.

Ответы17437

8 янв, 19:12 317 1117437

>>1117432
У тебя уже есть 90% проекта, тогда что тебе мешает ебнуть своё что-то? Что за люди пошли.

8 янв, 19:18 318 1117438

>>1117407
Пиздец, больше никогда не буду думать что я говнокодер

8 янв, 19:23 319 1117440

>>1117407
В гейоси телеграм тоже всрань та ещё. Telegram X вот норм

8 янв, 21:37 320 1117495

>>1117407
Олимпиадники же. Это как VK (впрочем писалось всё теми же людьми) https://github.com/vk-com/kphp-kdb . Чисто визуально - сишный неподдерживаемый говнокод, но в своё время он отлично работал и очень быстро.

Ответы17570

8 янв, 21:43 321 1117501

>>1110463 (OP)
> понимание XML и JSON.
Это же, блядь, как 2+2. Это сука простейшая хуйня.
Алсо XML сосет у JSON ноудисскас

Ответы20675

8 янв, 22:54 322 1117544

>>1117407
Код аккуратный, в основном связанный с UI.
Возможно особых проблем с поддержкой нет.

8 янв, 23:16 323 1117570

>>1117495
Кстати да. Ща ето легаси но когда-то была норм штука.

9 янв, 01:37 324 1117616

>>1117384
getActivity()

9 янв, 01:51 325 1117620

>>1117407
Кстати телеграмм не обфусцирует код. Скачал апк - разобрал

Ответы1762117727

9 янв, 01:54 326 1117621

>>1117620
> обфусцирует
Ну выкладывай сюда, сейчас посмотрим на парашу, поковыряем палочкой.

Ответы17624

9 янв, 02:00 327 1117624

>>1117621
Делать мне нехуй.
Сам скачай да посмотри

Ответы17672

9 янв, 08:59 328 1117672

>>1117624
Пиздеть тогда не надо.

Ответы17699

9 янв, 11:01 329 1117699

>>1117672
Ну и не пизди. Чмо безрукое.

9 янв, 13:27 330 1117727

>>1117620
Блять пиздец.

9 янв, 13:28 331 1117728

>>1117407
Есть мнение, что среди разработчиков есть такой подвид как 'хакеры'. Эти ребята не особо заботятся об архитектуре, правилах solid, тестировании. Они просто ебашат код и ебашут быстро, и если хакер хорош - то почти без багов. Проблема в том, что работать в команде они не могут, починить баги и разобраться в коде кроме них никто не может, и если хакир увольняется, разработка стопорться и бизнес ждут непростые времена.
мимо, бывший 'хакир'

Ответы1776217790

9 янв, 14:55 332 1117752

>>1116851
Ток не забудь пропатчить DS. Там премиум анально ограничивает сборку АПК, и всякие плагины.

9 янв, 15:12 333 1117762

>>1117728
У тебя множество ошибок в слове "говнокодер".

9 янв, 16:33 334 1117790

>>1117418
лел, иди-ка ты нахуй, человек, пишущий весь функционал на 10к строк в одном классе, а следовательно не понимающий даже суть и плюсов ООП.

>>1117728
это не хакиры, это - обычные джуны-говнокодеры, не могущие в архитектуру приложений и clean code

Ответы1779317882

9 янв, 16:37 335 1117793

>>1117790
> лел, иди-ка ты нахуй, человек, пишущий весь функционал на 10к строк в одном классе
Не прям весь. Но люблю организованность.
Типа:
var op_post=App.ReadThread(id).getIndex(0);
Удобно же. Глобальные переменные нинужны.

Ответы17794

9 янв, 16:40 336 1117794

>>1117793
Начнем с того, что в джаве нет глобальных переменных.

Ответы1779517796

9 янв, 16:41 337 1117795

>>1117794
>в джаве нет глобальных переменных.
лол кек

public static String GLOBAL_VALUE = "ZALUPA";

Ответы1780117803

9 янв, 16:42 338 1117796

>>1117794
А не на жабе писал, а на жи эс. Там любая не-var-переменная глобальная

Ответы17798

9 янв, 16:43 339 1117798

>>1117796
Алсо, методы и свойства всякие.

9 янв, 16:52 340 1117801

>>1117795
Статик лишь приближенные имеет свойства глобальности. Иди джаву учи, что ты здесь забыл? Еще скажи, что есть передача по значению и по ссылке, маня.

Ответы17808

9 янв, 16:52 341 1117803

>>1117795
> public static
Поясните за эту хуйню. Всегда думал, что эта конструкция нужна для создания подобия функций.

Ответы17808

9 янв, 17:04 342 1117808

>>1117801
та как бы года 4 ее знаю, лол. Причем тут передача по значение или ссылке, долбаеб? Анон сказал, что в джаве нет глобальных переменных, я ему привел пример, что есть и как они пишутся. Глобальная переменная - та, которая доступна в любой момент времени и с любого участка кода. public static идеально с этой задачей справляются. Так что иди-ка ты подучи джаву после сделанной домашки.

>>1117803
нет, это надо как раз для глобальных переменных. Чаще даже сюда клеят final , чтоб иметь глобальную константу. Также паблик статик при большом желании можно юзать с методами, которые тоже станут глобальными и юзабельными откуда угодно когда угодно.

Ответы18094

9 янв, 17:42 343 1117832

http://wikijava.it-cache.net/index.php@title=Glava_1_Thinking_in_Java_4th_edition.html
Стоит ли тратить время на данную книгу? Или она шибко устарела?

Ответы17838

9 янв, 17:53 344 1117838

>>1117832
Задавали здесь уже такой вопрос тредов 5 назад. ДА, ДА. Заебали. Вдобавок почитай еще стримы, лямбды и охуей от того, что джава 10 выходит вместе с var.

9 янв, 19:22 345 1117882

>>1117790
Тем не менее, телеграмм по сравнению со скайпами, вайберами работал отменно- неплохо для джуна гоанокодера?

9 янв, 20:59 346 1117924

Поясните по минимуму про синглетон, shared preference и Loaders.

Ответы18482

10 янв, 11:24 347 1118094

>>1117808
>Глобальная переменная - та, которая доступна в любой момент времени и с любого участка кода. public static идеально с этой задачей справляются.
И перед тем как получить доступ до public static переменной, JVM загружает весь класс в память. Формально, до этого момента эта "глобальная" переменная недоступна.

мимокрокодил

Ответы18098

10 янв, 11:36 348 1118098

>>1118094
Загрузил тебе весь класс за щёчку.

Ответы18111

10 янв, 12:10 349 1118111

>>1118098
спасибо

10 янв, 12:13 350 1118113

Суп, антошки. Пилю приложение - библиотеку вебмок напизженных с двача. У меня есть ScrollView с кучей превьюшек этих самых вебмок. Проблема в том, что првеьюшки делаются очень медленно (а наполнение скролла запускается из onCreate, и приложение виснет), и я запихал их в AsyncTask https://pastebin.com/nsyyakCb.
Теперь приложение грузится относительно быстро, но есть другая проблема - когда активка перерисовывается, превьюшки "мигают". Я так понял, это происходит из-за того, что при перерисовке у меня заново создаётся скролл, заново создаются изначально пустые ImageView, и потом только в них пихаются картинки. Как этого можно избежать? Нужно ли перепиливать саму логику создания и отображения превьюшек?

Ответы1812818336

10 янв, 12:34 351 1118128

>>1118113
загрузка изображений через асинктаск для списка в андроиде - плохая идея, все прошли через такой баг, который у тебя. В обще решение таково: выкидывай нафиг асинк таск и забывай про него навсегда (я не тралю, асинк таск обоссали уже все, кто только можно, сам года 3 им уже не пользовался) , а для изображений и их адекватной загрузки - библиотеки Glide либо Picasso в помощь (первая лучше, но тут дело вкуса).
И тогда тебе надо будет в адаптере лишь написать:
Glide.with(context).load("ссылка на картинку").into(itemImageView);

Ответы18143

10 янв, 13:01 352 1118143

>>1118128
Спасибо, анон, сейчас буду пробовать с глайдом.
>в адаптере лишь написать
Объясни, что ты имел в виду? Я адаптеры использовал только со спиннером дропдаун который, и не понимаю, как это здесь можно использовать. Я только начинаю разбираться в ведроиде и, возможно, по-индусски делаю отображение превьюшек вот тебе сам метод для общей картины, но учти, можешь блевануть с говнокода https://pastebin.com/7kd4ezHe.

Ответы18233

10 Кб, 734x93
10 янв, 13:16 353 1118144

Блять, ну спасибо. Найс в глайд вкатился.
Пойду пока документацию дрочить

Ответы18233

10 янв, 15:00 354 1118177

>>1110463 (OP)
Анон, а как работает DownloadManager? Это отдельный линукс-процесс, корой через IPC получает и обрабатывает запросы от приложений на загрузку или же это просто какая-то либа, которая создает дополнительные нужные потоки внутри приложения?

Ответы18200

10 янв, 15:28 355 1118200

>>1118177
Приложение отдельное

Ответы18249

10 янв, 16:44 356 1118233

>>1118144
ну попробуй пикассо вместо глайда, у тебя в коде разница будет в одно слове только

>>1118143
>Объясни, что ты имел в виду? Я адаптеры использовал только со спиннером дропдаун который
гугли RecyclerView + Adapter Android тебе достаточно инфы выдаст. Тамже ты столкнешься с такой вещью как ViewHolder. И во тв адаптере в методе onBindViewHolder у тебя и будет код типа GlidePicasso.with().load().into();

Ответы18270

10 янв, 17:11 357 1118249

>>1118200
Ясно, спасибо вот блять, а я надеялся порезать трафик только для определенного PID процесса и надеялся, что больше никаким способом он не сможет пробиться к быстрому инторнету, но что-то придется делать и со всякими там DownloadManager-ами

10 янв, 18:02 358 1118270

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

10 янв, 18:32 359 1118281

Чёто вкатился в котлин, и проиграл с котлиношизиков в голос. Единственные профиты в сухом остатке - это датаклассы, вменяемые модификаторы, lateinit (сахар) и ебля с null (кроме бросков npe).
С дженериками какая-то ебань, один сахар. С делегатами вообще запилили подобие рефлексии с providedelegate и ручным созданием проперти обьекта. Функции высшего порядка - нетестируемая параша. С аннотациями теперь нужно ебать мозги о том, куда @Inject сунется в байткоде. Код в библиотеках на котлине пишут нечитаемый.

Ответы18621

10 янв, 19:43 360 1118311

multidex кто юзает, какие недостатки?
аппа грузится быстро? крешей нет новых?

Ответы18331

10 янв, 20:31 361 1118331

>>1118311
Если моджешь сжать приложение - сожми. Не можешь - используй мультидекс, альтернатив НЕТ.

10 янв, 20:36 362 1118336

>>1118113
Тоже делаю библиотеку с webm. Только помимо обычного выбора из списка имеем еще рандомный выбор видео из БД. Превью отображаю с помощью RecyclerView c Glide в адаптере. До этого использовал пикассо, но говорят, что он более не поддерживается разработчиками. Из минусов только большое количество методов в библиотеки, но в этом проекте хватит за глаза.

208 Кб, 600x799
10 янв, 21:28 363 1118369

Кто хочет поупражняться в написании простой проги?
Идея такая - есть любой текст, который загружается извне (например книга) и Курсор который постепенно закрашивает текст с определенным количеством символов в минуту (настраивается). Служит для чтения по памяти, т.е. читаешь вслух только закрашенный текст, а следующее слово или несколько запоминаешь. Позволит ускорить речь, повысить легкость говорения и развить краткосрочную память, что крайне будет полезно большинству здесь присутствующих и мне. Также будет полезно при изучении языков, можно выпустить на маркете. Если остались вопросы - пишите в телегу @MarkyWithNuts.

11 янв, 00:17 364 1118482

>>1117924
Синглтон - паттерн проектирования, юзается когда нужен 1 интсанс класса на всю апку, SP - механизм записи данных в андроиде, обычно туда сохраняют флажки, разные настройки етц.

Ответы18615

11 янв, 11:16 365 1118615

>>1118482
Благослови тебя господь.

26 Кб, 600x500
11 янв, 11:43 366 1118621

>>1118281
прямо люто двачую. Сам уже месяца 2 как перекатился на котлин (ну как перекатился - на работе сказали, чтоб все андроид разрабы на него переходили в скором времени, вот и пришлось учить и первые проекты уже на нем писать), тоже не заметил особо крутых преимуществ. Ну вернее, одна реально крутая вещь - это функции-расширения, ее в джаве не хватало. А так все, в принципе. Практически любая вещь, которая была в джаве в котлине переделана похожим образом просто с другим синтаксисом (либо в точности да наоборот лол, как наследования, кек). Смысла с этого всего 0. Выглядит как каргокульт, что мол кто-то сказал, что котлин крут, го все на него - и все ринулись. По факту, повторюсь, что там особо плюсов нет. Однако, с другой стороны, работая в сфере айти, надо быть готовым к таким вещам, что один язык будет вытеснять другой, одна среда разработки другую, будут появляться новые архитектуры и паттерны и т.д. Тут ничего не поделать. Зато можно перед остальными выебываться , что знаешь +1 язык и прибавку к зп за это выбивать у начальства)
Такие дела.

Ответы18636

11 янв, 12:26 367 1118636

>>1118621
Работающий анон, ответь еще на такие вопросы:
1) ОС, под которой разрабатываешь
2) IDE
3) Где отлаживаешь
4) Как тестируете
5) Полезные фишки, если они есть

Хочу написать демку на андроеде для своей БД.

Заодно, если есть приложение Мой Перекресток если нет, поставь, во сколько оценил бы его разработку?

Ответы18670

11 янв, 13:55 368 1118670

>>1118636
1) лично я на винде 10, но это не принципиально - можно семерку, можно убунту, можно хоть на маке, лол
2) Android Studio, я не представляю, что сейчас вменяемый андроид-разработчик может кодить в другой среде какой-либо
3)эмуляторы + тестовые девайсы + мой личный девайс иногда
4) если ты про юнит тесты, то их не пишем, толку никакого. Тестим сами руками
5) их настолько много и из стольких областей, что ты наверное уточнил бы, что именно тебе нужно)

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

Ответы1907520343

39 Кб, 1874x359
11 янв, 14:45 369 1118690

Приложение нормально место памяти занимает или это много?
Еще нужно придумать как фиксить каждый раз запрос в сеть и с загрузкой картинок играться.

11 янв, 18:33 370 1118787

Кто нибудь юзал апишки гитлаба? Хоть убей не могу найти гайд по какой юрле кидать реквесты, где достать ключ и т.д.
Ткните носом, пожалуйста
https://docs.gitlab.com/ce/README.html

11 янв, 18:43 371 1118792

Двач, что-бы отобразить содержимое базы данных при нажатии на кнопку нужно открывать новую активити или еще способы есть?

Ответы1879818840

11 янв, 18:57 372 1118798

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

11 янв, 21:10 373 1118840

>>1118792
>отобразить содержимое базы данных при нажатии на кнопку
Ну ты же не просто так будешь отображать содержимое в каких-нибудь виджетах аля текствью.
Прилепи recyclerView и присобач в фрагмент и открывай.

12 янв, 16:26 374 1119075

>>1118670
Ок, спасибо.
Под фишками имел в виду организацию работы, не кодерские.

12 янв, 16:48 375 1119082

14 Кб, 671x16740 Кб, 841x402

Здравствуйте. У меня пара непоняток с Firebase Cloud Messaging
Я хочу программно отправлять data-сообщения, для чего нашел библиотеку на понятной мне java
https://github.com/bytefish/FcmJava#fcmclient
До этого я отправлял notification-сообщения, используя консоль, где есть функция отправки сообщения на приложение. Но в документации написано, что отправлять множество сообщений можно только на группу (до 20 устройств. Зачем оно вообще нужно...) или на тему, но ни слова о приложении. Как это делать программно? Регать все токены, а потом перебором слать на токены, или таки есть массовая отправка на приложение?

Но есть штука, которая меня напрягает намного больше. Я написал класс, имплементящий IFcmClientSettings:
https://gist.github.com/CC-Ultra/16a1b88f5aeb69d031db131670cb0d42
который бесхитростно возвращает API_KEY в константе. И затем шлю сообщение:
https://gist.github.com/CC-Ultra/70f590a1bc83ff1d21093fb3092ab5e5
Все это заканчивается
Exception in thread "main" de.bytefish.fcmjava.exceptions.FcmAuthenticationException
API_KEY в константу записал из настроек этого проекта (Ключ Api для веб-приложения). Без него я даже пробовать и экспериментировать не могу. Или мне нужно завести отдельное приложение для рассылки? (Как мне это сделать, если да?) Помогите с ключом

Ответы1908819218

12 янв, 16:57 376 1119088

>>1119082
Да, кстати, кто-то может догадывается что может делать метод setRestrictedPackageName() в FcmMessageOptions.builder?

12 янв, 16:59 377 1119090

В руте проекта лежит .json, как в рантайме прочитать этот .json?

Ответы19213

12 янв, 23:11 378 1119213

>>1119090
А зачем ты его положил в рут проекта? Перемести его в асеты или ресурсы (resources/raw) если хочешь достать.

12 янв, 23:18 379 1119218

>>1119082
Чет не похоже что тебе джава дохуя понятна.
Прочитай сначала https://firebase.google.com/docs/cloud-messaging/server

Ответы19507

13 янв, 18:38 380 1119507

>>1119218
ушел читать

Ответы19600

sage 13 янв, 22:36 381 1119600

>>1119507
не возвращайся

15 янв, 15:13 382 1120311

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

Ответы20343

15 янв, 16:19 383 1120341

¡Привет, /pr/! Хочу написать приложение для изучения языка, наподобие дуолинги, однако без необходимости постоянного подключения к интернету. Jav'у я совсем не знаю, но знаком с императивным программированием на уровне чуть выше "Привет, мир", что такое токены ответить не смогу. и у меня есть желание. Я справляюсь с олимпиадными задачками, но совсем не представляю, как написать самую простую полезную программу. ¿Смогу ли я сделать задуманное после изучения jav'ы? ¿И каким образом?

Ответы2034320475

sage 15 янв, 16:24 384 1120343

>>1118670
> 4) если ты про юнит тесты, то их не пишем, толку никакого. Тестим сами руками
Фу блядь, фу нахуй.

>>1120311
Пошёл нахуй.

>>1120341
Не сможешь.

С каким же самом я сижу в одном треде, что за пиздец.

Ответы203582037120726

15 янв, 17:02 385 1120358

>>1120343
ну так уёбывай чё

15 янв, 17:38 386 1120371

>>1120343
скам это твоя мать-проститутка

15 янв, 20:37 387 1120468

ребят, при запуске карт гугла всё время получаю эту ошибку

E/Google Maps Android API: Google Maps Android API v2 only supports devices with OpenGL ES 2.0 and above

не знаю что делать.

запускал всё по мануалу от гугла, но не работает. на стековерфлоу решения нет

Ответы20495

15 янв, 20:50 388 1120475

>>1120341
Пиздец, как же я проиграл до слез. Анон, ты лучший! Такая толстая паста просто невозможно. Лучшее, что я видет за эти два треда.

15 янв, 21:03 389 1120479

Хочу сделать себе на ведро просмотрщик смешных картинок с одного сайта без нормального апи. Что мне взять за основу? Голую джаву ебать не хочу, в qml нет нормальных виджетов для картинок, xamarin нет опыта, в cordova.js какая-то хуита с зумом тут мои познания в разработке под андроид кончились

Ответы20617

15 янв, 21:39 390 1120495

>>1120468
отбой ребята, поставил 26 API и всё пошло как по маслу.
ВСЕМ СПАСИБО ВСЕ СВОБОДНЫ

16 янв, 01:34 391 1120617

>>1120479
Возьмись зубами за член своего отца, шакал.

Ответы20851

16 янв, 08:04 392 1120675

>>1117501
Я дочь полковника СУБД и здесь не всё так однозначно.

Ответы2070720709

16 янв, 10:45 393 1120707

>>1120675
Двачую.
В XML мультистринг из коробки, в JSON какие-то костыли.

16 янв, 10:52 394 1120709

>>1120675
> здесь не всё так однозначно.
JSON.parse()
JSON.stringify()
Всо.
Хотя согласен, в бэкенде всякая херня встречается.

16 янв, 12:21 395 1120726

>>1120343
>Фу блядь, фу нахуй.
джуномакака порвалась?
Нет, вот давай ты, поясни в чем толк от того, чтоб писать тесты? Сириусли, бестолковый процесс, отнимающий нужное время.
Вот есть у тебя класс с 2-3 методами, допустим, и ты в тесте тупо прописывает вызов (раз так 10-20) этих методов в различной комбинации входящих параметров. Охуеть, а нахера? Вменяемый разраб и так где нужно поставит проверки на null и прочую обработку. А какие-либо серьезные баги выплывают не во время таких тестов, а уже во время того как пользуются реальные люди и эти баги достаются из того же крашлитикса, как вариант. Опытным путем уже убедились, что быстрее будет разослать приложуху 5-7 своим людям с разными девайсами (внутри конторы это делаем), ручками по экранам пройтись и норм.

Ну а ты рвись дальше

Ответы2075820790

16 янв, 13:48 396 1120758

>>1120726
Я не он, но вот мое обоснование.
Пилишь ты такой систему по ТЗ.
Реализовал кучу методов, но в тесты запихал только те, которые описаны в ТЗ как ключевые.
Внедрил систему.
Прошло джва года.
Половина методов не использовалась с момента внедрения.
И тут тебя спрашивают - а система-то по ТЗ может звонить Путину. Может ведь?
Если у тебя тестов нет, ты скажешь - да хз, надо опять тестовый стенд запускать и проверять.
А если есть - ты их запускаешь и отвечаешь - нихера, Путин телефон поменял похоже, надо новый в конфиг прописывать.
Это реальный кейс из энторпрайз системы. С тех пор я делаю проверку всех методов фасада, в любой момент можно все их проверить на работоспособность.
С апи та же херня. Если у тебя нет тестов, ты не можешь пользователей апи посылать нахер, придется каждый раз их жалобы проверять.

Ответы20784

16 янв, 15:10 397 1120784

>>1120758
Апи двачую, ленивые бекендщики отправляют всякую дичь. Реальная история поле email, на тестовых юзерах все было ок. Сделали рассылку, пошли люди - invalid json token expected string but was boolean. Вот как это вообще можно объяснить.

16 янв, 15:18 398 1120790

>>1120726
> Опытным путем уже убедились, что быстрее будет разослать приложуху 5-7 своим людям с разными девайсами (внутри конторы это делаем), ручками по экранам пройтись и норм.
Конечно быстрее. А если и ручками не проходиться, то ещё быстрее. А качество стоит времени и денег. Разработка двумя макаки по хуяк-хуяк методологии, конечно, проще и легче.

16 янв, 17:27 399 1120851

>>1120617
Тебя в школе обидели что ли?

17 янв, 12:31 400 1121171

Уважаемые, я студентка, стою в самом начале пути (хочу придти к созданию приложений), учу потихоньку java, книжки читаю и тд и тп. Оч прошу толковых ребят запилить свои стори мне в телегу (от самого начала: как пришла мысль, с чего начали, что и где делали, как долго это всё продолжалось, где брали мотивацию и тд)
Если ты начинающий, то напиши мне тоже, пожалуйста - будем вместе учиться, делиться опытом)
Это мне очень поможет, верю, что здесь есть хорошие люди <3
@SorryImBusy

Ответы211912119321254

17 янв, 13:21 401 1121191

>>1121171
>мне в телегу
иди нахуй, наркоман

Ответы21254

17 янв, 13:24 402 1121193

>>1121171
> я студентка
Siski or GTFO.

17 янв, 16:08 403 1121254

>>1121191
Двачую.

>>1121171
Хватит рофлить поцан, каждые 10 постов появляется новый троль с новыми историями. Мне конечно смешно, но и меру знать тоже нужно.

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

18 янв, 17:11 404 1121831

Третий месяц копаюсь в чужом говне и пытаюсь это отрефакторить.
Дропать нахуй такую работу?

Ответы2188221985

18 янв, 17:57 405 1121882

>>1121831
Смотря какие есть варики и как платят.

18 янв, 20:33 406 1121985

>>1121831
>Третий месяц копаюсь в чужом говне и пытаюсь это отрефакторить.
Поясни по подробней пожалуйста. Там RX есть-то хоть? А то я пока не подавал заявку на работу.

Ответы22359

19 янв, 00:04 407 1122134

Что случилось с Андроид Студией? Почему лагать перестала, я уже собирался новый ноут покупать, решил тестануть 500-й раз, и вдруг, внезапно все летает, прям как вижуал студио. Правда эмулятор зависает, но я, нищая студентота, могу потерпеть.

Ответы22268

19 янв, 09:08 408 1122268

>>1122134
Тебе показалось наверн, может ты меньше проектов открываешь.

19 янв, 12:56 409 1122356

Как сделать так, чтобы, если текст не влазит в текствью, он ездил туда обратно внутри?

19 янв, 13:00 410 1122359

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

Ответы2236122817

19 янв, 13:03 411 1122361

>>1122359
К слову, сука которая это писала, будто прочитала гайд по code conventions и сделала все абсолютно наоборот

19 янв, 14:51 412 1122406

Аноны, думаю вы знаете, что на андроиде есть такое приложение "Гугл Переводчик". Так вот, как можно передать этому приложению строку для перевода?
"Яндекс API" нехочу пользоваться, потому если послать ему одно слово, то он вернёт лишь один вариант перевода, а если ввести слово в приложение "Гугл переводчик", то тогда в приложение отобразятся и другие варианты перевода.

Ответы22426

19 янв, 15:37 413 1122426

>>1122406
Ну это так не рабоатет. Ты хочешь именно открыть его со своим словом, или получить результаты? Тогда стоит воспользоваться гугловским апи для перевода.

Ответы22467

19 янв, 17:13 414 1122467

>>1122426
Я хочу что бы моя программа исполнила вместо меня функцию ввода нужного слова/фразу в приложение. Как я бы написал это слово с клавы, так и программа как то должна как то ввести эти слова в приложение.
API гугла вроде как платный, да, и скорее всего, он будет возвращать только один вариант перевода, как API яндекса. Да и кроме того, придётся самому писать интерфейс для приложения.

Ответы22654

19 янв, 23:51 415 1122654

>>1122467
сначала научись формулировать свои мысли и идеи, а потом уже приходи сюда с охуенными вопросами

Ответы22662

20 янв, 00:12 416 1122662

>>1122654
Бля, ну хули тебе не понятно?
Мне нужно написать код, который каким либо образом прикажет приложению "Гугл переводчик" перевести заданный тексткоторый хранится, к примеру, в буфере обмена. Что бы не я сам, печатая, вводил текст в приложение, а что бы программа ввела его за меня.

Ответы22724

20 янв, 05:20 417 1122724

>>1122662
так а что тебе мешает просто руками его скопировать и вставить туда? темболее если уже в буффере обмена есть текст, то даже копировать не надо, а только вставить

Ответы22815

20 янв, 13:45 418 1122815

>>1122724
Потому что нужно пальцами для этого тыкать, а я хочу что бы оно само было! А-в-т-о-м-а-т-и-ч-е-с-к-и. Кроме того, руками эти действия отнимают приличное количество времени: сначала нужно удалить предыдущий текст, потом удерживать палец на экране, пока наконец то не появится кнопка "Вставить", потом, после вставки, ещё и нажать кнопку "Перевести". И так по кругу, раз за разом. Я хочу, что бы вся эта лишняя работа проделывалась сама.

Ответы2281722819

20 янв, 13:53 419 1122817

>>1122359
Как восхитительно, да еще и асинтаски! Я бы поебался с ними. Я аж заурчал.

>>1122815
Ну так делай, что тут непонятного-то. В твоем описанном представлении я представил это как: Выделяешь нужный текст - отправить как - твое приложение - автоматически вставляется - переводиться.
Если в буфере обмена - чекай его - добавь в TabLayout две кнопки - вставка, очистка.
Только тебе все равно придется выделять текст для копирования. Или я не так понял? А вообще, пиздуй делать.

Ответы22857

20 янв, 13:55 420 1122819

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

Ответы22857

20 янв, 15:57 421 1122857

>>1122817
>>1122819
Ёбнулись что ли? Я не хочу делать своё приложение для перевода, я хочу, что бы приложение Гуглп для перевода автоматически переводила текст, находящийся в буфере обмена.

Ответы2285922871

20 янв, 16:07 422 1122859

>>1122857
Скачай последнюю версию переводчика, там есть такая функция.

Ответы22902

20 янв, 16:26 423 1122871

>>1122857
>Я не хочу делать своё приложение для перевода
Нахуй ты сюда тогда пришел?
>я хочу,
Хоти.
> Гуглп для перевода автоматически переводила текст, находящийся в буфере обмена.
Если там нет такой функции, то тебе придется делать СВОЕ приложение. Но ты не хочешь делать свое приложение. Расходимся. Он нас тролленькает.

Ответы22902

20 янв, 17:20 424 1122902

>>1122859
У меня и так последняя, нет там нихуя.
>>1122871
>Нахуй ты сюда тогда пришел?
Я не хочу делать своё приложение для перевода. Я хочу сделать приложение, которое передаст приложению Гугла нужный текст для перевода.
>Он нас тролленькает
Успокойся блядь, никто вас не троллит. Я всего лишь спросил, можно ли написать такой код. Похоже что нет.

Ответы2290823004

39 Кб, 480x854
20 янв, 17:38 425 1122908

>>1122902
> У меня и так последняя, нет там нихуя.
Копипастишь текст и флоат буттон вылезает.

Ответы2290923042

20 янв, 17:38 426 1122909

>>1122908
> Копипастишь
Копируешь*

20 янв, 20:00 427 1123004

>>1122902
>можно ли написать такой код
Можно. Пиши.

Ответы23042

20 янв, 21:12 428 1123042

>>1122908
Я не копирую текст сам. Он поступает с компьютера сразу на буфер обмена телефона.
>>1123004
Как? Дай хоть какое-то направление, в котором нужно двигаться. Я не знаю, как можно повлиять на действия чужого приложения.

Ответы230712307523079

20 янв, 21:56 429 1123071

>>1123042
> Я не копирую текст сам. Он поступает с компьютера сразу на буфер обмена телефона.
Какая разница? Гуглтранслейт детектит изменения в буфере. Похер каким образом скопиповал.

20 янв, 22:07 430 1123075

>>1123042
>Как? Дай хоть какое-то направление
Блять, берешь пишешь в гугол взаимодействие с буфером обмена. Андройд буфер обмена. Заебал блять. Ты ебанутый что ли? Вот скажи, ты действительно ебанутый или ты троллишь нас? Блять, что сложного-то забить информацию в гугол?
В твоей маленькой голове промелькнет вопрос - почему этот чувак не дает мне НАПРАВЛЕНИЯ? Да потому что я блять не хочу гуглить вместо тебя, а если я начну гуглить - я знаю, что в 90% случаев я найду ЭТУ информацию. Пиздуй нахуй. Вот тебе еще бонус от меня.
https://stackoverflow.com/questions/tagged/android?mixed=1

Ответы23079

20 янв, 22:09 431 1123079

>>1123075
>>1123042
Пидарас, лови документацию. Сука, ровно 15 СЕКУНД БЛЯТЬ. Ты ебанутый что ли? У меня блять уже подгорает от мозгоебства твоего. Иди вообще нахуй с треда.
https://developer.android.com/guide/topics/text/copy-paste.html

33 Кб, 1397x216
21 янв, 17:24 432 1123449

Память доходит до 130МБ. Приложение состоит из видео плеера и ресайклер вью с превьюшками. Данные подгружаются из сети, пагинация списка. Загружена одна страница из 3-6 элементов. Это нормально или нужно разбираться куда столько памяти летит?

Ответы2351624049

21 янв, 18:07 433 1123516

>>1123449
Как реализовал пагинацию?
Мимо.

Ответы23547

21 янв, 18:19 434 1123547

>>1123516
Создал ресайклвью адаптер. Объявил VIEW_TYPE_ITEM(контент) = 0 и VIEW_TYPE_FOOTER = 1(последний элемент в списке, чтобы поместить прогресс бар). Так же запилил два холдера в соответствии с вышеуказанными элементами. А дальше проверка на наличие данных. Если у нас имеется следующая страница, то показывает FOOTER появляется индикация загрузки в конце списка. Данные загрузились, футер исчез через специальный метод. Вообще это решение есть на стэковерфлоу. Так что ничего нового не рассказал.

Ответы2355723590

21 янв, 18:25 435 1123557

>>1123547
Осталось по такому же принципу запилить ошибку запроса. Если запрос некорректен и серверу нечего прислать в замен, отображаем VIEW_TYPE_ERROR

21 янв, 18:40 436 1123583

Как же я жалею, что не вкатывался в андройд раньше. Наверное, это было потрясяюще писать велосипеды в 12-14 годах. Мне не понять этого всего.

Ответы23609

21 янв, 18:44 437 1123590

>>1123547
А, ну понятно.
В одном из репе китайской, я видел как чувак унаследовался от RecyclerView, переопределил onScrolled и onScrollStateChanged, добавил листенер, в хмл захуярил свой RecyclerView, ну и еще штучки захуярил. Мне показалось это интересным.

Ответы23603

21 янв, 19:01 438 1123603

>>1123590
У меня тоже используется onScrolled. Без него особо вариантов нету.

21 янв, 19:08 439 1123609

>>1123583
Никогда не поздно.

21 янв, 23:37 440 1123896

Нужно ли больше уделить внимание InputStream и подобным I/O? И дженерики на каком уровне достаточно знать? Я особо эти моменты и не встречал за полгода разработки.

22 янв, 03:35 441 1124049

>>1123449
а что там разбираться то? делаешь дамп памяти и смотришь на что тратится столько, если на что-то нужное, то норм, если какая-то левая хуйня жрет - то не норм, дело нескольких минут

23 янв, 21:55 442 1125184

Анон, хочу вкатиться в разработку под Android, а именно портировать одно приложение и одну игру. Мне просто нужно изучить джаву? А как же зоопарк моделей, фрагментация по экранам и все такое?

Ответы25231

23 янв, 22:07 443 1125186

>>1110656
H

29 Кб, 1003x260
23 янв, 22:31 444 1125196

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

Ответы2523625240

23 янв, 23:17 445 1125231

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

23 янв, 23:19 446 1125236

>>1125196
Фигня, что-то уровня реакт нейтив, но на не взлетевшем дарте. Если гугл таки сможет похоронить ведро и выкатить нам новую ось, причем так что программы будут совместимы и эта ось, фуксия/андромеда/хуегугловеда будет на флаттере то тогда конечно да, но пока ничего серьйзного.

23 янв, 23:26 447 1125240

>>1125196
>хипстерская ссанина на скриптах внушает больше доверия чем индустриального уровня хамарин, огромная инфраструктура с# и поддержка майкрософт
ты болен
иди учи хамарин

Ответы25344

24 янв, 07:06 448 1125344

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

Ответы25367

24 янв, 08:37 449 1125367

>>1125344
>На котором до сих пор ни одного крупного приложения не написано?
Не аргумент

>систему сборки так и не завезли?
Какую еще систему сборки, что ты несешь?

>Ты считаешь это плюсом?
А ты считаешь это минусом? Библиотека от Васяна лучше технологии от самой авторитетной и заслуженной ИТ-компании?

Тебе просто нужно понять, что простота = беднота. хелло ворлды, да, пишутся на таком скриптовом говне просто. Хелло ворлды. Ты охуеешь писать что-то большое.
В хамарин ты можешь нашлепать формочек, скочать библиотек из nuget под любые задачи, хуяк, хуяк, и программа готова.

24 янв, 09:09 450 1125372

>>1110463 (OP)
Анон, подскажи!

Есть условное приложение, которое по нажатию кнопок отправляет разные POST-запросы на сервер и что-то делает с результатом. Как лучше всего сделать это асинхронно? Сейчас у меня всего одно действие и оно реализовано с помощью AsyncTask в активити, но для каждого запроса отдельный таск пилить не очень красиво. Да и иде ругается на "This AsyncTask class should be static or leaks might occur".

Попробовал по-другому - создал отдельный класс RequestsAsync и вынес туда этот таск. В классе есть метод send в котором создаётся таск с нужными параметрами. Всё статичное. Всё было бы збс, но куда теперь выводить результат запроса? Как получить доступ к активити без риска утечки данных?
Может вообще стоит по-другому запилить? В андроиде нуб, может есть какие-нибудь примеры, как сделать универсальный класс для асинхронных HTTP запросов?

[CODE]
public class RequestsAsync {
private static boolean processingRequest = false;

public static void send(String test) {
if (!processingRequest) {
processingRequest = true;
asyncRequest request = new asyncRequest("/api/test");
request.params.put("test", test);
request.execute();
}
}

static class asyncRequest extends AsyncTask<Void, Void, String> {
Map<String, String> params = new TreeMap<>();
NetHelper netHelper = new NetHelper();
String url;

private asyncRequest(String url) {
this.url = netHelper.SRV_URL + url;
}

@Override
protected String doInBackground(Void... arg) {
String request;

try {
request = netHelper.postData(url, params);
} catch (Exception e) {
e.printStackTrace();
} finally {
processingRequest = false;
}

return request;
}

@Override
protected void onPostExecute(String request) {
super.onPostExecute(request);
// щито дальше?
}
}

}
[/CODE]

24 янв, 09:09 450 1125372

>>1110463 (OP)
Анон, подскажи!

Есть условное приложение, которое по нажатию кнопок отправляет разные POST-запросы на сервер и что-то делает с результатом. Как лучше всего сделать это асинхронно? Сейчас у меня всего одно действие и оно реализовано с помощью AsyncTask в активити, но для каждого запроса отдельный таск пилить не очень красиво. Да и иде ругается на "This AsyncTask class should be static or leaks might occur".

Попробовал по-другому - создал отдельный класс RequestsAsync и вынес туда этот таск. В классе есть метод send в котором создаётся таск с нужными параметрами. Всё статичное. Всё было бы збс, но куда теперь выводить результат запроса? Как получить доступ к активити без риска утечки данных?
Может вообще стоит по-другому запилить? В андроиде нуб, может есть какие-нибудь примеры, как сделать универсальный класс для асинхронных HTTP запросов?

[CODE]
public class RequestsAsync {
private static boolean processingRequest = false;

public static void send(String test) {
if (!processingRequest) {
processingRequest = true;
asyncRequest request = new asyncRequest("/api/test");
request.params.put("test", test);
request.execute();
}
}

static class asyncRequest extends AsyncTask<Void, Void, String> {
Map<String, String> params = new TreeMap<>();
NetHelper netHelper = new NetHelper();
String url;

private asyncRequest(String url) {
this.url = netHelper.SRV_URL + url;
}

@Override
protected String doInBackground(Void... arg) {
String request;

try {
request = netHelper.postData(url, params);
} catch (Exception e) {
e.printStackTrace();
} finally {
processingRequest = false;
}

return request;
}

@Override
protected void onPostExecute(String request) {
super.onPostExecute(request);
// щито дальше?
}
}

}
[/CODE]

Показать весь текст
Ответы25373253752538825391

24 янв, 09:09 451 1125373

>>1125372
Даёпт что [CODE] не работает? Извиняюсь за криворукость.

24 янв, 09:12 452 1125375

>>1125372
https://ideone.com/5pl2Eh

24 янв, 09:51 453 1125387

Бля, узнал про Android Asynchronous Http Client. Вроде то что нужно. Ещё бы объединить все методы в один класс (допустим User), а в активити только результат выводить.

Ответы25388

24 янв, 10:01 454 1125388

>>1125372
>>1125387
Retrofit возьми и не парься.

Ответы25410

24 янв, 10:15 455 1125391

>>1125372
Retrofit + RxJava, все остальное - хуйня

Ответы25410

24 янв, 11:11 456 1125410

>>1125388
>>1125391
Годно! Спасибо.

25 янв, 09:30 457 1125901

Расскажите вкратце, что нужно знать, если я хочу добавить в приложение проверку на подключение к интернету. Пока знаю, что там для WiFi и SIM интернета разные команды исполняются.

Ответы2600126046

25 янв, 14:04 458 1126001

>>1125901
Самый простой и вернй способ пойти и сделать запрос.

Ответы26238

28 Кб, 683x169
25 янв, 15:13 459 1126046

>>1125901
>добавить в приложение проверку на подключение к интернету.
Так это, ты того что ли?

Ответы26238

25 янв, 19:53 460 1126238

>>1126001
>>1126046
Запрос делать к сервису, с которого тяну данные или google.com?
Мне интересно другое, нежели простой вывод предупреждения об отсутствии коннекта. Как сделать, чтобы выполнение программы приостановилось, не вызвались методы и прочие действия? Как делается у профессиональных разработчиков это?

Ответы2629926359

139 Кб, 802x527
25 янв, 20:01 461 1126245

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

Ответы262992665426668

25 янв, 21:02 462 1126299

>>1126238
Ты гуглить не умеешь? Мать не научила?

>>1126245
А что тут громозкого-то? Юзни котлин. Все равно здесь лучше не сделаешь. Можешь свитч ебнуть, только вот зачем? Лучше бы полезным делом занялся.

25 янв, 22:22 463 1126359

>>1126238
>Запрос делать к сервису, с которого тяну данные или google.com?
Лучше конечно к своему, тебе он интересней.
>Как сделать, чтобы выполнение программы приостановилось, не вызвались методы и прочие действия?
Так не делается, особенно на ведре.

26 янв, 12:43 464 1126642

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

Ответы26684

26 янв, 13:19 465 1126654

>>1126245
а зачем ты пихаешь данные в интент активити?

53 Кб, 715x323
26 янв, 13:47 466 1126668

>>1126245

Ответы26682

26 янв, 14:17 467 1126682

>>1126668
Выглядит красиво, но это же Котлин :(

Ответы26718

127 Кб, 719x505
26 янв, 14:21 468 1126684

>>1126642
Недавно переделал на это. Все довольно очевидно.

Ответы26697

26 янв, 14:38 469 1126697

>>1126684
В чем различие между recyclerView.addOnScroll... и adapter.setOnLoadMoreListener (как здесь - http://android-pratap.blogspot.ru/2015/06/endless-recyclerview-with-progress-bar.html)

Ответы26698

26 янв, 14:38 470 1126698

>>1126697
Минус скобка.
http://android-pratap.blogspot.ru/2015/06/endless-recyclerview-with-progress-bar.html

59 Кб, 676x448
26 янв, 15:08 471 1126718

>>1126682

Ответы27228

26 янв, 20:10 472 1126886

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

Ответы2696027156

26 янв, 21:31 473 1126960

>>1126886
https://gist.github.com/anonymous/ef14cbea28e5b58a20ab75b85507fd3f

Ответы27156

26 янв, 22:02 474 1126975

Последний раз пользовался андроидом 4 года назад.
Использую исключительно продукцию гейпла.
На учебе учим сейчас джаву.
Появилась идея вкатиться таким образом в андроид.
Вопрос: помешает мне это как-то при разработке или достаточно будет гайдлайнов по ui почитать от гугла и все пойдет как по маслу?

Ответы26977

26 янв, 22:04 475 1126977

>>1126975
Лучше в гейось вкатывайся.

Ответы26980

26 янв, 22:07 476 1126980

>>1126977
Да блять вкатываться в гейось, учить на учебе джаву - какая-то каша в голове будет, ей богу.

Ответы26982

26 янв, 22:08 477 1126982

>>1126980
Какая к черту каша? Та джава что ты будешь "учить" к ведру будет иметь весьма посредственное отношение. Вот нахуй тебе как пользователю айоси писать под ведро?

Ответы26990

26 янв, 22:23 478 1126990

>>1126982
Да я и не хочу особо на свифте/обж-си писать.

26 янв, 23:06 479 1127013

На работе дадут магбуг. Какая вероятность что я стану пидоромиосразработчиком

Ответы2715727173

27 янв, 08:23 480 1127156

>>1126886
>>1126960
Тебе нужно добавить метод add или addAll в свой адаптер. Потом уже в активити обращаешься mAdapter.add(listItems)

Ответы27177

27 янв, 08:25 481 1127157

>>1127013
У тебя будет возможность писать под обе платформы.

Ответы27551

27 янв, 09:48 482 1127173

>>1127013

27 янв, 10:15 483 1127177

>>1127156
Ага, понял. Буду пробовать. Спасибо.

95 Кб, 782x330
27 янв, 12:23 484 1127228

>>1126718
Спасибо, переписал. По началу не мог догнать, что везде нужно импорт библиотек на support.v4.app.Fragment поставить. Еще при данном подходе прочитал, что нужно делать статический конструктор для фрагмента. Правильно ли это? Или сейчас по другому профессионалы делают?

Ответы27258

27 янв, 12:25 485 1127229

Собираюсь одновременно позадротить android разработку и ios-разработку
Сам овер5 лет во фронт-енде
Насколько велик шанс, что я делаю все правильно и буду нарасхват?

Ответы27252

sage 27 янв, 12:59 486 1127252

>>1127229
> Сам овер5 лет во фронт-енде
Это уже не лечится.
> Насколько велик шанс, что я делаю все правильно и буду нарасхват?
Стремится к нулю. Иди лучше в js-тред.

Ответы27254

27 янв, 13:02 487 1127254

>>1127252
Ты правда считаешь, что формочки на андроиде чем-то принципиально сложнее, чем формочки на реакте?

Ответы27264

27 янв, 13:07 488 1127258

>>1127228
Не уверен, что профессионалы сейчас вообще используют фрагменты, но да, так делать правильно. Вообще это шаблон для создания фрагментов в самой студии. Ты сохранял эти данные в активити, а надо было их передавать самому фрагменту через аргументы, как ты теперь и сделал, так что ты всё правильно понял.

Ответы27266

27 янв, 13:24 489 1127264

>>1127254
>формочки на андроиде
Ахах. Что ты подразумеваешь формочки под андройдом?)

Ответы27268

27 янв, 13:25 490 1127266

>>1127258
>профессионалы сейчас вообще используют фрагменты,
Гугол на каждой конференции ИО втирает про невьебенческие силы фрагментов.

Ответы27296

27 янв, 13:26 491 1127268

>>1127264
любые прикладные приложения, которыми ты пользуешься
Например клиент вконтача или фейсбука

Ответы27276

27 янв, 13:32 492 1127276

>>1127268
Ну так ищи инфу хули. Но это будет бредом, учить и андройд и иос, зачем? Да еще и из фронтенда. Макак сокращают?

27 янв, 14:06 493 1127296

>>1127266
Просто пока не могут признать что обосрались.

Ответы27308

27 янв, 14:26 494 1127308

>>1127296
Ну да, но это не повод отказываться от фрагментов. Все равно по канону спрашивать будут на собеседованиях.

105 Кб, 1000x409
27 янв, 15:56 495 1127349

Следующий вопрос по поводу выделенных элементов с пика. Студия говорит, что данные методы могут вызывать исключение NullPointerException. Если почитать подсказку, то там говорится об аннотации @NonNull, значит что значение не может быть null. С одной стороны все работает как нужно, без крэшей, но с другой, хотелось бы знать, что в дальнейшем у меня не возникнет проблем с работой программы. Что делать в такой ситуации?

Ответы2735827617

27 янв, 16:07 496 1127358

>>1127349
Почему ты не используешь рхДжаву?

Ответы2736227367

27 янв, 16:14 497 1127362

>>1127358
Пока решил на этом варианте остановиться. Библиотека Graphql имеет поддержку из коробки RxJava, что позволяет за пять минут переписать. В данном виде асинхронность запросов поддерживается, менять необходимости нет.

69 Кб, 686x339
27 янв, 16:19 498 1127367

>>1127358
>>1127358
Все же использую в другом случае.

27 янв, 18:13 499 1127472

Поясните на пальцах за setHasFixedSize. Правильно ли я понял, что если Recyclerview занимает весь экран, то без разницы установлено это свойство или нет?

Ответы27519

27 янв, 18:20 500 1127474

Можно ли как то скомпилировать приложение для андроида, написано на Python и использующие PyQt5?

Ответы27521

162 Кб, 1326x793
27 янв, 20:09 501 1127519

>>1127472
Поискать религия не позволяет?

Ответы28336

27 янв, 20:11 502 1127521

>>1127474
>написано на Python
>использующие PyQt5?
> скомпилировать приложение для андроида,
> скомпилировать
Ты вообще откуда вылез?

27 янв, 20:59 503 1127551

>>1127157
Я знаю. Но вопрос не об этом.

Ответы27553

27 янв, 21:07 504 1127553

>>1127551
> Какая вероятность что я стану пидоромиосразработчиком
Это тоже самое, как выебать девушку трапа нажравшись.
Не узнаешь, пока не попробуешь. И, если ты бы выебал ту секретную девушку, считал бы себя пидором? Это обязательный вопрос.

27 янв, 23:20 505 1127617

>>1127349
Странно это говорить, особенно глядя на говнокод со скриншота, но ты видимо всё-таки развиваешься. В предыдущих тредах тебя сразу нахуй посылали, а тут даже на настоящие ответы у кого-то терпения хватает.

27 янв, 23:29 506 1127619

ПЕРЕКАТ https://2ch.hk/pr/res/1127618.html (М)

ПЕРЕКАТ https://2ch.hk/pr/res/1127618.html (М)

ПЕРЕКАТ https://2ch.hk/pr/res/1127618.html (М)

28 янв, 22:58 507 1128336

>>1127519
Ну и что значит?

30 янв, 15:49 508 1129200

>>1117407
Ты просто мудак ебучий, который не может даже догнать на какой хуй это всё нужно и, видимо, не слышал про оптимизацию. Твой уровень — хеллоуворлд калькуляторы.

Тред утонул или удален.
Это копия, сохраненная 11 марта 2018 года.

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

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

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion