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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
android.png43 Кб, 400x267
Android Development Thread 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 (М)
2 1110478
>>10463 (OP)
Зарепортил за всратку с оппика.
3 1110656
Есть на борде аносы, которые зарабатывают на своих приложениях в сторе. Я имею ввиду свои личные пет-прожекты и поделия, с продажи которых или с рекламы в которых падает в карман копеечка. Было б интересно послушать истории неуспеха
4 1110687
>>10656
Тут ты вряд ли что-то кроме 300к / сек услышишь.
На хабрахабре полно таких историй, вот свежая https://habrahabr.ru/post/345174/
5 1110806
Пукнул в треде.
6 1110828
Я правильно понимаю что с 32битной осью тут хуй сделаешь, надо ставить 64 битную?
7 1110834
И где можно скачать андроид студио 2.0?
гугль везде удалил, пидрилы, у меня 3.0 не запускается
8 1110835
>>10828
Да, давно пора.
>>10834
Поищи на торрентах, но зачем тебе он?
9 1110837
>>10835
чтобы не переустанавливать шиндовз.
10 1111099
сосаны, насколько это гавно железо-независимо?
я могу на любое железо поставить любое ведро?
или там все анально огорожено?
11 1111131
>>11099
Каждый производитель устройства пишет собственную прошику. Насколько знаю, Google запустила программу не помню как нзывается точно, что-то вроде Android One, чтобы избавиться от такого положения дел.
12 1111139
>>11099
Гугли HAL
13 1111163
>>11131
нет, я допустим смогу поставить на старый девайс какой-нибудь новый андроид?
какой там сейчас модный? 5ый?
14 1111277
>>11163
Иногда можешь, но много хуйни может потребовать написать самому. Сейчас последняя версия ведра 8.1.
>>11131
Trebble называется, но это не панацея, пока вендоры могут класть хуй на пользователей, а кто не ложил и так обновляет.
15 1111278
>>11277

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


тот клал.
16 1111285
>>10463 (OP)
Уберите уже эту мразь с оппика
17 1111290
Дройданы, а как вы пилите репозитории под Realm?
18 1111314
>>11285
двачую люто, репорчу каждый тред, но мочуху и остальным походу насрать.
19 1111315
>>10478
>>11285
>>11314
Если б я был ОПом, я бы специально только эту пикчу и использовал, чтобы вашими бабахами наслаждаться.

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

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


Меня до этих тредов никогда не ебало, но эта пикча за гранью.
21 1111411
>>11290
У тебя с ним уже есть DAO, зачем тебе репозитории?
15054131361260.jpg23 Кб, 480x361
22 1111447
Как запустить из кода стандартное приложение "Загрузки"?
23 1111449
>>11447
Intent
24 1111452
>>11449
Этот ответ ни о чём.
25 1111455
>>11452
умей гуглить, аутист, тебе уже ответили что с помощью интентов можно открыть другие приложения.
Или за тебя проект написать?
26 1111461
>>11455
Сам ты аутист. Гугл ничего путного не находит.
27 1111471
Какие альтернативы Анроид Студио? Ибо лагает, что пиздец. Комп новый не могу позволить, студентота.
28 1111475
>>11461
Тут выше человек не мог найти старую версию студии. Решил проверить самостоятельно, ссылка на скачивание выпала первой. Вывод делайте сами.
29 1111480
>>11471
Что за комп сейчас?
30 1111481
>>11471
Никаких
31 1111493
>>11471
Запускай грейдл из консольки, эдить в код sublime/vscode
32 1111494
>>11471
Вы в каждом треде теперь это спрашивать будете?
33 1111739
>>11475
ссылок полно, студии по ссылки нет, дебил
Снимок экрана 2017-12-24 в 22.03.04.png38 Кб, 414x636
35 1111843
Есть ли способ отобразить RecyclerView в горизонтальном положении в редакторе? Во время работы программы отображается как нужно.
36 1111846
>>11843
С тулзами попробуй поигратся, но не уверен что поможет
37 1111848
>>11843
android:orientation="horizontal"
38 1111849
>>11848
Увы, никаких изменений. Ладно, хрен с ним, главное что в приложухе все как надо.
39 1111851
>>11849
Ты layoutManager указал при этом?
41 1111853
>>11851
Нет, не указывал. Теперь работает правильно, спасибо.
Раз пошла такая темочка, то как мне правильно кнопочки "большого пальца вверх" сделать? Ну что б при нажатии на них была анимация, как со стандартным Button. Пока сейчас просто ImageView для предварительного просмотра.
42 1111854
>>11853
Гугли ripple effect
43 1111858
насколько сложно будет замутить такую тему - видеопоток заворачивантся покадрово на сервак, откуда приходят модифицированные кадры, которые уже отображаются на экране.
44 1111859
>>11858
Убийца снапчата это ты?
45 1111863
>>11859
что такое снапчат?
мне тупо демку одного обработчика замутить надо
46 1111868
>>11863
Говноприлоджуха которая в риалтайме цепляет маски к еблам. Тебе риалтайм или нет? Если нет, то все просто.
47 1111872
>>11868
мне реалтайм, но я не ожидаю больших проблем
на хтмл5 я за день накатал
48 1111874
>>11872
просто как писать приложения я в душе не ибу, и поэтому хочу понять масштаб проблемы
49 1111927
>>11872
Как у тебя будет риалтайм если ты на сервер слать будешь?
50 1111966
>>11874
Берешь и пишешь. Без задней мысли.
51 1111971
>>11927
ну не риалтайм, а там с задержками небольшими, ок.
я это имел ввиду
52 1111985
>>11971
Ну такое, не очень быстро сделаешь, может быть с вебсокетами, но даже так возможно задеркжа будет неприемлемой.
53 1111993
>>11985
я на хьмл5 делал с вебсокетами, мне чисто продемонстрировать это нужно клиенту
похуй на задержки если они не прям пиздец большие
54 1112122

> заиметь йоба кудахтер чтоб запустить свое код > учить богом забытую джаву


> учить странныйнелогичный андроид


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


> две с половиной вакансии за месяц уровня


Я просто не верю что мыслящий человек по собственной воле засунет свою голову в петлю андроида.
55 1112196
Gogle Drive. OAuth 2.0 client ID и API key
В чем разница? Я знаю, что OAuth 2.0 client ID нужен для авторизованных реквестов, а APi key для неавторизованных вызовов. Но как выглядит эта разница на практике?
56 1112201
>>12196
Я правильно понимаю, что если используется приватная папочка приложения на гуглодиске - достаточно лишь API key, а если нужен доступ к порнушке пользователя в ЕГО папках - тут уже нужна авторизация?
57 1112204
>>12201
И если да - значит ли это, что на ведре нельзя безопасно использовать API key без стороны сервера, учитывая это
https://support.google.com/cloud/answer/6310037?hl=en&ref_topic=6262490
58 1112216
>>12122

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


Я на этим хлеб буду зарабатывать. А что ты мне прикажешь, яблоко осваивать? Я лучше на андройд сяду и плевать, что я буду ебаться со всем. Я хочу нормально жить в этом мире, а не сидеть в сисадминах.
59 1112219
>>12122
Тебе совсем делать нехуй, да?
60 1112224
>>12219
ну ява это правда пиздец.
61 1112237
>>12216
Выучит другой яп.
62 1112240
>>12224
На ней давно уже никто и не пишет.
63 1112253
>>12240
лол, а на чем пишут android приложения?
sage 64 1112257
>>12253
На HTML
65 1112286
>>12257
Как камеру подключить на html?
67 1112316
>>12257
С bluetooth low energy ты соснешь.
68 1112366
>>12316
Соснешь ты, а я ебану через hni(html native interface)
69 1112395
Где лучше всего обрабатывать нажатия на вьюшку в RecyclerView? На спех прикрепил пока в методе onBindViewHolder.
70 1112397
>>12310
нихуя, ничто из этого не дает доступ непосредственно к камере. максимум можно ролики записать и загрузить
71 1112403
>>12395
Внутри вьюхолдера.
image.png18 Кб, 1269x108
72 1112422
проста, тупа, джава
73 1112452
Как запускать приложение на планшете (на самом деле с минимальной шириной 600 dp) в лендскейпе, а на экранах с меньшей шириной - в портретной ориентации? Я создал вариации лейаутов, но вот именно на планшете, хоть тот и лендскейпе лежит, приложение запускается в портретной ориентации.
74 1112457
>>12452
layout-sw600dp-land
75 1112471
Аноны, у меня в recycler view в каждом айтеме есть прогресс бар, как правильно его обновлять из фрагмента. Пока что передают обновленное значение в адаптер, а там notifyItemChanged(position) и уже через bindViewHolder это обновленное значение попадает в айтем где обноволяет прогресс бар, но при этом вся вьюха перересовывается и постоянно мерцает при обновлении.
Как правильно делают в таких ситуациях?

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

>передаю


фикс
78 1112529
>>12422
Это что же у всех так 6 гигов памяти отжирает или у тебя там отброный говнокод?
79 1112559
>>12529
Это еще мало. Видать просто hello world собрал
80 1112796
>>11285
>>11314
>>11316

да ладно вам, что не так? Нормальная девушка-блондинка в модных ныне очках, че вы разошлись, смермотокзикозники? Почему вас реально это настолько ебет в тредах про програмач?
П.С. двачую, что на месте ОПа я бы принципиально эту картинку только бы и ставил и наслаждался б багетами даунов
81 1112799
Всем привет. Здесь есть те, кто знаком с Oauth2? Хочу написать свой клиент вк, но не в зуб ногой с этими ключами и авторизацией, туго движется. Был бы признателен, если на пальцах от момента ввода данных объяснили что там и как. Спасибо
82 1112807
>>12799

>Oauth2


OAuth 2.0 простым и понятным языком
https://habrahabr.ru/company/mailru/blog/115163/
83 1112843
>>12529
У меня 4 гига отжирает хелоу ворлд.
84 1112864
Анончик, а как ты пришел к андройд разработке? Делись прохладными.
Я вот уже и не помню своего момента.
85 1112873
>>12796
Cем, плиз
86 1112912
>>11852
посмотри может там есть аттрибут tools:orientation
87 1112914
>>12864
Взял и без задней мысли начал вкатываться. Так и не вкотился за несколько лет
88 1113090
Аноны, надо ли знать протокол http для моб разработки??
Нужно ли понимание как функционирует сервер, бекенд, навыки работы в командной строке Linux??
Можно ли писать под IOS без мака(компьютера от эппл)?
Где-то читал, что написав код на c++, можно его скомпилить кроссплатформенно для IOS и для Android, это правда?
89 1113142
>>13090
Жирный троль.
90 1113154
>>10463 (OP)
Анон, как в андроиде внутри организовано общение с сетевым стеком? Мне, юникс сишкоблядине, не совсем ясно, как оно работает: в обычном линуксе работа идет через сокеты и их системные вызовы, в андроиде же это судя по всему организовано через какой-то хитрожопый IPC/RPC (т.е. пользовательское приложение общается с внутренним процессом вместо прямых системных вызовов), но я все-равно не могу понять, какой процесс отвечает за собственно общение с ядром.
91 1113189
>>13154
Тебе надо ковырять исходники. Но вообще дергаются дажвовские сокеты, которые уже на каждой платформе по своему работают.
92 1113214
>>13189
Хм, а ты прав, софт действительно использует обычные жабовские сокеты, никакого ебнутого IPC нет. Я пробовал с помощью cgroups+iptables зарезать трафик для определенного приложения, но он нифига не резался, из-за чего я решил, что трафик идет через что-то другое. В итоге оказалось, что при запуске процесс (в моем случае - Webview browser) всего лишь хуярит какие-то свои сложные правила и таблицы роутинга для процесса, которые перекрывали мои.
93 1113217
Драч, посоветуй.
Есть 2 активити: на первой есть список элементов, по нажатию на который открывается activityForResult второй активити для просмотра/редактирования информации. Также, во второй активити есть ViewPager для свайпа фрагментов, в которых собсна вьюхи с полями элемента списка. Вот мне в адаптер ViewPage'а нужно скормить список, который содержится в фрагменте со списокм в главной активити. Как это лучше сделать? Обернуть список в класс, унаследовать его от Serializable и в intent пихать? Класть для ArrayList в синглтон? Или есть способ, о котором я не знаю?
94 1113220
>>13214
А, нет, я обосрался, роутинг тут ни при чем и оно все-равно не работает. Ну да хуй с ним, буду копаться в исходниках дальше
95 1113222
Как опубликовать свое приложение в гугл плее не указывая свои реальные имя/фамилию/адрес?
96 1113231
>>13222
Указать чужие. Делаешь новый эмейл, потом делаешь под фальшивые имена карту, найди бомжа какого-то.
97 1113232
>>13217
Самый простой вариант - сделать Parcelable. Но лучше что бы был какой-нибудь репозиторий с этой ебалой, и его инстанс инжектился в обе активити/фрагмента.
98 1113249
>>13231
А на сгуху потом не поеду?
Беларусь если что.
99 1113252
>>13217
Если очень много данных делай синглтон(в intent по моему в последний версиях не больше мегабайта можно пихать), в остальном на мой взгляд лучше юзать интенты с parceable.
100 1113277
>>13249
Дроны гугла к тебе прилетят и посадят на бутылку.
На швабре была статья чувака котоырй клепал однотипные клоны говноигр по всяким франшизам-мультикам и греб бабосы с рекламы. Менял эмейлы/карточки и даже железо, еще айпи прятал за проксями, так как гугл выкпуал и банил аккаунты. Но вроде ничего страшного в реальном мире не было.
Чисто теоретически в чем проблема помочь бомжу зарегать карточу, эмейл и аккаунт разработчика? Ничего страшного, только за пиздинг контента могли бы доебаться, но интернет еще вроде не под бацькой.
H70rPNn[1].png14 Кб, 567x211
101 1113352
Блэт. Студию 3.0 скачал на свою жопу. Пустой проект нихуя не работает. Срет пиком. По всем советам эту хуету:

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

добавил - нихуя не поменялось. Можно оно просто заработает и все?
102 1113360
>>13352
Скочай 3.1
103 1113399
>>13352

>С:\

104 1113434
>>10463 (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 режим, и как-то открыв проект через месяц обнаружил его несобирающимся, хотя ничего не менял. Это беспредел.

Так к чему я это все. Из всего вышесказанного, можно сделать вывод что общий уровень квалификации работников гугла экстремально низкий. Так же основной упор на собеседованиях идет на малоприменимые на практике математические задачи, что ведет к отрицательному отборку, в итоге в гугл попадают студенты-первокурсники, задрочившие сборник олимпиадных задач, имеющие большое самомонение(как же, в гугле же работают), но с отсутствующей квалификацией. Так же в компании сущетсвуют ЛГБТ-квоты, когда нанимают сотрудников не потому что они хорошие специалисты, а потому что они путают мальчиков с девочками.
104 1113434
>>10463 (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 режим, и как-то открыв проект через месяц обнаружил его несобирающимся, хотя ничего не менял. Это беспредел.

Так к чему я это все. Из всего вышесказанного, можно сделать вывод что общий уровень квалификации работников гугла экстремально низкий. Так же основной упор на собеседованиях идет на малоприменимые на практике математические задачи, что ведет к отрицательному отборку, в итоге в гугл попадают студенты-первокурсники, задрочившие сборник олимпиадных задач, имеющие большое самомонение(как же, в гугле же работают), но с отсутствующей квалификацией. Так же в компании сущетсвуют ЛГБТ-квоты, когда нанимают сотрудников не потому что они хорошие специалисты, а потому что они путают мальчиков с девочками.
105 1113435
>>13434
Хорошо пишешь, но вывод идиотский. Уровень квалификации довольно высокий, но сама суть андроида - добавлять новые фичи asap, а не когда они окаменеют как говно мамонта, а также поддерживать как можно большее количество говнопроизводителей, которые вносят критическое количество говнокода и неразберихи. В то же время в iOS - диаметрально противоположный подход, прямо как альфа и омега, лол. Что лучше - вопрос философвский
106 1113443
>>13434
Мне плевать, я готов ебаться с кодом, потому что я нищий и не могу на мак перейти. Да и не нужен этот мак, андройд же ОПЕН_СОУРС.
eclipse.jpg98 Кб, 474x720
107 1113446
>>13434

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


Начнем с того, что изначально ОС была разработана не Гуглом, а Android Inc, которая к Гуглу никакого отношения и не имела. Большинство ошибок проектировки (которые, кстати, и Гугл признает) — на её совести.

> Глобальные косяки в проектировании, тащатся с первых версий и не исправляются в принципе.


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

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


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

> Android Studio — глючное, тормозное ужасное говно


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

> Gradle — вообще ночной кошмар.


> За время за которое ant собирал проект, gradle даже запуститься не успевает


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

> общий уровень квалификации работников гугла экстремально низкий


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


Гугл работает с оргомными массивами данных, где применение асимптотически неоптимального алгоритма выльется в огромные издержки.
108 1113463
Вартан сказал, пишите single activity app, и не юзайте fragments back stack. Кто-нибудь так пишет вообще? Где можно примеры\исходники посмотреть?
image.png471 Кб, 600x470
109 1113467
>>13463

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

110 1113468
Когда я получил данные с сервера, они помещаются во вьюшки, допустим RecyclerView с обработчиком нажатия, где по клику вызывается второе активити и тоже взаимодействует с сервером. Тот самый первый запрос который я вызвал, удаляет же вьюшки так? Мне нужно по идее запихнуть эти данные в БД и тогда, когда я захочу нажать кнопку назад из второго активити и перейти в первое, я просто вытащу это из БД. Или есть другие пути?
111 1113476
>>13467
Ты чё, ты чё, а?
112 1113498
test
113 1113508
>>13463
эм, ты же понимаешь, что тут:

>пишите single activity app


>не юзайте fragments back stack


противоречие и деление на ноль?

Либо ты пишешь приложение с ОДНОЙ активити и там у тебя будет уже много фрагментов в стеке. Либо у тебя вообще нет головной боли с фрагментами, ты используешь архитектуру с множеством активити.
А сингл активити без фрагментов ты не сделаешь даже в тестовом задании для перехода в адекватную контору.
114 1113518
>>13463
Ну я пишу с сингл активити. Что именно тебе не понятно?
Вообще вроде как при таком подходе есть какие-то проблемы с nested fragments в view pagerах, но я в них использую обычные вюхи.

Но бэкстек у фрагментов конечно юзаю, как тот петушок обосновывал свой вскукарек? Вручную перехватывать кнопку назад и писать свой аналог бэкстека? Говно какое-то, пидоры блять.
115 1113519
>>13468
Или в бд, или в преференсы, или в синглтон какой-нибудь хуйнуть.
14946922423330.png53 Кб, 186x169
116 1113541
Котаны, подскажите есть ли сейчас в андроиде способы работы с диалоговыми окнами без анальной боли вроде setTargetFragment и onActivityResult.
Желательно с минимумом велосипедостроения и крашей.
117 1113546
Под пинуксом реально вкатится в разработку или без ЖИНДУСа никак?
118 1113547
119 1113551
>>13519
Хорошо. Если в БД, то лучше Realm использовать или обойтись SQLite?
120 1113554
>>13551
SQLITE конечно же.
Realm - лишняя зависимость и в руках новичка неповоротливый и не оптимальный инструмент.
121 1113576
>>13554
Понял. Спасибо.
ffff.png15 Кб, 633x326
122 1113613
Пытался вкатиться, но такая вот херь. Идеи, кроме "выкинуть своё говно и купить нормальный компьютер"?
123 1113616
>>13613
не пытаться вкатываться
124 1113617
>>13541
общая модель
125 1113632
>>13613
Ты хоть прочитал что там написано?
Включи виртуализацию в биосе(если она есть у твоего проца) и установи специальнюу мокропиську для винды - haxm. Или используй медленный arm эмулятор КАК ТЕБЕ ПОДСКАЗЫВАЮТ В ЕБАНОМ СООБЩЕНИЕ, БЛЯ
126 1113659
>>13632
>>13613
Двачую. Если ты даже это сообщение осилить не можешь, тебе в разработке делать нечего.

Собственно, самый универсальный совет - третий. Установи линукс, тогда эмулятор будет работать, даже если у тебя амд вместо процессора.
127 1113745
Как заполнять edittextы из базы данных соответственно выбранному значению спиннера, которое из той же базы данных берется?
128 1113753
>>13745
Берешь и заполняешь текстом, в чем проблема? Только надо где-то хранить дополнительно выбранный вариант как он есть.
129 1113860
>>13518
Ты кого петушком то обозвал, школьник, сам небось либы юзаешь его по ночам, под одеялом
130 1113924
>>13860
Вартан, лол. Я думал это какой-нибудь новый модный русский андроидопетушок с подворотами. Один хуй, твой качок такой себе авторитет, это как раз школьники любят выбрать себе ОВТАРИТЕТА и смотреть ему в рот без оглядки на здравый смысл. Из "его" либ юзаю только ретрофит. В остальных либах он один из мелких контрибьютеров. ButterKnife параша
131 1113939
>>13924

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


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

>ButterKnife параша


Пидорас.
132 1113944
>>13617
Не ответ
133 1113946
>>13939

>реактива


А при чем тут твой кочка?

>Пидорас.


>пук

134 1113964
Поясните, стоит ли ставить на SSD:
1) SDK
2) Genymotion
135 1113983
>>13964
Это тоже самое, как выбирать базуданных. Поставь блять уже и все.
136 1114103
>>13964
Стоит!
137 1114104
>>13939
Батернайф параша.
>>13946

>кочка


Скорее всего из-за того он пишет адаптеры под ретрофит, рхбиндинги и прочую ебалу
138 1114113
>>14104

>он пишет адаптеры под ретрофит, рхбиндинги и прочую ебалу


Ну давай расскажи как правильно, мне вот интересно.
мимо.
139 1114120
>>13541
Присоединяюсь к вопросу: какой сейчас самый лучший вариант работать с диалогами внутри фрагментов или активити, при этом корректно отрабатывая переворот экрана, не теряя target fragment и не теряя активити/колбеки?
140 1114155
>>13541
>>14120
Просто используйте DialogFragment, в чем сложности?
141 1114156
>>14155
Сложности две:
1. Он закроется при перевороте
2. Надо как-то не потерять колбек
142 1114159
>>14156

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


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

> Надо как-то не потерять колбек


В смысле не потерять? Пользователь жмакает на кнопку, передаешь событие дальше своему презентеру или что там у тебя.
143 1114165
>>14159
Что если мне надо передать клик в родительский фрагмент? Как это лучше сделать?
В презентер только если через синглтон передавать, который реализует презентер.
144 1114166
>>14165
Можешь Broadcast кинуть, самое простое.
145 1114167
>>14166
Ух пиздец же. Код обрастает макаронными изделиями.
146 1114169
>>14167
Ну или в самом диалогфрагменте обрабатывай клик. Я хз, что там за юзкейс у тебя.
147 1114170
>>14167
Вообще, не вижу тут ничего макаронного. Тот же листенер, по сути, только вид с боку. Получил бродкаст в своем родительском фрагменте, обработал или передал в преентер, всё.
148 1114178
Есть активити, в ней присутствует список. Пользователь выбирает один объект из списка посредством клика и ему открывается второе активити. Стоит ли это активити делать фрагментом? С учетом того, что в этом активити втором показывается еще один список, продуктов например?
149 1114181
150 1114185
>>14178
Нет
151 1114186
>>14185
>>14181
Двачую
152 1114195
Кароч, когда активитей в стеке дохуя, память жрется не по детски. Вот думаю с фрагментами не было бы такого
image.png576 Кб, 630x586
153 1114198
>>14178
Пиши single activity app, и не юзай fragments back stack
154 1114203
>>14195

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


Что за бред?
155 1114212
>>14203
Видимо у него активити не убираются сборщиком так как проебал ссылки.
156 1114235
>>14212
Хм, а с чего бы им убираться сборщиком??
image.png274 Кб, 1448x969
157 1114237
>>14235
С того, что ты кривой говнокодер?
158 1114238
>>14237
ох сынок, тебе только предстоит узнать все прелести андроид дева
t35lf9nk.jpg433 Кб, 3264x1836
159 1114239
>>14238
Давай, расскажи мне, тупая мелкобуква.
1459416005190567022.jpg23 Кб, 604x385
160 1114241
161 1114256
>>14235
Потому что они память жрут но не на экране, ммм?
162 1114259
>>14256
ох сынок, тебе только предстоит узнать все прелести андроид дева
163 1114296
Есть фрагмент, в нём грузится инфа в листвью и если всё в порядке гружу над ним текствью с количеством элементов. При вызове другого фрагмента и и возврате к этому эта текствью возвращается к своему исходному состоянию - она не видна. Есть способ решить это с помощью лайфсайкла? Потому что сейчас это завязано на переменную isCreated в onCreateView.
164 1114298
>>14296

> Есть способ решить это с помощью лайфсайкла?


Если ты не используешь fragments back stack (на что похоже) то нет.
165 1114304
>>14298
Использую, иначе бы оно грузило инфу и показывало текствью всегда, независимо от переходов. А сейчас состояние прокрутки листвью восстанавливается норм, а текствью исчезает, поскольку изначально, пока инфа не пришла, оно скрыто.
166 1114315
>>14304
Если я правильно понял. Корень твоей проблемы в том что у тебя вью хранит бизнес-инфу (информацию об удачности запроса), тогда как вью должно хранить только свою собственную внутренную инфу, а все что касается бизнес логики запрашивать у хозяина. Конкретно проблема в том что даже у существующих фрагментов вью может постоянно создаваться-уничтожатся (для экономии памяти), и в твоем случае при пересоздании вью просирается состояние текствью - так как вью не предназначено для хранения инфы, оно просто выкидывается нахуй. Тебе нужно добавить проперти в фрагмент с состоянием запроса - в процессе/успешно/неуспешно и при создании вью (а также при изменении проперти) приводить вью к внешнему виду.
167 1114347
>>14315
Если я правильно понял, то сейчас у меня именно так и реализовано.

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 асинктаска. Подумал, может это костыльно и есть какой-то способ сохранить вьюху или перекинуть код в другие события жизненного цикла, при переходах по бэкстеку.
167 1114347
>>14315
Если я правильно понял, то сейчас у меня именно так и реализовано.

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 асинктаска. Подумал, может это костыльно и есть какой-то способ сохранить вьюху или перекинуть код в другие события жизненного цикла, при переходах по бэкстеку.
168 1114348
>>14347

> Переменные isCreated и wasEmpty изменяю в onPostExecute асинктаска.


Ты вкатывальщик или путешественник во времени?
169 1114349
>>14348
Первое
170 1114350
>>14349
Жаль. А тот купили бы биткоинов по 20 долларов.
171 1114409
Есть sqlite, в которой хранится 65535 записей с 2 колонками (float) и двумя колонками id.
Данные необходимо выгрести все оттуда, обработать и отобразить или передать в файле на сервер.
Естественно выборка работает ОЧЕНЬ медленно (16 секунд на выборку), а вставка через некоторое время, когда база заполнится начинает тормозить.

Какое здесь может быть оптимальное решение по ускорению?
Известно, что в проекте есть только 2 запроса, связанных с этой таблицей: вставка одной записи и выборка всех сразу.
172 1114416
>>14409
Ну и зачем тебе тогда база да вообще? Сериализуй в json, его же сразу отправляй на сервер.
173 1114418
>>14416
Очевидно, что данные эти нельзя отправлять сразу.
Иначе бы базы не было.
174 1114421
>>14409

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


Как реализовал?
175 1114423
>>14409
Realm
176 1114427
>>14409
Realm
177 1114429
Кстати вы все ещё продолжаете ебаться с адаптерами для ресуклера или таки освоили Airbnb epoxy?
sage 178 1114430
>>14427
>>14429
Правильно, не можешь освоить инструмент - просто бери ещё одну библиотеку.
179 1114433
>>14430
Какой смысл юзать sql для простого key value?
sage 180 1114437
>>14433
Конечно, лучше взять четырёх мегабайтовый realm и юзать его для простого key value storage.
181 1114439
>>14437
Пока не работал с SQLite на должном уровне и только читал про синглтон. Решил поебаться с Realm, мне норм. Я же хипстер.
182 1114440
>>14437
Как бы это основной usecase nosql бд
183 1114448
>>14437
Мегабайтовый.
184 1114449
>>14430
Стоп-стоп. Ты любитель ебаться в сраку с адаптерами?
185 1114450
>>14427
>>14423
Получишь огромный оверхед по памяти.
186 1114452
>>14450
По какой памяти?
187 1114456
>>14452
Не в оперативке, а сам файл бд там больше.
188 1114457
>>14456
И что?
189 1114459
>>14457
Это не оптимально. В самом начале в этом проекте использовали Realm, пока она не сожрала 100 мб.
190 1114460
>>14456
>>14430

Ну давайте еще похоливарим.

>РЯЯЯЯ Очень большой файл


>РЯЯЯЯЯЯ Иногда случаются непредвиденные сбои


Топовые компании уже юзают его, недавно видел в Pinterest.
И хватит уже себя обманывать, за реилмом будущее.
191 1114461
>>14460
Задачи у всех разные. В этом то дело.
Вот эти цифры, которые там написаны - они не обязательно правдивы и никто не гарантирует, что в моем случае я получу какие-то приемуществ заменив SQLite на Realm вместо самописного решения.
192 1114463
>>14409
Храни в бинаре, ёпта, только хардкор
193 1114465
>>14460
Есть ли у тебя возможность протестить Realm, вместо того, чтобы скриншоты с сайта вставлять?
194 1114466
>>14459
Так ну проблема в тебе, а не в проекте
195 1114467
>>14466
Цифры в студию, для начала.
196 1114476
Помню юзал реалм, не понравилось что работать с объектами только на main треде (или другая какая-то лабуда с потоками)ну и весит много, да.
Это что, недавно заказчик захотел скан карточки, размер APK вырос x3.5 из-за card.io. можно разбить на архитектуры конечно, но нах этот гемор надо, тупой Гугл плей сам разбивать не могет
Снимок.PNG2 Кб, 364x36
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.
198 1114479
>>14476
Работать с рилмом надо в том потоке в котором ты создал инстанс. Проблема с весом апк решается сплитами.
199 1114481
>>14479
Вот это тот еще гемор, что пиздец.
У меня данные сваливаются в БД каждый раз из заново созданного потока.
Таковы особенности андроида.
200 1114482
>>14465
Уже за меня все сделали
https://habrahabr.ru/post/281226/
201 1114483
>>14481
В общем я понял твои компетенции. Можешь не продолжать.
202 1114484
>>14483
Кукарекаешь что-то невнятное. Рассказывай давай как пользоваться Realm'ом в любом потоке.
203 1114485
>>14484
В каком блять любом потоке? Хуяришь бэкграунд в RxJava и все.
204 1114486
>>14483
В знак подтверждения своей компетенции сообщи мне, где в Android API встречается вот этот момент.
Я с удовольствием послушаю.

>каждый раз из нового потока

205 1114487
>>14485
Зачем мне еще одна огромная библиотека, еще кучу зависимостей, которые не добавят надёжности?
Будут добавлены проблемы:
1) Возрастет потребление от аккумулятора
2) Раздуется APK
3) Добавится тысяча строк вместе с библиотекой кода в которых очевидно будут ошибки
image.png97 Кб, 1329x492
206 1114488
>>14487
И что? Девелоперс лав юсинг реилм, если ты не ЛАВ, то это твои проблемы.
Хотя и не особо видны глобальные переходы, но будущее все равно за этой библиотекой. В ней получше сидеть, чем на SQLite выпуска нулевых.
207 1114496
>>14478
Транзитивная зависимость у другой библиотеки? Чекай dependency tree
208 1114536
>>14481
Яннп, зачем новый поток создавать?
209 1114537
>>14488
Ну скажешь будущее. Если мне много данных хранить не надо, зачем мне реалм? Сейчас оберток реактивных к sqlite полно
210 1114543
>>14537
Хорошо. Используй. >>14482
211 1114544
>>14536
Это нужно спросить у разрабов системы Android.
Мне это тоже не нравится. Связано с bluetooth le api.
212 1114546
>>14544
Ну так синхронизируй с нужным тебе потоком и ебошь в базу. Хули ты?
Берешь такой rx и ебошишь Flowable, если у тебя там потом данных.
213 1114551
>>14546
*поток
214 1114584
Хочу хуйнёй позаниматься. Есть средства разработки, позволяющие писать под Android на Lisp/ Haskel/ Prolog?
Слышал о mocl, но он вроде как платный.
215 1114593
>>14487

>1) Возрастет потребление от аккумулятора


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

>3) Добавится тысяча строк вместе с библиотекой кода в которых очевидно будут ошибки


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

>2) Раздуется APK


>РЯЯ, МАЛО МЕСТА


Пользователи имеют минимальную оперативку, с 2МБ памяти, верните мне мой 2008 год.
216 1114604
>>14584
Prolog не очень дженерик перпс ленгуэдж так что нет. На хаскеле и лиспе можно хуярить. Только смысла нет.
217 1114612
218 1114817
>>10463 (OP)
Анончики, Java или Kotlin ? или может Xamarin ?
sage 219 1114841
>>14817
Haskell.
220 1114915
Анон, возможно ли проапдейтить апк автоматически без участия человека?
Ситуация такова: есть девайс, его надо подключить к репозиторию и скачивать новый апк если такой есть. Это дело решается. Дальше нужно этот апк установить, но при установке появляется системный диалог. Возможно ли его убрать? Апк будет просто новой версией аппы. Гугл маркет подключать не вариант.
221 1114925
>>14817
Почему здесь еще находятся троли?
222 1114928
>>14915
ты охуел, конечно нет
223 1114929
>>14928
Почему?
224 1114948
>>14915
Для стандартного приложения вряд ли, может через accesability, как вирусня всякая. Но наверное для спец приложений с правами админа можно.
225 1114949
>>14948
Где мне копать?
226 1114955
>>14949
https://developer.android.com/guide/topics/admin/device-admin.html
Насчет accessibility все очень зыбко, в последнее время очень много гадости через него работает, поэтому их сейчас жестко в маркете пресуют.
https://stackoverflow.com/questions/26628262/how-to-click-button-in-settings-using-accessibilityservice
227 1114957
>>14955
Спасибо
Мне на маркет и не надо закидывать
228 1114981
>>10463 (OP)

>хотя бы оно готовое приложение.


Что из себя должно представлять такое приложение?

Понятное дело, не хеллоуворлд, но чего же тогда?
Крутая игра? Ну да, становиться джуниором самое то для её автора.
Какой-нибудь калькулятор? Смахивает на хеллоуворлд со свистоперделками.
Невнятный комбайн, демонстрирующий твоё обалденное "знание" кучи возможностей языка и платформы?
В общем, я в недоумении.
229 1114984
>>14981
Соц сеть хотя бы
230 1114991
>>14981
Как правило, у кандидатов с уже имеющимися приложениями на GitHub шансы на трудоустройство выше. (Особенно, если в них применены все технологии, которые я описал).

Для повышения шансов на трудоустройство, я рекомендую написать тестовое приложение, которое закрепит полученные знания. Каким оно должно быть, и что должно делать — решать вам. Лично мне кажется, что неоспоримым преимуществом перед другими кандидатами будет приложение, которое загружает какие-то данные из сети и отображает в удобном формате для пользователя.
231 1115001
>>14991
Разве этого будет достаточно? То есть, я сейчас умею в своем приложении получать данные с сервера, с помощью либ отображаю и использую данные, значит я могу пойти ххточкару со своим гитхаб в резюме?
232 1115002
>>15001
Ретрофит - самое важное, еще джсон поучи, часто нужна кастомная сериализация, глайд/пикассо
С этим, учитывая что ты в остальном нормально шаришь, можно идти искать работу
233 1115004
>>15002
Вот по поводу Glide (Picasso вроде как уже похоронили). Вот что нужно знать про него? Там буквально все в пару строчек кода все укладывается. Почему на него такой акцент делают постоянно?
Использую у себя: OkHttp, Glide, ButterKnife и GraphQl + RxJava
235 1115007
>>15004
Как заюзать, как правильно картинки порезать и масштабировать, в чем преимущества глайда а в чем пикассо.
236 1115008
>>15006
Держу у себя в закладках не первый месяц эту статью. Просто реально интересно, что там описано достаточно для того, чтоб попасть на работу за 40-60к?
237 1115013
>>15008

>чтоб попасть на работу за 40-60к?


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

>Просто реально интересно, что там описано достаточно для того, чтоб попасть на работу за 40-60к?


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

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


Вот и главный петух треда пожаловал.
241 1115189
Всем привет. Появилась необходимость в использовании базы данных для моего проекта. Как это сделать я пока что не знаю, т.к никогда с бд до этого я не сталкивался. Как мне создать и подключить бд к своему проекту? Желательно конечно простым и понятнвм языком
242 1115191
>>15189
Ты читать выше можешь? Даун
Я лично кроме как реилма пока ничего не юзал.
243 1115193
>>15191
Окей спасибо почитаю мануалы с оп-поста. Загуглил realm - вроде не очень сложно
244 1115224
>>15193
Есть еще SQLite, но я не очень понимаю, какие там есть ништячки для работы вместе с RxJava. Если найдешь, пиши сюда.
245 1115227
>>15224
SQLite это просто движок бд, причем тут rx. Есть StorIO, который позволяет чть-чуть спрятать под коврик кишки и прицепить rxjava (первую блеадь) поверх. Есть другие, от джейка что-то есть.
246 1115239
>>15227
Ну и хрен поймешь, какую юзать и какие компании юзают.
247 1115244
>>15239
А ты только попробова поймешь. Я не люблю realm из-за того что завишу от его классов и вообще мутабельности. Я привык к StorIO, но пока они не переехали на новый rx, то говно. Есть SqlBrite, минимализм зато с rx. Есть Room, там все есть и он почти всем хорош, но мне не знашел.
248 1115314
Можно ли установить апк в сайлент моде без рута?
249 1115326
>>15227
>>15239
Есть же официальный Room от Гугла, с поддержкой Rx2.

>>15314
>>14915
Съеби.
250 1115687
>>15326

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


По памяти вроде его в этом году анонсировали. Да и сырой говорят. Но я пока реилмом играюсь, думаю через полгода и его опробую.
image.png105 Кб, 991x631
251 1116255
Читаю коменты от выступления гугла на ИО 17-ого года. Это действительно пиздец что ли с фрагментами? Массивные компании юзают сторонние либы или заставляют ебаться с реализацией от гугла?
252 1116301
>>16255
гугла это большая рекламная зондопараша, пора уже понять
253 1116364
>>16301
Так и думал, что в этом полумертвом-треде какие-то мешки остались.

>>16255
Отвечая на совй же вопрос, наверное стоит поебаться с фрагментами и все-таки дело иметь с ними, ну и для себя на абстрактном уровне поиграться с Conductor, Moxy + Cicerone. И еще погуглить такие либы.
Ну и видосик:
https://www.youtube.com/watch?v=LidlAkrYKGg&index=1&list=PLjzRz85reDwHCvtdr_HqTiS6T7wlHP8BB
Может пригодиться кому.
254 1116377
При использовании паттерной MVP/MVC где хранят содержимое к примеру списков? В модели?
Как тогда решается проблема - "юзер удалил из списка 1 элемент - не перезагружаем весь адаптер?".
255 1116398
>>16377
Вообще в модели, более конкретно используется курсор который возвращает модель. В роли модели может использоватся какая-то временная структура данных - если изменения не нужно сохранять немедленно, или они вообще в принципе не сохраняются.

>>16377

> перезагружаем весь адаптер


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

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


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

С одной стороны - зачем копировать, с другой - потребуются фичи, и уже придется переделывать.
258 1116418
>>16401
Airbnb epoxy
259 1116422
>>16418
И причём тут она? Узнал про новую библиотеку и теперь везде её хуяришь?
260 1116453
Где держать адаптер?
В презентере или в моделе?
261 1116455
>>16453
Во вьюхе.
262 1116456
>>16455
А смысл? Вьюха может уничтожаться.
263 1116459
>>16422
При том что контроллеры(адаптеры) эпокси сделают за тебя все диффы и покажут всё что нужно без лишней ебли.
264 1116471
>>16456
Потому что все андроидовское говно должно оставаться на уровне ведра и ни в какие модели/презентеры не попадает.
265 1116505
Почему при отладке пикрелейтед выполнение выходит из скоупа на проверках в условии if? И почему return true - unreachable? ЧЯДНТ?
266 1116506
>>16505
Немного уточню. Выполнение возвращается в точку вызова, и возвращается, судя по всему, true, но в отладчике я даже не дохожу до return true
267 1116508
>>16506
Зачем ты программируешь?
268 1116509
>>16508
Именно под андроид - чтобы сдать лабу.
269 1116513
>>16509
Хуясе лабы у вас.
270 1116514
>>16513
Да я уже кажется нашел ответ. Просто AS как IDE - говно. Создал лишние булеановские переменные и присвоил им значения, возвращаемые функциями, и увидел как на самом деле отрабатывает функция. Такое чувство, как будто эта скотина втихаря оптимайзит код перед "компиляцией", и исходники уже не соответствуют байт коду во время отладки.
sage 271 1116518
>>16514

> чтобы сдать лабу


> Просто AS как IDE - говно


Держи нас в курсе.
272 1116520
>>16514
Долбоеб.
273 1116522
>>16514
Не ты ли тот сказочный долбаёб, который просил написать приложения какие-то до зимы?
image.png67 Кб, 1046x908
274 1116524
Решил почитать про глиде, ммм.
275 1116526
>>16522
Нет, не я.
>>16520
Ну давайте, токсичные уёбки, расскажите мне, почему нажатием F8 по последовательным операциям я вижу, как активная строка кода перепрыгивает туда сюда, а некоторые операции просто не выполняются, хотя должны?
276 1116528
>>16526
F7 пробуй. Узнаешь многое о классах других, будешь гуру прошаренным.
277 1116529
>>16528
Так нет же, я знаю о step into и step over. Там не вызовы функций. Обычные операторы присваиваний/сравнений.
278 1116530
>>16529
Может ты прочитаешь про try и catch для начала?
И почему ты выделяешь овердохуя строк, вместо того, чтобы ебнуть на методе?
Вот поэтому ты и сказочный долбоёб.
279 1116531
>>16530

>И почему ты выделяешь овердохуя строк, вместо того, чтобы ебнуть на методе?


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

>Может ты прочитаешь про try и catch для начала?


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

>Сначала я так и делал, умник хуев.


Да ты что.

>я в отчаянии начал ебашить БП на каждую команду в надежде выловить её выполнение, чтобы лучше понимать, что происходит.


Лучше бы анус свой промылил.

>Он что, в java работает как то иначе, как в других языках?


Нет.

Ты троль что ли? Хватит троллить. Если не троль, то пройдись по каждой строчке, приговаривая вслух каждое действие. Ору с тебя.
281 1116581
>>16524
А после прогварда как? А вообще пикасса скатилась.
282 1116588
>>16581

>А вообще пикасса скатилась.


Ну я тоже заметил, в этой статье сравнивали глид 3.5 и пикасса 2.5.2, сейчас глид 4+, а вторая все так-же 2.5.2. Еще говорят, что Fresco ничего так.
283 1116593
>>16588
А всё потому что пользовать надо фреску.
sage 284 1116637
>>16588
>>16593
Фу блядь! Сами жрите свое фнйсбучное дерьмо.
285 1116789
>>16637
Не хочу, фреско используется для полного контроля фото, и если твой заказчик совсем пиздец урод и хочет так и сяк.
286 1116793
>>10463 (OP)
Пишу на DroidScript, задавайте ответы.
Добавьте в шапку кстати.
287 1116807
>>16793
Скинь примеры готовых приложений на нем.
288 1116817
>>16807
Блядь это сейчас на файлообменники апк заливать надо. Могу скринами кинуть.
289 1116821
>>16817
Хотя бы так.
290 1116842
>>16817
Давай, прошел уже час, но я жду.
Screenshot2018-01-06-14-38-00.png277 Кб, 480x854
291 1116844
>>16821
Где-то на официальном сайте находил приложения, которые были написаны благодаря DS.
Хуй знает где найти список. Ну да ладно. Лучше расскажу о функционале:
Вот допустим прозрачный layout на пик1.
Есть куча всяких приколюх типа Arduino.
Но самое главное это DS Plugin SDK, благодаря которому можно писать плагины на java, расширяющие возможности droidscript.
DS позволяет писать приложения быстро и без мозгоебок. Если нужно в полевых условиях собрать кастомный статусбар, калькулятор, камеру, илм что другое, то DS идеально подходит. А сейчас функционал большой.
Это и работа с терминалом, и UI слабо, но есть html, опять же- прозрачные лэйауты, и работа с файловой системой, очень многое реализованно
Не хватает только кастомного layout для нотификаций.
292 1116851
>>16844
Ух ебать, все бросаю и пересаживаюсь на это божество.
293 1117009
>>14925
я не тролль.
294 1117210
>>16505
Билд обнови
295 1117363
Проходил ли кто на android.info бесплатный курс по клиент серверным приложениям? Нужна помощь в решении второго практического задания.
296 1117379
>>17363

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


Сам думай.

Смотрел исходники телеграмма. Почему они не используют RxJava, почему нет ретрофита, почему они не используют их то блять? За что?!
297 1117384
Котаны, а разве метод getContext() можно юзать, если minSDKversion = 18?

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

Студия его красным не подчеркивает, как бы намекает, что можно, но бля, здесь же всего можно ожидать.
298 1117386
>>17384
А где там написано, что нельзя юзать если меньше какой-то версии?
299 1117391
>>17386
Совсем недавно так было.
300 1117398
>>17384
Это блят суппорт либа, при чем тут версия апи??
301 1117399
>>17398
Точно! Это очень радует.
302 1117400
>>17391

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


Когда блять? У тебя с головой совсем что ли?
303 1117402
>>17400
Нахуй пошел, мудило.
image.png533 Кб, 451x587
304 1117407
>>17379

> Смотрел исходники телеграмма. Почему они не используют 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, не дайте себя обмануть.
image.png533 Кб, 451x587
304 1117407
>>17379

> Смотрел исходники телеграмма. Почему они не используют 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, не дайте себя обмануть.
305 1117409
Можно ли доверять ресурсам, которые лежат в @android и быть уверенным, что анимации @android:anim/fade_in и @android:anim/fade_out будут везде одинаковые?
306 1117412
>>17407
Тогда интересно, почему же у них все работает и не лагает.
307 1117414
>>17379
Мне хотя бы помочь с первым шагом, с чего начать. А то в теоретическая часть не дает никаких подсказок по поводу решения практической.
308 1117416
>>17409
На васянской прошивке их могут вообще вырезать.
309 1117417
>>17414

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


Ну и что там?

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

>>17412
Магия.
310 1117418
>>17407

> в одном классе


Это же удобно.
Из одного объекта получаешь доступ к разным методам.
311 1117419
>>17416
Васяны как правило идут нахуй.
312 1117420
>>17417
Сейчас пытаюсь решить второе практическое задание.
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
313 1117423
>>17420

>1 txt


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

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

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

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

>Handle configuration changes


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

Забыл еще и паттерн А. Ну вот тут есть https://drive.google.com/drive/folders/0B0Z-lYDZWlawTlRDanpCQldBNDQ С примерчиками.
Я бы рекомендовал задрочить это основательно. Чтобы иметь более плотный контакт с девелоперсами. Хотя я только пробегался теоретически.
316 1117432
>>17429
Вообще там все несколько проще. Тебе дают по сути готовый проект из которого вырезали часть содержимого и сказали, сделай то-то. Вот сам репозиторий https://github.com/ArturVasilov/AndroidSchool/tree/master/SimpleWeatherPatternA с заданием. Лежит в файле WeatherListActivity, но я уже копипастил информацию.
317 1117437
>>17432
У тебя уже есть 90% проекта, тогда что тебе мешает ебнуть своё что-то? Что за люди пошли.
318 1117438
>>17407
Пиздец, больше никогда не буду думать что я говнокодер
319 1117440
>>17407
В гейоси телеграм тоже всрань та ещё. Telegram X вот норм
320 1117495
>>17407
Олимпиадники же. Это как VK (впрочем писалось всё теми же людьми) https://github.com/vk-com/kphp-kdb . Чисто визуально - сишный неподдерживаемый говнокод, но в своё время он отлично работал и очень быстро.
321 1117501
>>10463 (OP)

> понимание XML и JSON.


Это же, блядь, как 2+2. Это сука простейшая хуйня.
Алсо XML сосет у JSON ноудисскас
322 1117544
>>17407
Код аккуратный, в основном связанный с UI.
Возможно особых проблем с поддержкой нет.
323 1117570
>>17495
Кстати да. Ща ето легаси но когда-то была норм штука.
324 1117616
>>17384
getActivity()
325 1117620
>>17407
Кстати телеграмм не обфусцирует код. Скачал апк - разобрал
326 1117621
>>17620

> обфусцирует


Ну выкладывай сюда, сейчас посмотрим на парашу, поковыряем палочкой.
327 1117624
>>17621
Делать мне нехуй.
Сам скачай да посмотри
328 1117672
>>17624
Пиздеть тогда не надо.
329 1117699
>>17672
Ну и не пизди. Чмо безрукое.
330 1117727
>>17620
Блять пиздец.
331 1117728
>>17407
Есть мнение, что среди разработчиков есть такой подвид как 'хакеры'. Эти ребята не особо заботятся об архитектуре, правилах solid, тестировании. Они просто ебашат код и ебашут быстро, и если хакер хорош - то почти без багов. Проблема в том, что работать в команде они не могут, починить баги и разобраться в коде кроме них никто не может, и если хакир увольняется, разработка стопорться и бизнес ждут непростые времена.
мимо, бывший 'хакир'
332 1117752
>>16851
Ток не забудь пропатчить DS. Там премиум анально ограничивает сборку АПК, и всякие плагины.
333 1117762
>>17728
У тебя множество ошибок в слове "говнокодер".
334 1117790
>>17418
лел, иди-ка ты нахуй, человек, пишущий весь функционал на 10к строк в одном классе, а следовательно не понимающий даже суть и плюсов ООП.

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

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


Не прям весь. Но люблю организованность.
Типа:
var op_post=App.ReadThread(id).getIndex(0);
Удобно же. Глобальные переменные нинужны.
336 1117794
>>17793
Начнем с того, что в джаве нет глобальных переменных.
337 1117795
>>17794

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


лол кек

public static String GLOBAL_VALUE = "ZALUPA";
338 1117796
>>17794
А не на жабе писал, а на жи эс. Там любая не-var-переменная глобальная
339 1117798
>>17796
Алсо, методы и свойства всякие.
340 1117801
>>17795
Статик лишь приближенные имеет свойства глобальности. Иди джаву учи, что ты здесь забыл? Еще скажи, что есть передача по значению и по ссылке, маня.
341 1117803
>>17795

> public static


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

>>17803
нет, это надо как раз для глобальных переменных. Чаще даже сюда клеят final , чтоб иметь глобальную константу. Также паблик статик при большом желании можно юзать с методами, которые тоже станут глобальными и юзабельными откуда угодно когда угодно.
343 1117832
http://wikijava.it-cache.net/index.php@title=Glava_1_Thinking_in_Java_4th_edition.html
Стоит ли тратить время на данную книгу? Или она шибко устарела?
344 1117838
>>17832
Задавали здесь уже такой вопрос тредов 5 назад. ДА, ДА. Заебали. Вдобавок почитай еще стримы, лямбды и охуей от того, что джава 10 выходит вместе с var.
345 1117882
>>17790
Тем не менее, телеграмм по сравнению со скайпами, вайберами работал отменно- неплохо для джуна гоанокодера?
346 1117924
Поясните по минимуму про синглетон, shared preference и Loaders.
347 1118094
>>17808

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


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

мимокрокодил
348 1118098
>>18094
Загрузил тебе весь класс за щёчку.
349 1118111
>>18098
спасибо
350 1118113
Суп, антошки. Пилю приложение - библиотеку вебмок напизженных с двача. У меня есть ScrollView с кучей превьюшек этих самых вебмок. Проблема в том, что првеьюшки делаются очень медленно (а наполнение скролла запускается из onCreate, и приложение виснет), и я запихал их в AsyncTask https://pastebin.com/nsyyakCb.
Теперь приложение грузится относительно быстро, но есть другая проблема - когда активка перерисовывается, превьюшки "мигают". Я так понял, это происходит из-за того, что при перерисовке у меня заново создаётся скролл, заново создаются изначально пустые ImageView, и потом только в них пихаются картинки. Как этого можно избежать? Нужно ли перепиливать саму логику создания и отображения превьюшек?
351 1118128
>>18113
загрузка изображений через асинктаск для списка в андроиде - плохая идея, все прошли через такой баг, который у тебя. В обще решение таково: выкидывай нафиг асинк таск и забывай про него навсегда (я не тралю, асинк таск обоссали уже все, кто только можно, сам года 3 им уже не пользовался) , а для изображений и их адекватной загрузки - библиотеки Glide либо Picasso в помощь (первая лучше, но тут дело вкуса).
И тогда тебе надо будет в адаптере лишь написать:
Glide.with(context).load("ссылка на картинку").into(itemImageView);
352 1118143
>>18128
Спасибо, анон, сейчас буду пробовать с глайдом.

>в адаптере лишь написать


Объясни, что ты имел в виду? Я адаптеры использовал только со спиннером дропдаун который, и не понимаю, как это здесь можно использовать. Я только начинаю разбираться в ведроиде и, возможно, по-индусски делаю отображение превьюшек вот тебе сам метод для общей картины, но учти, можешь блевануть с говнокода https://pastebin.com/7kd4ezHe.
image.png10 Кб, 734x93
353 1118144
Блять, ну спасибо. Найс в глайд вкатился.
Пойду пока документацию дрочить
354 1118177
>>10463 (OP)
Анон, а как работает DownloadManager? Это отдельный линукс-процесс, корой через IPC получает и обрабатывает запросы от приложений на загрузку или же это просто какая-то либа, которая создает дополнительные нужные потоки внутри приложения?
355 1118200
>>18177
Приложение отдельное
356 1118233
>>18144
ну попробуй пикассо вместо глайда, у тебя в коде разница будет в одно слове только

>>18143

>Объясни, что ты имел в виду? Я адаптеры использовал только со спиннером дропдаун который


гугли RecyclerView + Adapter Android тебе достаточно инфы выдаст. Тамже ты столкнешься с такой вещью как ViewHolder. И во тв адаптере в методе onBindViewHolder у тебя и будет код типа GlidePicasso.with().load().into();
357 1118249
>>18200
Ясно, спасибо вот блять, а я надеялся порезать трафик только для определенного PID процесса и надеялся, что больше никаким способом он не сможет пробиться к быстрому инторнету, но что-то придется делать и со всякими там DownloadManager-ами
358 1118270
>>18233

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


Сначала нужно почитать тыщу туториалов по их различию, потом найти фреску - почитать еще про нее и наконец понять, что нужно юзать глайд для самого распр. случя.
359 1118281
Чёто вкатился в котлин, и проиграл с котлиношизиков в голос. Единственные профиты в сухом остатке - это датаклассы, вменяемые модификаторы, lateinit (сахар) и ебля с null (кроме бросков npe).
С дженериками какая-то ебань, один сахар. С делегатами вообще запилили подобие рефлексии с providedelegate и ручным созданием проперти обьекта. Функции высшего порядка - нетестируемая параша. С аннотациями теперь нужно ебать мозги о том, куда @Inject сунется в байткоде. Код в библиотеках на котлине пишут нечитаемый.
360 1118311
multidex кто юзает, какие недостатки?
аппа грузится быстро? крешей нет новых?
361 1118331
>>18311
Если моджешь сжать приложение - сожми. Не можешь - используй мультидекс, альтернатив НЕТ.
362 1118336
>>18113
Тоже делаю библиотеку с webm. Только помимо обычного выбора из списка имеем еще рандомный выбор видео из БД. Превью отображаю с помощью RecyclerView c Glide в адаптере. До этого использовал пикассо, но говорят, что он более не поддерживается разработчиками. Из минусов только большое количество методов в библиотеки, но в этом проекте хватит за глаза.
14887860942617998.jpg208 Кб, 600x799
363 1118369
Кто хочет поупражняться в написании простой проги?
Идея такая - есть любой текст, который загружается извне (например книга) и Курсор который постепенно закрашивает текст с определенным количеством символов в минуту (настраивается). Служит для чтения по памяти, т.е. читаешь вслух только закрашенный текст, а следующее слово или несколько запоминаешь. Позволит ускорить речь, повысить легкость говорения и развить краткосрочную память, что крайне будет полезно большинству здесь присутствующих и мне. Также будет полезно при изучении языков, можно выпустить на маркете. Если остались вопросы - пишите в телегу @MarkyWithNuts.
364 1118482
>>17924
Синглтон - паттерн проектирования, юзается когда нужен 1 интсанс класса на всю апку, SP - механизм записи данных в андроиде, обычно туда сохраняют флажки, разные настройки етц.
365 1118615
>>18482
Благослови тебя господь.
13672572371316595576.jpg26 Кб, 600x500
366 1118621
>>18281
прямо люто двачую. Сам уже месяца 2 как перекатился на котлин (ну как перекатился - на работе сказали, чтоб все андроид разрабы на него переходили в скором времени, вот и пришлось учить и первые проекты уже на нем писать), тоже не заметил особо крутых преимуществ. Ну вернее, одна реально крутая вещь - это функции-расширения, ее в джаве не хватало. А так все, в принципе. Практически любая вещь, которая была в джаве в котлине переделана похожим образом просто с другим синтаксисом (либо в точности да наоборот лол, как наследования, кек). Смысла с этого всего 0. Выглядит как каргокульт, что мол кто-то сказал, что котлин крут, го все на него - и все ринулись. По факту, повторюсь, что там особо плюсов нет. Однако, с другой стороны, работая в сфере айти, надо быть готовым к таким вещам, что один язык будет вытеснять другой, одна среда разработки другую, будут появляться новые архитектуры и паттерны и т.д. Тут ничего не поделать. Зато можно перед остальными выебываться , что знаешь +1 язык и прибавку к зп за это выбивать у начальства)
Такие дела.
367 1118636
>>18621
Работающий анон, ответь еще на такие вопросы:
1) ОС, под которой разрабатываешь
2) IDE
3) Где отлаживаешь
4) Как тестируете
5) Полезные фишки, если они есть

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

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

приложуху ту что ты кинул я бы часов на 600 оценивал, но это я так в ней полазил секунд 40, может там еще подводные есть свои камни и часы могут прибавиться
image.png39 Кб, 1874x359
369 1118690
Приложение нормально место памяти занимает или это много?
Еще нужно придумать как фиксить каждый раз запрос в сеть и с загрузкой картинок играться.
370 1118787
Кто нибудь юзал апишки гитлаба? Хоть убей не могу найти гайд по какой юрле кидать реквесты, где достать ключ и т.д.
Ткните носом, пожалуйста
https://docs.gitlab.com/ce/README.html
371 1118792
Двач, что-бы отобразить содержимое базы данных при нажатии на кнопку нужно открывать новую активити или еще способы есть?
372 1118798
>>18792
Надо написать сервис, который будет выводить в логи каждую строчку с базы
373 1118840
>>18792

>отобразить содержимое базы данных при нажатии на кнопку


Ну ты же не просто так будешь отображать содержимое в каких-нибудь виджетах аля текствью.
Прилепи recyclerView и присобач в фрагмент и открывай.
374 1119075
>>18670
Ок, спасибо.
Под фишками имел в виду организацию работы, не кодерские.
375 1119082
Здравствуйте. У меня пара непоняток с 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 для веб-приложения). Без него я даже пробовать и экспериментировать не могу. Или мне нужно завести отдельное приложение для рассылки? (Как мне это сделать, если да?) Помогите с ключом
376 1119088
>>19082
Да, кстати, кто-то может догадывается что может делать метод setRestrictedPackageName() в FcmMessageOptions.builder?
377 1119090
В руте проекта лежит .json, как в рантайме прочитать этот .json?
378 1119213
>>19090
А зачем ты его положил в рут проекта? Перемести его в асеты или ресурсы (resources/raw) если хочешь достать.
379 1119218
>>19082
Чет не похоже что тебе джава дохуя понятна.
Прочитай сначала https://firebase.google.com/docs/cloud-messaging/server
380 1119507
>>19218
ушел читать
sage 381 1119600
>>19507
не возвращайся
382 1120311
может ктонибудь помочь с вирусом для андроида? надо инжекты настроить для работы с забугром
383 1120341
¡Привет, /pr/! Хочу написать приложение для изучения языка, наподобие дуолинги, однако без необходимости постоянного подключения к интернету. Jav'у я совсем не знаю, но знаком с императивным программированием на уровне чуть выше "Привет, мир", что такое токены ответить не смогу. и у меня есть желание. Я справляюсь с олимпиадными задачками, но совсем не представляю, как написать самую простую полезную программу. ¿Смогу ли я сделать задуманное после изучения jav'ы? ¿И каким образом?
sage 384 1120343
>>18670

> 4) если ты про юнит тесты, то их не пишем, толку никакого. Тестим сами руками


Фу блядь, фу нахуй.

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

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

С каким же самом я сижу в одном треде, что за пиздец.
385 1120358
>>20343
ну так уёбывай чё
386 1120371
>>20343
скам это твоя мать-проститутка
387 1120468
ребят, при запуске карт гугла всё время получаю эту ошибку

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

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

запускал всё по мануалу от гугла, но не работает. на стековерфлоу решения нет
388 1120475
>>20341
Пиздец, как же я проиграл до слез. Анон, ты лучший! Такая толстая паста просто невозможно. Лучшее, что я видет за эти два треда.
389 1120479
Хочу сделать себе на ведро просмотрщик смешных картинок с одного сайта без нормального апи. Что мне взять за основу? Голую джаву ебать не хочу, в qml нет нормальных виджетов для картинок, xamarin нет опыта, в cordova.js какая-то хуита с зумом тут мои познания в разработке под андроид кончились
390 1120495
>>20468
отбой ребята, поставил 26 API и всё пошло как по маслу.
ВСЕМ СПАСИБО ВСЕ СВОБОДНЫ
391 1120617
>>20479
Возьмись зубами за член своего отца, шакал.
392 1120675
>>17501
Я дочь полковника СУБД и здесь не всё так однозначно.
393 1120707
>>20675
Двачую.
В XML мультистринг из коробки, в JSON какие-то костыли.
394 1120709
>>20675

> здесь не всё так однозначно.


JSON.parse()
JSON.stringify()
Всо.
Хотя согласен, в бэкенде всякая херня встречается.
395 1120726
>>20343

>Фу блядь, фу нахуй.


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

Ну а ты рвись дальше
396 1120758
>>20726
Я не он, но вот мое обоснование.
Пилишь ты такой систему по ТЗ.
Реализовал кучу методов, но в тесты запихал только те, которые описаны в ТЗ как ключевые.
Внедрил систему.
Прошло джва года.
Половина методов не использовалась с момента внедрения.
И тут тебя спрашивают - а система-то по ТЗ может звонить Путину. Может ведь?
Если у тебя тестов нет, ты скажешь - да хз, надо опять тестовый стенд запускать и проверять.
А если есть - ты их запускаешь и отвечаешь - нихера, Путин телефон поменял похоже, надо новый в конфиг прописывать.
Это реальный кейс из энторпрайз системы. С тех пор я делаю проверку всех методов фасада, в любой момент можно все их проверить на работоспособность.
С апи та же херня. Если у тебя нет тестов, ты не можешь пользователей апи посылать нахер, придется каждый раз их жалобы проверять.
397 1120784
>>20758
Апи двачую, ленивые бекендщики отправляют всякую дичь. Реальная история поле email, на тестовых юзерах все было ок. Сделали рассылку, пошли люди - invalid json token expected string but was boolean. Вот как это вообще можно объяснить.
398 1120790
>>20726

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


Конечно быстрее. А если и ручками не проходиться, то ещё быстрее. А качество стоит времени и денег. Разработка двумя макаки по хуяк-хуяк методологии, конечно, проще и легче.
399 1120851
>>20617
Тебя в школе обидели что ли?
400 1121171
Уважаемые, я студентка, стою в самом начале пути (хочу придти к созданию приложений), учу потихоньку java, книжки читаю и тд и тп. Оч прошу толковых ребят запилить свои стори мне в телегу (от самого начала: как пришла мысль, с чего начали, что и где делали, как долго это всё продолжалось, где брали мотивацию и тд)
Если ты начинающий, то напиши мне тоже, пожалуйста - будем вместе учиться, делиться опытом)
Это мне очень поможет, верю, что здесь есть хорошие люди <3
@SorryImBusy
401 1121191
>>21171

>мне в телегу


иди нахуй, наркоман
402 1121193
>>21171

> я студентка


Siski or GTFO.
403 1121254
>>21191
Двачую.

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

> где брали мотивацию


Смерть. Вот тебе мотивация. Сдохнешь как сука, если не узнаешь что такое андройд.
404 1121831
Третий месяц копаюсь в чужом говне и пытаюсь это отрефакторить.
Дропать нахуй такую работу?
405 1121882
>>21831
Смотря какие есть варики и как платят.
406 1121985
>>21831

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


Поясни по подробней пожалуйста. Там RX есть-то хоть? А то я пока не подавал заявку на работу.
407 1122134
Что случилось с Андроид Студией? Почему лагать перестала, я уже собирался новый ноут покупать, решил тестануть 500-й раз, и вдруг, внезапно все летает, прям как вижуал студио. Правда эмулятор зависает, но я, нищая студентота, могу потерпеть.
408 1122268
>>22134
Тебе показалось наверн, может ты меньше проектов открываешь.
409 1122356
Как сделать так, чтобы, если текст не влазит в текствью, он ездил туда обратно внутри?
410 1122359
>>21985
Да что расказывать, кинули на проект на котором я фикшу баги, рефакторю чужой быдлокод, рх нету но зато есть асинктаски из которых во все щели льеться память.
411 1122361
>>22359
К слову, сука которая это писала, будто прочитала гайд по code conventions и сделала все абсолютно наоборот
412 1122406
Аноны, думаю вы знаете, что на андроиде есть такое приложение "Гугл Переводчик". Так вот, как можно передать этому приложению строку для перевода?
"Яндекс API" нехочу пользоваться, потому если послать ему одно слово, то он вернёт лишь один вариант перевода, а если ввести слово в приложение "Гугл переводчик", то тогда в приложение отобразятся и другие варианты перевода.
413 1122426
>>22406
Ну это так не рабоатет. Ты хочешь именно открыть его со своим словом, или получить результаты? Тогда стоит воспользоваться гугловским апи для перевода.
414 1122467
>>22426
Я хочу что бы моя программа исполнила вместо меня функцию ввода нужного слова/фразу в приложение. Как я бы написал это слово с клавы, так и программа как то должна как то ввести эти слова в приложение.
API гугла вроде как платный, да, и скорее всего, он будет возвращать только один вариант перевода, как API яндекса. Да и кроме того, придётся самому писать интерфейс для приложения.
415 1122654
>>22467
сначала научись формулировать свои мысли и идеи, а потом уже приходи сюда с охуенными вопросами
416 1122662
>>22654
Бля, ну хули тебе не понятно?
Мне нужно написать код, который каким либо образом прикажет приложению "Гугл переводчик" перевести заданный тексткоторый хранится, к примеру, в буфере обмена. Что бы не я сам, печатая, вводил текст в приложение, а что бы программа ввела его за меня.
417 1122724
>>22662
так а что тебе мешает просто руками его скопировать и вставить туда? темболее если уже в буффере обмена есть текст, то даже копировать не надо, а только вставить
418 1122815
>>22724
Потому что нужно пальцами для этого тыкать, а я хочу что бы оно само было! А-в-т-о-м-а-т-и-ч-е-с-к-и. Кроме того, руками эти действия отнимают приличное количество времени: сначала нужно удалить предыдущий текст, потом удерживать палец на экране, пока наконец то не появится кнопка "Вставить", потом, после вставки, ещё и нажать кнопку "Перевести". И так по кругу, раз за разом. Я хочу, что бы вся эта лишняя работа проделывалась сама.
419 1122817
>>22359
Как восхитительно, да еще и асинтаски! Я бы поебался с ними. Я аж заурчал.

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

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


Так захуярь эти действия в одну кнопку. Петух.
421 1122857
>>22817
>>22819
Ёбнулись что ли? Я не хочу делать своё приложение для перевода, я хочу, что бы приложение Гуглп для перевода автоматически переводила текст, находящийся в буфере обмена.
422 1122859
>>22857
Скачай последнюю версию переводчика, там есть такая функция.
423 1122871
>>22857

>Я не хочу делать своё приложение для перевода


Нахуй ты сюда тогда пришел?

>я хочу,


Хоти.

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


Если там нет такой функции, то тебе придется делать СВОЕ приложение. Но ты не хочешь делать свое приложение. Расходимся. Он нас тролленькает.
424 1122902
>>22859
У меня и так последняя, нет там нихуя.
>>22871

>Нахуй ты сюда тогда пришел?


Я не хочу делать своё приложение для перевода. Я хочу сделать приложение, которое передаст приложению Гугла нужный текст для перевода.

>Он нас тролленькает


Успокойся блядь, никто вас не троллит. Я всего лишь спросил, можно ли написать такой код. Похоже что нет.
Screenshot2018-01-19-19-34-39.png39 Кб, 480x854
425 1122908
>>22902

> У меня и так последняя, нет там нихуя.


Копипастишь текст и флоат буттон вылезает.
426 1122909
>>22908

> Копипастишь


Копируешь*
427 1123004
>>22902

>можно ли написать такой код


Можно. Пиши.
428 1123042
>>22908
Я не копирую текст сам. Он поступает с компьютера сразу на буфер обмена телефона.
>>23004
Как? Дай хоть какое-то направление, в котором нужно двигаться. Я не знаю, как можно повлиять на действия чужого приложения.
429 1123071
>>23042

> Я не копирую текст сам. Он поступает с компьютера сразу на буфер обмена телефона.


Какая разница? Гуглтранслейт детектит изменения в буфере. Похер каким образом скопиповал.
430 1123075
>>23042

>Как? Дай хоть какое-то направление


Блять, берешь пишешь в гугол взаимодействие с буфером обмена. Андройд буфер обмена. Заебал блять. Ты ебанутый что ли? Вот скажи, ты действительно ебанутый или ты троллишь нас? Блять, что сложного-то забить информацию в гугол?
В твоей маленькой голове промелькнет вопрос - почему этот чувак не дает мне НАПРАВЛЕНИЯ? Да потому что я блять не хочу гуглить вместо тебя, а если я начну гуглить - я знаю, что в 90% случаев я найду ЭТУ информацию. Пиздуй нахуй. Вот тебе еще бонус от меня.
https://stackoverflow.com/questions/tagged/android?mixed=1
431 1123079
>>23075
>>23042
Пидарас, лови документацию. Сука, ровно 15 СЕКУНД БЛЯТЬ. Ты ебанутый что ли? У меня блять уже подгорает от мозгоебства твоего. Иди вообще нахуй с треда.
https://developer.android.com/guide/topics/text/copy-paste.html
Снимок экрана 2018-01-21 в 21.19.19.png33 Кб, 1397x216
432 1123449
Память доходит до 130МБ. Приложение состоит из видео плеера и ресайклер вью с превьюшками. Данные подгружаются из сети, пагинация списка. Загружена одна страница из 3-6 элементов. Это нормально или нужно разбираться куда столько памяти летит?
433 1123516
>>23449
Как реализовал пагинацию?
Мимо.
434 1123547
>>23516
Создал ресайклвью адаптер. Объявил VIEW_TYPE_ITEM(контент) = 0 и VIEW_TYPE_FOOTER = 1(последний элемент в списке, чтобы поместить прогресс бар). Так же запилил два холдера в соответствии с вышеуказанными элементами. А дальше проверка на наличие данных. Если у нас имеется следующая страница, то показывает FOOTER появляется индикация загрузки в конце списка. Данные загрузились, футер исчез через специальный метод. Вообще это решение есть на стэковерфлоу. Так что ничего нового не рассказал.
435 1123557
>>23547
Осталось по такому же принципу запилить ошибку запроса. Если запрос некорректен и серверу нечего прислать в замен, отображаем VIEW_TYPE_ERROR
436 1123583
Как же я жалею, что не вкатывался в андройд раньше. Наверное, это было потрясяюще писать велосипеды в 12-14 годах. Мне не понять этого всего.
437 1123590
>>23547
А, ну понятно.
В одном из репе китайской, я видел как чувак унаследовался от RecyclerView, переопределил onScrolled и onScrollStateChanged, добавил листенер, в хмл захуярил свой RecyclerView, ну и еще штучки захуярил. Мне показалось это интересным.
438 1123603
>>23590
У меня тоже используется onScrolled. Без него особо вариантов нету.
439 1123609
>>23583
Никогда не поздно.
440 1123896
Нужно ли больше уделить внимание InputStream и подобным I/O? И дженерики на каком уровне достаточно знать? Я особо эти моменты и не встречал за полгода разработки.
441 1124049
>>23449
а что там разбираться то? делаешь дамп памяти и смотришь на что тратится столько, если на что-то нужное, то норм, если какая-то левая хуйня жрет - то не норм, дело нескольких минут
442 1125184
Анон, хочу вкатиться в разработку под Android, а именно портировать одно приложение и одну игру. Мне просто нужно изучить джаву? А как же зоопарк моделей, фрагментация по экранам и все такое?
443 1125186
image.png29 Кб, 1003x260
444 1125196
Что анон думает по поводу флаттер?
Сам я думаю играться с ним буду через год-два и то, когда найду работу, но очень интересно ваше мнение. Вроде внушает симпатию, чем тот же какой-то там хамарин.
445 1125231
>>25184
Если ты будешь использовать движок, то он со многим справится и на деле это не такая большая проблема если сильно не завязываться на некоторые возможности.
446 1125236
>>25196
Фигня, что-то уровня реакт нейтив, но на не взлетевшем дарте. Если гугл таки сможет похоронить ведро и выкатить нам новую ось, причем так что программы будут совместимы и эта ось, фуксия/андромеда/хуегугловеда будет на флаттере то тогда конечно да, но пока ничего серьйзного.
447 1125240
>>25196

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


ты болен
иди учи хамарин
448 1125344
>>25240

> индустриального уровня хамарин


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

> огромная инфраструктура с#


Давайте сделаем как в джаве, но только по-другому. Алсо, систему сборки так и не завезли?

> и поддержка майкрософт


Ты считаешь это плюсом?
449 1125367
>>25344

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


Не аргумент

>систему сборки так и не завезли?


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

>Ты считаешь это плюсом?


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

Тебе просто нужно понять, что простота = беднота. хелло ворлды, да, пишутся на таком скриптовом говне просто. Хелло ворлды. Ты охуеешь писать что-то большое.
В хамарин ты можешь нашлепать формочек, скочать библиотек из nuget под любые задачи, хуяк, хуяк, и программа готова.
450 1125372
>>10463 (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]
450 1125372
>>10463 (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]
451 1125373
>>25372
Даёпт что [CODE] не работает? Извиняюсь за криворукость.
453 1125387
Бля, узнал про Android Asynchronous Http Client. Вроде то что нужно. Ещё бы объединить все методы в один класс (допустим User), а в активити только результат выводить.
454 1125388
>>25372
>>25387
Retrofit возьми и не парься.
455 1125391
>>25372
Retrofit + RxJava, все остальное - хуйня
456 1125410
>>25388
>>25391
Годно! Спасибо.
457 1125901
Расскажите вкратце, что нужно знать, если я хочу добавить в приложение проверку на подключение к интернету. Пока знаю, что там для WiFi и SIM интернета разные команды исполняются.
458 1126001
>>25901
Самый простой и вернй способ пойти и сделать запрос.
image.png28 Кб, 683x169
459 1126046
>>25901

>добавить в приложение проверку на подключение к интернету.


Так это, ты того что ли?
460 1126238
>>26001
>>26046
Запрос делать к сервису, с которого тяну данные или google.com?
Мне интересно другое, нежели простой вывод предупреждения об отсутствии коннекта. Как сделать, чтобы выполнение программы приостановилось, не вызвались методы и прочие действия? Как делается у профессиональных разработчиков это?
Снимок экрана 2018-01-25 в 23.57.59.png139 Кб, 802x527
461 1126245
Что скажешь по поводу этого блока кода? Каким образом это сделать менее громоздким и читаемым? В этих интентах можно запутаться.
462 1126299
>>26238
Ты гуглить не умеешь? Мать не научила?

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

>Запрос делать к сервису, с которого тяну данные или google.com?


Лучше конечно к своему, тебе он интересней.

>Как сделать, чтобы выполнение программы приостановилось, не вызвались методы и прочие действия?


Так не делается, особенно на ведре.
464 1126642
Пиздец. Уже второй день сижу и разбираю, как же мне блять прикрутить addOnScrollListener в recycler и доставать это из базы данных.
465 1126654
>>26245
а зачем ты пихаешь данные в интент активити?
467 1126682
>>26668
Выглядит красиво, но это же Котлин :(
Снимок экрана 2018-01-26 в 18.19.03.png127 Кб, 719x505
468 1126684
>>26642
Недавно переделал на это. Все довольно очевидно.
469 1126697
>>26684
В чем различие между recyclerView.addOnScroll... и adapter.setOnLoadMoreListener (как здесь - http://android-pratap.blogspot.ru/2015/06/endless-recyclerview-with-progress-bar.html)
472 1126886
Когда я листаю RecyclerView с методом onScrolled у меня первые 5 элементов уничтожаются, а следующие 5 появляются из базы данных. Как сделать, чтобы 5 приклеивались к самым первым данным?
474 1126975
Последний раз пользовался андроидом 4 года назад.
Использую исключительно продукцию гейпла.
На учебе учим сейчас джаву.
Появилась идея вкатиться таким образом в андроид.
Вопрос: помешает мне это как-то при разработке или достаточно будет гайдлайнов по ui почитать от гугла и все пойдет как по маслу?
475 1126977
>>26975
Лучше в гейось вкатывайся.
476 1126980
>>26977
Да блять вкатываться в гейось, учить на учебе джаву - какая-то каша в голове будет, ей богу.
477 1126982
>>26980
Какая к черту каша? Та джава что ты будешь "учить" к ведру будет иметь весьма посредственное отношение. Вот нахуй тебе как пользователю айоси писать под ведро?
478 1126990
>>26982
Да я и не хочу особо на свифте/обж-си писать.
479 1127013
На работе дадут магбуг. Какая вероятность что я стану пидоромиосразработчиком
480 1127156
>>26886
>>26960
Тебе нужно добавить метод add или addAll в свой адаптер. Потом уже в активити обращаешься mAdapter.add(listItems)
481 1127157
>>27013
У тебя будет возможность писать под обе платформы.
482 1127173
483 1127177
>>27156
Ага, понял. Буду пробовать. Спасибо.
Снимок экрана 2018-01-27 в 16.18.38.png95 Кб, 782x330
484 1127228
>>26718
Спасибо, переписал. По началу не мог догнать, что везде нужно импорт библиотек на support.v4.app.Fragment поставить. Еще при данном подходе прочитал, что нужно делать статический конструктор для фрагмента. Правильно ли это? Или сейчас по другому профессионалы делают?
485 1127229
Собираюсь одновременно позадротить android разработку и ios-разработку
Сам овер5 лет во фронт-енде
Насколько велик шанс, что я делаю все правильно и буду нарасхват?
sage 486 1127252
>>27229

> Сам овер5 лет во фронт-енде


Это уже не лечится.

> Насколько велик шанс, что я делаю все правильно и буду нарасхват?


Стремится к нулю. Иди лучше в js-тред.
487 1127254
>>27252
Ты правда считаешь, что формочки на андроиде чем-то принципиально сложнее, чем формочки на реакте?
488 1127258
>>27228
Не уверен, что профессионалы сейчас вообще используют фрагменты, но да, так делать правильно. Вообще это шаблон для создания фрагментов в самой студии. Ты сохранял эти данные в активити, а надо было их передавать самому фрагменту через аргументы, как ты теперь и сделал, так что ты всё правильно понял.
489 1127264
>>27254

>формочки на андроиде


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

>профессионалы сейчас вообще используют фрагменты,


Гугол на каждой конференции ИО втирает про невьебенческие силы фрагментов.
491 1127268
>>27264
любые прикладные приложения, которыми ты пользуешься
Например клиент вконтача или фейсбука
492 1127276
>>27268
Ну так ищи инфу хули. Но это будет бредом, учить и андройд и иос, зачем? Да еще и из фронтенда. Макак сокращают?
493 1127296
>>27266
Просто пока не могут признать что обосрались.
494 1127308
>>27296
Ну да, но это не повод отказываться от фрагментов. Все равно по канону спрашивать будут на собеседованиях.
Снимок экрана 2018-01-27 в 19.36.44.png105 Кб, 1000x409
495 1127349
Следующий вопрос по поводу выделенных элементов с пика. Студия говорит, что данные методы могут вызывать исключение NullPointerException. Если почитать подсказку, то там говорится об аннотации @NonNull, значит что значение не может быть null. С одной стороны все работает как нужно, без крэшей, но с другой, хотелось бы знать, что в дальнейшем у меня не возникнет проблем с работой программы. Что делать в такой ситуации?
496 1127358
>>27349
Почему ты не используешь рхДжаву?
497 1127362
>>27358
Пока решил на этом варианте остановиться. Библиотека Graphql имеет поддержку из коробки RxJava, что позволяет за пять минут переписать. В данном виде асинхронность запросов поддерживается, менять необходимости нет.
Снимок экрана 2018-01-27 в 20.18.04.png69 Кб, 686x339
498 1127367
>>27358
>>27358
Все же использую в другом случае.
499 1127472
Поясните на пальцах за setHasFixedSize. Правильно ли я понял, что если Recyclerview занимает весь экран, то без разницы установлено это свойство или нет?
500 1127474
Можно ли как то скомпилировать приложение для андроида, написано на Python и использующие PyQt5?
image.png162 Кб, 1326x793
501 1127519
>>27472
Поискать религия не позволяет?
502 1127521
>>27474

>написано на Python


>использующие PyQt5?


> скомпилировать приложение для андроида,


> скомпилировать


Ты вообще откуда вылез?
503 1127551
>>27157
Я знаю. Но вопрос не об этом.
504 1127553
>>27551

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


Это тоже самое, как выебать девушку трапа нажравшись.
Не узнаешь, пока не попробуешь. И, если ты бы выебал ту секретную девушку, считал бы себя пидором? Это обязательный вопрос.
505 1127617
>>27349
Странно это говорить, особенно глядя на говнокод со скриншота, но ты видимо всё-таки развиваешься. В предыдущих тредах тебя сразу нахуй посылали, а тут даже на настоящие ответы у кого-то терпения хватает.
507 1128336
>>27519
Ну и что значит?
508 1129200
>>17407
Ты просто мудак ебучий, который не может даже догнать на какой хуй это всё нужно и, видимо, не слышал про оптимизацию. Твой уровень — хеллоуворлд калькуляторы.
Тред утонул или удален.
Это копия, сохраненная 11 марта 2018 года.

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

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