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

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

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

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

785 Кб, Webm

Android Development Thread 2.1.3 17 Апр, 13:14 #974849 В конец треда | Веб

Android Development Thread 2.1.3

> Хочу вкатиться в разработку под Android! С чего начать?
Большинство приложений написано на Java, выучить её на хорошем уровне — это первое, что необходимо сделать. Рекомендуемую литературу см. в Java-треде.
После этого можно установить Android Studio, открыть официальную документацию http://developer.android.com/training/index.html и попробовать создать по туториалам своё первое приложение.
В дальнейшем потребуется базовое знание SQL, понимание XML и JSON.

> Мануалы?
- Официальная документация: http://developer.android.com/
- Полезный гайд для начинающих и продвинутых: http://guides.thecodepath.com/android
- Бесплатный видеокурс от Google для новичков: https://www.udacity.com/course/android-development-for-beginners--ud837
- Два ресурса, единственный плюс которых — русский язык: http://startandroid.ru/ и http://developer.alexanderklimov.ru/android/
- Классика, способная дать ответ на почти любой вопрос "Как сделать xyz?": http://stackoverflow.com/

> Не хочу писать на Java!
- Kotlin — JVM-совместимый язык от JetBrains. Есть лямбды, стримы и делегаты. Можно использовать в проекте вместе с кодом на Java.

> Есть что-то кроме нативных приложений на Java/Kotlin?
- Qt — кросс-платформенный фреймворк на C++. Используется в основном для игры и для приложений с высокими требованиями к производительности (обработка изображений, звука, ГИС-системы). Спрашивать в C++ треде.
- Xamarin — кросс-платформенный фреймворк на C#. Представляет из себя обёртку над Android API. Куплено Microsoft. Теперь есть бесплатная версия. Спрашивать в C#-треде.
- PhoneGap/Ionic/Titanium/ReactNative — имя им javascript, принципы у них разные, первые три попытка в кроссплатформенность одного кода, ReactNative проповедует другой подход, а именно написание разного кода но на одном языке. Популярность у них разная как и размер комьюнити. Вопросы по ним — в js-тред.
- BugVM — кросс-платформенный фреймворк, написанный на Java. Форк невинно убиенного RoboVM.

> Хочу писать игры!
LibGDX или Unity. Спрашивать в /gd/.

> Что нужно, чтобы взяли джуниором? Что учить в первую очередь?
Нужно хорошее знание Java, понимание базовых принципов Android (жизненный цикл activity/fragment, что такое Context, intents, services, UI thread, support library, shared preferences, SQLite), знание популярных библиотек типа Retrofit + Glide/Picasso. И хотя бы оно готовое приложение.

Предыдущий тред: https://2ch.hk/pr/res/957315.html (М)

Ответы977069977962979208979460982384983355990004991973

17 Апр, 13:17 #2 #974854

>>974823
Я лично просто писал массив байтов с камеры напрямую в файл, так работало.

Ответы974870

17 Апр, 13:29 #3 #974870

>>974854
Ок, попробую

18 Кб, 791x293

17 Апр, 15:54 #4 #975029

Все правильно делаю?

Ответы975033

17 Апр, 15:58 #5 #975033

>>975029
Возможно.

Ответы975045

17 Апр, 16:19 #6 #975045

>>975033
Или там много лишнего для того, чтоб кодить под андроид?

Ответы975049975391

17 Апр, 16:24 #7 #975049

>>975045
>программирование
>много лишнего

18 Апр, 06:52 #8 #975391

>>975045
Ты должен знать Java SE хорошо, уметь писать рабочие (пусть и простые) программы, понимать, чем интерфейс отличается от абстрактного класса и т.д., иначе тебе в мобильной разработке нечего делать.
А вообще, вопросы про изучении джавы - это в джава-тред.

Ответы978850981160

18 Апр, 12:26 #9 #975485

Ребят, а какое отношение со стороны работодателей/бизнеса к тем, кто разрабатывает андроид приложения на JavaScript'ах? Вот у Java андроид кодеров в вакансиях просят рассказать жизненный цикл компонентов ведра, многопоточность, оптимизации, а какой-нибудь JS-кодер без задней мысли пилит приложуху, собирающуюся вместе с браузером и ему норм.

Ответы975511975749975755977111981161

18 Апр, 13:03 #10 #975511

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

18 Апр, 19:13 #11 #975749

>>975485
В большинстве своем, тебя не наймут андроид-js разработчиком.
Либо просто js разработчик (с скилом верстать обычный фронт), тогда умение и любовь верстать мобильные версии - будет плюсом. Либо android-богом с java.
Может где-то и есть исключения, но это лишь исключения.

18 Апр, 19:17 #12 #975755

>>975485
Отличное отношение. Бизнесу удобно сразу писать 1 приложение под несколько платформ, да ещё не уступающих по качеству нативным. Ну и в целом JS куда более удобный и приятный язык. Типизация уже прошлый век.
Только в выигрыше останешься. Нативная разработка загибается.

Ответы976030976053

17 Кб, 425x283

18 Апр, 23:25 #13 #976030

>>975755
> не уступающих по качеству нативным

Ну либо ты зеленый

Ответы981162

18 Апр, 23:50 #14 #976053

>>975755
но js -- строго типизизированный язык

Ответы976067

19 Апр, 00:04 #15 #976061

Аноны, где можно найти иконки в векторе для приложения?

Ответы976065976268

19 Апр, 00:18 #16 #976065

>>976061
Или генератор, который выдаст мне такой вот путь

android:pathData="M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0........

19 Апр, 00:26 #17 #976067

>>976053
Вот это поворот, продолжай.

19 Апр, 07:28 #18 #976146

Нужен прогер, для разработки и дальнейшей работы над мобильным приложением.
Опыт работы обязателен.
Мои контакты soniv3'}ebaANUSyasaNndexPUNCTUMrvUcu
Зарплата от 500зеленых в месяц. В перспективе рост зп
В письме рассказать немного о себе, о своих проектах и т.п., сколько готовы уделять времени работе, возраст.

Ответы976286976310

19 Апр, 12:32 #19 #976268

>>976061
В AndroidStudio, на сайте гугла для материал дезигна.
http://stackoverflow.com/questions/33660212/mass-vector-assets-import-android-studio

19 Апр, 13:14 #20 #976286

>>976146
с опытом inb4: школьным за 500?
да вы оптимист, батенька

Ответы976289

19 Апр, 13:28 #21 #976289

>>976286
От 500. Может быть и 600, если сеньор.

Ответы976311981163

19 Апр, 14:14 #22 #976310

>>976146
Удаленка?
Сколько проектов/месяц?

46 Кб, 470x313

19 Апр, 14:14 #23 #976311

>>976289

19 Апр, 21:51 #24 #976531

Алло? Тут реверсом приложений через apktool занимаются?

19 Апр, 21:51 #25 #976532

Аноны как в mpandroidchart установить кастомную ось иксов ,версия обязательно 3.0.0+

Ответы976932

20 Апр, 15:12 #26 #976885

Есть один нотификейшн

Активити в отдельном потоке раннит таймер

Стандартный интент нотификейшна по клике на нотификейшн запускает активити.

Сюжет:
Запускаю активити, открываю другую апку (активити с таймером идет в бэкграунд, но таймер все еще работает), у меня висит нотификейшн, по клике на который активити запускается через onCreate.

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

Ответы976887976916976940981164981165

sage 20 Апр, 15:19 #27 #976887

>>976885
Попробуй выпить смузи в бабершопе, поможет.

Ответы976890

20 Апр, 15:22 #28 #976890

>>976887
Почему такой злой?

20 Апр, 16:11 #29 #976916

>>976885
Можно.

20 Апр, 16:37 #30 #976932

>>976532
Напиши свой графопостроитель.

20 Апр, 17:06 #31 #976940

>>976885
http://stackoverflow.com/questions/2386542/resuming-an-activity-from-a-notification?rq=1

20 Апр, 17:26 #32 #976952

>onDestroy() only gets called on an Activity as a result of a call to finish(), so mainly only when the user hits the BACK button. When the user hits the HOME button, the foreground Activity only goes through onPause() and onStop().

Как быть, если мне надо написать код для onDestroy(), а при краше он не вызываеться. Если этот код не экзекьютиться, то у меня проблемы при следующем запуске апки. onPause() и onStop() не подходят.

Ответы976960976972

20 Апр, 17:32 #33 #976960

>>976952
Try, finally?

Ответы976964

20 Апр, 17:46 #34 #976964

>>976960
Ты не понял, onDestroy тупо не вызываеться, если кильнуть апку через меню.
Или я просто дебил и не понял что ты хочешь мне сказать?

Ответы976971981166

20 Апр, 17:59 #35 #976971

>>976964
Если кто-то из рисентов выкинет приложуху то тебе уже не о чем беспокоится, весь процесс почистят.

Ответы976972976978

20 Апр, 18:01 #36 #976972

>>976971
Сервисы останутся.

>>976952
Чем тебе onPause не подходит? Обычно в нем и сохраняют.
Можешь сохранять данные сразу после изменения. Ну или сервисы использовать.

Ответы976978

20 Апр, 18:02 #37 #976973

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

Ответы976980981168981169

20 Апр, 18:15 #38 #976978

>>976971
Мне надо сохранить данные, иначе следующий запуск будет неправильным (onCreate в mainactivity их считывает)

>>976972
>Чем тебе onPause не подходит?
У меня тогда получаеться конфликт
в onResume я присваиваю true, в onDestroy - false, но активити работает в фоновом режиме и если я в onStop или onPause присваиваю false, то все падает

Ответы977057

20 Апр, 18:17 #39 #976980

>>976973
>глобальные переменные
Плохо, глянь DI (Dagger2 если конкретно для ведра)
>html, xml...
res/assets или res/values/raw, списки слов отлично можно закидывать в values/arrays.xml внутрь <string-array>

Ответы976994

20 Апр, 18:47 #40 #976994

>>976980
>Плохо, глянь DI
Не совсем понял, при чём здесь dependency injection. Мне всего лишь нужно, чтобы в активити была передана строчка с путём до файла. Вместо того, чтобы пихать её через putExtra(), я передаю её через отдельный класс.
>res/assets или res/values/raw
Там можно данные обновлять прямо во время работы приложения, а не при сборке? У меня сейчас все эти html/xml качаются с ftp-сервера, можно списки и инфу на лету поменять.

Ответы977065

20 Апр, 21:27 #41 #977057

>>976978
> У меня тогда получаеться конфликт
> в onResume я присваиваю true, в onDestroy - false, но активити работает в фоновом режиме и если я в onStop или onPause присваиваю false, то все падает
Судя по описанию, ты делаешь какую-то хуйню.

20 Апр, 22:05 #42 #977065

>>976994
Я к тому, что Singltone1488.getInstance() выглядит плохо, а через DI чуть лучше.
>Там можно данные обновлять прямо во время работы приложения
Нет увы.

Ответы977082

87 Кб, 476x735

20 Апр, 22:32 #43 #977069

>>974849 (OP)
Вкатился с небольшими знаниями Java и JS, решил сделать тестовое для Яндекса за 4 вечера.
Ну что ж, поехали.
Так-с, так-с, что тут у нас? Ага, шапка треда.
Начинаю по туториалу создавать первое хэллоуворлдное приложение.

Ответы977070977876978482

20 Апр, 22:34 #44 #977070

>>977069
Держи в курсе

Ответы977075

20 Апр, 22:48 #45 #977075

>>977070
Налил чаю.
Зануда

20 Апр, 23:05 #46 #977082

>>977065
А как через di можно подобную вещь реализовать, поясни? Что-то ничего в голову не приходит. Di для другого же, для того чтобы объекты "надувать" из xml-к, или я чего-то не понимаю?

Ответы977089

20 Апр, 23:20 #47 #977089

>>977082
Почему же из эксемельки. Смысл в том что мы инжектим зависимости при это не знаю как они создаются и где вообще они есть. Грубо говоря ты можешь в своем классе расширяющем Application (существует один экземпляр единовременно) создать хрень через которую будешь менять свои переменные в специализированном объекте и инжектить его куда надо. Главное отличие от синглтона в том что ты можешь поменять реализацию и никто не пострадает.

Ответы977370

21 Апр, 00:12 #48 #977111

>>975485
Все зависит от задачи. А под задачу уже подбирается инструмент- нативная разработка, веб-приложение или может вообще приложение не нужно, лол.
Спрос есть.

21 Апр, 17:23 #49 #977370

>>977089
Di это круто, и, наверное, дохуя полезно, но городить это ради того, чтобы передать одну строчку, это оверкилл, не?

Ответы977398

21 Апр, 18:27 #50 #977398

>>977370
Ну так ты не про одну строку а про какие-то списки файлы мне втираешь. Свою строку можешь засунуть в SharedPreferences, будет норм.

Ответы977403

21 Апр, 18:35 #51 #977403

>>977398
Да не, там два вопроса по сути.
По файлам вопрос: парсится у меня, допустим, из xml какие-нибудь списки, плюс в хтмльках лежат справочные данные. Плюс пара картинок. Всё это дело в ресурсы нельзя помещать, ибо это нужно обновлять периодически централизованно. Так что, скачиваются все эти файлы с ftp сервера. А где их в устройстве хранить? Я сейчас всё это в getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS) храню. Это норм, или нет?
А по строке - как раз этот путь надо было передать, но сейчас я понял, что это нахуй не надо, ибо в целевой активити я тоже могу этот метод вызвать, лол.

Ответы977407977429

21 Апр, 18:38 #52 #977407

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

21 Апр, 19:10 #53 #977429

>>977403
Во внешнем лучше не хранить. Вот эту штуку используй (https://developer.android.com/reference/android/content/Context.html#getFilesDir()) если у тебя контента не на сотни мегабайт.

22 Апр, 18:23 #54 #977876

>>977069
Для Мобилизации? Тоже решил запилить, может возьмут.

мимопэхапэджуниор[/]

Ответы977902

22 Апр, 18:25 #55 #977878

Как понять, что градл подгрузил библиотеку? (хочу верстать флексбоксом, подрубаю compile 'com.google.android:flexbox:0.2.6', но студия всё так же ругается на то, что не знает таких атрибутов. Не должна же?

22 Апр, 18:53 #56 #977902

>>977876
Да. Да чет приболел, наверное, хуй забью.
Тем паче, начал проходить курс от Гугла из шапки треда- а там такая лампота, рассказывают так по доброму, как для самых маленьких.
А от Яндекса посмотрел видосы с прошлой школы- там какой-то косноязычный парень 2 слова связать не может, делает странные паузы, что сложно следить за мыслью и воспринимать то, что он говорит. Может там хорошие программеры, но подача материала ужасна.
Ну и таки есть еще сомнение, что смогу каждый вечер приезжать в Яндекс, вместо капчевания дома.

Ответы977915977928

22 Апр, 19:04 #57 #977915

>>977902
Ну я прям оч хочу пройти придти к успеху, лол. Учитывая, что я понаех и работаю сейчас пэхапэ-джуном в одной конторке, то гипотетическая работка в Яндексе меня очень прельщает.

Ответы977928977948

22 Апр, 19:14 #58 #977928

>>977902
>>977915
У вас обоих нет шансов туда попасть, расслабьтесь.

Ответы977954

22 Апр, 19:22 #59 #977940

Господа, вопрос от юного вкатывальщика. Друг синьор помидор отшил яндекс с предложенными 110к говорит, что нужно подзадрочить okhttp, типа если я его пойму, то всё будет ОК. Про ретрофит говорит, что его реализация проще, но он сложнее для понимания. Мы тут по скайпу с ним разобрали немного okhttp, так я охуел, в инете нет того как он реализовал класс. Так что вот вопрос: что учить okhttp или сразу ретрофит?

Ответы977945

22 Апр, 19:31 #60 #977945

>>977940
> в инете нет того как он реализовал класс
Что?

И зачем вообще учить библиотеки? Может ещё IDE выучить хочешь?

22 Апр, 19:32 #61 #977948

>>977915
Удачи тебе. Надеюсь, у тебя получится пройти эту школу и устроиться в Яндекс на работу.

Ответы977950

22 Апр, 19:33 #62 #977950

>>977948
на самом деле нет

22 Апр, 19:36 #63 #977954

>>977928
У меня знакомый в Я.Такси недавно на собеседование ходил, рассказывал что спрашивали.
Так вот, помимо написания физбаса ему задавали такие вопросы, на половину из которых даже я бы, андроид в руках никогда не державший, ответил.

Ответы977958

22 Апр, 19:42 #64 #977958

>>977954
А вот Ванька Ерохин в Гугл на собеседование ходил, написал сортировку пузырьком на паскале и его взяли.

22 Апр, 19:46 #65 #977962

>>974849 (OP)
Крч, посоны, такой вопрос. Как из под андроида работать с сокетами? Мне нужно на устройстве создать что-то вроде клиента, который может по локальной сети отправлять данные на ПК.

Ответы977968

22 Апр, 19:59 #66 #977968

>>977962
Так же как в джаве (new Socket......), ну разве что сокет должен скорее всего в Service лежать.

Ответы977969

22 Апр, 20:00 #67 #977969

>>977968
а можешь ссылач на инфу? Я прям вообще не секу как это делается. Желательно пример какой штоль

Ответы977971

22 Апр, 20:07 #68 #977971

>>977969
Что именно? Работу с сокетами или как реализовать в ведре?
https://examples.javacodegeeks.com/android/core/socket-core/android-socket-example/ (тут правда плохо с тем что не сервис используется)

http://stackoverflow.com/questions/14985678/how-to-keep-the-android-client-connected-to-the-server-even-on-activity-changes

https://habrahabr.ru/post/150742/

Ответы977972

22 Апр, 20:12 #69 #977972

>>977971
Ооокеей, это шикарно!)) А как теперь создать простейший сервер на ПК, который будет принимать пакеты? Нужна элементарная текстовая строка, которая будет отображать что принялось

Ответы977998

22 Апр, 20:18 #70 #977976

intelij idea зашквар или почему в шапке не написано?

Ответы977977978011978036

121 Кб, 421x404

22 Апр, 20:22 #71 #977977

>>977976

22 Апр, 21:20 #72 #977998

>>977972
Ты охуел. Пойди погугли что ли. В кратце создаешь ServiceSocket на открытом порту и в цикле слушаешь.

Ответы978009981170

22 Апр, 21:36 #73 #978009

>>977998
ништяк, спасибо)

22 Апр, 21:43 #74 #978011

>>977976
Тащемта, гораздо более вменяемый вариант, нежели студия. Ставить IDE для одного лишь ведра это полное уебанство, как по мне.

Ответы978022

22 Апр, 21:56 #75 #978022

>>978011
А что нужно в идею накатить, чтобы она с андроидом стала работать?

Ответы978025

22 Апр, 21:59 #76 #978025

>>978022
Плагин для ведра, он сейчас при установке по-умолчанию включен.

Ответы978037

22 Апр, 22:26 #77 #978036

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

22 Апр, 22:27 #78 #978037

>>978025
А в этом плагине всё для работы есть? И сдк-менеджер, и авд-менеджер и приблуда, которая дизайн лайаутов показывает?
Нахуй тогда студия нужна?

Ответы978056978091

22 Апр, 22:47 #79 #978056

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

22 Апр, 23:52 #80 #978091

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

Ответы978092

257 Кб, 968x656

22 Апр, 23:57 #81 #978092

>>978091
>сдк и авд менеджера нет
Врети.

Ответы978099

22 Апр, 23:58 #82 #978094

Чет случайно обнаружил что апп для почты от мэйлру использует FB Android SDK для входа, они что свое не могли написать?

Ответы978100

23 Апр, 00:05 #83 #978099

>>978092
И правда есть, не заметил. Просто в студии по прямо кнопочки на панельке, лол. Ну и сдк менеджер более модносовременно выглядит в студии.
Но это всё фигня, на самом деле.

23 Апр, 00:05 #84 #978100

>>978094
Зачем? Что бы какие-то петухи кричали потом МОЙ ПАРОЛЬ ОТ ФЕЙСБУКА УКРАДЕН ЛИЧНО УСПАНОВЫМ АААА

Ответы978198

23 Апр, 02:36 #85 #978198

>>978100
Какой пейсбук еще? Это сдк для авторизации от FB. Просто стучит на сервера FB при входе в mailru

Ответы978241

23 Апр, 10:26 #86 #978241

>>978198
Что знаичт сдк для авторизации FB

Ответы978242

23 Апр, 10:30 #87 #978242

>>978241
Может он про FireBase?

Ответы978249

23 Апр, 10:56 #88 #978249

>>978242
И чо.

23 Апр, 16:18 #89 #978482

>>977069
Отправил сегодня своё, с 15 марта делал

23 Апр, 19:58 #90 #978658

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

1) Чем тащить инфу с сайта, курлом?
2) Чем это говно парсить, навскидку нашел jsoup, HtmlCleaner, Jericho HTML Parser. Кто чем пользуется?
3) Хранить в sqllite, а может в json заебенить?
4) Еще советы?

Ответы978667

23 Апр, 20:06 #91 #978667

>>978658
Начни с чего-то попроще. Судя по твоим вопросам ты вообще слабо понимаешь, как сейчас пишут приложения под андроид

Ответы978674

23 Апр, 20:13 #92 #978674

>>978667
Ну так я про это и спрашиваю, под андроид ни разу не писал, но есть небольшой опыт java. Ну или хотя бы пару ссылочек скинь ""как сейчас пишут приложения под андроид" по моей тематике.

Ответы978675

23 Апр, 20:18 #93 #978675

>>978674
Читай шапку, там всё есть.

Ответы978686

23 Апр, 20:41 #94 #978686

>>978675
ок, на сколько актуальны русскоязычные ресурсы из шапки? Как дела обстоят с книгами, какие самые актуальные (можно на англ)? Или курса из офф документации будет достаточно для быстрого старта?

23 Апр, 22:33 #95 #978744

Xamarin/React Native дадут на ротан Java/Kotlin
Ноудискасс.
Ищите работу.

Ответы978819

109 Кб, 1440x2560

23 Апр, 22:43 #96 #978758

Что-то пригорает от Яндекс задания. Пролетаю по срокам, ну и ладно. Не знаю, как подступиться.
Ок, я создал BottomNavigationView для нижнего меню. И не знаю что дальше делать. Знаю, что буду юзать ретрофит для api.
Анон, объясни на пальцах, как ты у тебя связаны фрагменты, активити.

Ответы978768979219979228981173981209

23 Апр, 22:59 #97 #978768

>>978758
Очередной мудачёк делает тестовое задание.
"Анон поясни".
Поясняю: ни в каком яндексе ты не нужен, и за дверью там стоит очередь из мамкиных сыночек-корзиночек, выпускников щизико-моцемоцытечких щколък. ИХ ТОЛПЫ.

Ответы978810978820978821

23 Апр, 23:52 #98 #978810

>>978768
И что теперь, тестовое задание не делать и на стажировки не подаваться? В 2017 году на каждую вкусную позицию претендует куча людей -- ну ничего себе инфа.
мимо

17 Кб, 425x283

sage 24 Апр, 00:02 #99 #978819

>>978744

24 Апр, 00:03 #100 #978820

>>978768
Два чая этому анону.

24 Апр, 00:04 #101 #978821

>>978768
Двачую

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

24 Апр, 00:23 #102 #978850

>>975391
Я вот знаю джаву на среднем уровне, полистал туториалов по андроид-разработке, попробовал что-то сам написать, всё понятно, но как и где в разработку вкатиться, чтоб деньги зарабатывать, не знаю, лол.

24 Апр, 11:23 #103 #979015

сап, антуаны. Нужно сделать простое приложение аля анкета с полями, которые нужно передавать в БД mySQL и авторизацией по учетке google
есть годные, готовые примеры? или подскажите где искать что то подобное?

Ответы979018

24 Апр, 11:42 #104 #979018

>>979015
Причем здесь БД, ты и бекенд делаешь или что? Хорошему приложению нужно абстрагироваться от БД, почитай про REST.
Для гугловской авторизации есть официальные семплы и доки.
Семплов так что бы прям анкеты не видел (потому что ненужно когда есть гугловские анкеты епта), а так полон гитхаб проектов.

Ответы979019

24 Апр, 11:46 #105 #979019

>>979018
>ты и бекенд делаешь
к сожалению
БД mysql уже есть, туда нужно передавать данные анкеты

Ответы979024

24 Апр, 11:51 #106 #979024

>>979019
Ну так передавай, в чем беда-то.
Вот начет auth'a https://developers.google.com/identity/protocols/OAuth2

24 Апр, 17:13 #107 #979207

Есть arraylist обьектов
Надо отсортировать по одному из полей а так же убрать из листа обьекты, у которых одинаковые значения в этом поле.

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

выбрать другую колекцию (hashSet) не могу, т.к. нужен именно arraylist для последующей обработки (метод принимает только arraylist)

Ответы979213979214

24 Апр, 17:15 #108 #979208

>>974849 (OP)
Как guice с ведром запустить? Roboguice как я понимаю умер

24 Апр, 17:27 #109 #979213

>>979207
Collections.sort( List, Comparator )

Ответы979214

24 Апр, 17:33 #110 #979214

>>979207
это если просто сортировать

>>979213
а если хочешь еще как-то поизвращаться то с 8й жавы гугли .stream() и изучай.

Вместо ArrayList работай с интерфейсом List или вообще с Collection.
А вообще тебе в жава-тред, к андроиду вопрос совсем анрилейтед.

24 Апр, 17:42 #111 #979219

>>978758
Поясните: там все эти шрифты, иконки, нарисованный ui прилагаются? Или это всё кодер должен делать сам, а потом ещё будет учитываться дизайн?

Ответы979220

24 Апр, 17:48 #112 #979220

>>979219
UI сам изобретаешь, придумываешь как обустроить по гайдлайнам ведра, это не сложно.
Шрифт системный, Roboto, большего и не надо здесь.
Иконку спиздил на стоке

24 Апр, 17:56 #113 #979228

>>978758
1) Евентбас и им подобная хуйня
2) Вручную: в активити запоминается фрагмент на экране, и дёргаются его методы. Во фрагменте методы родительской активити дёргаются через getActivity().
Если надо из фрагмента в другой что-то передать - юзай эвентбас

24 Апр, 20:25 #114 #979287

Будет ли приложение надежно работать без остановки, если:
1) Стоит флаг WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
2) Активити во весь экран развернута

Ответы979458980150

25 Апр, 00:21 #115 #979458

>>979287
Зво нок. Значение знаешь?

Ответы980112

25 Апр, 00:25 #116 #979459

Анонимы, здорова, сириус вопрос, хелп, пожалуйста.
Почему в Fragment'e, в RecyclerView не сетаются вьюхи, методы onCreateViewHolder() и onBindViewHolder() ни разу не вызываются? Используя тот же адаптер с Activity все ок, все работает. БОльшую часть советов на stackoverflow просмотрел, не помогло. Метод getItemCount() адаптера возвращает верное число. Через дебаг прошуршал, коллекции заполнены, все должно быть ок, но вызывается только конструктор адаптера и все. Было может у кого такое или знает кто как решить?
Спасибо заранее

Ответы979625

25 Апр, 00:26 #117 #979460

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

Ответы979461979629

25 Апр, 00:26 #118 #979461

>>979460
Ебаный автокоррект на айпаде, извините за опечатки.

25 Апр, 10:43 #119 #979625

>>979459
Ты вытсавил LayoutManager для RecyclerView?
Ты прицепил адаптер к RecyclerView?
Попробуй вызвать notifyDataChanged() на адаптере после установки ресайклеру.

Ответы979660

25 Апр, 10:49 #120 #979629

>>979460
В манифест добавляешь BroadcastReceiver, который реагирует на загрузку устройства (BOOT_COMPLETED)
В нем берешь AlarmManager (из контекста) и шедулишь в нем запуск сервиса который будет делать тебе все что надо. В LaunchActivity можешь добавить тот же код (шедулинг), но при этом обязательно убери предыдущий щедулинг через cancel, что бы ты мог активировать это действие не прибегая к перезагрузке.

25 Апр, 11:18 #121 #979660

>>979625
LayoutManager выставляю.
Адаптер к RecyclerView прицепляю.
notifyDataSetChanged() вызываю. Не помогает.
Погуглил тут еще, были предположения, что данные не успевают вытянуться из бд(SQLite), хотя по дебагу было видно, что все ок, сейчас вытягиваю данные в onCreate(), результат тот же- вьюшка пустая.

Ответы979663

25 Апр, 11:25 #122 #979663

>>979660
Ну закинь на гитхаб/пастабин.

Ответы979689

25 Апр, 11:52 #123 #979689

>>979663
Fragment: https://pastebin.com/1dvvuBJS
ViewPagerAdapter: https://pastebin.com/3Z5YyNNr
Activity: https://pastebin.com/y12gJL2C
Сорян за грязный код, пилю и учусь на ходу.
Что понять не могу, так то, что если без фрагмента, внутри пустой Активити все ок рисуется.

Ответы979712

25 Апр, 12:21 #124 #979712

>>979689
Ты не понимаешь сути фрагментов походу, ViewPagerAdapter очень плохой. Ты не должен так их сохранять.
https://github.com/codepath/android_guides/wiki/ViewPager-with-FragmentPagerAdapter

Ответы979750

25 Апр, 13:06 #125 #979750

>>979712
Ушел читать. Спасибо большое за помощь!

25 Апр, 18:40 #126 #979985

Можете пояснить за GreenDAO, как к нему обращаться в первый раз, когда таблицы еще не созданы? На их сайте написано No need to write “CREATE TABLE” statements, но когда я обращаюсь с запросом или с insert-ом к таблице, мне выдается android.database.sqlite.SQLiteException: no such table

25 Апр, 19:39 #127 #980009

Как закрыть все активити кроме того, на котором я сейчас нахожусь. Сделать это надо изнутри активити, тоесть интент с флагом CLEAR_TOP не подходит.

Ответы980013

25 Апр, 19:42 #128 #980013

>>980009
Так что бы совсем текущее не трогать скорее всего никак, если найдешь скинь пример приложения.
http://stackoverflow.com/questions/12947916/android-remove-all-the-previous-activities-from-the-back-stack

25 Апр, 19:53 #129 #980022

я слепой даун. где этот ява тред?

Ответы980064

25 Апр, 19:54 #130 #980024

А можно интенту передать все extra входящего интента без парсинга их вручную?

Ответы980032

25 Апр, 20:09 #131 #980032

>>980024
Можно

25 Апр, 20:39 #132 #980064

>>980022
https://2ch.hk/pr/res/963306.html (М)

25 Апр, 22:01 #133 #980112

>>979458
На планшет никто не звонит.

Ответы980127980149

25 Апр, 22:20 #134 #980127

>>980112
Вайбер, телеграм, они раскрывают свою вьюху при звонке как нехуй.

Ответы980150

25 Апр, 22:33 #135 #980149

>>980112
Ты с полковником путаешь

25 Апр, 22:34 #136 #980150

>>979287
>>980127
Там таких программ нет.
Может ли что-то еще случиться?

Ответы980177

25 Апр, 22:58 #137 #980177

>>980150
> Может ли что-то еще случиться?
Заряд закончиться.

25 Апр, 23:01 #138 #980181

Никто не знает greenDAO?

Ответы980188980222980225

25 Апр, 23:29 #139 #980188

>>980181
Никто не пользуется ORM на андроиде.

26 Апр, 00:10 #140 #980222

>>980181
Насколкьоя помню она была вся такой нящной, но я ебал ей пользоваться. Попробуй ObjectBox, это от тех же разработчиков замена GreenDAO, еще быстрей, выше, проще... Если ты все правильно делаешь по семплам то все работать будет 100%
Скорее всего ты криво заинициализировал.

Ответы980250

26 Апр, 00:13 #141 #980225

>>980181
Зачем greendao если есть realm?

Ответы980250

26 Апр, 00:50 #142 #980250

>>980222
>>980225
> ObjectBox
> realm
И то, и то — говно для даунов. Нормальные поцаны используют StorIO.

Ответы980340

26 Апр, 09:56 #143 #980340

>>980250
Я использовал и "чистый" SQLite, и релм, и обжект бокс, ис тор ио, все говно. Как и программирование в целом.

Ответы980345

26 Апр, 10:10 #144 #980345

>>980340
Абсолютно прав. Кодинг реально говно. Если где-то и есть что-то интересное, то оно далеко от андроида находится.

26 Апр, 23:56 #145 #980833

Антуаны, использовавшие NDK, поделитесь впечатлениями. Много ли поеботни с адаптацией кода под несколько архитектур/тестированием? Можно ведь писать аппсы под андроид целиком на C/C++? Вообще, какие подводные камни у NDK?

Ответы980877

27 Апр, 01:03 #146 #980861

Анон, а делал ли ты что-то под андроид с использованием нейросетей?Интересует распознавание образов, можно ли расчитывать на нейросети в этом вопросе или же производительности не хватит и остаются только "классические" методы?Да, вроде бы есть и MSQRD, и Snapchat, в которых используются нейросети, но у них есть ресурсы на оверинжиниринг, т.е. мне сложно адекватно оценить сложность такого подхода.Пояснишь?

Ответы980876980878

27 Апр, 02:23 #147 #980876

>>980861
По идее, простенькая нейросетка в 3-4 hidden слоя, должна нормально работать на мобилке.

27 Апр, 02:57 #148 #980877

>>980833
>андроид целиком на C/C++
хихихихи

Ответы980949

27 Апр, 02:58 #149 #980878

>>980861
Приложение только отправляет данные на сервер, алло.

Ответы981028

27 Апр, 08:21 #150 #980892

Как понять сколько оперативной памяти использует приложение?
Судя по информации из ADB Monitor - максимум 58 мб выделяется, а если посмотреть на смартфоне в Настройки -> Память - то показывается 170 мб за последрие 3 часа.

Где правда, как всё это понимать?

Ответы981180

27 Апр, 12:58 #151 #980949

>>980877
Не понял, чего ты тут хихикаешь. Если нужны только опенгл, инпут и сенсоры, то аппсу только на C/C++ можно было написать ещё под 2.3. Для игорей самое то.

27 Апр, 15:51 #152 #981028

>>980878
MSQRD без интернета работает, потому и вопрос.

Ответы981056

27 Апр, 16:23 #153 #981056

>>981028
В обоих этих приложениях используются алгоритмы сходные с OpenCVишным алгоритмом нахождения рожи. И на мобилке с этим нет никаких проблем.

27 Апр, 16:57 #154 #981069

onBackPressed() вызывает finish()?

27 Апр, 19:48 #155 #981120

Котличаны, как преобразовать котлиновский MutableList в java ArrayList?

Ответы981188

27 Апр, 20:47 #156 #981160

>>975391
Вообще, судя по себе, все это придет с опытом (и набитыми шишками). Можно сразу в мобилки вкатываться другое дело, что придется кучу всего учить и мозги будут кипеть первое время

27 Апр, 20:48 #157 #981161

>>975485
Как к говну

27 Апр, 20:49 #158 #981162

>>976030
Троллинг же, очевидно

27 Апр, 20:51 #159 #981163

>>976289
2,5k и middle/middle+ в деле ;)

27 Апр, 20:52 #160 #981164

>>976885
singleInstance поставь флаг в манифесте

27 Апр, 20:52 #161 #981165

>>976885
ну и на всякий случай можно еще clearTop поставить

27 Апр, 20:53 #162 #981166

>>976964
может посмотреть в onStop isFinishing ? Не уверен, что можно, но под рукой возможности проверить нету

27 Апр, 20:55 #163 #981168

>>976973
assets/res

27 Апр, 20:55 #164 #981169

>>976973
p.s. Еще добавь path-ы в конфиг файл .properties и инжекти через gradle

27 Апр, 20:58 #165 #981170

>>977998
>ServerSocket
fixed

27 Апр, 21:01 #166 #981173

>>978758
VIPER
:333
мимо-мамкин-архитектор

27 Апр, 21:22 #167 #981180

>>980892
> ADB Monitor
Считает только память виртуальной машины без нативной.

Ответы981196

27 Апр, 21:40 #168 #981188

>>981120
new ArrayList<>(mutableList).
У ArrayList есть конструктор принимающий коллекцию.

Ответы981201

27 Апр, 21:54 #169 #981196

>>981180
Ага! Значит что-то другое отжирает кучу памяти.

27 Апр, 22:00 #170 #981201

>>981188
Точно, забыл про это. А какого-нибудь способа без копирования всей коллекции нет?

Ответы981204981207

27 Апр, 22:06 #171 #981204

>>981201
Тот конструктор что я указал постарается избежать копирования и просто возьмет результат toArray() от твоего листа, так что эффективность будет зависеть от конкретной реализации MutableList, если там массивчик то все круто, иначе прийдется выделять место под массив в любом случае и провести копирование ссылок.

Ответы981207

27 Апр, 22:08 #172 #981207

>>981201
>>981204
Ан нет, проебался копирование произойдет. Ну ничего ты с этим не сдлеаешь, с дургйо стороны нахуй тебе собственно MutableList переводить в ArrayList?

Ответы981211

27 Апр, 22:09 #173 #981209

>>978758
Нихуя себе, это типа только на стажировочку?

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

Ответы981234

27 Апр, 22:10 #174 #981211

>>981207
>нахуй тебе собственно MutableList переводить в ArrayList?
Т.к. та часть приложения на яве

Ответы981215

27 Апр, 22:19 #175 #981215

>>981211
Ну так ява отлично котлиновские классы понимает, или ты передаешь его в модуль где котлин не подключен? В любом случае ты можешь передать его как обычный List скорее всего и set|add|remove как тебе удобно.

Ответы981224

27 Апр, 22:29 #176 #981224

>>981215
> В любом случае ты можешь передать его как обычный List скорее всего
Я тоже так думал, но toList не работает. Пишет что required ArrayList<Blabla!>!, а found List<Blabla>

Ответы981844

27 Апр, 22:48 #177 #981234

>>981209
Ты это сначала осиль сделать нормально, а не хуяк хуяк и так сойдет.

Ответы981237

27 Апр, 22:54 #178 #981237

>>981234
Так дай каких-нибудь примеров, чтобы делать.
Или местные синьоры хотя бы подкиньте списочек: какие штуки андройда приложение должно затрагивать/активно юзать чтобы на собесе потекли не выглядеть лошком-первокурсником?
Типа к примеру: фрагменты, пендинг интенты, сервисы, работа с сетью ретрофитом, ормы или наоборот с сикулем пердолиться, ресайкл вьюс, какие-то йобы новых версий андройда и т.п.

Ответы981249981326

27 Апр, 23:09 #179 #981249

>>981237
У тебя задание перед глазами, его и делай. Оценивают всегда по качеству кода, а не его количеству или набору используемых библиотек.

Ответы981278981327

27 Апр, 23:42 #180 #981278

>>981249
Так у меня нет задания
Хочеться чего-нибудь в портфолио сделать ибо у меня есть подозрения что рандомного корзинойда без гитхаба и без вышки даже смотреть и предлагать тестовое не будут.

Ответы981281

27 Апр, 23:43 #181 #981281

>>981278
>Хочется
фикс

28 Апр, 00:48 #182 #981326

>>981237
Сервисы, broadcast receiver-ы, jobScheduler/priority-job-queue, AccountManager.
Это что касается "tricky" компонентов. А так - стандартный стек фреймворков rxJava2, retrofit2, okhttp3.5, gson, greenDAO/sugar orm/ormlite/дргуая какая ORM-ка или чтоб вообще потекли storIO. Соответственно, архитектура (MVP, Clean, VIPER, MVVM), паттерны проектирования (хотя-бы самые обычные - адаптер, билдер, фасад, прокси, мост, memento, command). Плюс хотя-бы одно приложение в котором есть это все (и чтобы оно работало, пожалуйста). Вообще заебись - если там еще будут пуши с FCM (Firebase Cloud Messaging), какой-нибудь дополнительный сервис синхронизации в бэкграунде и подрубленная аналитика. Тащемта, вот

28 Апр, 00:49 #183 #981327

>>981249
Хуй там плавал, оценивают по внешнему виду и отзывчивости приложения. Ибо смотрят их в основном HR-ы. А программисты смотрят уже когда тебя отсобеседуют за щеку, если им понравится как ты отсобеседовлся ;)

28 Апр, 12:18 #184 #981445

Аноны, есть чатик в телеграме?

Ответы981489

sage 28 Апр, 14:22 #185 #981489

>>981445
> Аноны
> чатик в телеграме

sage 28 Апр, 15:51 #186 #981508

>>981502
Пошёл нахуй со своим говном.

28 Апр, 19:48 #187 #981613

Почему webview при вызове restoreState загружает страницу заново?

Ответы981779982445

sage 28 Апр, 20:21 #188 #981626

>>981622
И ты пошёл нахуй со своим говном.

Ответы981636

28 Апр, 20:50 #189 #981636

>>981626
Да заходи к нам, пообщаемся за твои проблемы.

Ответы981644

sage 28 Апр, 21:19 #190 #981644

>>981636
Зашёл тебе за щеку.

28 Апр, 23:22 #191 #981711

Анончик, почему так мало спецов которые шарят в clean arch, даггере и всяких подобных полезных технологиях, которые ускоряют разработку?

Ответы981741981753981929

29 Апр, 00:14 #192 #981732

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

Ответы981735

29 Апр, 00:15 #193 #981735

>>981732
Конечно, закрытое по емейлу.

29 Апр, 00:24 #194 #981741

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

Ответы981744

29 Апр, 00:34 #195 #981744

>>981741
Именно что нет.

29 Апр, 01:11 #196 #981753

>>981711
Потому что бизнесу насрать на красоту кода, поддерживаемость и прочие радости разработчика. Им нужно запустить приложение как можно скорее и дешевле. И если оно взлетит, вот тогда можно будет подумать, как и что улучшить. В итоге хороший код есть либо в конторах уровня Яндекса и Легиона, а остальные говно месят. Как и в любой отрасли разработки ПО.

Ответы981758981759

29 Апр, 01:27 #197 #981758

>>981753
Ну бизнесу не насрать на скорость разработки. В итоги с этими штуками оно реально быстрее и масшабируемее по итогу

29 Апр, 01:31 #198 #981759

>>981753
В конечном итоге это выливается в сложности с поддержкой и развитием продукта. Но как правильно менеджерам похуй - они скорее всего уже получили свои премии и съебали в закат, оставив бизнесу говно, но работающее. А на их место приходят новые, охуевают, но пытаются выполнить KPI, заёбывая разрабов. В итоге нормальные уходят, взамен им берут студентов, те месят говно, но стараются выполнить требования менеджеров. Дальше начинается бесконечный круг с текучкой, пока в один момент волевым усилием не принимается решение всё переписать нахуй с нуля ну или бизнес сдувается раньше

29 Апр, 05:55 #199 #981779

>>981613
Бамп

29 Апр, 10:11 #200 #981830

Кто-нибудь трогал React native? instagram вроде полностью на нем сделан? Сам пишу на java/kotlin, стоит ли вкладывать время в изучение js?

Ответы981863

29 Апр, 10:30 #201 #981844

>>981224
А зачем ты используешь ArrayList в качестве аргумента?

29 Апр, 11:52 #202 #981863

>>981830
Нет нахуя? React native это просто возможность писать нативно на js чтобы вебомакакам было легче освоить андроид и айос. А если захочется перекатиться на айфон то тебе будет намного проще освоить swift, котлин очень много оттуда взял.
Лучше уже ксамарином себя пощекочи

29 Апр, 14:27 #203 #981929

>>981711
Почему мало ? Не там ищешь.
мимо-два-года-в-андроиде-и-уже-мамкин-архитектор
К слову,ЧЗХ, где мой пост с конфами в телеге?
Да, великий модер, я могу в hidemyip
и вообще, какого хуя мне бан за тематические ссылки дали, ЧЯСН?

12 Кб, 414x119

29 Апр, 14:38 #204 #981944

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

Почему вместо нормального Android SDK с графическим менеджером пакетов гугл теперь заставляет качать либо всю Android Studio, либо обрезанный пакет консольных утилит (с консольным же менеджером пакетов)? Почему в этом пакете утилит не работает сраный эмулятор?
Это ещё ладно, откатился/радуюсь.

Что с идеей-то не так? Почему происходит пикрелейтед? Раньше же всё работало нормально.
Support-библиотеки 25.3.1 подключены грейдлом, всё синхронизировано, target/compile SDK = 25, build tools 25.0.3

Спаси, анон.

напишу ваше приложение просто так 29 Апр, 17:21 #205 #982033

привет анон. Если идея будет годной и трудозатраты ~ меньше чем за 20 часов я вьебу пару выходных и запилю.

Ответы982058

29 Апр, 17:42 #206 #982058

>>982033
> меньше чем за 20 часов
Приложение-визитка?

29 Апр, 22:53 #207 #982184

Как без стрононних либ делаются запросы к серверу, так, чтобы переворот экрана корректно пережить и привязаться к lifecycle?
Только AsyncTaskLoader, no way?

Ответы982200982208

29 Апр, 23:06 #208 #982196

Есть тут аноны, владеющие опенжл? Застрял на простейшем примере. Поясните по хардкору в чем проблема, тестил на эмуляторе и на реальном телефоне, синий треугольник нихуя не появляется(а, сука, должен).
Рендерер(99% что проблема как раз в нем):
https://pastebin.com/v45yeNe1
Класс загрузки шейдеров из файлов:
https://pastebin.com/JVQ9WVmH
Класс компиляции и линкования шейдеров(все работает, ошибок линкования и компиляции нет)
https://pastebin.com/yvfGxqKj
Шейдеры:
https://pastebin.com/W1WaJXft
Опенглсурфейс и активити не кидаю, там все тривиально и негде проебаться.

29 Апр, 23:12 #209 #982200

>>982184
Лоадер может быть свой, сервисами ещё можно или своим синглтоном.

Ответы982597983551

29 Апр, 23:31 #210 #982208

>>982184
Можешь AsyncTask в retained Fragment'е.

30 Апр, 13:31 #211 #982361

Анонасы, подскажите, вот такой стар интента выдавал краш на реальном устройстве, на эмуле - все норм было:

final Intent intent = new Intent(getApplicationContext(),
SomeActivity.class);
getApplicationContext().startActivity(intent);

заменил на:
final Intent intent = new Intent(this,
SomeActivity.class);
startActivity(intent);

- заработало. Какого хрена?

Ответы982399

30 Апр, 14:58 #212 #982384

>>974849 (OP)
Как Java IO вообще работает с кириллицой? Печатаю html-ку в файл в экстернале - что через fileoutputstream, что через writer вместо русских букв получаются крякозябры(все остальное нормально). Что не так?

Ответы982394

30 Апр, 15:11 #213 #982394

>>982384
кодировка у файла utf8?

Ответы982397

30 Апр, 15:15 #214 #982397

>>982394
Да. Олсо, я тут посмотрел внимательнее. Хром открывает хтмл-ку нормально, какие-то просмотрщики тоже. Такая хуйня только в лисе. ЧЯДНТ?

Ответы982532

30 Апр, 15:16 #215 #982399

>>982361
https://possiblemobile.com/2013/06/context/

30 Апр, 15:17 #216 #982400

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

30 Апр, 16:42 #217 #982445

>>981613
Ни кто не знает.

30 Апр, 17:23 #218 #982467

Сап.

Использую PreferenceFragmentCompat из preference-v7, версия библиотеки 25.3.1
Один из преференсов - EditTextPreference.
Нужно сделать так, чтобы при нажатии на него появлялась клавиатура, которая позволяет вводить только цифры.

android:inputType="number", android:numeric="integer" и подобное в разметке не спасло, появляется абсолютно обычная клавиатура, вводить можно что угодно.

Ответы982480982587

30 Апр, 17:50 #219 #982480

>>982467
руками диалог сделай с обычным эдитом, и будет тебе счастье

Ответы982493

30 Апр, 18:13 #220 #982493

>>982480
Разобрался, проблема была как раз в PreferenceFragmentCompat. После того, как перевёл всё приложение на не-саппорт фрагменты, заработало как надо.

Ответы982518

30 Апр, 18:36 #221 #982518

>>982493
> как перевёл всё приложение на не-саппорт фрагменты
Нахуя?

Ответы982531

30 Апр, 18:56 #222 #982531

>>982518
Ну, приложение не особо большое, так что это не было сложно/долго.
Зато не пришлось велосипедить.

Ответы982535982546

30 Апр, 18:57 #223 #982532

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

StringBuilder buf = new StringBuilder();
InputStream inputStream= null;
String htmlString = "";
try {
inputStream= mContext.getAssets().open(assetPath);
BufferedReader in = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
String str;
while ((str=in.readLine()) != null) {
buf.append(str);
}
in.close();
htmlString = buf.toString();
} catch (IOException e) {
e.printStackTrace();
}

Ответы982545

30 Апр, 19:01 #224 #982535

>>982531
Нахуя?

30 Апр, 19:13 #225 #982545

>>982532
Ассет можно же по прямой ссылке в вебвью скармливать.

30 Апр, 19:14 #226 #982546

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

Ответы982550

30 Апр, 19:17 #227 #982550

>>982546
Почему? Я, вроде как, как раз всё реализовал, как говорят сами гугловцы.
https://developer.android.com/guide/topics/ui/settings.html

Ответы982561

30 Апр, 19:29 #228 #982561

>>982550
Потому что несаппортовское все имеет свой дизаин на каждом девайсе.

Ответы982572

30 Апр, 19:44 #229 #982572

>>982561
А можете вообще пояснить за саппорт vs несаппорт либы: когда что юзать, что предпочтительнее? ну там когда саппорт фрагменты - когда обычные и т.д.? плюсы, минусы, подводные камни? (или ткните где это развернуто объяснено, а то я сколько не ищу - не нашел)

Ответы982587

30 Апр, 19:55 #230 #982587

>>982572
Несаппорт-либы - это как?

Ну, вообще часть функционала есть только в саппорт-либах (NavigationDrawer, к примеру). И эта часть функционала иногда тянет за собой переделывание половины приложения под саппорт-либы, что не круто.
Ещё саппорт-либы позволяют использовать новые фичи в старых уровнях API. То есть, например, до Honeycomb, в андроиде не было фрагментов. Вообще. Поэтому если ты хочешь, чтобы твоё приложение с фрагментами поддерживало андроид версии старше Honeycomb, тебе придётся использовать саппорт-фрагменты.

Иногда выходит очень неожиданно, как у меня было (>>982467-кун). Мне нужно было встроить фрагмент внутрь фрагмента, а это работает только с API >= 17, или если использовать фрагмент из саппорт-библиотеки. Поэтому пришлось перевести всё на саппорт-фрагменты. Из-за этого пришлось использовать экран настроек из другой саппорт-либы, который в свою очередь оказался ну очень кривым.
Пришлось переводить всё обратно на обычные фрагменты и повышать минимальную поддерживаемую версию API.

Ответы982592982607982618982664

30 Апр, 20:00 #231 #982592

>>982587
> Пришлось переводить всё обратно на обычные фрагменты и повышать минимальную поддерживаемую версию API
Хорошо же кодить свои мелкие проектики, а не заниматься коммерческой разработкой. Захотел - поднял апи, захотел - опустил.

Ответы982599

30 Апр, 20:07 #232 #982597

>>982200
Это же заебешься через сервисы делать.
По сути свой лоадер изобретаешь.

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

Ответы982617

30 Апр, 20:10 #233 #982599

>>982592
Да, есть такое.

Впрочем, если верить википедии, при minapi = 17 теряется поддержка что-то около 7% устройств, что, на самом деле, далеко не критично.

Ответы982602

30 Апр, 20:14 #234 #982602

>>982599
> википедии
https://developer.android.com/about/dashboards/index.html

Вообще, есть тренд на min 19.
И посмотрев на график сегодня, считаю этот переход оправданным.

30 Апр, 20:20 #235 #982607

>>982587
(про NavigationDrawer не знал, принял к сведению)
Это понятно что чего-то на старых версиях нету и для этого нужны саппорт либы, но вот скажем я те же фрагменты хочу юзать или лоадеры и мой апи >19. Я могу как саппорт фрагменты использовть, а могу обычные. Чему отдавать предпочтение?

Ответы982612982615

30 Апр, 20:22 #236 #982612

>>982607
Саппорту, хули ты выебываешься?
Как минимум из-за commitNow, вместо блядского commit.

30 Апр, 20:23 #237 #982615

>>982607
Ну, с моего неопытного дивана (два небольших приложения уровня "длясебя"), предпочитать стоит обычные. Потому что, всё-таки, саппорт-либы - это эдакие нагромождённые костыли. Которые иногда ещё и работают ну очень криво.

30 Апр, 20:26 #238 #982617

>>982597
У них ужасное API.
Некоторые вещи без сервисов и не сделаешь. Понятно, для рядовых запросов это не нужно, но если речь о каких-то сообщениях или финансовых транзакциях, то нужно обезопасить запросы от того, что пользователь может закрыть приложение и тогда всё отменится.

Ответы982936

30 Апр, 20:27 #239 #982618

>>982587
Рецепт простой: всегда использовать компоненты из support-library. Даже если пишете приложение под sdk version 24.

Ответы982621982623

30 Апр, 20:30 #240 #982621

>>982618
Спасибо за совет, а какие аргументы? Я предпочитаю осмысленно всё делать и понимать почему я делаю тот или иной выбор.

Ответы982627

30 Апр, 20:33 #241 #982623

>>982618
Окей, если использовать саппорт-фрагменты, то единственный вариант, который остаётся - PreferenceFragmentCompat из preference-v7
Он не будет работать до тех пор, пока не будет указана в стилях тема преференсов. И вылетает при этом, насколько помню, без какой-либо вменяемой ошибки.

Ладно, хорошо, ничего сложного, погуглить пару минут.
Но почему EditTextPreference абсолютно не учитывает inputType? Почему я должен писать из-за этого какой-то адский велосипед? Если использовать не-сапортовский PreferenceFragment, всё работает как часы.

Ответы982690

30 Апр, 20:38 #242 #982627

>>982621
Выше ведь писали. Часть компонентов есть только в support версии, библиотека регулярно обновляется, не будешь зависеть от багов какого-нибудь самсунга, который любит всё ломать.

sage 30 Апр, 22:46 #243 #982664

>>982587
> Ну, вообще часть функционала есть только в саппорт-либах (NavigationDrawer, к примеру). И эта часть функционала иногда тянет за собой переделывание половины приложения под саппорт-либы, что не круто.
Лолшто? Что NavigationDrawer, что ViewPager не обязуют тебя использовать саппортные фрагменты.

30 Апр, 23:57 #244 #982690

>>982623
Нет, единственный вариант, который остаётся - это использовать кастомный preference fragment с материал десигном. Ибо ни саппортовый, ни обычный не поддерживают.

А ещё саппорт либа полезна тем, что в неё обычно толкают уже обкатанные и исправленные вещи. Хуй знает, кто использует обычный ведроидовский Navigation Drawer, когда есть богоподобный от майка пенза

Ответы982750982756

01 Май, 08:52 #245 #982750

>>982690
>есть богоподобный от майка пенза
Спасибо за наводку, анон.

Ответы982756

sage 01 Май, 09:14 #246 #982756

>>982690
>>982750
Сейчас бы библиотеки от какого-то васяна использовать.

01 Май, 15:48 #247 #982936

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

Это же только foreground service.

Ответы983221

01 Май, 20:35 #248 #983221

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

Ответы983279

01 Май, 21:38 #249 #983279

>>983221
Обычный сервис как раз закрывается к хуям после смахивания из recent.

Nexus 5, Android 6

Ответы983297

01 Май, 22:26 #250 #983297

>>983279
Он закрывается, но перезапускается, если sticky его сделать.

02 Май, 01:19 #251 #983355

>>974849 (OP)
Короче. Такая задача. Есть файл с исходными данными. Как его прочесть? Я сейчас спрашиваю не о всяком говне типа API функция для работы с файлами, а о банальном расположении ебучего файла. Как к нему указывать путь? Пробовал писать путь к файлу исходя из его свойств в файл эксплорере. Нифига. Может его нужно кудато закинуть. Там в ресурсы или еще кудато. куда?

Ответы983358

02 Май, 01:32 #252 #983358

>>983355
В res создай папку raw.
Потом context.getResources().openRawResource(resourceId);

02 Май, 07:53 #253 #983412

Подскажите - как ускорить отрисовку множества линий на вьюхе (график в реалтайме)?
Сейчас использую SurfaceView, рисую в отдельном потоке.
Вариант с Path адекватно работает, пока график "гладкий" и получается около 50 FPS.
Как только на графике появляется шум - fps падает до 25.
Вариант с canvas.drawLines() работает хорошо, пока линий мало (даже быстрее, чем path), как только их становится 1080 - он работает медленнее, чем path.

Ответы983417

02 Май, 08:26 #254 #983417

>>983412
Я надеюсь, ты не рисуешь за пределами текущего вьюпорта графика за экраном?

Ответы983644

02 Май, 10:48 #255 #983434

Что легче в целом - тырпрайз или ведро?

Ответы983442983455

sage 02 Май, 11:05 #256 #983442

>>983434
Легче продавцом в мвидео работать.

02 Май, 11:24 #257 #983455

>>983434
Тырпрайз на галере конечно, проекты с сопровождением по 20 лет, можно годами штаны просижывать и практически нихуя не делать. Главное выбирай галеру по крупнее и "престижнее".
А на андройде будешь вынужден хуярить как бешеный.

02 Май, 14:52 #258 #983551

>>982200
rx ?)

Ответы983553983643

02 Май, 14:59 #259 #983553

>>983551
Он спрашивал, как без сторонних библиотек это сделать.

02 Май, 17:37 #260 #983643

>>983551
В случае с лоадером - в rx вся логика, которая была в doInBackground где будет лежать?

Ответы983723

02 Май, 17:38 #261 #983644

>>983417
Нет

02 Май, 20:12 #262 #983723

>>983643
Ее не будет

Ответы983731

02 Май, 20:24 #263 #983731

>>983723
Если я могу использовать один и тот же Loader в нескольких активити, то в случае с RX мне придется КОПИРОВАТЬ КОД?

Ответы983734983981

02 Май, 20:29 #264 #983734

>>983731
Можешь вынести его в репозиторий и все будет хорошо.

Ответы983737

02 Май, 20:33 #265 #983737

>>983734
Что мне выносить в репозиторий, можешь больше конкретики сказать?
Я в rxjava новичек.

Ответы983747983750984068

02 Май, 20:43 #266 #983747

>>983737
То что ты делаешь в своем долбаном doInBackground. Тебе легче семплы посмотреть ну.

02 Май, 20:44 #267 #983750

>>983737
https://github.com/kaushikgopal/RxJava-Android-Samples

03 Май, 08:37 #268 #983981

>>983731
Я обычно создаю свой observable и там тот же самый код, что и в doInBackground.
Правильный же подход?
Алсо, семплы не смотрел никогда.

03 Май, 11:36 #269 #984068

>>983737
в репозиторий инкапсулируются:
1) интерфейсы для обращения к конкретным источникам данных
2) мапперы entity -> dto, dto->entity
3) стратегия для определения источника данных

Репозиторий - штука, которая возвращает данные из одного/нескольких источников так, что получатель не в курсе, откуда они.

И главное - в репозитории не должно быть бизнес-логики!

03 Май, 12:35 #270 #984088

Есть у кого-нибудь Kotlin in Action?

606 Кб, 1280x720

Сервис с периодической отсылкой данных 03 Май, 12:38 #271 #984091

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

Сделал сервис, в котором создан Runnable, который сохраняет данные в БД, отправляет данные и, в случае успеха, удаляет эту запись из БД. Если в какую-то итерацию записи в БД есть и есть связь, отгружает записи по сотне на сервер.
Все работает, но чувствую кривоватость решения, да и постоянно какие-то мелкие проблемы возникают, намекающие на кривой код.

Подскажите, пожалуйста:
1) Как такое грамотно реализовывать?
2) В целом для приложения (не только для указанного сервсиса) написал свой класс-наследник AsyncTask для ассинхронных запросов, в котором создается HttpURLConnection и выполняется реквест. Насколько плохо делать так, а не использовать готовую бибилотеку?

Ответы984093984145984149984843

03 Май, 12:41 #272 #984093

>>984091
> раз в 2 секунды отсылать данные на сервер и работать в фоне
> сервис, в котором создан Runnable, который сохраняет данные в БД, отправляет данные и, в случае успеха, удаляет эту запись из БД. Если в какую-то итерацию записи в БД есть и есть связь, отгружает записи по сотне на сервер.
> написал свой класс-наследник AsyncTask для ассинхронных запросов, в котором создается HttpURLConnection и выполняется реквест

Просто пиздец.

Ответы984095984139

03 Май, 12:43 #273 #984095

>>984093
Аргументированно.

Ответы984096

sage 03 Май, 12:44 #274 #984096

>>984095
Съеби в js-тред.

Ответы984098984139

03 Май, 12:50 #275 #984098

>>984096
Нет, ты. Вот, нахер ты нужен в таком треде? Ты думаешь, я не в курсе, что мои решения - говно? Конечно, я в курсе, и потому и спрашиваю совет в тематическом треде.
А вот очередной чсвшный мудак, чей уровень, к слову, скорее всего, не сильно выше, и который потешает свое чсв в таких темах своими короткими высерами точно не нужен.

Ответы984099

sage 03 Май, 12:52 #276 #984099

>>984098
Ебать истерика.

Ответы984100984139

03 Май, 12:53 #277 #984100

>>984099
Ясно.
А зачем сажа, кстати?

Ответы984116

03 Май, 13:28 #278 #984116

>>984100
Стандартный признак ЧСВ.
Забей на этого иксперта, антош

Ответы984122

03 Май, 13:38 #279 #984122

>>984116
Спасибо, ты прав, антош. Хочешь я у тебя отсосу?

Ответы984127

179 Кб, 660x1057

03 Май, 13:45 #280 #984127

>>984122
И мне тоже, тогда уж.

Ответы984132

03 Май, 14:03 #281 #984132

>>984127
А тебе нет, ты говно.

Ответы984139

03 Май, 14:51 #282 #984139

>>984093
>>984096
>>984099
>>984132
Одна порватка в треде есть, я спокоен

Мимо

03 Май, 15:02 #283 #984145

>>984091
>сотня записей в бд за 2 секунды.
ты системные логи чтоли собираешь?

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

Ответы984158984200984201

03 Май, 15:04 #284 #984149

>>984091

>мелкие проблемы возникают, намекающие на кривой код.
код в студию, или мы тут по-твоему экстрасенсы.

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

Ответы984158984200

03 Май, 15:26 #285 #984158

>>984145
>>984149
Идите нахуй, не хотите помогать - не надо.

Ответы984159

03 Май, 15:29 #286 #984159

>>984158
Хотим, но не тебе.

Ответы984161

03 Май, 15:32 #287 #984161

>>984159
Отстань.

250 Кб, 550x394

03 Май, 16:53 #288 #984200

>>984145
Координаты и еще немного инфы, мелкие данные.

>>984149
Довольно громоздкий там код, удалил второстепенное:

AsyncTask - https://pastebin.com/6ETymXUq

Интерфейс, который используется:
public interface AsyncResponse{
Answer processFinish(JSONObject output);
}

сервис - https://pastebin.com/RyDDk7GW - от предка получает текущие координаты

http://www.buzzodd.com/wp-content/uploads/2014/08/6-flizbike1.jpg

Ответы984864

03 Май, 17:02 #289 #984201

>>984145
>>сотня записей в бд за 2 секунды.
>ты системные логи чтоли собираешь?
Нет, не так, запись идет раз в 2 секунды, но, например, без связи, они могут накапливаться, и потом я их пакетами по 100 отгружаю на сервер.

04 Май, 19:30 #290 #984843

>>984091
Не стоит дергать интернет раз в 2 секунды, на новых системах тебе этого никто даже не даст.
>координаты
Опять шпионишь, мразь?
Даже без интернета интервал очень маленький, координаты нет смысла так часто собирать если ты пользователю не показываешь активную карту. Смотри в сторону JobSchedule'ов, и тд.

https://www.bignerdranch.com/blog/choosing-the-right-background-scheduler-in-android/

Ответы984854

901 Кб, 896x563

04 Май, 20:12 #291 #984854

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

Ответы984855984861

04 Май, 20:16 #292 #984855

>>984854
Курьера с наркотой отслеживать?

Ответы984864

04 Май, 20:20 #293 #984860

Есть файл в res -> raw как что-нибудь записать в него?

Ответы984861

04 Май, 20:23 #294 #984861

>>984860
Нельзя туда писать если ты не дохуя рутованый.
>>984854
Тогда делаешь sticky (система постарается поднять его максимально быстро если выключит его) сервис и в нем по таймеру запускаешь свой говнориквест. Еще можешь сделать этому сервису нотификашку и запускать его как форгнарунд (система убьет его последним из сервисов)

Ответы984864

245 Кб, 500x332

04 Май, 20:32 #295 #984864

>>984855
Трекинг для предприятия.
>>984861
Спасибо, про стики не знал.
Ну, у меня примерно так и сделано, и на тестах работало часами в фоне как надо, но через некоторое время сами реквесты перестают проходить, хотя сервис работает.
Прокомментируй мой говнокод, пожалуйста ->>984200

Ответы984877

04 Май, 20:54 #296 #984877

>>984864
Подцепи крашлитику или какой-нибудь файловый лог. ЧТо бы понять почему тесты не идут, еще возможно дело в том что тебе на новых системах закрывают интернет так как doze. Его можно обойти не делая никаких JobSchedulerов вроде бы запросив какой-то пермишен. Код слишком говно, откуда там активити и нахуя. А еще твоя проверка на конекшн не очень осмысленна, лучше всегда делать запрос и если связи нет, то ну ладно так и быть.

Ответы984885

268 Кб, 500x333

04 Май, 21:16 #297 #984885

>>984877
Примерно через 10 минут работы выдает java.net.SocketTimeoutException. Если перевести в форграунд, оживает, начинает работать, но при этом старые запросы, которые не прошли, почему-то начинают всем скопом выполняться.

Активити нужно было для того, чтобы при некоторых процессах, например, отгрузки БД послать через интент в активити инфу об отгрузке.

А в остальном сама реализация асинк-таск как?

Ответы984889984893

04 Май, 21:32 #298 #984889

>>984885
Говно.

234 Кб, 700x584

04 Май, 21:38 #299 #984893

>>984885
>А в остальном сама реализация асинк-таск как?
Зачем тебе вообще асинки, юродивый?
Пиши синхронный код, ради Аллаха.

Сделай очередь, с координатами, и пусть в нее сборщик данных срет.
А вторым потоком читай и отправляй.

Ответы984897

375 Кб, 540x360

04 Май, 21:45 #300 #984897

>>984893
>асинки

Чтобы в это время активити не блокировалось, кнопочки нажимались.

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

Ответы984909

04 Май, 22:09 #301 #984909

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

А ты не думал, что в БД оно пишется не сразу, а как-то немного по другому?
И что при вылете ты все равно можешь потерять данные?

Ну пиши в БД, и читай из БД.
Без всяких асинхов.

Алсо, это дебильный подход.
Если у тебя все на диск скидывается, ты будешь флешпамять изнашивать.

Либо делай умнее, пирожок.
Либо делай из всей флешки RRD бд.

>Либо делай умнее, пирожок.
Кто тебя вообще, и зачем, на работу взял, лапочка?
Запроси себе лида, или техдиректора. Сам же не справляешься.

Пишешь данные в очередь, вторым потоком читаешь, и отправляешь на сервер. Если сервер недоступен - сохраняешь в файл.
Если сервер снова доступен, опорожняешь туда первым делом содержимое файла.

Бд какие-то, асинки.
Псих.

Асинки нужны когда у тебя десятки\сотни тысяч запросов в секунду.

04 Май, 22:09 #301 #984909

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

А ты не думал, что в БД оно пишется не сразу, а как-то немного по другому?
И что при вылете ты все равно можешь потерять данные?

Ну пиши в БД, и читай из БД.
Без всяких асинхов.

Алсо, это дебильный подход.
Если у тебя все на диск скидывается, ты будешь флешпамять изнашивать.

Либо делай умнее, пирожок.
Либо делай из всей флешки RRD бд.

>Либо делай умнее, пирожок.
Кто тебя вообще, и зачем, на работу взял, лапочка?
Запроси себе лида, или техдиректора. Сам же не справляешься.

Пишешь данные в очередь, вторым потоком читаешь, и отправляешь на сервер. Если сервер недоступен - сохраняешь в файл.
Если сервер снова доступен, опорожняешь туда первым делом содержимое файла.

Бд какие-то, асинки.
Псих.

Асинки нужны когда у тебя десятки\сотни тысяч запросов в секунду.

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

463 Кб, 550x437

04 Май, 22:30 #302 #984914

>>984909
>Без всяких асинхов.
Но все же как мне не блокировать основной поток при этом?

>И что при вылете ты все равно можешь потерять данные?
Потерять 1-2 записи - нестрашно, а потерять десятки точек из очереди - плохо.

>Пишешь данные в очередь, вторым потоком читаешь, и отправляешь на сервер. Если сервер недоступен - сохраняешь в файл.
>Если сервер снова доступен, опорожняешь туда первым делом содержимое файла.
Хорошо, пусть так, но чем файл лучше БД?

Ответы984915

04 Май, 22:34 #303 #984915

>>984914
>Но все же как мне не блокировать основной поток при этом?
Создай дополнительный поток.

>>984914
>Хорошо, пусть так, но чем файл лучше БД?
Проще.
Ну пользуй бд если очень хочся.

Ответы984919

90 Кб, 264x191

04 Май, 22:40 #304 #984919

>>984915
Ок, спасибо за ответы, так-то просто у меня уже есть классы и для БД, и для запросов через асинктаск.
А чем асинк плох - не понимат, в примерах на том же андроид.ком его используют для загрузки изображения с серва, например.

А почему появляется java.net.SocketTimeoutException через некоторое время, не можешь сказать?

Ответы984924984942

04 Май, 22:47 #305 #984924

>>984919
>А чем асинк плох
Тем, что ты его не умеешь.
>А почему
Надоел.

Ответы984930

04 Май, 22:57 #306 #984930

>>984924
А ты почти полезный.

04 Май, 23:39 #307 #984942

>>984919
>А чем асинк плох - не понимат
Сложно.
Не соответствует задаче.

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

>А почему появляется java.net.SocketTimeoutException через некоторое время, не можешь сказать?
В какой момент и в каком месте оно появляется?

Ответы984952

63 Кб, 440x220

05 Май, 00:15 #308 #984952

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

>В какой момент и в каком месте оно появляется?
Приложение работает в фоне, вышеуказанный сервис с runnable в отдельном треде работает, отсылает данные через вышеуказанный же асинк (видимо, тут он и правда лишний). Через минут 10 работы запросы перестают проходить, с каждым возникает SocketTimeoutException, хотя сам сервис продолжает работать. Если открыть приложение, переведя в форграунд, работа восстанавливается. Но из плохого - все те запросы, которые не прошли, начинают резко проходить, что видно по логу.

Ответы985078985079

05 Май, 11:02 #309 #985065

Я чето тоже не могу понять в чём проблема асинк таска, кроме ублюдочного на вид синтаксиса дженериков.
Использую WeakReference для коллбэка, problems weren't.
Можно сделать анальные утехи с HandlerThread итд, но асинк таск это ведь то же самое, просто написаное дядей из гугла, не?

Ответы985091985379

05 Май, 11:34 #310 #985075

Новичок в Андроиде, пишу приложение по книге с использованием RecyclerView. Добавил в зависимости библиотеку:
'com.android.support:recyclerview-v7:26.0.0-alpha1'
Помимо неё там включена ещё: 'com.android.support:appcompat-v7:25.3.1'
Получил следующий код ошибки:
Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(25.3.1) from [com.android.support:appcompat-v7:25.3.1] AndroidManifest.xml:27:9-31
is also present at [com.android.support:support-v4:26.0.0-alpha1] AndroidManifest.xml:27:9-38 value=(26.0.0-alpha1).
Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:25:5-27:34 to override.
Гугление не помогло, предлагались различные способы устранения неполадки, но ни один не подошёл и тогда в одном из видео по RecyclerView заметил следующую библу в зависимостях:
'com.android.support:design:26.0.0-alpha1'
Внезапно с ней проект собрался и заработал, но анимация клика по элементам списка не отображается, это нормально? И ещё, подскажите, в чём причина ошибки. Точно такая же ситуация была, когда пытался добавить библиотеку поддержки для фрагментов.

Ответы985706

05 Май, 11:52 #311 #985078

>>984952
>Приложение работает в фоне, вышеуказанный сервис с runnable в отдельном треде работает, отсылает данные через вышеуказанный же асинк (видимо, тут он и правда лишний). Через минут 10 работы запросы перестают проходить, с каждым возникает SocketTimeoutException, хотя сам сервис продолжает работать. Если открыть приложение, переведя в форграунд, работа восстанавливается. Но из плохого - все те запросы, которые не прошли, начинают резко проходить, что видно по логу.

А, ну это похоже на функцию энергосбережения смартфона.
Сорянчик, я в этом не оче разбираюсь.

1) Перепиши свой сервис без асинков. Может проблема уйдет.
1.а Если у тебя твой геотракинг не связан с основным приложением загружающим картинки, то, сделай его отдельным приложением. Отладь. И потом при необходимости интегрируй.

2) Смотри настройки энергосбережения смартфона, смотри список программ которым разрешена работа бекграунде.

3) Смотри опции создания соединения и может какие-то особые параметры исполнения приложения.

Ответы985211985303

05 Май, 11:54 #312 #985079

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

И вообще, поменьше классов лепи.

Ответы985303

05 Май, 12:09 #313 #985091

>>985065
Он большой, уродливый и еще поебаться нужно со всякими референсами, нет спасибо.

Ответы985206985211985303

05 Май, 15:01 #314 #985206

>>985091
Как будто rxjava меньше и проще...

Ответы985222

05 Май, 15:17 #315 #985211

>>985091
Ну хуй знает, а какие ещё есть альтернативы? Есть какой-то более-менее признаный стандарт по состоянию на 2к17?
>>985078
Ещё можно wake lock получить чтобы приложение не падало в сон.
Хотя если надо периодически что-то делать, то почему не сделать несколько алармов, допустим один каждые 30 секунд (или какой там нужен период) запускает сервис, который читает текущие координаты, пишет в базу. Другой каждые полчаса связывается с сервером и отправляет собранное.
Будет ли профит инициализировать приложение каждый раз вместо того чтобы висеть с wake lock и не давать телефону уснуть?

Ответы985222

05 Май, 15:37 #316 #985222

>>985206
>>985211
Может не меньше, но не надо писать своего бойлерплейта и намного гибче все это.

197 Кб, 540x960

05 Май, 17:27 #317 #985303

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

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

>>985091
Там пару методов переписать, как-то ебли и нету.

Ответы985317985534

05 Май, 17:44 #318 #985317

Аналитический метод определения понятий на завтра >>985303

87 Кб, 370x610

05 Май, 19:16 #319 #985369

Такой вопрос. Есть layout, на котором ViewPager и кнопка, вот так:
<FrameLayout
android:layout_width="200dp"
android:layout_height="250dp"
android:background="#00ff00">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="112233"
android:layout_gravity="right|bottom"
android:id="@+id/btn"/>
<android.support.v4.view.ViewPager
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:id="@+id/pager"/>
</FrameLayout>

Причем ViewPager выше кнопки, перекрывает ее. Но фрагменты его почти не перекрывают кнопку и ее видно. Ее видно, но нажать ее нельзя, потому что эта прозрачная область принадлежит ViewPager-у. Вопрос в том, как сделать так, чтобы можно было нажать кнопку?
Я когда-то писал что-то такое, связанное с FrameLayout-ом и методом dispatchTouchEvent, но там были кастомные view, и я уже совсем не помню как это делал.

05 Май, 19:38 #320 #985377

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

05 Май, 19:39 #321 #985379

>>985065
Ну значит ты мало понимаешь в разработке. Две проблемы: нет обработки ошибок, и если у тебя, например, два последовательных запроса - то тебе пизда, для того чтобы получить данные из одного запроса и использовать их во втором придется написать нечитаемые велосипеды

Ответы985417

05 Май, 20:16 #322 #985417

>>985379
Я делаю onResult и onError методы в коллбеке, это хуёво?
Использовать данные в другом запросе мне пока не нужно было, но я в принципе зелёный ещё, как ты уже заметил.
Твой выбор - rxjava для всего бекграунда?

Ответы985432985463

05 Май, 20:26 #323 #985432

>>985417
Мой выбор - писать под iOS и не ебать себе мозги.

Ответы985437985484

05 Май, 20:30 #324 #985437

>>985432
> писать под iOS и не ебать себе мозги
Там тоже своей ебли достаточно с тейблвью. Зато без ебучих лайфсайклов.

05 Май, 21:12 #325 #985463

>>985417
Мой выбор - rxJava для всего

05 Май, 21:34 #326 #985484

>>985432
И зачем ты тут сидишь, заднеприводный?

Ответы985525

05 Май, 22:24 #327 #985525

>>985484
Чтобы тебе было неприятно.

Ответы985532

05 Май, 22:32 #328 #985532

>>985525
Но мне приятно :3

05 Май, 22:37 #329 #985534

>>985303
От прошивки зависит. Но с 23 ввели doze, так что читай и просвящайся и переделывай свою хуйню так что бы они не убивала батарею, или запрашивай спец пермишен.

05 Май, 22:42 #330 #985536

На какой точке жизненного цикла activity уже готовы размеры view? Я меряю на onResume и мне возвращается width=0

Ответы985540

05 Май, 22:50 #331 #985540

>>985536
Используй ViewTreeObserver (берется у нужного View), на него можно повесить OnGlobalLayoutListener, который будет тебя нотифаить каждый раз когда отлейаутится, после первого раза если тебя надо можешь его отцепить.

Ответы985542985644

05 Май, 22:56 #332 #985542

>>985540
Спасибо

06 Май, 08:43 #333 #985644

>>985540
А ведь можно для этого использовать простой post(Runnable)

06 Май, 11:21 #334 #985706

>>985075
>com.android.support:recyclerview-v7:26.0.0-alpha1'
>Помимо неё там включена ещё: 'com.android.support:appcompat-v7:25.3.1'

конфликт версий же, очевидно. сделай чтобы обе либы были одной версии.

06 Май, 19:40 #335 #985953

У меня в приложении есть ViewPager, который после поворота экрана вылетает с NPE. Как мне быть?

Ответы986038986275

06 Май, 20:16 #336 #985978

Тупой вопрос.
Как сделать счетчик нажатий?

Ответы985984

06 Май, 20:16 #337 #985979

Сам.
Кто-нибудь делал тесты или опросы?

06 Май, 20:21 #338 #985984

>>985978
Нажатий на что?
Первое что приходит в голову, раскидай по своим view листнеров, которые все вместе инкрементят одну глобальную переменную

06 Май, 21:16 #339 #986038

>>985953
> Как мне быть?
Не знаю. Как насчет почитать стактрейс?

Ответы986085

06 Май, 22:40 #340 #986085

>>986038
Короче, тема такая. У меня в конструкторе адаптера создаются 2 фрагмента и инициализируются нужными мне ссылками. При создании, в лог пишется хешкод фрагментов, и вот в адаптере есть фрагменты 1 и 2. Через getItem() их можно получить.

поворачиваю экран, фрагменты пересоздаются, инициализируются, печатается их хешкод, и вот там есть фрагменты 3 и 4, но когда я вызываю getItem(), мне выдаются фрагменты 5 и 6, у каждого из которых все поля null.

Вот что это за ёбвашумать?

Ответы986091986137986223986275

06 Май, 22:45 #341 #986091

>>986085
https://gist.github.com/CC-Ultra/854c4e892358a86038c781fa5d602fd2
код адаптера прилагается

06 Май, 23:58 #342 #986137

>>986085
по ебанутому как то все сделано. Поставь больше проверок на нулл, на количество элементов. В конце концов инициализируй массив фрагментов вместо очистки.
ну типо
ArrayList<ViewPagerFragment_Basic> fragments;
...
fragments=new ArrayList<>();

219 Кб, 451x299

07 Май, 02:31 #343 #986196

Антоши, хочу отключить doze mode, чтобы в сеть пускало сервис, нашел на стеке это решение:

Intent intent = new Intent();
String packageName = context.getPackageName();
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
if (pm.isIgnoringBatteryOptimizations(packageName))
intent.setAction(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS);
else {
intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
intent.setData(Uri.parse("package:" + packageName));
}
context.startActivity(intent);

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

String packageName = context.getPackageName();
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
if (!pm.isIgnoringBatteryOptimizations(packageName)){
Intent intent = new Intent();
intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
intent.setData(Uri.parse("package:" + packageName));
context.startActivity(intent);
}

219 Кб, 451x299

07 Май, 02:31 #343 #986196

Антоши, хочу отключить doze mode, чтобы в сеть пускало сервис, нашел на стеке это решение:

Intent intent = new Intent();
String packageName = context.getPackageName();
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
if (pm.isIgnoringBatteryOptimizations(packageName))
intent.setAction(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS);
else {
intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
intent.setData(Uri.parse("package:" + packageName));
}
context.startActivity(intent);

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

String packageName = context.getPackageName();
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
if (!pm.isIgnoringBatteryOptimizations(packageName)){
Intent intent = new Intent();
intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
intent.setData(Uri.parse("package:" + packageName));
context.startActivity(intent);
}

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

07 Май, 08:59 #344 #986223

>>986085
> У меня в конструкторе адаптера создаются 2 фрагмента
Неправильно.

07 Май, 09:45 #345 #986230

>>986196
Думаю можно.

07 Май, 12:47 #346 #986275

>>985953
>>986085
Ты ДОЛЖЕН создавать фрагменты в getItem(int). Откуда вы лезет блядь?

Ответы986279

07 Май, 13:03 #347 #986279

>>986275
Если там 2-3 фрагмента, то вообще похуй

Ответы986285986296

07 Май, 13:22 #348 #986285

>>986279
Это зависит не от количества фрагментов, а от их "веса" и лайфцайкла. Если ты хочешь что бы они все прогрузились заранее, то выставь размер страниц вне экрана, а не такую хуйню.

07 Май, 13:44 #349 #986296

>>986279
> то вообще похуй
> ряяяя почему у меня NPE

08 Май, 08:15 #350 #986690

>>986196
Ты тот кун, который отправляет координаты на сервер?
Используй foreground service и забудь про doze mode.

Ответы986752

431 Кб, 500x521

08 Май, 12:43 #351 #986752

>>986690
Да, тот.
>foreground service
Решил все ж прочесть и выпал в осадок - неужели его можно использовать, даже если приложение не на переднем плане или у устройства вообще выключен экран, как в случае с музыкальным плеером, например (пример с оффсайта)?

Ответы986759986855

08 Май, 12:53 #352 #986759

>>986752
Да,когда выключен экран.
По бОльшей части это единственный вариант, если нужна надежность.

Ответы986766

679 Кб, 560x788

08 Май, 13:09 #353 #986766

>>986759
Спасибо, няша, пойду перепиливать.

514 Кб, 560x810

08 Май, 16:56 #354 #986855

В общем, переделал под foreground service, радовался, но потом снова запросы перестали выполняться.
Для контрольного теста скачал Яндекс.Музыку - и такая же проблема, сервис работает, нотификейшн висит, 2-3 песни проигрываются, а потом - стоп.
Подозреваю, что виноват все же китайский ксяоми с миуи, который как-то дополнительно оптимизирует батарейку.

>>986752 - кун

Ответы986873986928986935986939

08 Май, 17:14 #355 #986873

>>986855
Блять, как кататься на велосипеде с такими каблуками?

Ответы986887987929

08 Май, 17:30 #356 #986887

>>986873
Цокая

08 Май, 18:02 #357 #986910

Аноны не вызывается do in background
в async task с чем может быть связано?

Ответы986926

08 Май, 18:34 #358 #986926

>>986910
execute сделал?

Ответы987058

08 Май, 18:36 #359 #986928

>>986855
Это как бы известная проблема

Ответы986967

08 Май, 18:48 #360 #986935

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

Ответы986967

08 Май, 18:58 #361 #986939

>>986855
Выключи уже энергосбережение наконец, мяумяуинвалид.

Ответы986967

546 Кб, 640x485

08 Май, 20:07 #362 #986967

>>986928
>>986935
>>986939
Ну, да, просто сейчас это тот телефон, на котором я тестирую, да и у оператора тоже может он быть, так что я даже рад, что наткунлся на эту проблему до того, как с ней столкнулся конечный юзер с этим телефоном.

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

Ответы986971987111

08 Май, 20:13 #363 #986971

>>986967
я бы тебе скинул статистику, но мне впадлу. В общем на одном моем приложении самый популярный телефон - xiaomi redmi note 3

Ответы987121

08 Май, 22:51 #364 #987058

>>986926
Да,идет pre execute и все

Ответы987184

09 Май, 00:21 #365 #987111

>>986967
Все равно это никак не пофиксить, это проблема тех, кто юзает миюай

594 Кб, 498x750

09 Май, 00:50 #366 #987121

>>986971
>это никак не пофиксить
Почему? Я ж запрашиваю вот так - >>986196
- разрешение, и после этого все работает.

09 Май, 03:11 #367 #987184

>>987058
скидывай код

Ответы987196987625

sage 09 Май, 03:23 #368 #987196

>>987184
скинул. билковый кодец. правирь свой шеколадный гетхаб бббгг.

09 Май, 16:01 #369 #987625

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

32 Кб, 475x268

09 Май, 16:20 #370 #987632

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

Ответы987633987654

09 Май, 16:21 #371 #987633

>>987632
по типу*

09 Май, 17:11 #372 #987654

>>987632
нет

09 Май, 22:09 #373 #987830

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

В прилаге где такое видел - похоже что юзался WebView для этих целей. Знаете как такое сделать?

Ибо если через textview - придется через Paint считать кол-во влазящих строк, потом для каждой передавать строку, считать сколько символов влезет - и говном по говну вобщем.

Ответы987838987840

09 Май, 22:25 #374 #987838

>>987830
https://developer.android.com/reference/android/text/TextUtils.html#ellipsize(java.lang.CharSequence, android.text.TextPaint, float, android.text.TextUtils.TruncateAt)

Вернет тебе обрезанный текст, сравни его с оригинальным и высчитай остаток сам.

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

Ответы987840987925

09 Май, 22:28 #375 #987840

>>987830
>>987838
Хотя ты же его все равно выводишь. Сделай тупо setText, getText и сравнивай с оригиналом.
Но это нужно делать после лейаута тогда.

Ответы987842

09 Май, 22:41 #376 #987842

>>987840
Норм вариант. Правда я хочу что бы текст по словно обрывался, а ellipsize посимвольно бьет, но это можно допилить, да.

Но WebView я думаю юзать еще и потому, что мне нужно текст выровнять по левому и правому краю (в Ворде это называется по ширине, в html - justify). Не нашел как такое в textview сделать, мб знаешь?

Ответы987848987853

09 Май, 22:54 #377 #987848

>>987842
> по словно
Значение знаешь?

Ответы987850

09 Май, 23:01 #378 #987850

>>987848
да

09 Май, 23:11 #379 #987853

>>987842
> justify
Первая ссылка в гугле.
https://github.com/bluejamesbond/TextJustify-Android

Ответы987865987933

09 Май, 23:28 #380 #987865

>>987853
Врети, вот первая:
http://stackoverflow.com/questions/1292575/android-textview-justify-text
Да и не текст-вьюха это.

Сравню кароч что лучше, ибо нагуглил решение для WebView с пагинацией

94 Кб, 750x746

09 Май, 23:29 #381 #987868

sup аноны. Задался целью потискать нативный андроид (до этого кодил только на кроссплатформе - замарин и реакт).
Реквестирую идею для учебной прилажки. Сразу задумался про github клиент, но там только обычное дерганье урлов. Может есть идеи чтобы было и про бэкграунд и нотификации, но в то же время с более-менее готовым бэкэндом?
Заранее спасибо, котаны

Ответы987879987977988490

09 Май, 23:36 #382 #987879

>>987868
Нуу... можешь openweathermap заюзать (как я делал), там тоже дерганье урлов, но может развивать и до нотификаций, и до бд, попутно осваивая всякие glide, retrofit, butterknife, dagger, rx и т.д.

Мож вон open movie db, подход тот же, но мб фильмы поинтересней будут.

Ответы987883

09 Май, 23:41 #383 #987883

>>987879
вот погодку уже не хочется - наелся Sunshine из udacity. :)
Думал ещё про last fm. Спасибо за идею с фильмами.

09 Май, 23:49 #384 #987891

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

Ответы987894987895988490

09 Май, 23:55 #385 #987894

>>987891
Задачками не впечатлишь, лучше продолжать погодку клепать.

Но можешь попробовать вот эту штуку:
https://www.bignerdranch.com/books/android-programming/

Учебник, с практикой, в процессе которого клепается прилага (уже не помню какая, съехал после 5ой главы, что-то типо списка контактов (фотки делать, данные заносить/изменять и т.п.)).

Ответы987900987904

09 Май, 23:55 #386 #987895

>>987891
> код не работает нихуя, хотя и ошибок нет
Далеко пойдешь

Ответы987904

10 Май, 00:00 #387 #987900

>>987894
А, не, после 12 но всем похуй

10 Май, 00:08 #388 #987904

>>987894
Ого. Спасибо большое за книгу анон.
>Задачками не впечатлишь, лучше продолжать погодку клепать.
Но я клепаю. Оно должно грузить, но чё то не грузит. Использовал ретрофит и у меня всегда при запуске срабатывает onFailure. Я уже хз че с ним не так, неделю ебусь, сначала оно вообще при запуске вылетало. Мне бы хотя бы просто температуру грузил, дальше я натяну всяких приколюх туда.
>>987895
Мама тоже говорит, что я перспективный.

10 Май, 00:28 #389 #987925

>>987838
Вов, ну и подтормаживает же она.

10 Май, 00:38 #390 #987929

>>986873
>2017
>давить на педали пятками
Небось в андройде еще списки листвью делаешь?

10 Май, 00:51 #391 #987933

>>987853

Пожалуй таки юзану это и get/set с допилом. Спасибо

10 Май, 02:59 #392 #987952

делитесь: какую схему бранчинга юзаете при разработке под ведро?

Ответы987994988043

10 Май, 07:40 #393 #987977

>>987868
бамп реквесту.
подкиньте ещё годных идей, господа

10 Май, 08:38 #394 #987994

>>987952
G I T F L O W
I
T
F
L
O
W

10 Май, 10:58 #395 #988043

>>987952
Двачую анона выше

10 Май, 19:29 #396 #988351

Посаны, те кто грузит данные с openweather через retrofi2t, выложите пожулайста ваш код реализации погодного приложения. У меня че то не але вообще.

Ответы988505

10 Май, 23:51 #397 #988487

Проблема с нотификациями. Их два вида. В onResume единственной активити я получаю action с помощью getIntent().getAction() и делаю нужную хуйню. Но все работает только если активити была уничтожена, тоесть по тапу на нотификации вызывается onCreate. Если активити не уничтожена то после тапа на нотификации getIntent().getAction() возвращает "android.intent.action.MAIN" вместо нужного action нотификации. В какую сторону копать?

Ответы988645

10 Май, 23:56 #398 #988490

>>987891
>>987868
Напишите клиент для двача. Все сеньоры этого треда так начинали.

11 Май, 00:30 #399 #988505

>>988351
Что не получается то? ты вопросы задавай. Обмен запросиками, он хоть с погодкой хоть с вк одинаковый

11 Май, 10:11 #400 #988645

>>988487
У активити есть хук - oNnewIntent, вот там втой новый интент приходит, автоматом значение getIntent не меняется, так что можешь в этому хуке сделать setIntent

Ответы988713

11 Май, 12:13 #401 #988713

>>988645
Чето бомбит от такой херни. В документации нихера нормально не описывается.

Ответы988748

11 Май, 13:30 #402 #988748

>>988713
>херни
Ну вообще такое там кажется было, когда создавал PendingIntent нужно было в это углубится.

11 Май, 15:36 #403 #988837

Аноны, каким образом можно создать кастомную градиентную цветную тень вокруг произвольной view? CardView цветную не умеет, либы Carbon и ShadowView работать как надо отказываются. Какие еще есть варианты?

Ответы989300

11 Май, 20:11 #404 #988948

Анон, нужно динамически(т.е. пользователь передвигает его туда, куда захочет) поместить объект на фото.Какую графическую библиотеку лучше всего использовать для этих целей?А если не на фото, а прямо на камере(типа AR)?Видел пример с Unity, но он какой-то слишком прожорливый, уж не знаю из-за кривых ли рук разработчика или так и должно быть.Алсо, в том же ARToolkit используется OpenGL, но я всё еще сомневаюсь.

Ответы988963

11 Май, 20:35 #405 #988963

>>988948
Берешь такой new Canvas(photoBitmap).drawBitmap().
Но это только при небольших размерах фото.

> прямо на камере
Просто поверх сюрфейса камеры захуячить вьюху.

Ответы989005

11 Май, 21:53 #406 #989005

>>988963
Это первое, что пришло в голову, но такого подхода я нигде не видел(например, в тех же исходниках AR либ - там либо libgdx, либо OpenGL, либо используется Unity).Опять же, есть вероятность, что размещаться будет не просто фото, какой-нибудь .obj с возможностью его повернуть.

Ответы989305

12 Май, 15:21 #407 #989274

Поясните: на rxjava 2 уже стоит переписывать проекты? Ретрофиты и им подобная хуйня уже совместимы со второй?

Ответы989517

10 Кб, 561x213

12 Май, 15:52 #408 #989300

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

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

Ответы990867

12 Май, 15:54 #409 #989305

>>989005
>.obj
это объектный файл с скомпилированными в машинный код но не слинкованным кодом, неуч

Ответы989307

12 Май, 15:56 #410 #989307

>>989305
https://ru.wikipedia.org/wiki/Obj

Дядя Петя ты дурак?

Ответы989313

12 Май, 16:02 #411 #989313

>>989307
Ох лол, так бы сразу и написал, что ты ДИЗАЙНЕР, только вот что ты делаешь в разделе программирования.

И да по твоей ссылке OBJ model files, а не просто OBJ . Специально даже приписку сделали, чтобы вас петухов не спутать ни с кем, но вы убогие все равно пишите .obj

Ответы989316989334

12 Май, 16:05 #412 #989316

>>989313
Нихуя этот байтоеб подорвался. Где ты в ведре видел свое не слинкованное говно?

12 Май, 16:21 #413 #989334

>>989313
Разве то, о чем ты пишешь не .o ?

Ответы989338

12 Май, 16:34 #414 #989338

>>989334
В пердоликсе и гейОС

12 Май, 20:22 #415 #989509

Я зашел на сайтик с 3D модельками.Посмотрел на расширения файлов. Загуглил, как загрузить OBJ(ОБЖ/obj) через OpenGL, каких-то проблем не увидел.Так вот, что за хуйню вы тут развели, молодые люди?Вопрос про другое был.

12 Май, 20:32 #416 #989515

Анон, допустим, у меня в приложении есть списки какой-нибудь хуйни. Я хочу хранить их в базе. Причём эти списки на всех устройствах нужно централизовано обновлять. Как это лучше всего реализовать? Мне в голову приходят два способа:
в первом все данные хранятся в локальной базе данных, которая синхронизируется с удалённой время от времени;
во втором, приложение тянет данные напрямую из удалённой базы данных.
Какой из этих способов лучше? Какие есть достоинства и недостатки? Клиентов будет не очень много, не больше 10-15, но неплохо было бы предусмотреть возможность для увеличения количества клиентов.

Ответы989521989601

12 Май, 20:35 #417 #989517

>>989274
Совместимы. Новые проекты точно стоит начинать со второй версией. Обновлять старые не всегда целесообразно.

12 Май, 20:36 #418 #989521

>>989515
Ты пытаешься изобрести Loader или что? В чем вопрос?

Ответы989530

12 Май, 20:43 #419 #989530

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

Ответы989537

12 Май, 20:48 #420 #989537

>>989530
Первый, офк. Если данных много, то запрашиваешь с сервера номер текущей версии(число).Совпадает с сохраненным - классно, ничего докачивать не надо, не совпадает - докачиваешь.

Ответы989538

1386 Кб, 800x1238

12 Май, 20:51 #421 #989538

>>989537
Спасибо, няша. :3
Алсо, я не особо в БД могу, можешь пояснить:
>запрашиваешь с сервера номер текущей версии(число)
Это штатная функция СУБД, или нужно будет что-то своё изобретать?

Ответы989551

12 Май, 21:01 #422 #989551

>>989538
Это к бд не относится, это вы должны с человеком, делающим бэк договориться об этом.То что, так и так, будет еще один метод, который будет выдавать текущий номер версии данных.Можешь этот номер хоть в shared preferences сохранять и потом сравнивать.Опять же повторюсь, это если данных много и всё качать будет слишком по-варварски.

Ответы989555

12 Май, 21:05 #423 #989555

>>989551
Ок, спасибо.
> с человеком, делающим бэк
Лол. "Эй, митрич, нам на андроЙд прогу надо написать, иди комплуктерщика заставь, пусть делом займётся, а то небось на мультики свои дрочит целыми днями в каморке"

Ответы989575

sage 12 Май, 21:23 #424 #989575

>>989555
Лол кек ахахаха
Обоссы себе ебало, если считаешь это смешным.

Ответы989595

12 Май, 21:39 #425 #989595

>>989575
Вообще-то это смешно, анимешник.
Не обижайся.

12 Май, 21:45 #426 #989601

>>989515
> в первом все данные хранятся в локальной базе данных, которая синхронизируется с удалённой время от времени;
> не больше 10-15
Firebase Realtime Database

15 Кб, 644x414

12 Май, 23:15 #427 #989672

Анон, пожалуйста, объясни простыми словами что такое Callback.
Я разбираюсь с OkHttp, и не понимаю, зачем нужны Callback в Java. Я прогуглил интернет, но уже затрахался читать переайченную информацию с хорстманна и википедии.
Объясни плиз, так будто ты объясняешь дауну.

Ответы989679

12 Май, 23:29 #428 #989679

>>989672
Callbacks are most easily described in terms of the telephone system. A function call is analogous to calling someone on a telephone, asking her a question, getting an answer, and hanging up; adding a callback changes the analogy so that after asking her a question, you also give her your name and number so she can call you back with the answer
Я тот кун который спрашивал.
Короче, для себя понял.
1) Коллбеки можно вызвать при наступлении какого-либо события
2) Коллбек функцию можно использовать в качестве аргумента другой функции.
ПРАВИЛЬНО ЛИ Я ПОНЯЛ?

Ответы989693

12 Май, 23:45 #429 #989693

>>989679
Хуевая аналогия. Колбек это функция которая вызывается какой-то внешней сущностью(библиотекой, фреймворком и т.д.) и с помощью нее ты можешь как то влиять на определенные действия этой внешней системы. А то что ты написал - это больше похоже на какую то модель акторов, типа отправляют запрос и когда-то там, когда ты сам решишь, можешь отвечать.
Т.е. тут с твоим скриншотом как бы наоборот, ты отправляешь команду системе и пишешь функцию(колбек), которая определяет как себя вести, в случае когда будет получен ответ(onResponse) или ошибка(onfailure). И вот когда система разберется с твоим "запросом" она вызовет одну из твоих функций, в зависимости от того, успешно ли выполненная команда(как я понимаю какой-то запрос на сервер) либо произошла ошибка(к примеру нет подключения к интернету).

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

Ответы989729

13 Май, 00:19 #430 #989729

>>989693
Весь код
https://paste.ofcode.org/VykCBc9WAHxUWHgDGvFTdS
38 строка.
В методе call.enqueue в качестве аргумента вызывается коллбек функция, которая принимает результат работы метода onResponse или onFailure. Вроде понимаю, но очень туманно.

Ответы989758989804

13 Май, 00:58 #431 #989758

>>989729
ты знаешь что такое интерфейс? И зачем он нужен? Калбек твой это и есть интерфейс. Вот к примеру .setOnClickListener(...), абсолютно та же хуйня

Ответы989759

13 Май, 00:59 #432 #989759

>>989758
>>Калбек твой это и есть интерфейс
а new Callback() это реализация интерфейса

13 Май, 02:08 #433 #989804

>>989729
>В методе call.enqueue в качестве аргумента вызывается коллбек функция, которая принимает результат работы метода onResponse или onFailure. Вроде понимаю, но очень туманно.
Не совсем так, ты передаешь анонимный объект, который реализует интерфейс CallBack т.е. это такой способ передать две функции, но т.к. джава такого не умеет ты должен передать туда объект, в котором будут два метода, А анонимный объект это такой удобный способ это сделать не отходя от кассы и не создавая дополнительных именованных классов т.к. тебе он будет нужен только один раз в этом месте. Если не знаешь что такое анонимный объект(я не помню как точно это называется), лучше погугли. Но в общем то там все просто. Это то же самое если бы ты определил какой-то класс котоый implements Callback и соответственно там было бы определение этих двух функций. А потом в методе создал объект этого класса и сразу передал, разве что в анонимном классе у тебя есть возможность ссылаться на поля и методы обрамляющего объекта и это тоже дополнительное удобство т.к. не нужно передавать каких-то ссылок на объект, в котором происходит вызов enqueue.

Ответы989811

13 Май, 02:18 #434 #989811

>>989804
Т.е. к примеру у тебя вместо этого был бы какой-то файл SomeShit.java и там:

class SomeShit implements Callback{

public SomeShit(MainActivity activity){

public onSucsess(...){
//код обработки удачного ответа от сервера который возможно юзает что то из activity(например в твоем коде это TAG, но правда тогда было бы MainActivity.TAG, а вообще могут юзать какие то вещи доступные внутри активити)
public onFailure(..){
//код обработки неудачи
}

И потом бы ты вызывл это как call.enqueue(new SomeShit(this)). Хотя это тоже не совсем эквивалентный код т.к. нельзя юзать приватные поля и методы активити, а в случае анонимного класса можно было бы, но суть думаю ясна.

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

Ответы989812

13 Май, 02:26 #435 #989812

>>989811
Хуевое кстати название callback, как-то не отражает сути, хотя может это потому что по инглишу я не нейтив.
Та же придирка и к closure, меня в свое время эти названия только путали, хотя по сути за ними стоят очень простые вещи, разве что по началу не совсем понятно зачем все это нужно именно так, но со временем поймешь.

Все тот же пьяный анон

13 Май, 17:35 #436 #990004

>>974849 (OP)
Необходимо запилить клиент серверное приложение. Логика: в приложении клиент заполняет поля данными, которые передаются на сервер, обрабатываются и попадают на мой имейл. Нужен самый легкий и быстрый способ реализации.

Ответы990006

13 Май, 17:46 #437 #990006

>>990004
первая ссылка в гугле https://developer.android.com/training/volley/simple.html

Ответы990019990051

13 Май, 18:08 #438 #990019

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

Ответы990057

13 Май, 19:06 #439 #990051

>>990006
https://habrahabr.ru/post/112450/ но есть 2 минуса оба в коментах

13 Май, 19:13 #440 #990057

>>990019
конечно. Сервис почтовой отправки найди, если это топ сервис - будет сдк под ведро, если обычный, то просто апи с доками

11 Кб, 353x458

11 Кб, 356x462

13 Май, 23:57 #441 #990168

Сап.

Имеется пикрелейтед лейаут.
Проблема в том, что SwipeRefreshLayout перехватывает скроллинг вверх, из-за чего RecyclerView вверх не листается.
Если убрать прослойку в виде ViewPager, работает идеально. Но это не вариант, так как ViewPager нужен именно тут (общий свайп рефреш для всех фрагментов с ресайклерами внутри пейджера).

То есть, по всей видимости, надо каким-то образом через ViewPager делегировать события нажатий/свайпов в ресайклеры. Но как именно?

Сейчас сделано достаточно жутким костылём через swipeRefresh.setOnChildScrollUpCallback, который возвращает recycler.canScrollVertically(-1). Это работает, но не идеально - если ресайклеру скроллиться уже некуда, то даже при свайпе вбок (для переключения вкладок, соответственно) если палец уйдёт немного вниз, это андроид расценивает просто как свайп вниз -> вместо смены вкладки срабатывает обновление, что не есть хорошо.

Ответы990169990212

13 Май, 23:58 #442 #990169

>>990168
Не знаю, почему первая пикча приклеилась, она неправильная.

14 Май, 01:18 #443 #990212

>>990168
Используй nasted scroll view.

Ответы990221

59 Кб, 479x569

26 Кб, 480x214

14 Май, 01:39 #444 #990221

>>990212
http://stackoverflow.com/questions/30580954/viewpager-in-a-nestedscrollview

Сделал как сказано по ссылке, работать не стало (не даёт скроллить ресайклер вверх).
Как я понял из того, что там написано, NestedScrollView нужен только лишь если фрагменты содержат что-то вроде ListView или около того. RecyclerView, вроде как, уже поддерживает это сам по себе.

Пикрелейтед:
1) SwipeRefresh с ViewPager-ом
2) фрагменты внутри ViewPager-а после изменений по ссылке

Ответы990304990650

14 Май, 02:14 #445 #990236

Пьяно-анон, благодарю за помощь!
Что такое интерфейс не знаю, сейчас почитаю.

14 Май, 10:16 #446 #990304

>>990221
Сделай в каждом фрагменте свой swiperefresh

Ответы990322

172 Кб, 775x320

14 Май, 10:36 #447 #990305

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

Ответы990674

14 Май, 11:45 #448 #990322

>>990304
В первом же посте писал, что так делать нельзя. Рефреш общий.

Ответы990338

14 Май, 12:28 #449 #990338

>>990322
Пробрасывай через интерфейсы

Ответы990358

110 Кб, Webm

14 Май, 12:38 #450 #990346

Кто-нибудь может мне ответить, куда у меня исчезают margin-ы? xml элемента списка выглядит так
https://gist.github.com/CC-Ultra/74c51a209f22b36772cc7d4bc5f911e8
Использую recyclerView. Vargin-ы появляются только тогда, когда элемент выходит за пределы видимости. На видео - как это все выглядит на телефоне. На эмуляторе все отображается адекватно

Ответы990349990883

14 Май, 12:41 #451 #990349

>>990346
Пояснение: идет речь о двух кнопках. у одной отступ 10, у другой - 60. На деле по нулям

14 Май, 12:59 #452 #990358

>>990338
Тяну в одном фрагменте, переключаю вкладку пока оно обновляется - рефреш уезжает вместе с фрагментом.

Ответы990409990412

14 Май, 15:05 #453 #990409

>>990358
Можно сделать на экране с viewpager'ом тоже swiperefresh который disabled и только показывать на нем анимацию, костыли но по другому хз как

Ответы990412

14 Май, 15:12 #454 #990412

>>990358
>>990409
Только тогда во фрагментах, которые во вьюпеджере надо сразу же убирать анимацию в коллбэке, а то когда будешь листать пейджер будут видны сразу два кружка swiperefresh

Ответы990413

14 Май, 15:14 #455 #990413

>>990412
Да я понял, но это ну слишком костыльно. Даже хуже, чем есть сейчас.

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

Ответы990415

14 Май, 15:22 #456 #990415

>>990413
Ну если бы я занимался проектом то, для меня проблема ux (если немного повел палец вниз, срабатывает refresh вместо переключения вкладки) была бы более приоритетной, чем костыль в ui

14 Май, 21:39 #457 #990650

>>990221
Не пробовал явно ставить вбюпейджеру setNestedScrollEnabled ?
И да, нестед вокруг ресайклера нахуй не нужен.

Ответы990655

59 Кб, 488x520

14 Май, 21:53 #458 #990655

>>990650
Это требует API 21.

Только что внезапно заметил, что если скроллить не по элементам ресайклера, а по фону, то всё работает идеально вообще без каких-либо костылей. Стоит только начать тянуть за элементы ресайклера - тянется рефреш.

Пик - разметка элементов ресайклера.

Ответы990659

14 Май, 22:02 #459 #990659

>>990655
Так, я локализовал проблему. Скроллить мешают ресайклеры с последней пикчи (lesson_list).
Если повесить на них nestingScrollEnabled = false, всё волшебным образом чинится.
Но это работает только с API 21.

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

Ответы990660

14 Май, 22:05 #460 #990660

>>990659
> Но это работает только с API 21
ViewCompat.setNestedScroll, и да, это работает на старых через интерфейс NestedScrollingChild.

Ответы990667

14 Май, 22:16 #461 #990667

>>990660
Спасибо, анон! ViewCompat.setNestedScroll помог.
С прерыванием перелистывания вкладок не сильно помогло, но с этим я уже, кажется, понял, как разбираться.

14 Май, 22:29 #462 #990674

>>990305
> Привет, анон! Думаю, что тут будет логичнее спросить, чем в моби.
Бампану наудачу.

15 Май, 09:19 #463 #990867

>>989300
бамп, может кто-нибудь что-то вспомнить

Ответы990878

15 Май, 09:44 #464 #990878

>>990867
Flavors

15 Май, 09:49 #465 #990883

>>990346
бамп

Ответы990905

15 Май, 10:37 #466 #990905

>>990883
Купить нексус

Ответы990925

15 Май, 10:56 #467 #990925

>>990905
И заставить каждого пользователя купить нексус

Ответы990932

15 Май, 11:04 #468 #990932

>>990925
Это баг на китайском говне, если ты не делаешь приложение для стран 3 мира, то похуй

15 Май, 18:13 #469 #991211

Аноны, помните тут были те, кто хотел в яндекс академию и лепил переводчик?я один из таких. уже 15 число, но они до сих пор не ответили, хотя это крайний срок ответа. Есть ещё такие тут?

Ответы991229

15 Май, 18:31 #470 #991229

>>991211
Мне ответили ещё 12 числа. Проверь папку со спамом

Ответы991296

15 Май, 19:02 #471 #991266

Учусь на программезда, хочу вкатиться в Андроид. Дело в том, что копаться и писать код доставляет. И выбрал эту специальность по собственной воле, но постоянное нытьё 25к, 10 часов, 6 дней в неделю прогеров вызывает приступы тщетности стараний. Как вообще обстоят дела в Андроид разработке?

Ответы991302

15 Май, 19:43 #472 #991296

>>991229
да вот всё перелистал, ничего не нашел. придется самому связываться. не сомневаюсь в отказе, но надеялся типа ответ развернутый получить, мол, чувак, вот так делать не надо и так далее

15 Май, 19:55 #473 #991302

>>991266
> Как вообще обстоят дела в Андроид разработке?
Точно так же как и на любой галере.

Ответы991590

15 Май, 23:11 #474 #991440

Здравствуйте, username.
Мы рассмотрели вашу заявку на участие в Школе мобильной разработки. Вы, несомненно, обладаете некоторым опытом, но пока мы не готовы пригласить вас.

охуенно, три недели впустую.

Ответы991448991576

15 Май, 23:16 #475 #991448

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

Ответы991468

15 Май, 23:41 #476 #991468

>>991448
> напишут когда будет свободная вакансия
Мы вам перезвоним.

16 Май, 08:09 #477 #991576

>>991440
а мне ещё книжечек посоветовали.

Я вот тока ща подумал - это же, блять, школа. А они хотели, чтоб я к ним в ШКОЛУ пришел уже со скиллами матерого пограмиста?

Ответы991613991846

16 Май, 08:52 #478 #991590

>>991302
Но ведь бывает разработка приложения как продукта компании, а не галера.

16 Май, 10:04 #479 #991613

>>991576
> а мне ещё книжечек посоветовали.
Список в студию.

Ответы991731

16 Май, 10:39 #480 #991622

кто знает есть ли какое ограничение у recycler view по версии в с 6 андроида все норм но на версиях нижу пустой экран может какая либа есть?

Ответы991638

16 Май, 11:12 #481 #991638

>>991622
Апкомпатовский должен нормально работать если ты не накосячил.

Ответы992016

16 Май, 14:35 #482 #991704

Я заебался. В студии постоянно отваливаются подсказки и вообще распознавание методов\полей классов, как правильных.
Они правильные, но отмечаются красными и не компилируются. Словно класс отвалился к хуям из памяти.
Было такое у кого-то и как это говно фиксить, кроме удаления файла и копирования содержимого со старого?

Ответы991705

16 Май, 14:36 #483 #991705

>>991704
Причем, это касается прежде всего стандартных библиотек, а на самописного, где можно было бы спереть на ошибку.
Например
String.valueOf()
Метод типа не существует.

16 Май, 15:23 #484 #991731

>>991613
Р. Мартин. Чистый код. Создание, анализ и рефакторинг.
Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес. Приемы ООП. Паттерны проектирования.
Erik Hellman. Android Programming: Pushing the Limits.
Т. Кормен, Ч. Лейзерсон, Р. Ривест и др. Алгоритмы: построение и анализ.

Ответы991762

16 Май, 16:07 #485 #991762

>>991731
А какой у тебя скид по андройду\жаве был, как ты его сам охарактеризуешь?

Ответы991763991782

16 Май, 16:07 #486 #991763

>>991762
>скилл
фикс

16 Май, 16:18 #487 #991782

>>991762
не знаю, друг. я никогда не работал нигде, всегда пилил дома сам - хобби типа решил приобрести после 22. Я вообще изначально просто на жабе тренировался, книжечки читал, прикладные приложения писал: будильники, календари, парсеры...Потом понял, что тут либо энтерпрайз, про который я вообще ничего не понимаю, либо что-то более осязаемое - андроид. Сделал себе первый клиент для сайта типа новостного агреатора(как медуза), сходил на гугловские курсы Study Jams(заезжали ко мне), ну и попиливал дальше себе мелкие прикольные штуки.

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

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

Будет желание, прочту эти книжечки, ибо знаю, что с ООП у меня не самая лучшая дружба, рефакторинг я избегал, ибо работаю один и никогда даже не думал, что попаду в команду(а в своём говнокоде я пока, благо, разбираюсь). А алгоритмы...ну пока я ничего сложного прям не клепал и о нейросетях не задумывался. В общем, отвечая прямо: это хобби, которым я вяло занимаюсь год, но могу на костылях без использования подсказок и стэковерфлоу написать пару приложух терпимого уровня.

Ответы991799

16 Май, 16:45 #488 #991799

>>991782
Хуя у них там запросы. Я думал это курсы типа для продвинутых вкатывальщиков(школа же). Типа ты должен знать какие-то основы андройда, уметь "на костылях без использования подсказок и стэковерфлоу написать пару приложух терпимого уровня.". А им там походу нужны бесплатные джуны на 3 месяца.

Ответы991846

16 Май, 18:03 #489 #991846

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

16 Май, 21:55 #490 #991973

>>974849 (OP)
Что это за няша в шапке, дайте сурс, молю!

Ответы991994

16 Май, 22:19 #491 #991978

Как правильно сделать "rate us", есть тутториал?

Ответы991994

16 Май, 22:55 #492 #991994

>>991973
code babes
>>991978
Сук ловбень, беершь логику и делаешь.
Тебе нужно спросить пользоваателя хочет ли он оценить твое дерьмише, или как-то заинтересовать его (например выдать какой-то товар за просто так). Делаешь пунктик в меню или где-нибудь еще, по нажатию на который выскакивает диалог с предложением пойти и оставить отзыв, или просто после какого-то времени/действия выдаешь такую хуйню. Если он открываешь свой урл в маркете, можешь заморочится и поменять интент так что бы даже не предлагало пользоваьелю открывать в барузере и открывало сразу в приложухе маркета.

Ответы991995992002

16 Май, 23:00 #493 #991995

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

Ответы991999

16 Май, 23:12 #494 #991999

>>991995
подумоть и погуглить
http://stackoverflow.com/questions/11753000/how-to-open-the-google-play-store-directly-from-my-android-application

Ответы992005

37 Кб, 562x437

16 Май, 23:14 #495 #992002

>>991994
>code babes
10/10, Господи, 10/10!

Ответы992039

16 Май, 23:20 #496 #992005

>>991999
Ну я просто тупой нюфаг
спасибо, няша

16 Май, 23:52 #497 #992016

>>991638
а не может быть из-за того что он во фрагменте?

Ответы992114

17 Май, 00:50 #498 #992039

>>992002
И при этом оп постоянно ставит самую всратую на 0 из 10.

Ответы992113

1233 Кб, Webm

17 Май, 10:16 #499 #992113

>>992039
Да ты охуел!

Ответы992241

17 Май, 10:18 #500 #992114

>>992016
Да вроде не должно ничего, ты только проверь что есть layoutManager и не пустой адаптер, еще чекни отображается ли на превьюхе.
Сверься с примерами (https://guides.codepath.com/android/using-the-recyclerview)

17 Май, 15:26 #501 #992241

>>992113
В С Р А Т А Я
С
Р
А
Т
А
Я

18 Май, 00:48 #502 #992479

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

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

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

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

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

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

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

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

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