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
>>1110463 (OP)Зарепортил за всратку с оппика.
Есть на борде аносы, которые зарабатывают на своих приложениях в сторе. Я имею ввиду свои личные пет-прожекты и поделия, с продажи которых или с рекламы в которых падает в карман копеечка. Было б интересно послушать истории неуспеха
>>1110656Тут ты вряд ли что-то кроме 300к / сек услышишь.На хабрахабре полно таких историй, вот свежая https://habrahabr.ru/post/345174/
Пукнул в треде.
Я правильно понимаю что с 32битной осью тут хуй сделаешь, надо ставить 64 битную?
И где можно скачать андроид студио 2.0?гугль везде удалил, пидрилы, у меня 3.0 не запускается
>>1110828Да, давно пора.>>1110834Поищи на торрентах, но зачем тебе он?
>>1110835чтобы не переустанавливать шиндовз.
сосаны, насколько это гавно железо-независимо?я могу на любое железо поставить любое ведро?или там все анально огорожено?
>>1111099Каждый производитель устройства пишет собственную прошику. Насколько знаю, Google запустила программу не помню как нзывается точно, что-то вроде Android One, чтобы избавиться от такого положения дел.
>>1111099Гугли HAL
>>1111131нет, я допустим смогу поставить на старый девайс какой-нибудь новый андроид?какой там сейчас модный? 5ый?
>>1111163Иногда можешь, но много хуйни может потребовать написать самому. Сейчас последняя версия ведра 8.1.>>1111131Trebble называется, но это не панацея, пока вендоры могут класть хуй на пользователей, а кто не ложил и так обновляет.
>>1111277>а кто не ложилтот клал.
>>1110463 (OP)Уберите уже эту мразь с оппика
Дройданы, а как вы пилите репозитории под Realm?
>>1111285двачую люто, репорчу каждый тред, но мочуху и остальным походу насрать.
>>1110478>>1111285>>1111314Если б я был ОПом, я бы специально только эту пикчу и использовал, чтобы вашими бабахами наслаждаться.Кого вообще ебет, что там за картинка?
>>1111315>Кого вообще ебет, что там за картинка? Меня до этих тредов никогда не ебало, но эта пикча за гранью.
>>1111290У тебя с ним уже есть DAO, зачем тебе репозитории?
Как запустить из кода стандартное приложение "Загрузки"?
>>1111447Intent
>>1111449Этот ответ ни о чём.
>>1111452умей гуглить, аутист, тебе уже ответили что с помощью интентов можно открыть другие приложения.Или за тебя проект написать?
>>1111455Сам ты аутист. Гугл ничего путного не находит.
Какие альтернативы Анроид Студио? Ибо лагает, что пиздец. Комп новый не могу позволить, студентота.
>>1111461Тут выше человек не мог найти старую версию студии. Решил проверить самостоятельно, ссылка на скачивание выпала первой. Вывод делайте сами.
>>1111471Что за комп сейчас?
>>1111471Никаких
>>1111471Запускай грейдл из консольки, эдить в код sublime/vscode
>>1111471Вы в каждом треде теперь это спрашивать будете?
>>1111475ссылок полно, студии по ссылки нет, дебил
>>1111739А это что?https://android-studio.ru.uptodown.com/windows
Есть ли способ отобразить RecyclerView в горизонтальном положении в редакторе? Во время работы программы отображается как нужно.
>>1111843С тулзами попробуй поигратся, но не уверен что поможет
>>1111843android:orientation="horizontal"
>>1111848Увы, никаких изменений. Ладно, хрен с ним, главное что в приложухе все как надо.
>>1111849Ты layoutManager указал при этом?
>>1111849>>1111851
>>1111851Нет, не указывал. Теперь работает правильно, спасибо.Раз пошла такая темочка, то как мне правильно кнопочки "большого пальца вверх" сделать? Ну что б при нажатии на них была анимация, как со стандартным Button. Пока сейчас просто ImageView для предварительного просмотра.
>>1111853Гугли ripple effect
насколько сложно будет замутить такую тему - видеопоток заворачивантся покадрово на сервак, откуда приходят модифицированные кадры, которые уже отображаются на экране.
>>1111858Убийца снапчата это ты?
>>1111859что такое снапчат?мне тупо демку одного обработчика замутить надо
>>1111863Говноприлоджуха которая в риалтайме цепляет маски к еблам. Тебе риалтайм или нет? Если нет, то все просто.
>>1111868мне реалтайм, но я не ожидаю больших проблемна хтмл5 я за день накатал
>>1111872просто как писать приложения я в душе не ибу, и поэтому хочу понять масштаб проблемы
>>1111872Как у тебя будет риалтайм если ты на сервер слать будешь?
>>1111874Берешь и пишешь. Без задней мысли.
>>1111927ну не риалтайм, а там с задержками небольшими, ок.я это имел ввиду
>>1111971Ну такое, не очень быстро сделаешь, может быть с вебсокетами, но даже так возможно задеркжа будет неприемлемой.
>>1111985я на хьмл5 делал с вебсокетами, мне чисто продемонстрировать это нужно клиентупохуй на задержки если они не прям пиздец большие
> заиметь йоба кудахтер чтоб запустить свое код > учить богом забытую джаву > учить странныйнелогичный андроид> учиться делать умирающие приложения от которых большая часть мира уже отказалась > две с половиной вакансии за месяц уровняЯ просто не верю что мыслящий человек по собственной воле засунет свою голову в петлю андроида.
Gogle Drive. OAuth 2.0 client ID и API keyВ чем разница? Я знаю, что OAuth 2.0 client ID нужен для авторизованных реквестов, а APi key для неавторизованных вызовов. Но как выглядит эта разница на практике?
>>1112196Я правильно понимаю, что если используется приватная папочка приложения на гуглодиске - достаточно лишь API key, а если нужен доступ к порнушке пользователя в ЕГО папках - тут уже нужна авторизация?
>>1112201И если да - значит ли это, что на ведре нельзя безопасно использовать API key без стороны сервера, учитывая этоhttps://support.google.com/cloud/answer/6310037?hl=en&ref_topic=6262490
>>1112122>Я просто не верю что мыслящий человек по собственной воле засунет свою голову в петлю андроида. Я на этим хлеб буду зарабатывать. А что ты мне прикажешь, яблоко осваивать? Я лучше на андройд сяду и плевать, что я буду ебаться со всем. Я хочу нормально жить в этом мире, а не сидеть в сисадминах.
>>1112122Тебе совсем делать нехуй, да?
>>1112219ну ява это правда пиздец.
>>1112216Выучит другой яп.
>>1112224На ней давно уже никто и не пишет.
>>1112240лол, а на чем пишут android приложения?
>>1112253На HTML
>>1112257Как камеру подключить на html?
>>1112286https://developers.google.com/web/fundamentals/media/capturing-images/
>>1112257С bluetooth low energy ты соснешь.
>>1112316Соснешь ты, а я ебану через hni(html native interface)
Где лучше всего обрабатывать нажатия на вьюшку в RecyclerView? На спех прикрепил пока в методе onBindViewHolder.
>>1112310нихуя, ничто из этого не дает доступ непосредственно к камере. максимум можно ролики записать и загрузить
>>1112395Внутри вьюхолдера.
проста, тупа, джава
Как запускать приложение на планшете (на самом деле с минимальной шириной 600 dp) в лендскейпе, а на экранах с меньшей шириной - в портретной ориентации? Я создал вариации лейаутов, но вот именно на планшете, хоть тот и лендскейпе лежит, приложение запускается в портретной ориентации.
>>1112452layout-sw600dp-land
Аноны, у меня в recycler view в каждом айтеме есть прогресс бар, как правильно его обновлять из фрагмента. Пока что передают обновленное значение в адаптер, а там notifyItemChanged(position) и уже через bindViewHolder это обновленное значение попадает в айтем где обноволяет прогресс бар, но при этом вся вьюха перересовывается и постоянно мерцает при обновлении.Как правильно делают в таких ситуациях?>>1112395Ну я передают свой интерфейс в onCreateViewHolder, и в конструкторе ViewHolderа ставлю clickListener как мне надо, а фрагмент с рейсайклером имплементит мой интерфейс нажатий. Может есть и лучшие решения, тоже бы послушал.
>>1112471>передаюфикс
>>1112471https://stackoverflow.com/questions/31897469/override-animation-for-notifyitemchanged-in-recyclerview-adapter
>>1112422Это что же у всех так 6 гигов памяти отжирает или у тебя там отброный говнокод?
>>1112529Это еще мало. Видать просто hello world собрал
>>1111285>>1111314>>1111316да ладно вам, что не так? Нормальная девушка-блондинка в модных ныне очках, че вы разошлись, смермотокзикозники? Почему вас реально это настолько ебет в тредах про програмач? П.С. двачую, что на месте ОПа я бы принципиально эту картинку только бы и ставил и наслаждался б багетами даунов
Всем привет. Здесь есть те, кто знаком с Oauth2? Хочу написать свой клиент вк, но не в зуб ногой с этими ключами и авторизацией, туго движется. Был бы признателен, если на пальцах от момента ввода данных объяснили что там и как. Спасибо
>>1112799>Oauth2OAuth 2.0 простым и понятным языкомhttps://habrahabr.ru/company/mailru/blog/115163/
>>1112529У меня 4 гига отжирает хелоу ворлд.
Анончик, а как ты пришел к андройд разработке? Делись прохладными.Я вот уже и не помню своего момента.
>>1112796Cем, плиз
>>1111852посмотри может там есть аттрибут tools:orientation
>>1112864Взял и без задней мысли начал вкатываться. Так и не вкотился за несколько лет
Аноны, надо ли знать протокол http для моб разработки??Нужно ли понимание как функционирует сервер, бекенд, навыки работы в командной строке Linux??Можно ли писать под IOS без мака(компьютера от эппл)?Где-то читал, что написав код на c++, можно его скомпилить кроссплатформенно для IOS и для Android, это правда?
>>1113090Жирный троль.
>>1110463 (OP)Анон, как в андроиде внутри организовано общение с сетевым стеком? Мне, юникс сишкоблядине, не совсем ясно, как оно работает: в обычном линуксе работа идет через сокеты и их системные вызовы, в андроиде же это судя по всему организовано через какой-то хитрожопый IPC/RPC (т.е. пользовательское приложение общается с внутренним процессом вместо прямых системных вызовов), но я все-равно не могу понять, какой процесс отвечает за собственно общение с ядром.
>>1113154Тебе надо ковырять исходники. Но вообще дергаются дажвовские сокеты, которые уже на каждой платформе по своему работают.
>>1113189Хм, а ты прав, софт действительно использует обычные жабовские сокеты, никакого ебнутого IPC нет. Я пробовал с помощью cgroups+iptables зарезать трафик для определенного приложения, но он нифига не резался, из-за чего я решил, что трафик идет через что-то другое. В итоге оказалось, что при запуске процесс (в моем случае - Webview browser) всего лишь хуярит какие-то свои сложные правила и таблицы роутинга для процесса, которые перекрывали мои.
Драч, посоветуй.Есть 2 активити: на первой есть список элементов, по нажатию на который открывается activityForResult второй активити для просмотра/редактирования информации. Также, во второй активити есть ViewPager для свайпа фрагментов, в которых собсна вьюхи с полями элемента списка. Вот мне в адаптер ViewPage'а нужно скормить список, который содержится в фрагменте со списокм в главной активити. Как это лучше сделать? Обернуть список в класс, унаследовать его от Serializable и в intent пихать? Класть для ArrayList в синглтон? Или есть способ, о котором я не знаю?
>>1113214А, нет, я обосрался, роутинг тут ни при чем и оно все-равно не работает. Ну да хуй с ним, буду копаться в исходниках дальше
Как опубликовать свое приложение в гугл плее не указывая свои реальные имя/фамилию/адрес?
>>1113222Указать чужие. Делаешь новый эмейл, потом делаешь под фальшивые имена карту, найди бомжа какого-то.
>>1113217Самый простой вариант - сделать Parcelable. Но лучше что бы был какой-нибудь репозиторий с этой ебалой, и его инстанс инжектился в обе активити/фрагмента.
>>1113231А на сгуху потом не поеду?Беларусь если что.
>>1113217Если очень много данных делай синглтон(в intent по моему в последний версиях не больше мегабайта можно пихать), в остальном на мой взгляд лучше юзать интенты с parceable.
>>1113249Дроны гугла к тебе прилетят и посадят на бутылку.На швабре была статья чувака котоырй клепал однотипные клоны говноигр по всяким франшизам-мультикам и греб бабосы с рекламы. Менял эмейлы/карточки и даже железо, еще айпи прятал за проксями, так как гугл выкпуал и банил аккаунты. Но вроде ничего страшного в реальном мире не было.Чисто теоретически в чем проблема помочь бомжу зарегать карточу, эмейл и аккаунт разработчика? Ничего страшного, только за пиздинг контента могли бы доебаться, но интернет еще вроде не под бацькой.
Блэт. Студию 3.0 скачал на свою жопу. Пустой проект нихуя не работает. Срет пиком. По всем советам эту хуету:repositories { maven{url 'https://maven.google.com'}}добавил - нихуя не поменялось. Можно оно просто заработает и все?
>>1113352Скочай 3.1
>>1113352>С:\
>>1110463 (OP)Вы когда-нибудь работали с андроидом? Писали под него приложения/игры? Видели его API или код?Это worst OS ever. Впечатление что код писали первокурсники набранные по ЛГБТ-квотам. Заметьте, я говорю «писали код», а не «проектировали», потому что проектированием там не пахнет. Любой человек с опытом написания больших проектов, напишет лучше, рили.Api экстремально говняное. Более того, оно часто меняется. В итоге мы имеем по несколько говняных апи в разных версиях. Т.е. можно написать фичу, а через версию андроида узнать, что она отламалось, и нужно юзать другое апи с другими костылями. Без костылей вообще ничего не попишешь.Глобальные косяки в проектировании, тащатся с первых версий и не исправляются в принципе. Конечно, лучше новую кривую апишку добавить. Эти ребята даже язык не смогли выбрать для проекта, пока андроид написан на джаве, он так и будет тормозить. И не надо мне говорить «джава не тормозит» или «новые андроиды не тормозят», на практике это не так. Когда на 8 ядрах и нескольких гигах RAM звонилка открывается 0.5 сек, это не «не тормозит», а беспредел, на таком железе иначе как мгновенно быть не должно.Идем дальше, вещи типа GooglePlayServices написаны запредельно говняно. То что в ios делается в 2 строки, тут делается в файл полный костылей и асинхроннного глючного говна.NDK это просто высер и одновременно плевок в лицо разработчикам под платформу. Из всего апи корректно работает 20%, остальное в той или иной мере не работает или просто недоделано. Есть баги которые не фиксятся с первых версий. Не буду говорить о том, что значительная часть рабочих фичей по части поддержки C++ сделана вообше сторонним разработчиком(спасибо ему за это). И опять же не надо говорить что они думали что «все приложения\игры будут написана на джаве и нативный код ненужон». Сам факт того что они так мыслят, говорит об отсутствии квалификации.Далее, тулсет. Android Studio — глючное, тормозное ужасное говно. Gradle — вообще ночной кошмар. Такой же тормозной как и студия. За время за которое ant собирал проект, gradle даже запуститься не успевает(Знаете как они пытаются это пофиксить? Запускают демон чтобы не запускатать каждый gradle раз. Overmind). Ужасный, нелогичный, инопланентый синтаксис. Оказывается раньше это был более-менее нормальный язык groovy(Если конечно считать нормальным делать тормозной скриптовый язык на и без того тормозной джаве), но потом туда добавили сахарку и писать на нем даже с документацией проблематично. Haskell понятнее.Мусор, в каждый проект gradle добавляет кучу мусорных файлов, просто уйму. Про частые обновления которые ломают сборку я промолчу. В свое время я не знал про offline режим, и как-то открыв проект через месяц обнаружил его несобирающимся, хотя ничего не менял. Это беспредел.Так к чему я это все. Из всего вышесказанного, можно сделать вывод что общий уровень квалификации работников гугла экстремально низкий. Так же основной упор на собеседованиях идет на малоприменимые на практике математические задачи, что ведет к отрицательному отборку, в итоге в гугл попадают студенты-первокурсники, задрочившие сборник олимпиадных задач, имеющие большое самомонение(как же, в гугле же работают), но с отсутствующей квалификацией. Так же в компании сущетсвуют ЛГБТ-квоты, когда нанимают сотрудников не потому что они хорошие специалисты, а потому что они путают мальчиков с девочками.
>>1113434Хорошо пишешь, но вывод идиотский. Уровень квалификации довольно высокий, но сама суть андроида - добавлять новые фичи asap, а не когда они окаменеют как говно мамонта, а также поддерживать как можно большее количество говнопроизводителей, которые вносят критическое количество говнокода и неразберихи. В то же время в iOS - диаметрально противоположный подход, прямо как альфа и омега, лол. Что лучше - вопрос философвский
>>1113434Мне плевать, я готов ебаться с кодом, потому что я нищий и не могу на мак перейти. Да и не нужен этот мак, андройд же ОПЕН_СОУРС.
>>1113434> Впечатление что код писали первокурсники набранные по ЛГБТ-квотам. Заметьте, я говорю «писали код», а не «проектировали», потому что проектированием там не пахнет.Начнем с того, что изначально ОС была разработана не Гуглом, а Android Inc, которая к Гуглу никакого отношения и не имела. Большинство ошибок проектировки (которые, кстати, и Гугл признает) — на её совести.> Глобальные косяки в проектировании, тащатся с первых версий и не исправляются в принципе.А как ты предлагаешь их исправлять? Вот пересоздание activity при повороте, например. Гуглу нужно изменить это поведение, перелопатить сотни тысяч строк кода и сломать 90% пользовательских приложений?> ребята даже язык не смогли выбрать для проектаВыбор Джавы в качестве основного языка разработки был важен для привлечения большого числа разработчиков, которые могли сразу брать и писать код. Если бы API было на Плюсах, стоимость и сложность разработки приложения выросли бы многократно.> Android Studio — глючное, тормозное ужасное говноТы, видимо, XCode или Xamarin Studio никогда не использовал. IDE от JetBrains считаются стандартом в коммерческой разработке ПО. > Gradle — вообще ночной кошмар. > За время за которое ant собирал проект, gradle даже запуститься не успеваетПотому, что ant умеет чуть менее, чем нихуя. Еще можно снова сравнить с iOS-разработкой, где до сих пор нет нормальной системы сборки и нормального менеджера пакетов.> общий уровень квалификации работников гугла экстремально низкий> упор на собеседованиях идет на малоприменимые на практике математические задачиГугл работает с оргомными массивами данных, где применение асимптотически неоптимального алгоритма выльется в огромные издержки.
Вартан сказал, пишите single activity app, и не юзайте fragments back stack. Кто-нибудь так пишет вообще? Где можно примеры\исходники посмотреть?
>>1113463> Вартан сказал
Когда я получил данные с сервера, они помещаются во вьюшки, допустим RecyclerView с обработчиком нажатия, где по клику вызывается второе активити и тоже взаимодействует с сервером. Тот самый первый запрос который я вызвал, удаляет же вьюшки так? Мне нужно по идее запихнуть эти данные в БД и тогда, когда я захочу нажать кнопку назад из второго активити и перейти в первое, я просто вытащу это из БД. Или есть другие пути?
>>1113467Ты чё, ты чё, а?
test
>>1113463эм, ты же понимаешь, что тут:>пишите single activity app>не юзайте fragments back stackпротиворечие и деление на ноль?Либо ты пишешь приложение с ОДНОЙ активити и там у тебя будет уже много фрагментов в стеке. Либо у тебя вообще нет головной боли с фрагментами, ты используешь архитектуру с множеством активити. А сингл активити без фрагментов ты не сделаешь даже в тестовом задании для перехода в адекватную контору.
>>1113463Ну я пишу с сингл активити. Что именно тебе не понятно? Вообще вроде как при таком подходе есть какие-то проблемы с nested fragments в view pagerах, но я в них использую обычные вюхи.Но бэкстек у фрагментов конечно юзаю, как тот петушок обосновывал свой вскукарек? Вручную перехватывать кнопку назад и писать свой аналог бэкстека? Говно какое-то, пидоры блять.
>>1113468Или в бд, или в преференсы, или в синглтон какой-нибудь хуйнуть.
Котаны, подскажите есть ли сейчас в андроиде способы работы с диалоговыми окнами без анальной боли вроде setTargetFragment и onActivityResult.Желательно с минимумом велосипедостроения и крашей.
Под пинуксом реально вкатится в разработку или без ЖИНДУСа никак?
>>1113546да
>>1113519Хорошо. Если в БД, то лучше Realm использовать или обойтись SQLite?
>>1113551SQLITE конечно же.Realm - лишняя зависимость и в руках новичка неповоротливый и не оптимальный инструмент.
>>1113554Понял. Спасибо.
Пытался вкатиться, но такая вот херь. Идеи, кроме "выкинуть своё говно и купить нормальный компьютер"?
>>1113613не пытаться вкатываться
>>1113541общая модель
>>1113613Ты хоть прочитал что там написано?Включи виртуализацию в биосе(если она есть у твоего проца) и установи специальнюу мокропиську для винды - haxm. Или используй медленный arm эмулятор КАК ТЕБЕ ПОДСКАЗЫВАЮТ В ЕБАНОМ СООБЩЕНИЕ, БЛЯ
>>1113632>>1113613Двачую. Если ты даже это сообщение осилить не можешь, тебе в разработке делать нечего.Собственно, самый универсальный совет - третий. Установи линукс, тогда эмулятор будет работать, даже если у тебя амд вместо процессора.
Как заполнять edittextы из базы данных соответственно выбранному значению спиннера, которое из той же базы данных берется?
>>1113745Берешь и заполняешь текстом, в чем проблема? Только надо где-то хранить дополнительно выбранный вариант как он есть.
>>1113518Ты кого петушком то обозвал, школьник, сам небось либы юзаешь его по ночам, под одеялом
>>1113860Вартан, лол. Я думал это какой-нибудь новый модный русский андроидопетушок с подворотами. Один хуй, твой качок такой себе авторитет, это как раз школьники любят выбрать себе ОВТАРИТЕТА и смотреть ему в рот без оглядки на здравый смысл. Из "его" либ юзаю только ретрофит. В остальных либах он один из мелких контрибьютеров. ButterKnife параша
>>1113924>Вартан, лол. Я думал это какой-нибудь новый модный русский андроидопетушок с подворотами. Один хуй, твой качок такой себе авторитет, это как раз школьники любят выбрать себе ОВТАРИТЕТА и смотреть ему в рот без оглядки на здравый смысл. Из "его" либ юзаю только ретрофит. В остальных либах он один из мелких контрибьютеров.Любишь ебаться без реактива, когда весь мир признал его и уже вторая версия стабилизируется? Ебись дальше, обоссышь со своими асинтасками и паттернами хуернами.>ButterKnife парашаПидорас.
>>1113617Не ответ
>>1113939>реактиваА при чем тут твой кочка?>Пидорас. >пук
Поясните, стоит ли ставить на SSD:1) SDK2) Genymotion
>>1113964Это тоже самое, как выбирать базуданных. Поставь блять уже и все.
>>1113964Стоит!
>>1113939Батернайф параша.>>1113946>кочкаСкорее всего из-за того он пишет адаптеры под ретрофит, рхбиндинги и прочую ебалу
>>1114104>он пишет адаптеры под ретрофит, рхбиндинги и прочую ебалуНу давай расскажи как правильно, мне вот интересно.мимо.
>>1113541Присоединяюсь к вопросу: какой сейчас самый лучший вариант работать с диалогами внутри фрагментов или активити, при этом корректно отрабатывая переворот экрана, не теряя target fragment и не теряя активити/колбеки?
>>1113541>>1114120Просто используйте DialogFragment, в чем сложности?
>>1114155Сложности две:1. Он закроется при перевороте2. Надо как-то не потерять колбек
>>1114156> Он закроется при переворотеНет, не закроется. Из-за того, что он DialogFragment, FragmentManager сам тебе его восстановит после переворота. Или ты неправильно его используешь> Надо как-то не потерять колбекВ смысле не потерять? Пользователь жмакает на кнопку, передаешь событие дальше своему презентеру или что там у тебя.
>>1114159Что если мне надо передать клик в родительский фрагмент? Как это лучше сделать?В презентер только если через синглтон передавать, который реализует презентер.
>>1114165Можешь Broadcast кинуть, самое простое.
>>1114166Ух пиздец же. Код обрастает макаронными изделиями.
>>1114167Ну или в самом диалогфрагменте обрабатывай клик. Я хз, что там за юзкейс у тебя.
>>1114167Вообще, не вижу тут ничего макаронного. Тот же листенер, по сути, только вид с боку. Получил бродкаст в своем родительском фрагменте, обработал или передал в преентер, всё.
Есть активити, в ней присутствует список. Пользователь выбирает один объект из списка посредством клика и ему открывается второе активити. Стоит ли это активити делать фрагментом? С учетом того, что в этом активити втором показывается еще один список, продуктов например?
>>1114178Да
>>1114178Нет
>>1114185>>1114181Двачую
Кароч, когда активитей в стеке дохуя, память жрется не по детски. Вот думаю с фрагментами не было бы такого
>>1114178Пиши single activity app, и не юзай fragments back stack
>>1114195> когда активитей в стеке дохуя, память жрется не по детскиЧто за бред?
>>1114203Видимо у него активити не убираются сборщиком так как проебал ссылки.
>>1114212Хм, а с чего бы им убираться сборщиком??
>>1114235С того, что ты кривой говнокодер?
>>1114237ох сынок, тебе только предстоит узнать все прелести андроид дева
>>1114238Давай, расскажи мне, тупая мелкобуква.
>>1114239
>>1114235Потому что они память жрут но не на экране, ммм?
>>1114256ох сынок, тебе только предстоит узнать все прелести андроид дева
Есть фрагмент, в нём грузится инфа в листвью и если всё в порядке гружу над ним текствью с количеством элементов. При вызове другого фрагмента и и возврате к этому эта текствью возвращается к своему исходному состоянию - она не видна. Есть способ решить это с помощью лайфсайкла? Потому что сейчас это завязано на переменную isCreated в onCreateView.
>>1114296> Есть способ решить это с помощью лайфсайкла?Если ты не используешь fragments back stack (на что похоже) то нет.
>>1114298Использую, иначе бы оно грузило инфу и показывало текствью всегда, независимо от переходов. А сейчас состояние прокрутки листвью восстанавливается норм, а текствью исчезает, поскольку изначально, пока инфа не пришла, оно скрыто.
>>1114304Если я правильно понял. Корень твоей проблемы в том что у тебя вью хранит бизнес-инфу (информацию об удачности запроса), тогда как вью должно хранить только свою собственную внутренную инфу, а все что касается бизнес логики запрашивать у хозяина. Конкретно проблема в том что даже у существующих фрагментов вью может постоянно создаваться-уничтожатся (для экономии памяти), и в твоем случае при пересоздании вью просирается состояние текствью - так как вью не предназначено для хранения инфы, оно просто выкидывается нахуй. Тебе нужно добавить проперти в фрагмент с состоянием запроса - в процессе/успешно/неуспешно и при создании вью (а также при изменении проперти) приводить вью к внешнему виду.
>>1114315Если я правильно понял, то сейчас у меня именно так и реализовано.public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.list_with_head, container, false); if (!isCreated) { if (wasEmpty) { //фрагмент показывался, данные грузились и произошла ошибка rootView.findViewById(R.id.empty_list).setVisibility(View.VISIBLE); ((TextView) rootView.findViewById(R.id.empty_list_text)).setText(empty_list_text); } else { //фрагмент показывался и данные успешно загрузились rootView.findViewById(R.id.list_head).setVisibility(View.VISIBLE); ((TextView) rootView.findViewById(R.id.list_head)).setText(list_head_text); } } //создаётся дальше}public void onStart() { super.onStart(); if (isCreated) loadItems();}Переменные isCreated и wasEmpty изменяю в onPostExecute асинктаска. Подумал, может это костыльно и есть какой-то способ сохранить вьюху или перекинуть код в другие события жизненного цикла, при переходах по бэкстеку.
>>1114347> Переменные isCreated и wasEmpty изменяю в onPostExecute асинктаска.Ты вкатывальщик или путешественник во времени?
>>1114348Первое
>>1114349Жаль. А тот купили бы биткоинов по 20 долларов.
Есть sqlite, в которой хранится 65535 записей с 2 колонками (float) и двумя колонками id.Данные необходимо выгрести все оттуда, обработать и отобразить или передать в файле на сервер.Естественно выборка работает ОЧЕНЬ медленно (16 секунд на выборку), а вставка через некоторое время, когда база заполнится начинает тормозить. Какое здесь может быть оптимальное решение по ускорению? Известно, что в проекте есть только 2 запроса, связанных с этой таблицей: вставка одной записи и выборка всех сразу.
>>1114409Ну и зачем тебе тогда база да вообще? Сериализуй в json, его же сразу отправляй на сервер.
>>1114416Очевидно, что данные эти нельзя отправлять сразу.Иначе бы базы не было.
>>1114409> Естественно выборка работает ОЧЕНЬ медленно (16 секунд на выборку), а вставка через некоторое время, когда база заполнится начинает тормозить.Как реализовал?
>>1114409Realm
Кстати вы все ещё продолжаете ебаться с адаптерами для ресуклера или таки освоили Airbnb epoxy?
>>1114427>>1114429Правильно, не можешь освоить инструмент - просто бери ещё одну библиотеку.
>>1114430Какой смысл юзать sql для простого key value?
>>1114433Конечно, лучше взять четырёх мегабайтовый realm и юзать его для простого key value storage.
>>1114437Пока не работал с SQLite на должном уровне и только читал про синглтон. Решил поебаться с Realm, мне норм. Я же хипстер.
>>1114437Как бы это основной usecase nosql бд
>>1114437Мегабайтовый.
>>1114430Стоп-стоп. Ты любитель ебаться в сраку с адаптерами?
>>1114427>>1114423Получишь огромный оверхед по памяти.
>>1114450По какой памяти?
>>1114452Не в оперативке, а сам файл бд там больше.
>>1114456И что?
>>1114457Это не оптимально. В самом начале в этом проекте использовали Realm, пока она не сожрала 100 мб.
>>1114456>>1114430Ну давайте еще похоливарим. >РЯЯЯЯ Очень большой файл>РЯЯЯЯЯЯ Иногда случаются непредвиденные сбоиТоповые компании уже юзают его, недавно видел в Pinterest.И хватит уже себя обманывать, за реилмом будущее.
>>1114460Задачи у всех разные. В этом то дело.Вот эти цифры, которые там написаны - они не обязательно правдивы и никто не гарантирует, что в моем случае я получу какие-то приемуществ заменив SQLite на Realm вместо самописного решения.
>>1114409 Храни в бинаре, ёпта, только хардкор
>>1114460Есть ли у тебя возможность протестить Realm, вместо того, чтобы скриншоты с сайта вставлять?
>>1114459Так ну проблема в тебе, а не в проекте
>>1114466Цифры в студию, для начала.
Помню юзал реалм, не понравилось что работать с объектами только на main треде (или другая какая-то лабуда с потоками)ну и весит много, да.Это что, недавно заказчик захотел скан карточки, размер APK вырос x3.5 из-за card.io. можно разбить на архитектуры конечно, но нах этот гемор надо, тупой Гугл плей сам разбивать не могет
Почему эта строка подчеркивается и выводится сообщение, когда версии этих библиотек одни и те же?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.
>>1114476Работать с рилмом надо в том потоке в котором ты создал инстанс. Проблема с весом апк решается сплитами.
>>1114479Вот это тот еще гемор, что пиздец.У меня данные сваливаются в БД каждый раз из заново созданного потока.Таковы особенности андроида.
>>1114465Уже за меня все сделалиhttps://habrahabr.ru/post/281226/
>>1114481В общем я понял твои компетенции. Можешь не продолжать.
>>1114483Кукарекаешь что-то невнятное. Рассказывай давай как пользоваться Realm'ом в любом потоке.
>>1114484В каком блять любом потоке? Хуяришь бэкграунд в RxJava и все.
>>1114483В знак подтверждения своей компетенции сообщи мне, где в Android API встречается вот этот момент.Я с удовольствием послушаю.>каждый раз из нового потока
>>1114485Зачем мне еще одна огромная библиотека, еще кучу зависимостей, которые не добавят надёжности?Будут добавлены проблемы:1) Возрастет потребление от аккумулятора2) Раздуется APK3) Добавится тысяча строк вместе с библиотекой кода в которых очевидно будут ошибки
>>1114487И что? Девелоперс лав юсинг реилм, если ты не ЛАВ, то это твои проблемы.Хотя и не особо видны глобальные переходы, но будущее все равно за этой библиотекой. В ней получше сидеть, чем на SQLite выпуска нулевых.
>>1114478Транзитивная зависимость у другой библиотеки? Чекай dependency tree
>>1114481Яннп, зачем новый поток создавать?
>>1114488Ну скажешь будущее. Если мне много данных хранить не надо, зачем мне реалм? Сейчас оберток реактивных к sqlite полно
>>1114537Хорошо. Используй. >>1114482
>>1114536Это нужно спросить у разрабов системы Android.Мне это тоже не нравится. Связано с bluetooth le api.
>>1114544Ну так синхронизируй с нужным тебе потоком и ебошь в базу. Хули ты?Берешь такой rx и ебошишь Flowable, если у тебя там потом данных.
>>1114546*поток
Хочу хуйнёй позаниматься. Есть средства разработки, позволяющие писать под Android на Lisp/ Haskel/ Prolog? Слышал о mocl, но он вроде как платный.
>>1114487>1) Возрастет потребление от аккумулятораА еще аккумулятор быстро садиться, когда белый экран на телефоне присутствует. Представим, что крутится спинер при ожидании запроса из сети. Так что давайте откажемся от белых экранов.>3) Добавится тысяча строк вместе с библиотекой кода в которых очевидно будут ошибкиУбавиться тысяча строк кода и еще пару тысяч строк кода с использованием реактив джавы. Давай, попробуй мне написать на асин тасках два запроса в сеть, чтобы потом я их занес в БД, выбрал что мне нужно и послал на юай.>2) Раздуется APK>РЯЯ, МАЛО МЕСТАПользователи имеют минимальную оперативку, с 2МБ памяти, верните мне мой 2008 год.
>>1114584Prolog не очень дженерик перпс ленгуэдж так что нет. На хаскеле и лиспе можно хуярить. Только смысла нет.
>>1114487>2) Раздуется APKPrivet.https://www.youtube.com/watch?v=ZTzg6lOgYiI
>>1110463 (OP)Анончики, Java или Kotlin ? или может Xamarin ?
>>1114817Haskell.
Анон, возможно ли проапдейтить апк автоматически без участия человека?Ситуация такова: есть девайс, его надо подключить к репозиторию и скачивать новый апк если такой есть. Это дело решается. Дальше нужно этот апк установить, но при установке появляется системный диалог. Возможно ли его убрать? Апк будет просто новой версией аппы. Гугл маркет подключать не вариант.
>>1114817Почему здесь еще находятся троли?
>>1114915ты охуел, конечно нет
>>1114928Почему?
>>1114915Для стандартного приложения вряд ли, может через accesability, как вирусня всякая. Но наверное для спец приложений с правами админа можно.
>>1114948Где мне копать?
>>1114949https://developer.android.com/guide/topics/admin/device-admin.htmlНасчет accessibility все очень зыбко, в последнее время очень много гадости через него работает, поэтому их сейчас жестко в маркете пресуют.https://stackoverflow.com/questions/26628262/how-to-click-button-in-settings-using-accessibilityservice
>>1114955СпасибоМне на маркет и не надо закидывать
>>1110463 (OP)>хотя бы оно готовое приложение.Что из себя должно представлять такое приложение? Понятное дело, не хеллоуворлд, но чего же тогда? Крутая игра? Ну да, становиться джуниором самое то для её автора.Какой-нибудь калькулятор? Смахивает на хеллоуворлд со свистоперделками.Невнятный комбайн, демонстрирующий твоё обалденное "знание" кучи возможностей языка и платформы? В общем, я в недоумении.
>>1114981Соц сеть хотя бы
>>1114981Как правило, у кандидатов с уже имеющимися приложениями на GitHub шансы на трудоустройство выше. (Особенно, если в них применены все технологии, которые я описал).Для повышения шансов на трудоустройство, я рекомендую написать тестовое приложение, которое закрепит полученные знания. Каким оно должно быть, и что должно делать — решать вам. Лично мне кажется, что неоспоримым преимуществом перед другими кандидатами будет приложение, которое загружает какие-то данные из сети и отображает в удобном формате для пользователя.
>>1114991Разве этого будет достаточно? То есть, я сейчас умею в своем приложении получать данные с сервера, с помощью либ отображаю и использую данные, значит я могу пойти ххточкару со своим гитхаб в резюме?
>>1115001Ретрофит - самое важное, еще джсон поучи, часто нужна кастомная сериализация, глайд/пикассоС этим, учитывая что ты в остальном нормально шаришь, можно идти искать работу
>>1115002Вот по поводу Glide (Picasso вроде как уже похоронили). Вот что нужно знать про него? Там буквально все в пару строчек кода все укладывается. Почему на него такой акцент делают постоянно?Использую у себя: OkHttp, Glide, ButterKnife и GraphQl + RxJava
>>1115001Заебал.https://habrahabr.ru/post/328888/
>>1115004Как заюзать, как правильно картинки порезать и масштабировать, в чем преимущества глайда а в чем пикассо.
>>1115006Держу у себя в закладках не первый месяц эту статью. Просто реально интересно, что там описано достаточно для того, чтоб попасть на работу за 40-60к?
>>1115008>чтоб попасть на работу за 40-60к?Я не в дс живу, поэтому нахуй такие цифры. Ты нахуй никому не будешь нужен с такими знаниями без опыта над реальными проектами. Поэтому лично я считаю, что нужно хоть куда-нибудь устроиться, пусть это будет даже проект с асинтасками 2010 года выпуска и тебе потребуется перекатить его под рхджаву, я это сделаю и буду пытаться делать, потому что я будущий андройд девелоперГОВНОЕД.
>>1115008>Просто реально интересно, что там описано достаточно для того, чтоб попасть на работу за 40-60к?По-моему, за 40к нужно просто изъявить желание работать в ДС. За 60к неплохо бы знать хотя бы основы целевого языка и уметь в какую-нибудь пузырьковую сортировку. Мы точно о джава-джуниоре говорим, а не о стажёре на полставки?
>>1115035Джуны никому не нужны. Если сам себя до мидла не подтянешь, тебе так и будут перезванивать
>>1115038>Джуны никому не нужны. Если сам себя до мидла не подтянешь, тебе так и будут перезваниватьВот и главный петух треда пожаловал.
Всем привет. Появилась необходимость в использовании базы данных для моего проекта. Как это сделать я пока что не знаю, т.к никогда с бд до этого я не сталкивался. Как мне создать и подключить бд к своему проекту? Желательно конечно простым и понятнвм языком
>>1115189Ты читать выше можешь? ДаунЯ лично кроме как реилма пока ничего не юзал.
>>1115191Окей спасибо почитаю мануалы с оп-поста. Загуглил realm - вроде не очень сложно
>>1115193Есть еще SQLite, но я не очень понимаю, какие там есть ништячки для работы вместе с RxJava. Если найдешь, пиши сюда.
>>1115224SQLite это просто движок бд, причем тут rx. Есть StorIO, который позволяет чть-чуть спрятать под коврик кишки и прицепить rxjava (первую блеадь) поверх. Есть другие, от джейка что-то есть.
>>1115227Ну и хрен поймешь, какую юзать и какие компании юзают.
>>1115239А ты только попробова поймешь. Я не люблю realm из-за того что завишу от его классов и вообще мутабельности. Я привык к StorIO, но пока они не переехали на новый rx, то говно. Есть SqlBrite, минимализм зато с rx. Есть Room, там все есть и он почти всем хорош, но мне не знашел.
Можно ли установить апк в сайлент моде без рута?
>>1115227>>1115239Есть же официальный Room от Гугла, с поддержкой Rx2.>>1115314>>1114915Съеби.
>>1115326>Есть же официальный Room от Гугла, с поддержкой Rx2.По памяти вроде его в этом году анонсировали. Да и сырой говорят. Но я пока реилмом играюсь, думаю через полгода и его опробую.
Читаю коменты от выступления гугла на ИО 17-ого года. Это действительно пиздец что ли с фрагментами? Массивные компании юзают сторонние либы или заставляют ебаться с реализацией от гугла?
>>1116255гугла это большая рекламная зондопараша, пора уже понять
>>1116301Так и думал, что в этом полумертвом-треде какие-то мешки остались.>>1116255Отвечая на совй же вопрос, наверное стоит поебаться с фрагментами и все-таки дело иметь с ними, ну и для себя на абстрактном уровне поиграться с Conductor, Moxy + Cicerone. И еще погуглить такие либы.Ну и видосик:https://www.youtube.com/watch?v=LidlAkrYKGg&index=1&list=PLjzRz85reDwHCvtdr_HqTiS6T7wlHP8BBМожет пригодиться кому.
При использовании паттерной MVP/MVC где хранят содержимое к примеру списков? В модели?Как тогда решается проблема - "юзер удалил из списка 1 элемент - не перезагружаем весь адаптер?".
>>1116377Вообще в модели, более конкретно используется курсор который возвращает модель. В роли модели может использоватся какая-то временная структура данных - если изменения не нужно сохранять немедленно, или они вообще в принципе не сохраняются.>>1116377> перезагружаем весь адаптерЭто не зависит от того где хранить данные, а от архитектуры списочка. В андроиде такая архитектура что при изменении данных дергается notifyDataSetChanged() - а он сорее всего перезагружает весь список, хотя хуй знает.
>>1116398 >>1116377> Это не зависит от того где хранить данные, а от архитектуры списочка. В андроиде такая архитектура что при изменении данных дергается notifyDataSetChanged() - а он сорее всего перезагружает весь список, хотя хуй знает.Освойте уже DiffUtil
Есть 2 диалога со списками: в одном список из номеров телефонов с двумя чекбоксами, а в другом - то же самое, но вместо номеров телефонов некие идентификаторы абонентов.Вопрос: как лучше - просто сделать 2 одинаковых класса диалогов с разными именами или обмазываться унификацией и юзать один класс для всего?С одной стороны - зачем копировать, с другой - потребуются фичи, и уже придется переделывать.
>>1116401Airbnb epoxy
>>1116418И причём тут она? Узнал про новую библиотеку и теперь везде её хуяришь?
Где держать адаптер?В презентере или в моделе?
>>1116453Во вьюхе.
>>1116455А смысл? Вьюха может уничтожаться.
>>1116422При том что контроллеры(адаптеры) эпокси сделают за тебя все диффы и покажут всё что нужно без лишней ебли.
>>1116456Потому что все андроидовское говно должно оставаться на уровне ведра и ни в какие модели/презентеры не попадает.
Почему при отладке пикрелейтед выполнение выходит из скоупа на проверках в условии if? И почему return true - unreachable? ЧЯДНТ?
>>1116505Немного уточню. Выполнение возвращается в точку вызова, и возвращается, судя по всему, true, но в отладчике я даже не дохожу до return true
>>1116506Зачем ты программируешь?
>>1116508Именно под андроид - чтобы сдать лабу.
>>1116509Хуясе лабы у вас.
>>1116513Да я уже кажется нашел ответ. Просто AS как IDE - говно. Создал лишние булеановские переменные и присвоил им значения, возвращаемые функциями, и увидел как на самом деле отрабатывает функция. Такое чувство, как будто эта скотина втихаря оптимайзит код перед "компиляцией", и исходники уже не соответствуют байт коду во время отладки.
>>1116514> чтобы сдать лабу > Просто AS как IDE - говноДержи нас в курсе.
>>1116514Долбоеб.
>>1116514Не ты ли тот сказочный долбаёб, который просил написать приложения какие-то до зимы?
Решил почитать про глиде, ммм.
>>1116522Нет, не я.>>1116520Ну давайте, токсичные уёбки, расскажите мне, почему нажатием F8 по последовательным операциям я вижу, как активная строка кода перепрыгивает туда сюда, а некоторые операции просто не выполняются, хотя должны?
>>1116526F7 пробуй. Узнаешь многое о классах других, будешь гуру прошаренным.
>>1116528Так нет же, я знаю о step into и step over. Там не вызовы функций. Обычные операторы присваиваний/сравнений.
>>1116529Может ты прочитаешь про try и catch для начала?И почему ты выделяешь овердохуя строк, вместо того, чтобы ебнуть на методе?Вот поэтому ты и сказочный долбоёб.
>>1116530>И почему ты выделяешь овердохуя строк, вместо того, чтобы ебнуть на методе?Сначала я так и делал, умник хуев. Потом, когда я понял, что какая то еботня творится, я в отчаянии начал ебашить БП на каждую команду в надежде выловить её выполнение, чтобы лучше понимать, что происходит. >Может ты прочитаешь про try и catch для начала?Он что, в java работает как то иначе, как в других языках? Выброшенное исключение в скоупе try не передастся в оператор catch? "String wtf" там чисто чтобы БП на ней поставить, потому что если на фигурную скобку БП уебать, то AS вежливо намекнет мне, что "No executable code found", а мне нужно определить тип исключения и хотя бы message посмотреть.
>>1116531>Сначала я так и делал, умник хуев. Да ты что.>я в отчаянии начал ебашить БП на каждую команду в надежде выловить её выполнение, чтобы лучше понимать, что происходит. Лучше бы анус свой промылил.>Он что, в java работает как то иначе, как в других языках?Нет.Ты троль что ли? Хватит троллить. Если не троль, то пройдись по каждой строчке, приговаривая вслух каждое действие. Ору с тебя.
>>1116524А после прогварда как? А вообще пикасса скатилась.
>>1116581>А вообще пикасса скатилась.Ну я тоже заметил, в этой статье сравнивали глид 3.5 и пикасса 2.5.2, сейчас глид 4+, а вторая все так-же 2.5.2. Еще говорят, что Fresco ничего так.
>>1116588А всё потому что пользовать надо фреску.
>>1116588>>1116593Фу блядь! Сами жрите свое фнйсбучное дерьмо.
>>1116637Не хочу, фреско используется для полного контроля фото, и если твой заказчик совсем пиздец урод и хочет так и сяк.
>>1110463 (OP)Пишу на DroidScript, задавайте ответы.Добавьте в шапку кстати.
>>1116793Скинь примеры готовых приложений на нем.
>>1116807Блядь это сейчас на файлообменники апк заливать надо. Могу скринами кинуть.
>>1116817Хотя бы так.
>>1116817Давай, прошел уже час, но я жду.
>>1116821Где-то на официальном сайте находил приложения, которые были написаны благодаря DS.Хуй знает где найти список. Ну да ладно. Лучше расскажу о функционале:Вот допустим прозрачный layout на пик1.Есть куча всяких приколюх типа Arduino.Но самое главное это DS Plugin SDK, благодаря которому можно писать плагины на java, расширяющие возможности droidscript. DS позволяет писать приложения быстро и без мозгоебок. Если нужно в полевых условиях собрать кастомный статусбар, калькулятор, камеру, илм что другое, то DS идеально подходит. А сейчас функционал большой. Это и работа с терминалом, и UI слабо, но есть html, опять же- прозрачные лэйауты, и работа с файловой системой, очень многое реализованноНе хватает только кастомного layout для нотификаций.
>>1116844Ух ебать, все бросаю и пересаживаюсь на это божество.
>>1114925я не тролль.
>>1116505Билд обнови
Проходил ли кто на android.info бесплатный курс по клиент серверным приложениям? Нужна помощь в решении второго практического задания.
>>1117363> Нужна помощь в решении второго практического задания.Сам думай.Смотрел исходники телеграмма. Почему они не используют RxJava, почему нет ретрофита, почему они не используют их то блять? За что?!
Котаны, а разве метод getContext() можно юзать, если minSDKversion = 18?Справка тут: https://developer.android.com/reference/android/support/v4/app/Fragment.html#getContext()Студия его красным не подчеркивает, как бы намекает, что можно, но бля, здесь же всего можно ожидать.
>>1117384А где там написано, что нельзя юзать если меньше какой-то версии?
>>1117386Совсем недавно так было.
>>1117384Это блят суппорт либа, при чем тут версия апи??
>>1117398Точно! Это очень радует.
>>1117391>Совсем недавно так было.Когда блять? У тебя с головой совсем что ли?
>>1117400Нахуй пошел, мудило.
>>1117379> Смотрел исходники телеграмма. Почему они не используют RxJava, почему нет ретрофита, почему они не используют их то блять? За что?! Потому что Телеграм — говно. В нем нет ничего хорошего кроме маркетинга.Его разработчики не заботятся о качестве и поддерживаемости кода. Они не умеют в тесты. Они не умеют в декомпозицию кода. Они не могут в ООП. Всё что они могут — это писать гигантскую неподдерживаемую лапшу в одном классе на 12 тысяч строк кода: https://github.com/DrKLO/Telegram/blob/master/TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.javaОни не умеют и не хотят учиться пользоваться системами контроля версий: https://github.com/DrKLO/Telegram/pull/76#issuecomment-34747349Telegram не хочет быть опенсорс-проектом и не хочет открывать свой исходный код для стороннего аудита, несмотря на то, что декларируется обратное. Проект не взаимодействует с сообществом. Всё что есть на Гитхабе — это единичные коммиты, которые сразу же меняют 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, не дайте себя обмануть.
Можно ли доверять ресурсам, которые лежат в @android и быть уверенным, что анимации @android:anim/fade_in и @android:anim/fade_out будут везде одинаковые?
>>1117407Тогда интересно, почему же у них все работает и не лагает.
>>1117379Мне хотя бы помочь с первым шагом, с чего начать. А то в теоретическая часть не дает никаких подсказок по поводу решения практической.
>>1117409На васянской прошивке их могут вообще вырезать.
>>1117414>Мне хотя бы помочь с первым шагом, с чего начать.Ну и что там?>>1117407Сразу видно человек шарит.>>1117412Магия.
>>1117407> в одном классеЭто же удобно.Из одного объекта получаешь доступ к разным методам.
>>1117416Васяны как правило идут нахуй.
>>1117417Сейчас пытаюсь решить второе практическое задание.1) Load all cities (pair id-name) if WeatherCityTable is empty from http://openweathermap.org/help/city_list.txt and save them to database 2) Using the information from the first step find id for each current city 3) Load forecast in all cities using one single request http://openweathermap.org/current#severalid 4) Do all this work in NetworkService (you need to modify it to better support multiple requests) 5) Use SQLite API to manage communication 6) Handle configuration changes 7) Modify all the network layer to create a universal way for managing queries with pattern A
>>1117420>1 txtДумаю не быстро этот список загрузится. Парсинг параметров из строк в джаве всегда медленный.
>>1117420100% до этого задания у тебя был пример для deep погружения. Видимо здесь асинтаски нужно юзать. Ну юзай, создаешь класс, где будешь разбирать жсон по косточкам, потом берешь асин таск, подключаешься к нету, если запрос заебись (на скидку, вроде 200) то берешь инпутстрим - расчехляешь и что-то там еще делаешь. Ну и ui обновляешь.Здесь можно найти работу по всему вышесказанному, QuakeReport - основное, другие две показывают не помню что, но тоже посмотри и скомпилируй. https://github.com/laramartin/android_udacity_course/tree/master/android_networkingС SQLite не работал, поэтому ничего не могу сказать, да и там тоже такого нет. У него есть другая репа https://github.com/laramartin/android_weather но здесь юзаются технологии чуть повыше, не думаю что сгодится, но если на абстрактном уровне разобрать что да как, то можно и понять, как он с SQLite работает.Я не претендую на роль шарящего, но чуть больше усилий можно приложить и на чтение чужого кода, можно еще на гите искать репы по ключевым технологиям и сравнивать что да как. После окончания залей на гит и я посмотрю, как ты реализовал это.
>>1117429>Handle configuration changesАх, здесь еще поворот экрана, там тоже есть, кстати.Забыл еще и паттерн А. Ну вот тут есть https://drive.google.com/drive/folders/0B0Z-lYDZWlawTlRDanpCQldBNDQ С примерчиками.Я бы рекомендовал задрочить это основательно. Чтобы иметь более плотный контакт с девелоперсами. Хотя я только пробегался теоретически.
>>1117429Вообще там все несколько проще. Тебе дают по сути готовый проект из которого вырезали часть содержимого и сказали, сделай то-то. Вот сам репозиторий https://github.com/ArturVasilov/AndroidSchool/tree/master/SimpleWeatherPatternA с заданием. Лежит в файле WeatherListActivity, но я уже копипастил информацию.
>>1117432У тебя уже есть 90% проекта, тогда что тебе мешает ебнуть своё что-то? Что за люди пошли.
>>1117407Пиздец, больше никогда не буду думать что я говнокодер
>>1117407В гейоси телеграм тоже всрань та ещё. Telegram X вот норм
>>1117407Олимпиадники же. Это как VK (впрочем писалось всё теми же людьми) https://github.com/vk-com/kphp-kdb . Чисто визуально - сишный неподдерживаемый говнокод, но в своё время он отлично работал и очень быстро.
>>1110463 (OP)> понимание XML и JSON.Это же, блядь, как 2+2. Это сука простейшая хуйня.Алсо XML сосет у JSON ноудисскас
>>1117407Код аккуратный, в основном связанный с UI.Возможно особых проблем с поддержкой нет.
>>1117495Кстати да. Ща ето легаси но когда-то была норм штука.
>>1117384getActivity()
>>1117407Кстати телеграмм не обфусцирует код. Скачал апк - разобрал
>>1117620> обфусцируетНу выкладывай сюда, сейчас посмотрим на парашу, поковыряем палочкой.
>>1117621Делать мне нехуй.Сам скачай да посмотри
>>1117624Пиздеть тогда не надо.
>>1117672Ну и не пизди. Чмо безрукое.
>>1117620Блять пиздец.
>>1117407Есть мнение, что среди разработчиков есть такой подвид как 'хакеры'. Эти ребята не особо заботятся об архитектуре, правилах solid, тестировании. Они просто ебашат код и ебашут быстро, и если хакер хорош - то почти без багов. Проблема в том, что работать в команде они не могут, починить баги и разобраться в коде кроме них никто не может, и если хакир увольняется, разработка стопорться и бизнес ждут непростые времена. мимо, бывший 'хакир'
>>1116851Ток не забудь пропатчить DS. Там премиум анально ограничивает сборку АПК, и всякие плагины.
>>1117728У тебя множество ошибок в слове "говнокодер".
>>1117418лел, иди-ка ты нахуй, человек, пишущий весь функционал на 10к строк в одном классе, а следовательно не понимающий даже суть и плюсов ООП.>>1117728это не хакиры, это - обычные джуны-говнокодеры, не могущие в архитектуру приложений и clean code
>>1117790> лел, иди-ка ты нахуй, человек, пишущий весь функционал на 10к строк в одном классеНе прям весь. Но люблю организованность. Типа:var op_post=App.ReadThread(id).getIndex(0);Удобно же. Глобальные переменные нинужны.
>>1117793Начнем с того, что в джаве нет глобальных переменных.
>>1117794>в джаве нет глобальных переменных.лол кекpublic static String GLOBAL_VALUE = "ZALUPA";
>>1117794А не на жабе писал, а на жи эс. Там любая не-var-переменная глобальная
>>1117796Алсо, методы и свойства всякие.
>>1117795Статик лишь приближенные имеет свойства глобальности. Иди джаву учи, что ты здесь забыл? Еще скажи, что есть передача по значению и по ссылке, маня.
>>1117795> public static Поясните за эту хуйню. Всегда думал, что эта конструкция нужна для создания подобия функций.
>>1117801та как бы года 4 ее знаю, лол. Причем тут передача по значение или ссылке, долбаеб? Анон сказал, что в джаве нет глобальных переменных, я ему привел пример, что есть и как они пишутся. Глобальная переменная - та, которая доступна в любой момент времени и с любого участка кода. public static идеально с этой задачей справляются. Так что иди-ка ты подучи джаву после сделанной домашки. >>1117803нет, это надо как раз для глобальных переменных. Чаще даже сюда клеят final , чтоб иметь глобальную константу. Также паблик статик при большом желании можно юзать с методами, которые тоже станут глобальными и юзабельными откуда угодно когда угодно.
http://wikijava.it-cache.net/index.php@title=Glava_1_Thinking_in_Java_4th_edition.htmlСтоит ли тратить время на данную книгу? Или она шибко устарела?
>>1117832Задавали здесь уже такой вопрос тредов 5 назад. ДА, ДА. Заебали. Вдобавок почитай еще стримы, лямбды и охуей от того, что джава 10 выходит вместе с var.
>>1117790Тем не менее, телеграмм по сравнению со скайпами, вайберами работал отменно- неплохо для джуна гоанокодера?
Поясните по минимуму про синглетон, shared preference и Loaders.
>>1117808>Глобальная переменная - та, которая доступна в любой момент времени и с любого участка кода. public static идеально с этой задачей справляются. И перед тем как получить доступ до public static переменной, JVM загружает весь класс в память. Формально, до этого момента эта "глобальная" переменная недоступна.мимокрокодил
>>1118094Загрузил тебе весь класс за щёчку.
>>1118098спасибо
Суп, антошки. Пилю приложение - библиотеку вебмок напизженных с двача. У меня есть ScrollView с кучей превьюшек этих самых вебмок. Проблема в том, что првеьюшки делаются очень медленно (а наполнение скролла запускается из onCreate, и приложение виснет), и я запихал их в AsyncTask https://pastebin.com/nsyyakCb. Теперь приложение грузится относительно быстро, но есть другая проблема - когда активка перерисовывается, превьюшки "мигают". Я так понял, это происходит из-за того, что при перерисовке у меня заново создаётся скролл, заново создаются изначально пустые ImageView, и потом только в них пихаются картинки. Как этого можно избежать? Нужно ли перепиливать саму логику создания и отображения превьюшек?
>>1118113загрузка изображений через асинктаск для списка в андроиде - плохая идея, все прошли через такой баг, который у тебя. В обще решение таково: выкидывай нафиг асинк таск и забывай про него навсегда (я не тралю, асинк таск обоссали уже все, кто только можно, сам года 3 им уже не пользовался) , а для изображений и их адекватной загрузки - библиотеки Glide либо Picasso в помощь (первая лучше, но тут дело вкуса).И тогда тебе надо будет в адаптере лишь написать:Glide.with(context).load("ссылка на картинку").into(itemImageView);
>>1118128Спасибо, анон, сейчас буду пробовать с глайдом.>в адаптере лишь написатьОбъясни, что ты имел в виду? Я адаптеры использовал только со спиннером дропдаун который, и не понимаю, как это здесь можно использовать. Я только начинаю разбираться в ведроиде и, возможно, по-индусски делаю отображение превьюшек вот тебе сам метод для общей картины, но учти, можешь блевануть с говнокода https://pastebin.com/7kd4ezHe.
Блять, ну спасибо. Найс в глайд вкатился.Пойду пока документацию дрочить
>>1110463 (OP)Анон, а как работает DownloadManager? Это отдельный линукс-процесс, корой через IPC получает и обрабатывает запросы от приложений на загрузку или же это просто какая-то либа, которая создает дополнительные нужные потоки внутри приложения?
>>1118177Приложение отдельное
>>1118144ну попробуй пикассо вместо глайда, у тебя в коде разница будет в одно слове только>>1118143>Объясни, что ты имел в виду? Я адаптеры использовал только со спиннером дропдаун которыйгугли RecyclerView + Adapter Android тебе достаточно инфы выдаст. Тамже ты столкнешься с такой вещью как ViewHolder. И во тв адаптере в методе onBindViewHolder у тебя и будет код типа GlidePicasso.with().load().into();
>>1118200Ясно, спасибо вот блять, а я надеялся порезать трафик только для определенного PID процесса и надеялся, что больше никаким способом он не сможет пробиться к быстрому инторнету, но что-то придется делать и со всякими там DownloadManager-ами
>>1118233>ну попробуй пикассо вместо глайда,Сначала нужно почитать тыщу туториалов по их различию, потом найти фреску - почитать еще про нее и наконец понять, что нужно юзать глайд для самого распр. случя.
Чёто вкатился в котлин, и проиграл с котлиношизиков в голос. Единственные профиты в сухом остатке - это датаклассы, вменяемые модификаторы, lateinit (сахар) и ебля с null (кроме бросков npe).С дженериками какая-то ебань, один сахар. С делегатами вообще запилили подобие рефлексии с providedelegate и ручным созданием проперти обьекта. Функции высшего порядка - нетестируемая параша. С аннотациями теперь нужно ебать мозги о том, куда @Inject сунется в байткоде. Код в библиотеках на котлине пишут нечитаемый.
multidex кто юзает, какие недостатки?аппа грузится быстро? крешей нет новых?
>>1118311Если моджешь сжать приложение - сожми. Не можешь - используй мультидекс, альтернатив НЕТ.
>>1118113Тоже делаю библиотеку с webm. Только помимо обычного выбора из списка имеем еще рандомный выбор видео из БД. Превью отображаю с помощью RecyclerView c Glide в адаптере. До этого использовал пикассо, но говорят, что он более не поддерживается разработчиками. Из минусов только большое количество методов в библиотеки, но в этом проекте хватит за глаза.
Кто хочет поупражняться в написании простой проги?Идея такая - есть любой текст, который загружается извне (например книга) и Курсор который постепенно закрашивает текст с определенным количеством символов в минуту (настраивается). Служит для чтения по памяти, т.е. читаешь вслух только закрашенный текст, а следующее слово или несколько запоминаешь. Позволит ускорить речь, повысить легкость говорения и развить краткосрочную память, что крайне будет полезно большинству здесь присутствующих и мне. Также будет полезно при изучении языков, можно выпустить на маркете. Если остались вопросы - пишите в телегу @MarkyWithNuts.
>>1117924Синглтон - паттерн проектирования, юзается когда нужен 1 интсанс класса на всю апку, SP - механизм записи данных в андроиде, обычно туда сохраняют флажки, разные настройки етц.
>>1118482Благослови тебя господь.
>>1118281прямо люто двачую. Сам уже месяца 2 как перекатился на котлин (ну как перекатился - на работе сказали, чтоб все андроид разрабы на него переходили в скором времени, вот и пришлось учить и первые проекты уже на нем писать), тоже не заметил особо крутых преимуществ. Ну вернее, одна реально крутая вещь - это функции-расширения, ее в джаве не хватало. А так все, в принципе. Практически любая вещь, которая была в джаве в котлине переделана похожим образом просто с другим синтаксисом (либо в точности да наоборот лол, как наследования, кек). Смысла с этого всего 0. Выглядит как каргокульт, что мол кто-то сказал, что котлин крут, го все на него - и все ринулись. По факту, повторюсь, что там особо плюсов нет. Однако, с другой стороны, работая в сфере айти, надо быть готовым к таким вещам, что один язык будет вытеснять другой, одна среда разработки другую, будут появляться новые архитектуры и паттерны и т.д. Тут ничего не поделать. Зато можно перед остальными выебываться , что знаешь +1 язык и прибавку к зп за это выбивать у начальства) Такие дела.
>>1118621Работающий анон, ответь еще на такие вопросы:1) ОС, под которой разрабатываешь2) IDE3) Где отлаживаешь4) Как тестируете5) Полезные фишки, если они естьХочу написать демку на андроеде для своей БД.Заодно, если есть приложение Мой Перекресток если нет, поставь, во сколько оценил бы его разработку?
>>11186361) лично я на винде 10, но это не принципиально - можно семерку, можно убунту, можно хоть на маке, лол2) Android Studio, я не представляю, что сейчас вменяемый андроид-разработчик может кодить в другой среде какой-либо3)эмуляторы + тестовые девайсы + мой личный девайс иногда4) если ты про юнит тесты, то их не пишем, толку никакого. Тестим сами руками5) их настолько много и из стольких областей, что ты наверное уточнил бы, что именно тебе нужно)приложуху ту что ты кинул я бы часов на 600 оценивал, но это я так в ней полазил секунд 40, может там еще подводные есть свои камни и часы могут прибавиться
Приложение нормально место памяти занимает или это много? Еще нужно придумать как фиксить каждый раз запрос в сеть и с загрузкой картинок играться.
Кто нибудь юзал апишки гитлаба? Хоть убей не могу найти гайд по какой юрле кидать реквесты, где достать ключ и т.д.Ткните носом, пожалуйстаhttps://docs.gitlab.com/ce/README.html
Двач, что-бы отобразить содержимое базы данных при нажатии на кнопку нужно открывать новую активити или еще способы есть?
>>1118792Надо написать сервис, который будет выводить в логи каждую строчку с базы
>>1118792>отобразить содержимое базы данных при нажатии на кнопку Ну ты же не просто так будешь отображать содержимое в каких-нибудь виджетах аля текствью.Прилепи recyclerView и присобач в фрагмент и открывай.
>>1118670Ок, спасибо.Под фишками имел в виду организацию работы, не кодерские.
Здравствуйте. У меня пара непоняток с 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.FcmAuthenticationExceptionAPI_KEY в константу записал из настроек этого проекта (Ключ Api для веб-приложения). Без него я даже пробовать и экспериментировать не могу. Или мне нужно завести отдельное приложение для рассылки? (Как мне это сделать, если да?) Помогите с ключом
>>1119082Да, кстати, кто-то может догадывается что может делать метод setRestrictedPackageName() в FcmMessageOptions.builder?
В руте проекта лежит .json, как в рантайме прочитать этот .json?
>>1119090А зачем ты его положил в рут проекта? Перемести его в асеты или ресурсы (resources/raw) если хочешь достать.
>>1119082Чет не похоже что тебе джава дохуя понятна.Прочитай сначала https://firebase.google.com/docs/cloud-messaging/server
>>1119218ушел читать
>>1119507не возвращайся
может ктонибудь помочь с вирусом для андроида? надо инжекты настроить для работы с забугром
¡Привет, /pr/! Хочу написать приложение для изучения языка, наподобие дуолинги, однако без необходимости постоянного подключения к интернету. Jav'у я совсем не знаю, но знаком с императивным программированием на уровне чуть выше "Привет, мир", что такое токены ответить не смогу. и у меня есть желание. Я справляюсь с олимпиадными задачками, но совсем не представляю, как написать самую простую полезную программу. ¿Смогу ли я сделать задуманное после изучения jav'ы? ¿И каким образом?
>>1118670> 4) если ты про юнит тесты, то их не пишем, толку никакого. Тестим сами рукамиФу блядь, фу нахуй.>>1120311Пошёл нахуй.>>1120341Не сможешь.С каким же самом я сижу в одном треде, что за пиздец.
>>1120343ну так уёбывай чё
>>1120343скам это твоя мать-проститутка
ребят, при запуске карт гугла всё время получаю эту ошибкуE/Google Maps Android API: Google Maps Android API v2 only supports devices with OpenGL ES 2.0 and aboveне знаю что делать.запускал всё по мануалу от гугла, но не работает. на стековерфлоу решения нет
>>1120341Пиздец, как же я проиграл до слез. Анон, ты лучший! Такая толстая паста просто невозможно. Лучшее, что я видет за эти два треда.
Хочу сделать себе на ведро просмотрщик смешных картинок с одного сайта без нормального апи. Что мне взять за основу? Голую джаву ебать не хочу, в qml нет нормальных виджетов для картинок, xamarin нет опыта, в cordova.js какая-то хуита с зумом тут мои познания в разработке под андроид кончились
>>1120468отбой ребята, поставил 26 API и всё пошло как по маслу.ВСЕМ СПАСИБО ВСЕ СВОБОДНЫ
>>1120479Возьмись зубами за член своего отца, шакал.
>>1117501Я дочь полковника СУБД и здесь не всё так однозначно.
>>1120675Двачую.В XML мультистринг из коробки, в JSON какие-то костыли.
>>1120675> здесь не всё так однозначно.JSON.parse()JSON.stringify()Всо.Хотя согласен, в бэкенде всякая херня встречается.
>>1120343>Фу блядь, фу нахуй.джуномакака порвалась?Нет, вот давай ты, поясни в чем толк от того, чтоб писать тесты? Сириусли, бестолковый процесс, отнимающий нужное время.Вот есть у тебя класс с 2-3 методами, допустим, и ты в тесте тупо прописывает вызов (раз так 10-20) этих методов в различной комбинации входящих параметров. Охуеть, а нахера? Вменяемый разраб и так где нужно поставит проверки на null и прочую обработку. А какие-либо серьезные баги выплывают не во время таких тестов, а уже во время того как пользуются реальные люди и эти баги достаются из того же крашлитикса, как вариант. Опытным путем уже убедились, что быстрее будет разослать приложуху 5-7 своим людям с разными девайсами (внутри конторы это делаем), ручками по экранам пройтись и норм.Ну а ты рвись дальше
>>1120726Я не он, но вот мое обоснование.Пилишь ты такой систему по ТЗ.Реализовал кучу методов, но в тесты запихал только те, которые описаны в ТЗ как ключевые.Внедрил систему.Прошло джва года.Половина методов не использовалась с момента внедрения.И тут тебя спрашивают - а система-то по ТЗ может звонить Путину. Может ведь?Если у тебя тестов нет, ты скажешь - да хз, надо опять тестовый стенд запускать и проверять.А если есть - ты их запускаешь и отвечаешь - нихера, Путин телефон поменял похоже, надо новый в конфиг прописывать. Это реальный кейс из энторпрайз системы. С тех пор я делаю проверку всех методов фасада, в любой момент можно все их проверить на работоспособность. С апи та же херня. Если у тебя нет тестов, ты не можешь пользователей апи посылать нахер, придется каждый раз их жалобы проверять.
>>1120758Апи двачую, ленивые бекендщики отправляют всякую дичь. Реальная история поле email, на тестовых юзерах все было ок. Сделали рассылку, пошли люди - invalid json token expected string but was boolean. Вот как это вообще можно объяснить.
>>1120726> Опытным путем уже убедились, что быстрее будет разослать приложуху 5-7 своим людям с разными девайсами (внутри конторы это делаем), ручками по экранам пройтись и норм.Конечно быстрее. А если и ручками не проходиться, то ещё быстрее. А качество стоит времени и денег. Разработка двумя макаки по хуяк-хуяк методологии, конечно, проще и легче.
>>1120617Тебя в школе обидели что ли?
Уважаемые, я студентка, стою в самом начале пути (хочу придти к созданию приложений), учу потихоньку java, книжки читаю и тд и тп. Оч прошу толковых ребят запилить свои стори мне в телегу (от самого начала: как пришла мысль, с чего начали, что и где делали, как долго это всё продолжалось, где брали мотивацию и тд) Если ты начинающий, то напиши мне тоже, пожалуйста - будем вместе учиться, делиться опытом)Это мне очень поможет, верю, что здесь есть хорошие люди <3@SorryImBusy
>>1121171>мне в телегу иди нахуй, наркоман
>>1121171> я студенткаSiski or GTFO.
>>1121191Двачую.>>1121171Хватит рофлить поцан, каждые 10 постов появляется новый троль с новыми историями. Мне конечно смешно, но и меру знать тоже нужно.> где брали мотивациюСмерть. Вот тебе мотивация. Сдохнешь как сука, если не узнаешь что такое андройд.
Третий месяц копаюсь в чужом говне и пытаюсь это отрефакторить.Дропать нахуй такую работу?
>>1121831Смотря какие есть варики и как платят.
>>1121831>Третий месяц копаюсь в чужом говне и пытаюсь это отрефакторить.Поясни по подробней пожалуйста. Там RX есть-то хоть? А то я пока не подавал заявку на работу.
Что случилось с Андроид Студией? Почему лагать перестала, я уже собирался новый ноут покупать, решил тестануть 500-й раз, и вдруг, внезапно все летает, прям как вижуал студио. Правда эмулятор зависает, но я, нищая студентота, могу потерпеть.
>>1122134Тебе показалось наверн, может ты меньше проектов открываешь.
Как сделать так, чтобы, если текст не влазит в текствью, он ездил туда обратно внутри?
>>1121985Да что расказывать, кинули на проект на котором я фикшу баги, рефакторю чужой быдлокод, рх нету но зато есть асинктаски из которых во все щели льеться память.
>>1122359К слову, сука которая это писала, будто прочитала гайд по code conventions и сделала все абсолютно наоборот
Аноны, думаю вы знаете, что на андроиде есть такое приложение "Гугл Переводчик". Так вот, как можно передать этому приложению строку для перевода?"Яндекс API" нехочу пользоваться, потому если послать ему одно слово, то он вернёт лишь один вариант перевода, а если ввести слово в приложение "Гугл переводчик", то тогда в приложение отобразятся и другие варианты перевода.
>>1122406Ну это так не рабоатет. Ты хочешь именно открыть его со своим словом, или получить результаты? Тогда стоит воспользоваться гугловским апи для перевода.
>>1122426Я хочу что бы моя программа исполнила вместо меня функцию ввода нужного слова/фразу в приложение. Как я бы написал это слово с клавы, так и программа как то должна как то ввести эти слова в приложение. API гугла вроде как платный, да, и скорее всего, он будет возвращать только один вариант перевода, как API яндекса. Да и кроме того, придётся самому писать интерфейс для приложения.
>>1122467сначала научись формулировать свои мысли и идеи, а потом уже приходи сюда с охуенными вопросами
>>1122654Бля, ну хули тебе не понятно?Мне нужно написать код, который каким либо образом прикажет приложению "Гугл переводчик" перевести заданный тексткоторый хранится, к примеру, в буфере обмена. Что бы не я сам, печатая, вводил текст в приложение, а что бы программа ввела его за меня.
>>1122662так а что тебе мешает просто руками его скопировать и вставить туда? темболее если уже в буффере обмена есть текст, то даже копировать не надо, а только вставить
>>1122724Потому что нужно пальцами для этого тыкать, а я хочу что бы оно само было! А-в-т-о-м-а-т-и-ч-е-с-к-и. Кроме того, руками эти действия отнимают приличное количество времени: сначала нужно удалить предыдущий текст, потом удерживать палец на экране, пока наконец то не появится кнопка "Вставить", потом, после вставки, ещё и нажать кнопку "Перевести". И так по кругу, раз за разом. Я хочу, что бы вся эта лишняя работа проделывалась сама.
>>1122359Как восхитительно, да еще и асинтаски! Я бы поебался с ними. Я аж заурчал.>>1122815Ну так делай, что тут непонятного-то. В твоем описанном представлении я представил это как: Выделяешь нужный текст - отправить как - твое приложение - автоматически вставляется - переводиться.Если в буфере обмена - чекай его - добавь в TabLayout две кнопки - вставка, очистка.Только тебе все равно придется выделять текст для копирования. Или я не так понял? А вообще, пиздуй делать.
>>1122815>: сначала нужно удалить предыдущий текст, потом удерживать палец на экране, пока наконец то не появится кнопка "Вставить", потом, после вставки, ещё и нажать кнопку "Перевести".Так захуярь эти действия в одну кнопку. Петух.
>>1122817>>1122819Ёбнулись что ли? Я не хочу делать своё приложение для перевода, я хочу, что бы приложение Гуглп для перевода автоматически переводила текст, находящийся в буфере обмена.
>>1122857Скачай последнюю версию переводчика, там есть такая функция.
>>1122857>Я не хочу делать своё приложение для переводаНахуй ты сюда тогда пришел?>я хочу,Хоти.> Гуглп для перевода автоматически переводила текст, находящийся в буфере обмена.Если там нет такой функции, то тебе придется делать СВОЕ приложение. Но ты не хочешь делать свое приложение. Расходимся. Он нас тролленькает.
>>1122859У меня и так последняя, нет там нихуя.>>1122871>Нахуй ты сюда тогда пришел?Я не хочу делать своё приложение для перевода. Я хочу сделать приложение, которое передаст приложению Гугла нужный текст для перевода. >Он нас тролленькаетУспокойся блядь, никто вас не троллит. Я всего лишь спросил, можно ли написать такой код. Похоже что нет.
>>1122902> У меня и так последняя, нет там нихуя.Копипастишь текст и флоат буттон вылезает.
>>1122908> КопипастишьКопируешь*
>>1122902>можно ли написать такой кодМожно. Пиши.
>>1122908Я не копирую текст сам. Он поступает с компьютера сразу на буфер обмена телефона. >>1123004Как? Дай хоть какое-то направление, в котором нужно двигаться. Я не знаю, как можно повлиять на действия чужого приложения.
>>1123042> Я не копирую текст сам. Он поступает с компьютера сразу на буфер обмена телефона.Какая разница? Гуглтранслейт детектит изменения в буфере. Похер каким образом скопиповал.
>>1123042>Как? Дай хоть какое-то направлениеБлять, берешь пишешь в гугол взаимодействие с буфером обмена. Андройд буфер обмена. Заебал блять. Ты ебанутый что ли? Вот скажи, ты действительно ебанутый или ты троллишь нас? Блять, что сложного-то забить информацию в гугол?В твоей маленькой голове промелькнет вопрос - почему этот чувак не дает мне НАПРАВЛЕНИЯ? Да потому что я блять не хочу гуглить вместо тебя, а если я начну гуглить - я знаю, что в 90% случаев я найду ЭТУ информацию. Пиздуй нахуй. Вот тебе еще бонус от меня.https://stackoverflow.com/questions/tagged/android?mixed=1
>>1123075>>1123042Пидарас, лови документацию. Сука, ровно 15 СЕКУНД БЛЯТЬ. Ты ебанутый что ли? У меня блять уже подгорает от мозгоебства твоего. Иди вообще нахуй с треда.https://developer.android.com/guide/topics/text/copy-paste.html
Память доходит до 130МБ. Приложение состоит из видео плеера и ресайклер вью с превьюшками. Данные подгружаются из сети, пагинация списка. Загружена одна страница из 3-6 элементов. Это нормально или нужно разбираться куда столько памяти летит?
>>1123449Как реализовал пагинацию?Мимо.
>>1123516Создал ресайклвью адаптер. Объявил VIEW_TYPE_ITEM(контент) = 0 и VIEW_TYPE_FOOTER = 1(последний элемент в списке, чтобы поместить прогресс бар). Так же запилил два холдера в соответствии с вышеуказанными элементами. А дальше проверка на наличие данных. Если у нас имеется следующая страница, то показывает FOOTER появляется индикация загрузки в конце списка. Данные загрузились, футер исчез через специальный метод. Вообще это решение есть на стэковерфлоу. Так что ничего нового не рассказал.
>>1123547Осталось по такому же принципу запилить ошибку запроса. Если запрос некорректен и серверу нечего прислать в замен, отображаем VIEW_TYPE_ERROR
Как же я жалею, что не вкатывался в андройд раньше. Наверное, это было потрясяюще писать велосипеды в 12-14 годах. Мне не понять этого всего.
>>1123547А, ну понятно.В одном из репе китайской, я видел как чувак унаследовался от RecyclerView, переопределил onScrolled и onScrollStateChanged, добавил листенер, в хмл захуярил свой RecyclerView, ну и еще штучки захуярил. Мне показалось это интересным.
>>1123590У меня тоже используется onScrolled. Без него особо вариантов нету.
>>1123583Никогда не поздно.
Нужно ли больше уделить внимание InputStream и подобным I/O? И дженерики на каком уровне достаточно знать? Я особо эти моменты и не встречал за полгода разработки.
>>1123449а что там разбираться то? делаешь дамп памяти и смотришь на что тратится столько, если на что-то нужное, то норм, если какая-то левая хуйня жрет - то не норм, дело нескольких минут
Анон, хочу вкатиться в разработку под Android, а именно портировать одно приложение и одну игру. Мне просто нужно изучить джаву? А как же зоопарк моделей, фрагментация по экранам и все такое?
>>1110656H
Что анон думает по поводу флаттер? Сам я думаю играться с ним буду через год-два и то, когда найду работу, но очень интересно ваше мнение. Вроде внушает симпатию, чем тот же какой-то там хамарин.
>>1125184Если ты будешь использовать движок, то он со многим справится и на деле это не такая большая проблема если сильно не завязываться на некоторые возможности.
>>1125196Фигня, что-то уровня реакт нейтив, но на не взлетевшем дарте. Если гугл таки сможет похоронить ведро и выкатить нам новую ось, причем так что программы будут совместимы и эта ось, фуксия/андромеда/хуегугловеда будет на флаттере то тогда конечно да, но пока ничего серьйзного.
>>1125196>хипстерская ссанина на скриптах внушает больше доверия чем индустриального уровня хамарин, огромная инфраструктура с# и поддержка майкрософтты болениди учи хамарин
>>1125240> индустриального уровня хамаринНа котором до сих пор ни одного крупного приложения не написано? > огромная инфраструктура с# Давайте сделаем как в джаве, но только по-другому. Алсо, систему сборки так и не завезли? > и поддержка майкрософтТы считаешь это плюсом?
>>1125344>На котором до сих пор ни одного крупного приложения не написано? Не аргумент>систему сборки так и не завезли? Какую еще систему сборки, что ты несешь?>Ты считаешь это плюсом?А ты считаешь это минусом? Библиотека от Васяна лучше технологии от самой авторитетной и заслуженной ИТ-компании?Тебе просто нужно понять, что простота = беднота. хелло ворлды, да, пишутся на таком скриптовом говне просто. Хелло ворлды. Ты охуеешь писать что-то большое.В хамарин ты можешь нашлепать формочек, скочать библиотек из nuget под любые задачи, хуяк, хуяк, и программа готова.
>>1110463 (OP)Анон, подскажи!Есть условное приложение, которое по нажатию кнопок отправляет разные POST-запросы на сервер и что-то делает с результатом. Как лучше всего сделать это асинхронно? Сейчас у меня всего одно действие и оно реализовано с помощью AsyncTask в активити, но для каждого запроса отдельный таск пилить не очень красиво. Да и иде ругается на "This AsyncTask class should be static or leaks might occur".Попробовал по-другому - создал отдельный класс RequestsAsync и вынес туда этот таск. В классе есть метод send в котором создаётся таск с нужными параметрами. Всё статичное. Всё было бы збс, но куда теперь выводить результат запроса? Как получить доступ к активити без риска утечки данных? Может вообще стоит по-другому запилить? В андроиде нуб, может есть какие-нибудь примеры, как сделать универсальный класс для асинхронных HTTP запросов?[CODE]public class RequestsAsync { private static boolean processingRequest = false; public static void send(String test) { if (!processingRequest) { processingRequest = true; asyncRequest request = new asyncRequest("/api/test"); request.params.put("test", test); request.execute(); } } static class asyncRequest extends AsyncTask<Void, Void, String> { Map<String, String> params = new TreeMap<>(); NetHelper netHelper = new NetHelper(); String url; private asyncRequest(String url) { this.url = netHelper.SRV_URL + url; } @Override protected String doInBackground(Void... arg) { String request; try { request = netHelper.postData(url, params); } catch (Exception e) { e.printStackTrace(); } finally { processingRequest = false; } return request; } @Override protected void onPostExecute(String request) { super.onPostExecute(request); // щито дальше? } }}[/CODE]
>>1125372Даёпт что [CODE] не работает? Извиняюсь за криворукость.
>>1125372https://ideone.com/5pl2Eh
Бля, узнал про Android Asynchronous Http Client. Вроде то что нужно. Ещё бы объединить все методы в один класс (допустим User), а в активити только результат выводить.
>>1125372>>1125387Retrofit возьми и не парься.
>>1125372Retrofit + RxJava, все остальное - хуйня
>>1125388>>1125391Годно! Спасибо.
Расскажите вкратце, что нужно знать, если я хочу добавить в приложение проверку на подключение к интернету. Пока знаю, что там для WiFi и SIM интернета разные команды исполняются.
>>1125901Самый простой и вернй способ пойти и сделать запрос.
>>1125901>добавить в приложение проверку на подключение к интернету.Так это, ты того что ли?
>>1126001>>1126046Запрос делать к сервису, с которого тяну данные или google.com?Мне интересно другое, нежели простой вывод предупреждения об отсутствии коннекта. Как сделать, чтобы выполнение программы приостановилось, не вызвались методы и прочие действия? Как делается у профессиональных разработчиков это?
Что скажешь по поводу этого блока кода? Каким образом это сделать менее громоздким и читаемым? В этих интентах можно запутаться.
>>1126238Ты гуглить не умеешь? Мать не научила?>>1126245А что тут громозкого-то? Юзни котлин. Все равно здесь лучше не сделаешь. Можешь свитч ебнуть, только вот зачем? Лучше бы полезным делом занялся.
>>1126238>Запрос делать к сервису, с которого тяну данные или google.com?Лучше конечно к своему, тебе он интересней.>Как сделать, чтобы выполнение программы приостановилось, не вызвались методы и прочие действия?Так не делается, особенно на ведре.
Пиздец. Уже второй день сижу и разбираю, как же мне блять прикрутить addOnScrollListener в recycler и доставать это из базы данных.
>>1126245а зачем ты пихаешь данные в интент активити?
>>1126245
>>1126668Выглядит красиво, но это же Котлин :(
>>1126642Недавно переделал на это. Все довольно очевидно.
>>1126684В чем различие между recyclerView.addOnScroll... и adapter.setOnLoadMoreListener (как здесь - http://android-pratap.blogspot.ru/2015/06/endless-recyclerview-with-progress-bar.html)
>>1126697Минус скобка.http://android-pratap.blogspot.ru/2015/06/endless-recyclerview-with-progress-bar.html
>>1126682
Когда я листаю RecyclerView с методом onScrolled у меня первые 5 элементов уничтожаются, а следующие 5 появляются из базы данных. Как сделать, чтобы 5 приклеивались к самым первым данным?
>>1126886https://gist.github.com/anonymous/ef14cbea28e5b58a20ab75b85507fd3f
Последний раз пользовался андроидом 4 года назад.Использую исключительно продукцию гейпла.На учебе учим сейчас джаву.Появилась идея вкатиться таким образом в андроид. Вопрос: помешает мне это как-то при разработке или достаточно будет гайдлайнов по ui почитать от гугла и все пойдет как по маслу?
>>1126975Лучше в гейось вкатывайся.
>>1126977Да блять вкатываться в гейось, учить на учебе джаву - какая-то каша в голове будет, ей богу.
>>1126980Какая к черту каша? Та джава что ты будешь "учить" к ведру будет иметь весьма посредственное отношение. Вот нахуй тебе как пользователю айоси писать под ведро?
>>1126982Да я и не хочу особо на свифте/обж-си писать.
На работе дадут магбуг. Какая вероятность что я стану пидоромиосразработчиком
>>1126886>>1126960Тебе нужно добавить метод add или addAll в свой адаптер. Потом уже в активити обращаешься mAdapter.add(listItems)
>>1127013У тебя будет возможность писать под обе платформы.
>>1127013
>>1127156Ага, понял. Буду пробовать. Спасибо.
>>1126718Спасибо, переписал. По началу не мог догнать, что везде нужно импорт библиотек на support.v4.app.Fragment поставить. Еще при данном подходе прочитал, что нужно делать статический конструктор для фрагмента. Правильно ли это? Или сейчас по другому профессионалы делают?
Собираюсь одновременно позадротить android разработку и ios-разработкуСам овер5 лет во фронт-ендеНасколько велик шанс, что я делаю все правильно и буду нарасхват?
>>1127229> Сам овер5 лет во фронт-ендеЭто уже не лечится. > Насколько велик шанс, что я делаю все правильно и буду нарасхват?Стремится к нулю. Иди лучше в js-тред.
>>1127252Ты правда считаешь, что формочки на андроиде чем-то принципиально сложнее, чем формочки на реакте?
>>1127228Не уверен, что профессионалы сейчас вообще используют фрагменты, но да, так делать правильно. Вообще это шаблон для создания фрагментов в самой студии. Ты сохранял эти данные в активити, а надо было их передавать самому фрагменту через аргументы, как ты теперь и сделал, так что ты всё правильно понял.
>>1127254>формочки на андроиде Ахах. Что ты подразумеваешь формочки под андройдом?)
>>1127258>профессионалы сейчас вообще используют фрагменты,Гугол на каждой конференции ИО втирает про невьебенческие силы фрагментов.
>>1127264любые прикладные приложения, которыми ты пользуешьсяНапример клиент вконтача или фейсбука
>>1127268Ну так ищи инфу хули. Но это будет бредом, учить и андройд и иос, зачем? Да еще и из фронтенда. Макак сокращают?
>>1127266Просто пока не могут признать что обосрались.
>>1127296Ну да, но это не повод отказываться от фрагментов. Все равно по канону спрашивать будут на собеседованиях.
Следующий вопрос по поводу выделенных элементов с пика. Студия говорит, что данные методы могут вызывать исключение NullPointerException. Если почитать подсказку, то там говорится об аннотации @NonNull, значит что значение не может быть null. С одной стороны все работает как нужно, без крэшей, но с другой, хотелось бы знать, что в дальнейшем у меня не возникнет проблем с работой программы. Что делать в такой ситуации?
>>1127349Почему ты не используешь рхДжаву?
>>1127358Пока решил на этом варианте остановиться. Библиотека Graphql имеет поддержку из коробки RxJava, что позволяет за пять минут переписать. В данном виде асинхронность запросов поддерживается, менять необходимости нет.
>>1127358>>1127358Все же использую в другом случае.
Поясните на пальцах за setHasFixedSize. Правильно ли я понял, что если Recyclerview занимает весь экран, то без разницы установлено это свойство или нет?
Можно ли как то скомпилировать приложение для андроида, написано на Python и использующие PyQt5?
>>1127472Поискать религия не позволяет?
>>1127474>написано на Python>использующие PyQt5?> скомпилировать приложение для андроида, > скомпилировать Ты вообще откуда вылез?
>>1127157Я знаю. Но вопрос не об этом.
>>1127551> Какая вероятность что я стану пидоромиосразработчикомЭто тоже самое, как выебать девушку трапа нажравшись.Не узнаешь, пока не попробуешь. И, если ты бы выебал ту секретную девушку, считал бы себя пидором? Это обязательный вопрос.
>>1127349Странно это говорить, особенно глядя на говнокод со скриншота, но ты видимо всё-таки развиваешься. В предыдущих тредах тебя сразу нахуй посылали, а тут даже на настоящие ответы у кого-то терпения хватает.
ПЕРЕКАТ https://2ch.hk/pr/res/1127618.htmlПЕРЕКАТ https://2ch.hk/pr/res/1127618.htmlПЕРЕКАТ https://2ch.hk/pr/res/1127618.html
>>1127519Ну и что значит?
>>1117407Ты просто мудак ебучий, который не может даже догнать на какой хуй это всё нужно и, видимо, не слышал про оптимизацию. Твой уровень — хеллоуворлд калькуляторы.