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

Этого треда уже нет.
Это копия, сохраненная 10 февраля 2016 года.

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

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

76 Кб, 900x760

456 Кб, 1024x576

Разработка под Android тред №10 05 Янв, 18:44 #619370 В конец треда | Веб

ИТТ продолжаем обмазываться коллбеками и форматировать XML.

Коротко о главном:
1) Если ты учил джаву но не хочешь пилить тырпрайз до конца жизни - добро пожаловать в андроид разработку.
2) Android Studio & Java - единственный легитимный набор, теперь стал еще легитимнее.
3) Xamarin -для богатых и ебанутых виндовсопоклоников, медленно и невыгодно, но на шарпах.
4) PhoneGap - не пробовал но осуждаю, как и весь не-web на js. На самом деле изменил свое мнение, всякие поделки на js имеют место быть, и более того, в наших же интересах клепать несложные проекты на нем, так как объективно быстрее сделать юи.

Где брать инфу:
Интернет-ресурсы
1) http://developer.android.com/index.html
Наша библия. Документация/небольшие примеры/гайды. Но только на инглише, но это плюс. Минус в том, что это все таки документация с небольшими примерами и гайдами и искать там реализацию чего-то хоть немного сложного нету смысла. Раздел Training как раз для старта.
2) http://stackoverflow.com/
Пользуюсь чаще чем первым сайтом. Можно найти практически все.
3) Есть два вполне вменяемых русскоязычных ресурса. Для старта подходят очень даже.
http://startandroid.ru/
и
http://developer.alexanderklimov.ru/android/
Второй еще и условно бесплатный. Главный плюс - это русский язык, простые гайдики, но переводы классов иногда заставляют фейспалмить.
4) http://habrahabr.ru/ - редко но метко, можно найти годные статьи по каким-то реализациям, или переводы с developer.android. Хотя чего тут объяснять.
5) https://www.udacity.com/ - в треде очевидцы говорили что есть годный курс, но я лично не смотрел.

Книги, их никто не читает, но все советуют только одну
1) The Busy Coder’s Guide to Android Development

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

297 Кб, 1181x1181

05 Янв, 22:46 #2 #619578

Привет, анон. Хочу вкатиться в программирование, но боюсь начинать. Знаний у меня нет никаких и поэтому я уже 100500 раз пытался забросить идею начать программировать, но мысли меня мучают и места не даёт покоя. В общем, я понял, что мне нужно изучить Джаву, а потом вкатываться в андроид разработку. Мне нужно помощь, анон. Во-первых расскажи как вкатывался сам, о свих начальных условиях и подводных камнях. Сколько время тратил, кокой был первый проект и получается ли на этом деле зарабатывать. Моя цель - создавать приложения для ведроида, но я совершенно не знаю с чего начинать. Подскажите сперва как начать вкатываться в джаву, книги, видео уроки, которые вы реально на себе проверили и которые годные. Я слышал про джава-раш и про "философию джавы" Эккеля. Как понять, когда вкатываться в андроид? Спасибо большое, если адекватно ответите.

Ответы: >>619600, >>619603

05 Янв, 23:07 #3 #619600

>>619578
Прочти философию java.
Прорешай на javarush все задачи, на которые хватит баллов, это всё полезно.
Далее бери подписку на месяц и вкалывай, решая остальные задачи.
Придумай себе проект на андроид, к примеру клиент для двачей.
Читай то, что в ОП посте и фигачь.
Как толтко твой клиент сможет просматривать хотябы фурряч - приходи сюда, мы будем твой код хуями крыть.

Ответы: >>619632

05 Янв, 23:12 #4 #619603

>>619578

Я начал кодить без знания Джавы и ведра вообще. Немного знал ООП, и всё. Синтаксис джавы - си-подобный, так что это проблем вызывать не должно. Просто взял и без задней мысли начал делать. Да, у меня всё ещё выходит говнокод, и я постоянно исправляю старые косяки из-за того что узнаю новые особенности платформы, но как по мне так такой спонтанный и бессистемный подход в некотором роде лучше. Учиться на своих ошибках - дорого стоит, но и понимание более фундаментальное приходит, когда исправляешь эти ошбики. А обучение по книжкам чаще всего у всех отбивает желание продолжать изучать какой-либо язык на стадии написания хеллоуворлдов и сортировок. Просто берешь в зубы стаковерфлоу и ведроидовскую документацию и начинаешь изобретать велосипеды на костыльной тяге, после чего переписываешь их до тех пор пока они не превратятся в изящный мотоцикл.

Ответы: >>619622

05 Янв, 23:24 #5 #619622

>>619603

Я не знаю Си и вообще ничего не знаю. Начинать с Си надо? Или сразу брать видеоуроки по созданию какой-нибудь игры на ютубе и пытаться повторять?

Ответы: >>619623

05 Янв, 23:25 #6 #619623

>>619622

Ты вообще раньше не кодил, даже на паскале в школе/шараге/вузике?

Ответы: >>619630

05 Янв, 23:30 #7 #619630

>>619623
Можно считать, что не кодил.

Ответы: >>619633

05 Янв, 23:30 #8 #619632

>>619600

Спасибо.

05 Янв, 23:32 #9 #619633

>>619630

Тогда предложение порешать задачки на джавараш и почитать книжки приобретает смысл.

Ответы: >>619637

05 Янв, 23:34 #10 #619637

>>619633

Окей.

05 Янв, 23:35 #11 #619639

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

Ответы: >>619808

457 Кб, 1680x988

06 Янв, 02:39 #12 #619808

Оп в треде, спасибо что тред создали, а то я приболел малость.

>>619639
>Какой опыт?
Опыта около 10 месяцев. Как раз в первый месяц работы первый тред и создал.
>Выгодно ли на яве вообще писать?
Тупой вопрос на самом деле. Конечно выгодно блять, один из самых популярных языков, в тройке точно. И оплата как на остальных примерно. Можно хуярить как бекенд так и ведроид. Для фронтенда нужно будет все равно дрочить джаваскрипт.

А сугубо для ведра джава незаменима ну котлином мб разве что. Вариант еще на джаваскрипте писать, но там говорят может оказаться много пердолинга. Но для простых проектов советуют. Но опять же, там 3-4 популярных технологии на js и они все друг от друга отличаются.

>Какие проекты делали?
Делал 3 клиент серверки.
Первый проект сам клепал на стартапе за гроши, там многому и научился. Мое портфолио собственно. Правда стартап сдох, благо на плеймаркете осталось.
Второй делал месяц, успел только наклепать общую архитектуру и классы для работы с ебанутым Json-rpc. Но сьебал на другую работу.
Сейчас пилю говносоциалку, допиливаю за каким-то идиотом, такого хуйового кода я с первого курса не видел. Но проект мертвый и не оживет и от этого печально, пока нечем гордится.

Ответы: >>619872, >>624797

06 Янв, 02:44 #13 #619809

>Анончики, приглашаю вас в конфу в телеграме

>Конфа общая как для обычной джава, так и для ЕЕ

>https://telegram.me/joinchat/Bbfo5gUiYnQn8tWtl0OlrA

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

06 Янв, 07:42 #14 #619872

>>619808

Выходит, что на деньги с плей маркета жить можно?

Ответы: >>619880

06 Янв, 08:27 #15 #619880

>>619872
Хз, у меня постоянная работа 10 месяцев. Жить можно с успешных апликух, а ты их сделай сначала. У меня не вышло.

Ответы: >>619945

06 Янв, 09:01 #16 #619886

А что за хайп в последнее время вокруг того, что Android и Google от Java отказываются? В чём прикол?

Ответы: >>619891, >>619892

06 Янв, 09:14 #17 #619891

>>619886
Переход на OpenJDK

06 Янв, 09:17 #18 #619892

>>619886
Поскорее бы на Go переехали.
Может не придется делать вставки из кода на С.

Ответы: >>619906

06 Янв, 10:49 #19 #619906

>>619892
Хуйни не неси.

Ответы: >>619920

06 Янв, 11:45 #20 #619920

>>619906
Че за наезд бля?

Ответы: >>619952

06 Янв, 12:43 #21 #619945

>>619880

А в чём сейчас работа заключается?

Ответы: >>619952

06 Янв, 12:50 #22 #619948

Кто пишет приложения на андроид на андроиде?

Ответы: >>619980, >>629292, >>629315

06 Янв, 12:59 #23 #619952

>>619945
Писал же, делаю клиент для говносоциалки.

>>619920
Ну ты сам подумай что значит переход на другой язык.

Ответы: >>619954

06 Янв, 13:01 #24 #619954

>>619952
Точно, сорри и спасибо, что ответил.

Кстати, относительно этой новости... Как быть теперь?

Ответы: >>620070

06 Янв, 13:41 #25 #619980

>>619948
Нет таких.

06 Янв, 15:57 #26 #620070

>>619954
>Кстати, относительно этой новости... Как быть теперь? Забить хуй и не ебать мозги проблемами которых нету.

Ответы: >>620071

06 Янв, 15:57 #27 #620071

>>620070
>Кстати, относительно этой новости... Как быть теперь?
Забить хуй и не ебать мозги проблемами которых нету.
фикс

Ответы: >>620076

06 Янв, 16:01 #28 #620076

>>620071

Спасибо, что помогаешь, хороший человек.

Ответы: >>620096

06 Янв, 16:10 #29 #620079

>>619370 (OP)
Хотел посмотреть в Wireshark-e как проходит аутентификация одного андроид приложения (интересуют реквесты к закрытому API и ключи, которые оно отправляет).
Девайсов на андроиде нет, поставил Bluestacks, Wireshark видит его трафик, но пользы от этого мало - реквесты все идут через HTTPS.
Люди как-то получают нужные реквесты и ключи. В какую сторону смотреть? Реверс инжинирить приложение? Если да, то как? Если нет, то что посоветуете?

Ответы: >>620096, >>620383, >>627123

06 Янв, 16:36 #30 #620096

>>620079
>Люди как-то получают нужные реквесты и ключи.
Я не понял.

>>620076
Всегда пожалуйста.

Ответы: >>620130

06 Янв, 17:26 #31 #620130

>>620096
Есть REST API, через который приложение отправляет команды на сервер. Его адреса и json-параметры не задокументированы, так как подразумевается, что команды будут отправляться только через само приложение.
Разумеется, с каждым реквестом шлется ключ авторизации (я пока не знаю, генерится ли он кодом в приложении или другим веб-сервисом). Но я знаю, что люди как-то достают эти эндпойнты и ключи, и получают доступ к сервису напрямую, без приложения. Ну и я хочу того же самого.
Перехватить пакеты Wireshark-ом - не вариант, так как API работает только через HTTPS. Остается реверс-инжинирить? И если да, то что там самое удобное для этого под андроид?

Ответы: >>620314

38 Кб, 500x481

06 Янв, 18:38 #32 #620199

Анон, ты мне поможешь?

Рисую пикчи с помощью(или правильно говорить в?) канве canvas.drawBitmap();
Скалирую канву canvas.scale();
рисую сетку canvas.drawLine();

И в результате не все линии рисуются, КАК НАСТРОИТЬ ПРАВИЛЬНЫЙ РЕНДЕРИНГ?! Так чтобы рисовались все линии и ни одна не пропадала.
В интурнетах только какие-то вопросы по рендерингу видео нахожу.

Ответы: >>620203, >>620218

06 Янв, 18:44 #33 #620203

>>620199
Пробовал включать антиалиайзинг?

Ответы: >>620204, >>620209

06 Янв, 18:44 #34 #620204

>>620203
Нет, я просто просил ранее что-бы хоть намекнули в какую сторону покопать.
Спасибо, поищу/попробую сейчас.

Ответы: >>620206

06 Янв, 18:51 #35 #620206

>>620204
Возьми paint, который ты рисуешь сетку и сделай в конструкторе: new new Paint (Paint. ANTI ALIAS FLAG)

Ответы: >>620209

31 Кб, 500x446

34 Кб, 500x487

06 Янв, 18:55 #36 #620209

>>620206>>620203
Да, спасибо.
Прописал .setAntiAlias(true); и получилось типа того что хотел.

Ответы: >>620218

06 Янв, 19:06 #37 #620218

>>620209
>>620199
Губы - очень очень. Кроме сисек конечно.

06 Янв, 21:20 #38 #620314

>>620130
Если я правильно тебя понял то тебе нужны все стринги из апликухи? Т.е. эндпоинд куда шлется, названия методов и тд?
Если да то реверс инжинирингом ты их получишь,они не обфусцируются. Реверс инжиниринг сам нагуглишь,там работы на минут 15.
А вот ключ авторизации другой вопрос, скорее всего она в шаредах хранится, но далеко не факт, он может на сессию создаваться. Но да скорее всего в shared preferences ищи.

Ответы: >>620327

06 Янв, 21:26 #39 #620327

>>620314
Пишу как долбоеб, только что проснулся.

06 Янв, 22:35 #40 #620383

>>620079
> Реверс инжинирить приложение?
Именно.
> Если да, то как?
Baksmali, дебаггер. Всё по классике.

07 Янв, 05:05 #41 #620694

Анон, дробить проект на несколько модулей хорошая практика или нет? Вот допустим я написал view-писечку, и вынес её в отдельный модуль и всякая разметка для неё в layout не болтается.

Ответы: >>620750

07 Янв, 11:48 #42 #620750

>>620694
Хороша практика выносить все кастомные View в отдельный модуль, но только в том случае, если это крупный проект и все эти кастомные view можно использовать где-то еще.
В остальных случаях смысла нет.
Просто именуй всё понятным языком, к примеру разметку для своих вьюшек именуй со слова: custom_

07 Янв, 15:02 #43 #620821

Парни, поясните за WebView. Я ТЗ пишу, мне нужно приложение, которое будет фактически только браузер внутри себя показывать. Объясните, можно ли настроить его так, чтобы при встрече определенных ссылок на сайте, при переходе по ним ссылка открывалась не внутри WebView, а предлагалось открыть в любом брауезере.

Причем пометка у такой ссылки могла бы быть data-..., то есть html5-атрибут. Другими словами, мне нужно сделать так, чтобы в WebView какие-то ссылки помеченные атрибутом data-... открывались в родном браузере телефона. Можно ли это вообще сделать? Если да, то не могли бы сказать куда копать, чтобы в ТЗ я сразу написал "смотреть в сторону NNNN"

Ответы: >>620851, >>620882

07 Янв, 15:52 #44 #620851

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

Ответы: >>620860

07 Янв, 16:02 #45 #620860

>>620851
Текст ссылки это анкор, href или весь тег "a" с атрибутами? Если весь тег с атрибутами, это было бы идеально, потому что я смогу через data-... отмечать часть ссылок.

Ответы: >>620882

369 Кб, 2048x1536

07 Янв, 16:34 #46 #620871

Народ, как устанавливать библиотеки в проект андроид студии?

Вот, есть у меня *.jar файл, что с ним делать, чтобы использовать в своём приложении?

Ответы: >>620882

07 Янв, 16:49 #47 #620882

>>620860
>>620821
Нет, вызывается shouldoverrideurlloading, куда передается только url. Про анкоры не уверен. Я бы лучше добавил в путь ссылки get параметр, например external=true, тогда бы все ссылки отправлял в браузер с таким параметром. Ну или наоборот intenal=true.

>>620871
Закидывай в папку lib. Нужный в градле пункт уже прописан, просинхронизируешь проект и готово.

Ответы: >>620885, >>620973, >>621084

07 Янв, 16:55 #48 #620885

>>620882
>Закидывай в папку lib. Нужный в градле пункт уже прописан, просинхронизируешь проект и готово.
Т.е. просто в папку, где сама студия установлена?
А как просинхронизировать?

156 Кб, 1920x1080

07 Янв, 17:30 #49 #620898

Программач, пытаюсь осилить по совету анона из прошлого треда (спасибо, кстати) либу android-async-http, но что-то делаю не так, пример c их сайта (скопировал один в один из https://loopj.com/android-async-http/doc/ ) выдаёт какую-то хрень вместо ответа: I/System.out: [B@a1d543c

Запрос проходит успешно, но почему-то вместо нормального ответа выдаёт эту строчку. Если в примере поменять сайт и заменить хттпс на хттп, то ничего не меняется.

Ответы: >>620900, >>620949

07 Янв, 17:32 #50 #620900

>>620898
Макака не даёт вставить нормальную ссылку, по ссылке первый же пример АсинкХттпкКлиент в списке слева.

07 Янв, 19:02 #51 #620949

>>620898
Java надо учить. Вполне нормальный ответ.
http://pastie.org/10676234

07 Янв, 19:36 #52 #620973

>>620882
http://stackoverflow.com/questions/17861905/web-view-onclick-event-for-a-specific-link-in-that-webview вот про это я тебе говорю.

07 Янв, 19:46 #53 #620975

Пачаны, помогайте, а то уже пена изо рта от бешенства идет. Как совладать с поганым GridView? У меня в View, который я добавляю в GridView есть Спиннер, и когда я скроллю GridView, то значение у спиннера постоянно сбрасывается! Как совладать?

Ответы: >>621128

07 Янв, 20:04 #54 #620987

Можно ли как-то заменить список в DataPicker дней/месяцов, чтобы использовал в своих целях эту вьюху?
Или лучше просто несколько NumberPicker сделать?

Ответы: >>620990, >>621008

07 Янв, 20:04 #55 #620990

>>620987
>месяцов
Месяцев

Ответы: >>621008

07 Янв, 20:19 #56 #621008

>>620990>>620987
Ладно, забудьте.

50 Кб, 588x261

07 Янв, 20:24 #57 #621009

Можно ли вот этот говнокод на компактный заменить?

Ответы: >>621013, >>621129, >>621161

07 Янв, 20:27 #58 #621013

>>621009
В данном случае нет.
Вангую тебе лист нужно было делать а не 13 вьюх.

Ответы: >>621019

2 Кб, 92x109

07 Янв, 20:29 #59 #621019

>>621013
14 вот таких галок чекбоксов

Ответы: >>621021

07 Янв, 20:35 #60 #621021

>>621019
Перебери все дочерние элементы и заполни список.

Ответы: >>621024, >>621593

14 Кб, 214x311

07 Янв, 20:39 #61 #621024

>>621021
Угу, эт предлагали. Но ведь у меня лист в листе и листом погоняет, а кроме текстселектов ещё и чекбоксы. СЛИШКОМ СЛОЖНО.

Ответы: >>621026, >>621161, >>621593

07 Янв, 20:46 #62 #621026

>>621024
Скинь скриншот того, как это выглядит в живую.

Ответы: >>621033

4 Кб, 134x129

07 Янв, 20:53 #63 #621033

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

Ответы: >>621035

07 Янв, 20:54 #64 #621035

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

Ответы: >>621043

07 Янв, 21:03 #65 #621043

>>621035
Что это ты такое страшное мутишь?

Ответы: >>621055

07 Янв, 21:12 #66 #621055

>>621043
Лел, а ничего не напоминает?

Ответы: >>621077

56 Кб, 520x509

07 Янв, 21:40 #67 #621077

>>621055
Баян напоминает.

Ответы: >>621080

07 Янв, 21:42 #68 #621080

>>621077
Там же подсказка даже - ПИНЫ

Ответы: >>621082, >>621085

07 Янв, 21:44 #69 #621082

>>621080
Ардуина небось?

Ответы: >>621093

07 Янв, 21:44 #70 #621084

>>620882
> вызывается shouldoverrideurlloading
Спасибо, няша. Очень помог

81 Кб, 600x464

07 Янв, 21:44 #71 #621085

>>621080
Сделай для TQFP100

Ответы: >>621093

07 Янв, 21:53 #72 #621093

>>621082
Нет, обычный счетчик.

>>621085
А потом ещё и реализовать возможность программировать его? Ну это уж слишком.

07 Янв, 22:11 #73 #621113

Хочу вкатиться в андроид разработку. Знания нулевые (на уровне знания сишного синтаксиса и чуть-чуть ООП). С чего начать, что читать по джаве, насколько глубоко залезать в джаву?

Ответы: >>621131

47 Кб, 500x271

07 Янв, 22:17 #74 #621117

>>619370 (OP)
Как можно зарабатывать на этом деле адекватные деньги? Пусть у меня 100 тысяч пользователей в месяц, которых у меня никогда не будет. Пусть каждому из них я один раз покажу рекламку. Итого: ~1$ на тысячу = 100 долларов.

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

Ответы: >>621121, >>621219, >>621596

07 Янв, 22:24 #75 #621121

>>621117
50коп за 1 просмотр.

Ответы: >>621123, >>621126

07 Янв, 22:25 #76 #621123

>>621121
А, бля, я что-то подумал, что я в веге сижу и мы про стримеров говорим.
Пиздец поехавший стал.

Мало того что рекламу показать, нужно ещё и перейти по ней.

07 Янв, 22:32 #77 #621126

>>621121
7 баксов дохуя слишком.

Может и ошибаюсь, но средняя цена за interstitial 2.5$ за 1000 в нормальных странах. Если приложение используют в каких нибудь пакистанах, будет еще меньше, около 1.5$.
Алсо может так выйти, что вообще кликать не будут, тогда CPM будет вообще маленьким. Потому и считаю 1$.

07 Янв, 22:32 #78 #621128

>>620975
Хранить значение спиннера в модели, с которыми работает адаптер. Обновлять спиннер из getView.
А лучше почитай как ListView (GridView абсолютно аналогично) работает. Твой вопрос именно от непонимания идёт.

Ответы: >>621310

07 Янв, 22:34 #79 #621129

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

Ответы: >>621134, >>621593

48 Кб, 500x388

07 Янв, 22:35 #80 #621131

>>621113
Глубоко.

07 Янв, 22:37 #81 #621134

>>621129
findViewWithTag?

Ответы: >>621136

07 Янв, 22:39 #82 #621136

>>621134
У класса Resource. getIdentifier или типа того, поищи в доках.

Ответы: >>621162

07 Янв, 23:16 #83 #621161

>>621009
Я бы на твоем месте посмотрел бы в сторону дата биндинга.
>>621024
> линеары в линеарах
Релайтив не думал сделать?

Ответы: >>621165, >>621593

9 Кб, 563x101

07 Янв, 23:17 #84 #621162

>>621136
Да, спасибо. Неплохое решение.

07 Янв, 23:19 #85 #621165

>>621161
>Релайтив не думал сделать?
Эт хорошо когда под свой смартфон пишешь наверное.
>Релайтив не думал сделать?
Ммм, не задумывался. Просто сделал как знал что смогу.

381 Кб, 565x575

08 Янв, 00:16 #86 #621219

>>621117
Бампик.

08 Янв, 01:34 #87 #621269

Можно ли в режиме дизайна отключить обновление layout'а каждый раз при его изменении? Раздражает, что всё очень медленно работает. Студия часто вешается.

Ответы: >>621271, >>621458

26 Кб, 546x257

08 Янв, 01:38 #88 #621271

>>621269
Какие значения выставить?

86 Кб, 697x365

08 Янв, 01:52 #89 #621278

https://gist.github.com/anonymous/38ab56ad90f422239974
как сделать, чтобы объекты из линеар бара располагались равномерно по его плоскости?

Ответы: >>621317

08 Янв, 02:47 #90 #621310

>>621128
Совладал, но возникла новая проблема: можно ли заставить адаптер создать больше элементов, чем умещается на экране, так сказать "заранее"? У меня умещается только 2 элемента, а мне нужно получить значение с, например, четвёртого, который ещё не создан, т.к. гридвью не скроллили.

08 Янв, 02:53 #91 #621317

>>621278
Как поделить контейнер на n равных частей?

Ответы: >>621437

2 Кб, 100x200

08 Янв, 03:03 #92 #621330

Анон, смотри, JSON строка может быть такого вида:
[
true,
false,
"blabla1",
42,
{..}
]

Точный тип и структуру я не знаю, есть ли способ распарсить её корректно?

Ответы: >>621459, >>621483

2 Кб, 100x200

08 Янв, 03:05 #93 #621336

Анон, смотри, JSON строка может быть такого вида:
[
true,
false,
"blabla1",
42,
{..}
]

Точный тип и структуру я не знаю, есть ли способ распарсить её корректно?

08 Янв, 06:36 #94 #621437

>>621317

Люк, используй layout weight!
http://www.startandroid.ru/ru/uroki/vse-uroki-spiskom/38-urok-7-layout-parametry-dlja-view-elementov.html

Ответы: >>621643

08 Янв, 08:20 #95 #621452

Хочу вкатиться в андроид разработку. Знания нулевые (на уровне знания сишного синтаксиса и чуть-чуть ООП). С чего начать, что читать по джаве, насколько глубоко залезать в джаву?

Ответы: >>621460

08 Янв, 09:28 #96 #621458

>>621269
Запили конфиг своей пекарни.

08 Янв, 09:31 #97 #621459

>>621330
В некоторых случаях можно.

Ответы: >>621746

08 Янв, 09:32 #98 #621460

>>621452
Глубоко залезать.
Читать то, что в ОП посте.
Ставишь себе сложную в плане архитектуры задачу и решаешь её.

08 Янв, 09:38 #99 #621463

А кто -нибудь карты/симки пробовал программить?

08 Янв, 10:44 #100 #621483

>>621330
Встроенные org.json.* есть.

Ответы: >>621746

08 Янв, 14:06 #101 #621557

Андроиданы, следите за руками:
Действующие лица:
MainActivity extends AppCompatActivity
SupportFragment extends Fragment // сапортный епта
WorkerFragment extends Fragment // опять же из сапортной либы

Легенда:
WorkerFragment по нажатию на вьюшку в нем делает startActivityForResult (запускается метод фрагмента, а не активти, если сорцы библиотеки не врут моим глазам)

Действие 1:
WorkerFragment цепляется в MainActivity
все чики брыки всем все резалтится

Действие 2:
WorkerFragment цепляется в SupportFragment
который цепляется в MainActivity
WorkerFragment цепляется через getChildFragmentManager
Результат приходит в SupportFragment

Вопрос какого хуя? Или это by design и родителские фрагменты должны перехватывать старты от детей и не форвардить их автоматом?

Я конечно понимаю что схема тупая, но это как бы уже после того как сделал и на такое напоролся.

Ответы: >>621735

08 Янв, 15:13 #102 #621593

>>621161
>Я бы на твоем месте посмотрел бы в сторону дата биндинга.
Там вроде траблы будут с онЧек событием.

>>621021
А они там точно по порядку все? Или порядок нахуй не уперся? Он же все же лист юзает.

>>621129
А вот это годная штука, спасибо.
Только это говно затратное.
А у него тут итем листа >>621024

>>621161
>Релайтив не думал сделать?
А нахуй там рилейтив? Линеар в линеаре это удобная блочная верстка, что-то поменяешь все не пойдет по пизде. А релейтив с его идшниками та еще веселуха, и он скорее всего медленнее будет работать.

Ответы: >>621662, >>621735

08 Янв, 15:15 #103 #621596

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

08 Янв, 16:00 #104 #621643

>>621437
Да знаю я. Я хотел уточнить это ли имеет анрн в виду.

08 Янв, 16:24 #105 #621662

>>621593
> Только это говно затратное.
Ну и что? Взялся за джаву — нечего байты ебать.
Если серьёзно, то затраты вообще несерьёзные.

Ответы: >>621679

08 Янв, 16:44 #106 #621679

>>621662
>Взялся за джаву — нечего байты ебать.
Джава то тут при чем?

Это лист. В листе всякие движения жопой лучше не делать.

Ответы: >>621770

08 Янв, 17:52 #107 #621735

>>621557
> Вопрос какого хуя?
Прост. Тоже с этой хуйней проебался когда то
>>621593
> и он скорее всего медленнее будет работать
Нет. Чем меньше уровней вложенности, тем лучше. Количество onMeasure вызовов уменьшается, в некоторых случаях сильно.
> It is a common misconception that using the basic layout structures leads to the most efficient layouts. However, each widget and layout you add to your application requires initialization, layout, and drawing. For example, using nested instances of LinearLayout can lead to an excessively deep view hierarchy. Furthermore, nesting several instances of LinearLayout that use the layout_weight parameter can be especially expensive as each child needs to be measured twice. This is particularly important when the layout is inflated repeatedly, such as when used in a ListView or GridView.

Ответы: >>621743

08 Янв, 18:01 #108 #621743

>>621735
Уже много читал по поводу что быстрее.
На самом деле строго похуй, но линеары до какой-то там вложенности должны быть быстрее. Рейлейтив тоже со вздрочем работает.
Даже более того, есть люди которые говорят делать все блочкой, а есть те кто говорят что релейтив лучше.
Но тут я вспомню правило "преждевременная оптимизация - зло". И потому советую всем хуярить как удобно.

08 Янв, 18:06 #109 #621746

>>621459
>>621483
>org.json.*
Расскажите подробнее, пожалуйста, а то я уже тут надумал свой парсинг писать.

Ответы: >>621749, >>621751

08 Янв, 18:08 #110 #621749

>>621746
Всё уже изобретено.
http://androiddocs.ru/parsing-json-poluchaem-i-razbiraem-json-s-vneshnego-resursa/

Ответы: >>621751

08 Янв, 18:10 #111 #621751

>>621746
>>621749
Твой json весьма интересного формата, потом расскажи нам как ты его распарсишь при помощи стандартных средств.

Ответы: >>621753, >>621770

08 Янв, 18:16 #112 #621753

>>621751
Так в любой либе для парсинга есть джейсон обжект, в который распарсится любой адекватный джейсон. А дальше растягиваешь его на джейсон элементы. Забираешь те которые нужны.

08 Янв, 19:00 #113 #621770

>>621679
Ну, во-первых таки не лист.
Во-вторых можно и в листе. Опыт показывает, что даже getView можно забивать всяким говном на 150 строк — всё будет хорошо даже на старых бюджетках.
>>621751
Ничего необычного в этом жсоне нет.

Ответы: >>621782

08 Янв, 19:22 #114 #621782

>>621770
>Во-вторых можно и в листе. Опыт показывает, что даже getView можно забивать всяким говном на 150 строк — всё будет хорошо даже на старых бюджетках.
Это для тебя 150 строк, поиск не по идшникам потратит больше времени чем через айдишники.
Но юзай холдерпатерн забиваем на это болт.

Ответы: >>621787, >>621946

08 Янв, 19:25 #115 #621784

Привет котаны.
Есть такая задача: пользователь скачивает файлы (.mp3), одновременно можно скачивать только 3 файла.
Необходимо - организовать очередь и доставить в UI поток информацию о прогрессе и результате. Сохранить файл в стандартную папку с музыкой.
Годный ли такой подход?
1) Создаем FixedThreadPool на 3 потока
2) Каждый поток занимается тем, что скачивает файл и сохраняет его в папку с музыкой, результат и прогресс сплёвывает через Handler?

Ответы: >>621789, >>621922

08 Янв, 19:26 #116 #621787

>>621782
Мне другое не понятно: если у меня каждый элемент списка содержит вложенный linear layout, в который динамически добавляются элементы. То как здесь избежать findViewById? Никак?

Ответы: >>621790, >>621791

08 Янв, 19:27 #117 #621789

>>621784
3) Через Callback юзаем результат в UI потоке.

Ответы: >>621922

08 Янв, 19:28 #118 #621790

>>621787
Никак.
>в который динамически добавляются элементы
Ты инфлейтишь их? Если да то это пиздец для листа, буде тупить при определенном количестве инфлейтов. И холдер не поможет.

Ответы: >>621792, >>621793

08 Янв, 19:29 #119 #621791

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

Ответы: >>621793

08 Янв, 19:30 #120 #621792

>>621790
Да, инфлейтю. Список слегка лагает при прокрутке.

Ответы: >>621793

08 Янв, 19:31 #121 #621793

>>621791
>>621790
>>621792
Прикрепил код: http://pastie.org/10677968

Ответы: >>621798

08 Янв, 19:37 #122 #621798

>>621793
Вариант, но опять же инфлейты будут вызывать лаги, если не критично то забей.

47 Кб, 1046x785

08 Янв, 20:14 #123 #621823

Сап, андроны.
Сорри, что не совсем в тему, но не могу придумать идею простого приложения под Андроид для запиливания.
Нужно, чтобы приложение содержало несколько функций пользователя, было реализовано несколько собственных классов (помимо стандартных), использовался MVC, и также чтобы присутствовала работа с датчиками/устройствами, работа с файлами, с базой данных (SQLite), с облаком и пр. (что-то одно или несколько из этих вещей).

Подумывал какое-то приложение для мат. статистики запилить, типа для ряда значений рассчитать всякие хар-ки, мб графики построить, но работы с системой маловато (если только запилить чтение/запись данных в файл). Или органайзер времени (задач), т.е. вбиваешь задачи для выполнения и сроки, если какая-то задача близка к завершению, то выдается оповещение (мб с помощью Notification), но это, наверное, слишком заезженно и простовато.
Алсо, думал простейшую гоночку в псевдо-3Д запилить, и управление сделать наклонами телефона (gravity sensor для этого нужен, как я понял?), но что-то боюсь сложновато будет, много по времени займет запиливание этого псевдо-3Д (еще для отрисовки хз что удобное использовать) и реализация управления сенсором.

Подскажите какие-то идеи. Или мб по приведенным выше что-то можете подсказать?

Ответы: >>621826, >>621828, >>621838

08 Янв, 20:22 #124 #621826

>>621823
Для какого учебного курса?

Ответы: >>621829

08 Янв, 20:26 #125 #621828

>>621823
> работа с файлами, с базой данных (SQLite), с облаком
Очередной плеер музыки вк с кэшированием.

Ответы: >>621834

08 Янв, 20:29 #126 #621829

>>621826
Предмет "Мобильные и встраиваемые операционные системы". Другие варианты заданий: написание драйвера для устройства, написание приложение под Win Phone или написание программы для других встраиваемых систем с ОС.
Выбрал себе написание приложения под Андроид, т.к. это как-то ближе хотя на самом деле ни с чем из этого не работал толком

Ответы: >>621840, >>623142

08 Янв, 20:32 #127 #621834

>>621828
Это ж надо еще наверное ВК API знать?
Мне бы желательно поменьше дополнительных инструментов изучать, чтобы быстрее сделать задание.

Ответы: >>621837

08 Янв, 20:38 #128 #621837

>>621834
VKSdk есть. Там довольно просто.

08 Янв, 20:39 #129 #621838

>>621823
Погугли Claris Organizer.
Это такая древняя программа под MacOS ещё времён 1.x - 7.x

08 Янв, 20:44 #130 #621840

>>621829
Как же я рад, что не пошел на факультет ИТ.

08 Янв, 23:18 #131 #621922

>>621784
>>621789
Сделал так, короче, завтра вкину, обложите хуями и т.п.

Ответы: >>622258

09 Янв, 00:21 #132 #621946

>>621782
> Это для тебя 150 строк, поиск не по идшникам потратит больше времени чем через айдишники.
Разумеется. Возможно, на порядок больше. Не 10 мкс, а 100. Бида.

40 Кб, 170x233

09 Янв, 15:35 #133 #622224

Антош, сохраняю OAuth-токен доступа через getPreferences(Context.MODE_PRIVATE) всё правильно делаю?
Кроме токена хранить ничего не требуется.
Насколько безопасно так его хранить?
Какие подводные камни?

Ответы: >>622263

09 Янв, 16:18 #134 #622258

>>621922
У меня была похожая хуйня, но неограниенное количество одновременных закачек с возможностью отмены, еще и в разных местах в приложении могло показываться и при закрытии должно было закончится в бэкгрануде. Наделал костылей с сервисом в котором есть ExecutorService с кэшем тредов. Из фичи общался с UI через интенты. Лучше бы сделал через DownloadManager и в одном треде его бы ебал вопросами ну че как там уже сколько загрузил и оттуда слал бы интенты.

Ответы: >>622792

09 Янв, 16:23 #135 #622263

>>622224
http://stackoverflow.com/questions/10161266/how-to-securely-store-access-token-and-secret-in-android

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

09 Янв, 22:52 #136 #622566

Ролл

09 Янв, 22:55 #137 #622568

Реролл, ибо выпала хуйня.

10 Янв, 01:07 #138 #622644

Платиновый вопрос: можно ли на купленную Idea наложить плагины, чтобы он был как Android Studio? Я не знаю что там есть в Студии (кроме заголовков библиотек), наверное, дебаггер

Ответы: >>622790, >>622812, >>622813

10 Янв, 08:34 #139 #622790

>>622644
Тебе поебаться захотелось или что?

Ответы: >>623289

10 Янв, 08:38 #140 #622792

>>622258
В DownloadManager можно задать имя файла под которым он должен сохранить загруженное?
Вообще вариант с DM выглядит более костыльным. По сути допиливаем нужный функционал через костыли.

Ответы: >>622929

10 Янв, 10:11 #141 #622812

>>622644
>чтобы он был как Android Studio
Больной ублюдок.

10 Янв, 10:14 #142 #622813

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

10 Янв, 14:57 #143 #622929

>>622792
>можно задать имя файла под которым он должен сохранить загруженное?
Конечно можно: http://developer.android.com/intl/en/reference/android/app/DownloadManager.Request.html#setDestinationUri(android.net.Uri)
>Вообще вариант с DM выглядит более костыльным
Выбор между системными костылями и своими.

Ответы: >>622936

10 Янв, 15:12 #144 #622936

>>622929
>Выбор между системными костылями и своими.
Своя реализация - это велосипед.
Велосипед лучше костылей.

10 Янв, 15:43 #145 #622946

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

10 Янв, 19:20 #146 #623074

Где можно найти новичку несложные фриланс заказы под андроид?

Ответы: >>623133, >>623140

10 Янв, 19:25 #147 #623083

Вопрос в какую сторону нужно копать если собираюсь стать разработчиком под андроид ?
Много ли можно заработать на этом?

Ответы: >>623092

sage 10 Янв, 19:40 #148 #623092

>>623083
OP пост

10 Янв, 20:24 #149 #623133

>>623074

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

10 Янв, 20:27 #150 #623138

Как мне на устройстве развернуть базу данных? Открыл 2-й том Хорстманна, он грит мол иди к админу, сам не осилишь.
Но это он про БД на сервере, а мне надо локальную.

Ответы: >>623182

10 Янв, 20:28 #151 #623140

>>623074
Здесь другие ребята. Лабы под андроид писать не получится. Обычно требуют либо делать с нуля, либо доделывать начатое

10 Янв, 20:31 #152 #623142

>>621829
Какая специальность?

10 Янв, 21:09 #153 #623182

>>623138
http://developer.android.com/training/basics/data-storage/databases.html

Ответы: >>627667

10 Янв, 23:51 #154 #623289

>>622790
Я хочу, чтобы у меня один IDE был под все языки

Ответы: >>623400

11 Янв, 00:16 #155 #623298

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

92 Кб, 512x512

11 Янв, 16:21 #156 #623346

Я тут высрал за 3 дня https://play.google.com/store/apps/details?id=com.levelgd.dvachpics

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

Ответы: >>623397

11 Янв, 17:59 #157 #623397

>>623346
Как сделана такая галерея? Чем грузишь пикчи?

Ответы: >>623398, >>623402

11 Янв, 18:00 #158 #623398

>>623397
Точнее такой список.

Ответы: >>623402

11 Янв, 18:01 #159 #623400

>>623289
Так и получится. Студия сделана на базе intellij idea.

11 Янв, 18:05 #160 #623402

>>623397
>>623398
Это обычная WebView, несложно догадаться. Сервер дрочит двач, формирует линки на пикчи, на клиенте картинки грузятся с двача, нет смысла их сперва перекачивать на сервер. Пока только /б в тестовом режиме, первые 20 тредов (всего в /b их 105).

Ответы: >>623412

11 Янв, 18:16 #161 #623412

>>623402
Т.е. ты грузишь со своего сервера страницу на которой картинки с двача?
Охуеть, а без сервера нельзя?

Ответы: >>623420

11 Янв, 18:28 #162 #623420

>>623412
Можно, но это существенно повысит требования к скорости интернета клиента. Представь что инет у юзера не оч, и сраная страничка с картиночками будет грузиться 5 минут, так нельзя делать. Формировать же галерею все же куда проще на серве через ноду чем на телефоне.

21 Кб, 466x240

11 Янв, 22:36 #163 #623587

Андроиданы, вопрос наверное не сложный, но я чего-то не нашел уверенного best practice для этого. Короче есть у меня вьюшка, которую я боюсь долго оставлять в памяти, но ссылка на неё должна быть в Runnable, который работает с интернетом. По-этому я хочу в момент cancel обнулить ссылку на неё. Ситуация примерно пикрелейтед. Как мне уловить момент отмены и обнулить объект? Я понимаю что можно через AsyncTask, но интересно как это в ванильной жаве сделать. Интенты не предлагать. Делается библиотека с баннерами. Извиняюсь за шакальство, не понимаю почему так хуево.

Ответы: >>623951, >>624874

12 Янв, 00:43 #164 #623634

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

Ответы: >>623652

12 Янв, 01:15 #165 #623652

>>623634

Руками создай приложение, которое в себе webView содержит, там работы на 40 минут максимум

12 Янв, 12:31 #166 #623949

Отличный пример, демонстрирующий высокую производительность Apache Cordova по сравнению с медленной Java.
На моем Nexus 5 с Android 6.0.1 тормозит ПИЗДЕЦКИ
https://play.google.com/store/apps/details?id=au.com.redata.android.demo&hl=ru

12 Янв, 12:33 #167 #623951

>>623587
Зачем там ссылка на вьюшку?
Как ссылка на вьюшку там используется?

Ответы: >>623988

12 Янв, 13:03 #168 #623988

>>623951
Получится JSON в котором хтмл код который надо засунуть записать в базу и возможно засунуть в вэбвью. Ну короче баннер рекламный. Мне в ванильной жавы треде уже ответили, FutureTask конфетка.

Ответы: >>624061

12 Янв, 13:30 #169 #624019

Встретил тут вот это
http://ionicframework.com/

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

мимо из php треда

12 Янв, 14:12 #170 #624041

native api работы много?
черный софт пишут уже? востребовано?

12 Янв, 14:33 #171 #624061

>>623988
Приложение не крашится из-за того, что ты не из UI потока к View обращаешься?

Ответы: >>624108

12 Янв, 15:07 #172 #624090

Анончик, подскажи пожалуйста.

У меня есть две версии приложения, full и free, различаются исключительно отсутствием рекламы. Предположим на девайсе установлены обе версии. Приложение умеет грузить картинки из галереи/с камеры (использую стандартные средства ведроида). При загрузке есть вероятность того что Активити вызывающая будет выгружена из памяти, и тогда при возврате она будет пересоздана. Как правильно описать intent-filter в манифестах платной и полной версии, чтобы при возвращении из стандартных активити Андроида не появлялся диалог с выбором, какое из приложений (полное или бесплатное) запустить?

Ответы: >>624107, >>624140

12 Янв, 15:28 #173 #624107

>>624090
> платной и полной
Фикс: бесплатной

12 Янв, 15:29 #174 #624108

>>624061
Так есть же post, а вообще я сделал через фичу, там не вьюшка висит, а просто интерефейс который умеет реагировать и в done() через предоставленный Handler или через Handler главного треда post.

Ответы: >>624270

12 Янв, 15:56 #175 #624140

>>624090
>Предположим на девайсе установлены обе версии
Третью еще сделай.

Ответы: >>624153

12 Янв, 16:11 #176 #624153

>>624140

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

Ответы: >>624177

12 Янв, 16:30 #177 #624177

>>624153
П О Д П И С К А
О
Д
П
И
С
К
А
А еще найди приложуху в сторе такую.

12 Янв, 18:27 #178 #624263

Вижу, что в некоторых приложениях приводится список open source лицензий.
Правильно я понимаю, что это важно в том случае, если приложение очень популярно, платное и используется туева куча сторонних либ?
У меня используется 2 либы:
https://github.com/intuit/sdp
https://github.com/kolavar/android-support-v4-preferencefragment/blob/master/LICENSE
Мне не зачем волноваться и можно не делать такой раздел?

Ответы: >>624271

12 Янв, 18:36 #179 #624270

>>624108
Я понимаю, что интересно всё исследовать, ты молодой-шутливый, но ты просто изобрёл велосипед. Абсолютно то же самое умеет делать AsyncTask: он именно так и работает.

12 Янв, 18:38 #180 #624271

>>624263
Забей, алсо вторую поменяй на гугловский preference appcompat есть отдельной либой.

Ответы: >>624274

12 Янв, 18:41 #181 #624274

>>624271
Ага. Осталось вспомнить зачем я использовал его вместо гугловского.

12 Янв, 21:12 #182 #624400

Почему-то в ActionBarActivity не отслеживается кнопка меню, остальные кнопки отслеживаются. В простой Activity все работает.

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_MENU) {
Log.v("App", "menu event");
return true;
}
return super.onKeyUp(keyCode, event);
}

Ответы: >>624442, >>624448

12 Янв, 22:09 #183 #624442

>>624400
> ActionBarActivity
This class is deprecated.
Use AppCompatActivity instead.

Ответы: >>624448

12 Янв, 22:19 #184 #624448

>>624442
Ты их код видел? ActionbarActivity extends AppCompatActivty и больше ничего не меняет.
>>624400
Ты про оверфлоу меню?

13 Янв, 05:35 #185 #624591

Привет, ребята, очередной чайник в треде. В общем задумал я сделать одну классную вещь под андроид, но ни с чем, связанным с программированием в жизни дел не имел. Так вот вопрос. На каком движке можно написать игру типа "Взломщик 1.6", если помните такие были популярны лет 10 назад. Много ли нужно времени для того, чтобы новичку написать подобное?

Ответы: >>624621

13 Янв, 07:52 #186 #624621

>>624591
Бери Unity3D и пиши.

13 Янв, 13:15 #187 #624765

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

Ответы: >>624854, >>624942

13 Янв, 14:04 #188 #624797

>>619808
что планируешь делать в связи с ситуацией с api level 23 и apache со старыми своими приложениями ?

Ответы: >>624943

113 Кб, 500x600

13 Янв, 14:12 #189 #624802

>>619370 (OP)
Анончики, хочу пойти на стажеровку в контору по разработке приложений под ведро, есть проблема из все что знаю это только с курса elegion от гугл ну так чуть тыкал в android studio. Вопрос в том что бы подготовить для собеседования, порекомендуйте самый минимум навыков, знаний что бы выглядить хотя бы знающим?

Ответы: >>624845

13 Янв, 15:38 #190 #624845

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

Ответы: >>624855

1047 Кб, 250x250

13 Янв, 15:54 #191 #624854

>>624765
БУМП

Ответы: >>624857

13 Янв, 15:55 #192 #624855

>>624845
Дайте годную книгу на русском языке для хелоувордов

13 Янв, 15:55 #193 #624857

>>624854
Походу нет

Ответы: >>624863

13 Янв, 16:01 #194 #624863

>>624857
А вдруг есть? Бампану еще пару раз, может кто подкинет

Ответы: >>624872

13 Янв, 16:16 #195 #624872

>>624863
Есть. Но человеку, не умеющему пользоваться гуглом, я помогать не буду.

13 Янв, 16:23 #196 #624874

>>623587
>Я понимаю что можно через AsyncTask,
У тебя раннейбл запускается в другом потоке? Тогда как ты вообще собираешься взаимодействовать с вьюхой?
А так, можешь попробовать делать, например, thread interupt для отмена, если у тебя работа с интернетом не блокирует поток. Иначе никак - ибо состояние interrupted тебе придётся проверять вручную в методе run

13 Янв, 16:30 #197 #624876

Аноны, а что вообще представляет из себя кодстайл в реальных проектах андроида? Смотрю коды прог на гитхабе - у одних куча абстракций, все выдрочено до неузнаваемости в проекте с двумя активити, у других - наоборот - вся логика намешана прямо в активити, никаких паттернов, нихуя.
Сам валю из тырпрайза в ведроид, ибо заебало бесконечное количество AbstractSingletonProxyFactoryBean, 20 слоёв ебаной бизнес логики над бизнес логикой, бесконечная абстракция и прочие радости тырпрайза. Правильно делаю, или путь онли в сишечку?

Ответы: >>624953

13 Янв, 18:41 #198 #624942

>>624765
Сотни их.

13 Янв, 18:42 #199 #624943

>>624797
Всмысле?

13 Янв, 18:59 #200 #624953

>>624876

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

Ответы: >>624969

13 Янв, 19:51 #201 #624969

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

13 Янв, 21:10 #202 #625023

Аноны, банальная ситуация: одно активити, несколько фрагментов, соответствуют пунктам в naviagtion drawer.
У каждого фрагмента есть ui, и своя логика загрузки данных. Для загрузки данных используются методы стороннего апи (синхронные, либо асинхронные), и соответствующие им коллбэки.
Есть 2 решения:
1) Захуячить setretaininstance(true) - но тогда надо смотреть, чтобы при доставке данных ui был доступен (как?), ибо при повороте он всёравно будет перерисовываться.
2) Не делать setretaininstance - но тогда придётся всю эту хуёню-малафью с методами апи оборачивать в лоадеры, что породит кучу огромных лоадеров с нехилым велосипедом.

Какое вы юзаете?

Ответы: >>625027

13 Янв, 21:16 #203 #625027

>>625023
Rx
Но тут будет два варианта:
1) Хранить подписки во фрагмeнтe с ретаэйном;
2) Хранить подписки в синглтоне

Ответы: >>625031

13 Янв, 21:24 #204 #625031

>>625027
>1) Хранить подписки во фрагмeнтe с ретаэйном;
>2) Хранить подписки в синглтоне
Что не отменяет взаимодействия с ui при доставке. Надо как-то проверить, что ui доступен, особенно интересно, как это сделать во фрагменте с ретейном, где сам фрагмент не пересоздаётся, но ui перерисовывается.

Ответы: >>625038

13 Янв, 21:37 #205 #625038

>>625031
Нихрена не будет доставляться если ты отпишешься в onPause(). Ретэйн фрагмент умрет тогда, когда умрет активти, значит останавливай все. Ты не так понял ретейн фрагмент. Я имею в виду не UIшный фрагмент, а тот который просто висит в мэнэджере - UI не имеет. Так что смотри: UI фрагменты подписываются, отписываются, а ретейн держит сабскрипшены и вообще рулит процессом.

13 Янв, 22:26 #206 #625073

В MainActivity заменил модуль с MainActivity на "нужный_нейм", но приложение просто крашится, при этом создавал модуль в папке layout, короче говоря всё как у людей. В чём проблема?

Ответы: >>625076

13 Янв, 22:28 #207 #625076

>>625073
А читать ты умеешь? Как насчет проверить манифест?

Ответы: >>625080

13 Янв, 22:29 #208 #625080

>>625076
Сам файл открыть или на изображении телефона выписывает?

Ответы: >>625083

13 Янв, 22:32 #209 #625083

>>625080
Ты смеешься? AndroidManifest.xml открой, а ошибки в логе.

82 Кб, 981x486

148 Кб, 987x786

13 Янв, 22:49 #210 #625100

Вот скрин того что выдал

Ответы: >>625101, >>625180

13 Янв, 22:50 #211 #625101

>>625100
И Д И
Н А Х У Й
М У Д О З В О Н
и startandroid забери

Ответы: >>625103

13 Янв, 22:51 #212 #625103

>>625101
А хули не так?

14 Янв, 00:45 #213 #625179

Пихнул вам всем в очко свой ОБРАТНЫЙ ЗВОНОК

14 Янв, 00:51 #214 #625180

>>625100
Пшол отсюда, мразь.

192 Кб, 1000x667

14 Янв, 01:04 #215 #625186

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

Ответы: >>625191

14 Янв, 01:27 #216 #625191

>>625186
Что бы трекать сессиию например и другие похожие вещи. Да и проверок особенно не нужно если ты пишешь на диск, а фрагменты просто реагируют. Вот был бы нормальный колбэк как Application.onCreate(), только Application.onDestroy(), а так нужны костыли.

Ответы: >>625194

14 Янв, 01:43 #217 #625194

>>625191
>Что бы трекать сессиию например и другие похожие вещи.
Типа на онДетаче посылать запрос про офлайн? Это имел ввиду?

На диск это ладно, но для любой работы с юи нужен не контекст, а активити.

Ответы: >>625314

14 Янв, 10:46 #218 #625314

>>625194
Если все правильно сделать - все подписки и колбэчики, то до не приципленного фрагмента они не дойдут

Ответы: >>625455

14 Янв, 12:55 #219 #625373

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

Ответы: >>625379

14 Янв, 13:03 #220 #625379

>>625373
А все, уже разобрался, ебучий легаси. (http://stackoverflow.com/questions/16682847/how-to-manually-include-external-aar-package-using-new-gradle-android-build-syst)

14 Янв, 15:44 #221 #625455

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

На счет онДетача фрагмента, если убить процесс системно, онДетач не должен же срабатывать?
Тогда каким образом можно следить за статусом пользователя? Ушел апликухой в бэкграунд, но еще в онлайне же, убило системой и онДетач скорее всего не сработает.

Ответы: >>625474

14 Янв, 16:12 #222 #625474

>>625455
Так я и говорю, что нет у апликэйшлна точного метода, когда все. Не знаю откуда ты он детач взял. А вот у активти есть, если ты убьешь процесс, то onDestroy() точно вызовется.

Ответы: >>625685

14 Янв, 21:16 #223 #625685

>>625474
>onDestroy() точно вызовется.
Вообще-то нет, не вызовется. Я и подумал что ты хочешь сказать что при убивании процесса на фрагменте онДетач вызывается, но видимо нет.

Ответы: >>626098

14 Янв, 21:42 #224 #625711

>>619370 (OP)
Ох, ебушки воробушки, аноны, как вы ебетесь с этими ведрами если тулзов адекватных и ускоряющих разработку гугол как не поставлял так и не поставляет? За что вы так ненавидите Xamarin? На ios разработка идет в лет, на ведро портируется в шум, если твоя аудитория это не носители говно-телефонов. Что не так?

Ответы: >>625730, >>625744, >>625858, >>629966

14 Янв, 21:56 #225 #625730

>>625711
>На ios разработка идет в лет,
Что ты под этим имеешь в виду?

Ответы: >>625739

14 Янв, 22:08 #226 #625739

>>625730
ну я имею ввиду что быстро фичи фичевать. Я не думаю я всякой низкоуровневой херне, которая в большинстве приложений нахрен не упала. Просто беру и юзаю из коробки то что есть и оно работает. Без глюков. Есть места которые надо напильничком подлатать - но таких немного. В основном ты пишешь бизнес-логику а не трахаешься с оптимизациями, куришь логи девайса, ковыряешь dSym итд На это же уйма времени тратится в нэйтиве

14 Янв, 22:11 #227 #625744

>>625711
+....ебал я в рот тех кто писал андроид студио - тупорылое и тормозное говно особенно эмулятор

Ответы: >>625771

14 Янв, 22:55 #228 #625771

>>625744
>В основном ты пишешь бизнес-логику а не трахаешься с оптимизациями
Это да.
>>625744
Хз. Со студио не знаком, так что сравнивать не с чем, но хкод – это одна из самых уебанских разработок от Эппла в плане стабильности

15 Янв, 00:44 #229 #625858

>>625711
Ой да не пизди. Сделай мне риппл эффект на баттоне на ведре 4.2.2.
Жду решения.

Ответы: >>626137

15 Янв, 04:29 #230 #625930

Господа, если я хочу хорошо освоить SQLite, то мне нужно искать книгу по ней конкретно(если такие есть) или же просто брать книгу по SQL и по ней учить? Одно и тоже будет или же нет?

Ответы: >>625977, >>626011

15 Янв, 10:17 #231 #625977

>>625930
Там есть разница, но SQLite попросту проще. Много чего нету, много что для галочки типы данных например и тд.
Но всякие иннерджоины и тд аналогичны, так что пох на самом деле.
Единственное что после обычной sql нужно будет почитать разницу чтоб не ожидать всяких убер фич и приемов.

15 Янв, 11:29 #232 #626011

>>625930
SQLite изучается документацией. Она сильно упрощена, по сравнению с мускулями/постгресами.

15 Янв, 13:50 #233 #626098

>>625685
Ты только что сломал мои розовый очки. Действительно не вызвалось, но то был терминэйт мануальный. При более не менее нормальном поведении, то есть когда грохает система, но еще не так жестоко(don't keep activities) всем все вызывается.

Ответы: >>626153

15 Янв, 14:26 #234 #626137

>>625858
Да как нехер. Затаскиваю любую либу с гитхаба которая умеет это делать на api 14-19 и пишу рендер кнопки, который действует по всему проекту.

Ответы: >>626153

15 Янв, 14:55 #235 #626153

>>626098
На онДестрой нельзя полагаться.

>>626137
Поподробнее.
90% либ на джаве. Или это не проблема?

Ответы: >>626164

15 Янв, 15:19 #236 #626164

>>626153
Android SDK тоже на Java, прикинь. Затащить любое .JAR дерьмецо можно быстрее чем это описано в туториале Xamarin, ибо понаписано плагинов для этого дела более чем достаточно. Все это превращается в пару раз тыкнуть мышкой в VS.
Ну а рендер по сути это нативная обертка над любой вью. Там все пишется старым дедовским способом - как гугл завещал. В итоге я имею кнопку которая описана в кросс-платформенном лэйауте и которая имеет 1 вид на ведрах, и так же имеет другой вид на ios. При этом верстка не трогается. Я пишу её 1 раз и дальше подключаю необходимые эффекты если надо. Но большинство анимаций например из коробки есть. Если надо что-то вычурное - пишем сами или тащим либу

Ответы: >>626165, >>626250

15 Янв, 15:23 #237 #626165

>>626164
При том мне доступен полный SDK - поэтому можно и самому написать используя обучающие материалы нативной разработки.

15 Янв, 17:50 #238 #626250

>>626164
Ну у всего же минуса есть, какие на хамарине?

Ответы: >>626306, >>626310

15 Янв, 18:09 #239 #626261

http://fritzmorgen.livejournal.com/851042.html?thread=426252130#t426252130

А вон там обсуждают, нужен ли бодишоп вообще

По теме: многие ли из вас работают удаленно напрямую?

Ответы: >>626276, >>626297

15 Янв, 18:38 #240 #626276

>>626261
В двух словах поясните нахуй в россию ехать?
Не буду все читать.

15 Янв, 18:52 #241 #626297

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

Рейт $20 в бодишопе - это как минимум $10 на налоги (в отличие от хохлов, где все - ИП, в России за такое ебут), плюс офис (аренда, уборщица), плюс оплата труда хрюш, пинающих этих аутистов манагеров, тачку директору, хуе-мое, вот и $35-40 у заказчика. Заказчик тут платит не программисту, а за комплекс услуг. Заказчик тут - менеджер в каком-нибудь западном банке, у которого мысли о том, как он после 6 пойдет домой к жене, и ему гемор вообще не нужен, его интересуют формальные показатели и цифры, от которых у него зависит премия.

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

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

15 Янв, 19:06 #242 #626306

>>626250
Минуса есть. Иногда жестко тупит VS, приходится перезагружаться.
Долгое время загрузки приложения, если не настроен линковщик, который должен уменьшать подключаемые библиотеки да и твой код тоже.
И обновления в Xamarin это зло. Нужно очень долго работать с этой платформой чтобы вовремя обновиться без последствий. Да и то...
Недавнее обновление например добавило в инсайты новых эксепшнов, которые раньше не возникали. Нужно точно знать номер стабильной версии Xamarin и библиотек Xamarin Forms.
Ну и нельзя давать себе вольницу при верстке лэйаутов и фигачить высокую вложенность контейнеров и управлять их видимостью. Обычно в такие моменты вспоминаешь нативную работу с фрагментами, когда заменяешь один лэйаут другим в рамках одной activity. Это реализуемо в ксамарин, но расходится с парадигмой XamarinForms.
Ну и опытный программист знает что на Xamarin списки из коробки неоптимизированны и есть отличное решение - отказаться от автоматических биндингов в ячейки и обновлять их ручками. Новички про это не в курсе и всегда когда получают глючное решение - ругают замарин. Может оно и объективно, но решение есть и оно даже на костыль не похоже.
Работу с Http нужно организовывать не через стандартные немспейсы, а подключать либу которая работает с нативными инструментами - ибо работа в 2-3g сетях стабильнее. Вообще нельзя сказать что прям все работает из коробки, но магазин компонентов и Nuget полон самых разных решений.
Если не надо делать что-то вычурное и необходимо это пилить на 2 а то и на 4 платформы сразу то Ксамарин самое то. Если нужно написать лаунчер какой или ещё что подобное - Замарин не ваш выбор однозначно.

Ответы: >>626328, >>626332

15 Янв, 19:12 #243 #626310

>>626250
Нестандартный UI пилится очень сложно. Если следуешь гайдлайнам - все ок. Как уходишь начинаются проблемы.

Ответы: >>626328

15 Янв, 19:41 #244 #626328

>>626310
В ведре это тоже нихуя не просто.
>>626306
Понял спасибо.
Так а в чем трабла лаунчера не понял.

15 Янв, 19:47 #245 #626332

>>626306
Те же яйца, только в профиль и за деньги.

Ответы: >>626359

15 Янв, 20:44 #246 #626359

>>626332
Время наш главный враг. В 1 рыло за месяц можно намутить добротный прототип на 3 платформы. Быстрота главное преимущество. Потому и денег стоит. Да и комфорт никто не отменял, я о многих вещах даже не задумываюсь, просто беру и делаю

Ответы: >>626458

13 Кб, 48x48

16 Янв, 00:13 #247 #626420

Анон, помоги понять, чяднт. Пытаюсь прикрутить к приложению активити с гуглокартой, но, как только подключаю
compile 'com.google.android.gms:play-services:8.4.0'
всё отваливается и пидорасится, в логе только "Gradle build finished with 1 error(s) and 4 warning(s) in 2m 2s 280ms"
а конкретику найти не могу.

Ответы: >>626459, >>626471

16 Янв, 01:09 #248 #626458

>>626359
Ну на джсе тоже можно клепать. Толку то. Пока рынок требует будет на джаве писать.

Ответы: >>626634

16 Янв, 01:10 #249 #626459

>>626420
Трайни 8.3.0

Ответы: >>626488

16 Янв, 01:35 #250 #626471

>>626420
Плагин сервисов подключил? Попробуй только карты подключить и base (или core, если там есть, а то вдруг выдумываю). Проверь версию грэйдла и его плагина.

Ответы: >>626488

16 Янв, 02:21 #251 #626488

>>626459
Не помогает.
>>626471
Вроде подключил.
Если создать отдельный модуль, то всё работает, но почему-то при попытке вставить активити с картой в моё - валится.

Ответы: >>626504

16 Янв, 02:55 #252 #626504

>>626488
Ключ не забыл?

Ответы: >>626514

16 Янв, 03:16 #253 #626514

>>626504
Неа, хотя есть подозрения, что делаю что-то не так.
Не понимаю, почему вообще подключение в dependenses рушит билд.

Ответы: >>626518

10 Кб, 200x200

16 Янв, 03:54 #254 #626518

>>626514
БЛЯДЬ БЛЯДЬ БЛЯДЬ

Весь день ебусь, пиздец какой-то.
Только что очередной раз добавил новую активити по шаблону гугломэпс, по ссылке создал ключ, вставил, запускаю, и снова
Gradle build finished with 1 error(s) and 4 warning(s) in 1m 33s 994ms
Если создавать с нуля апп и делать всё то же самое. то получается, а так - нет. Пиздец

Ответы: >>626528, >>626566

16 Янв, 05:51 #255 #626528

>>626518
Ну ты хоть скрин ошибок в иде покажи.

Ответы: >>626538

8 Кб, 200x200

16 Янв, 06:40 #256 #626538

>>626528
Уже нашёл, был какой-то конфликт с либой для асинхронных запросов, причём выяснил я это тупо отрубая компоненты, пока не нашёл эту парашу.

Котаны, а подскажите, есть ли список полезных советов, каких-то фишек, которые бы экономили время и нервы?

Ответы: >>626563, >>627376

16 Янв, 09:05 #257 #626563

>>626538
>Котаны, а подскажите, есть ли список полезных советов, каких-то фишек, которые бы экономили время и нервы?
>Gradle build finished with 1 error(s) and 4 warning(s) in 1m 33s 994ms
Используй линупс, там градл быстрее в разы работает. На моём ноуте в винде градл хэллоуворлд компилится за 10-12 секунд (с демоном, без демона однохуйственно, с демоном даже медленнее иногда почему-то выходило, хз, причём градл последний специально качал, а проебаться с настройками там сложно - их практически нет), а на линупсе (у меня centos 6.7, что для ведроразработки ещё и не самое оптимальное, приходилось вручную пердолиться с пакетами, которых в репозитории не оказалось) прямо сейчас запустил - первый раз раз 5.8 секунд (подрубился демон), последующие - меньше секунды (0.8-0.9)

Ответы: >>626564

71 Кб, 427x604

16 Янв, 09:19 #258 #626564

>>626563
Кстати, сейчас специально ради тебя перекомпилировал свой проект. Первая компиляция (то есть, полная, с clean и всеми тасками градла) вышло 30 секунд. На шинде до 2 минут доходило.

16 Янв, 09:39 #259 #626566

>>626518
Это еще что, у меня R файл не генерировался, хотя я сделал clean и build, пока не удалил все drawable, а потом обратно вставил.

16 Янв, 09:42 #260 #626567

Раз уж жалуемся на gradle, что сделать что бы не тупил? А то например редактирую build.gradle и студия тупо фризится, пробовал и на виде и на маке.

99 Кб, 1626x738

80 Кб, 1502x962

55 Кб, 720x1280

16 Янв, 11:36 #261 #626595

>>619370 (OP)
Привет пацаны! Как и многие решил угореть по андроиду, написал приложуху (афишу для местных кинотеатров) и заметил, что скролл не такой плавный как в приложении ВК.

Ради такого дела полез смотреть трассировку - если мотнуть экран вниз, то первое время все нормально (пик 1), но в какой-то момент все становится плохо (пик 2) и дальше лучше не становится. Во фрэйме, после которого все ломается, происходит "Expensive Bitmap uploads" Pixels uploaded "0.31 million", Time spent 11.750 ms, Upload 1038x300 Texture took 11.75ms. О каких текстурах идет речь я не понимаю, у меня даже при всех закомменченных ImageView такая же фигня.

Может я накосячил в программе или еще что. Поэтому я собрал пример полностью по руководству гугла http://developer.android.com/training/material/lists-cards.html#Dependencies и, естественно, ничего не изменилось. Скролл такой же рваный. В моей пустой программе тормозят даже пустые карточки (пик 3).

Что можно сделать, пацаны? Мой телефон говно? Или это я не понимаю сути андроида?

Ответы: >>626630, >>626742

16 Янв, 12:32 #262 #626630

>>626595
Покажи свой адаптер для листа или рейсайлервью.

Ответы: >>626635

16 Янв, 12:41 #263 #626634

>>626458
>JS
ты серьезно? не, ты реально серьезно вот сейчас произнес это?

Ответы: >>626638, >>626663

16 Янв, 12:41 #264 #626635

>>626630
http://pastebin.com/jEsn1Zi4 - вот реальный адаптер

Ответы: >>626637

16 Янв, 12:45 #265 #626637

>>626635
http://pastebin.com/69rh2Pxa - даже вот этот адаптер тормозит (с него 3й пик)
http://pastebin.com/F2K8BetZ - а вот такая верстка для 3 пика.

Ответы: >>626664, >>626742

16 Янв, 12:46 #266 #626638

>>626634
И хочу добавить что таких проблем как несколько постов выше с гугло-картами на замарине нет. Подключил за 2 минуты, расширил немного классец карт, добавил что надо и оно работает, компилится без всяких танцев с бубнами. Собсно за это фирма и деньги на лицензии платит

Ответы: >>626663, >>627375, >>627377

16 Янв, 13:23 #267 #626663

>>626638
Ой все пиздуй уже. То что человек не может либу подключить сугубо его проблемы.
>>626634
Да, там платформы 3-4 конкурирующих.

16 Янв, 13:25 #268 #626664

>>626637
Попробуй на эмуляторе посмотреть. Просто тут действительно нечему лагать.

Ответы: >>626742, >>626965

16 Янв, 14:06 #269 #626695

Ну и так по частям:
1) public class DataObjectHolder, почему не статик?
2) Этот OnCLikListener выглядит просто ужасно; Мне кажется легче в onBindViewHolder передать объект, который будет рисоваться во вьюхолдер и тогда нет нужды с этими кривыми хренями;
3) Есть подозрения, что все так хреново из-за RelativeLayout'a в корне иерархии;

Ответы: >>626742, >>626965

16 Янв, 14:39 #270 #626742

>>626595
Этот пост >>626664 про этот код >>626637

>>626695
Код не мой, я другой анон но есть вопросы.
>1) public class DataObjectHolder, почему не статик?
Вообще правильно, мол чтоб мемори ликов не было нужно статик делать. Но логически я никак не могу понять каким образом в данном случае будет мемори лик?
>3) Есть подозрения, что все так хреново из-за RelativeLayout'a в корне иерархии;
Очень сомневаюсь в этом.

16 Янв, 19:23 #271 #626965

>>626695
> 1) public class DataObjectHolder, почему не статик?
> 2) Этот OnCLikListener выглядит просто ужасно;
Первое - это следствие второго.. Статик пришлось убрать, потому что myClickListener.onItemClick не получалось вызвать из статического объекта, а по-другому я не разобрался.

> Мне кажется легче в onBindViewHolder передать объект, который будет рисоваться во вьюхолдер и тогда нет нужды с этими кривыми хренями;
Не совсем тебя понял, но мне кажется это дельный совет. Поясни, пожалуйста, подробнее.

> 3) Есть подозрения, что все так хреново из-за RelativeLayout'a в корне иерархии;
В самом приложении нет релатив лэйаута, там вот так: http://pastebin.com/jjfBhMKx

>>626664
На эмуляторе такое же поведение, я трэйс в нем и сделал, в телефоне ядро без дебага собрано. Эмулятор у меня 5й версии вроде, на телефоне 4.4.2. Проблемы в обоих

Аноны, может быть проблема в том, что я в бете андроид студии 2.0 preview 4 пытаюсь работать?

Ответы: >>626992, >>627467

55 Кб, 720x1280

16 Янв, 20:00 #272 #626992

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

https://dropmefiles.com/kzpes - вот пустой проект, который ближе к низу списка у меня начинает тормозить.

Ответы: >>627107

34 Кб, 640x526

16 Янв, 20:26 #273 #627003

Не понимаю как работает сборка мусора. Допустим, у меня есть Activity, с методом onResult. Activity создаёт другой объект, допустим Dowloader с помощью new Downloader(this).
Downloader сохраняет эту переданную ссылку в поле mCallback. Внутри Downloader объявляется AsyncTask, который в onPostExecute вызывает mCallback.onResult(yoba).
Вопрос: если в момент выполнения AsyncTask Activity будет убита, что произойдёт? Будет ли собран сборщиком объект Downloader? По идее объект AsyncTask будет иметь ссылку на родительский объект, значит ли это что он будет жить? Значит ли это что ссылка mCallback вмесие с Activity также останется жить?
Если всё да, то какой нормальный выход? Сделать WeakReference mCallback? Сделать AsyncTask статик классом (и можно ли так)?

Ответы: >>627467

16 Янв, 22:48 #274 #627107

>>626992
Парни, это опять я. Опытным путем я нашел проблему. И теперь надеюсь, что вы подскажете мне, как быть.

Суть в том, что у меня тел philips, и в прошивке есть фирменная фишка XPower Tech (мать её).

Ответы: >>627108, >>627110, >>627374

16 Янв, 22:49 #275 #627108

>>627107
Блин. Само отправилось..

>Данный режим работает на базе технологии PowerXtend, фирменной разработки компании Lucidlogix. Он необходим для того, чтобы уменьшить энергопотребление системы в процессе запуска тяжеловесных приложений – таких, как сложных игр с серьезной графикой, браузера с множеством открытых вкладок, программ для навигации и т. п. PowerXtend позволяет в этом случае сэкономить до 30% емкости аккумулятора! На практике это выливается в несколько дополнительных часов использования мобильного устройства в автономном режиме

16 Янв, 22:50 #276 #627110

>>627107
Блин. Само отправилось..

>Данный режим работает на базе технологии PowerXtend, фирменной разработки компании Lucidlogix. Он необходим для того, чтобы уменьшить энергопотребление системы в процессе запуска тяжеловесных приложений – таких, как сложных игр с серьезной графикой, браузера с множеством открытых вкладок, программ для навигации и т. п. PowerXtend позволяет в этом случае сэкономить до 30% емкости аккумулятора! На практике это выливается в несколько дополнительных часов использования мобильного устройства в автономном режиме

По-видимому, эта технология тупо ограничивает fps в приложениях. Вот какого хуя эта фигня считает мое приложение тяжеловесным я не понимаю...

16 Янв, 23:00 #277 #627123

>>620079
Ставишь fiddler на комп + его сертификат на девайс и читаешь весь шифрованный трафик

32 Кб, 620x387

17 Янв, 01:12 #278 #627214

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

Ответы: >>627219

17 Янв, 01:19 #279 #627219

>>627214
Омг, не ту картинку добавил.

Лейауты выглядят так:

автокомплит:

<AutoCompleteTextView
android:id="@+id/autoCompleteTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Input"
android:scrollHorizontally="true"
>
<requestFocus />
</AutoCompleteTextView>

листайтим:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="@dimen/appbar_padding_top"
android:scrollHorizontally="true"
/>

Ответы: >>627221

59 Кб, 362x685

17 Янв, 01:20 #280 #627221

>>627219
ЧТо-то я совсем даун, тут картинку забыл, мод, пофикси, если слишком даун.

17 Янв, 05:22 #281 #627335

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

Ответы: >>627340

17 Янв, 05:32 #282 #627340

>>627335
onActivityResult, уже разобрался.

17 Янв, 10:44 #283 #627374

>>627107
Именно по-этому не имеют смысла любые смартфтны кроме nexus.
Уж больно любят пихать странную фигню, которая не нужна и тормозит/глючит.

17 Янв, 10:46 #284 #627375

>>626638
Таких проблем нет и на Java.

17 Янв, 10:48 #285 #627376

>>626538
Средство есть и называется: опыт.

17 Янв, 10:51 #286 #627377

>>626638
Такие проблемы с картами должны быть у каждого. В результате их имеем у одного ньюфага.
Так что и здесь проблем нет.
Очевидно, что ксамарин привносит:
1. Тормоза
2. Новые баги
3. Хочет денег
И в треде про разработку под android не имеет смысла обсуждать ксамарин, т.к. тут java справляется лучше.

17 Янв, 13:34 #287 #627440

Аноны, денёчка! Хочу сделать шапку для своего приложения, которая будет включать в себя пикчу и текст, со шрифтами, цветом и размером которого хотелось бы поиграть.
ActionBar скрыл, в как это сделать Toolbar`е тоже не догоняю.
Надежда на тебя, анон!

17 Янв, 13:38 #288 #627442

Аноны, поясните за проблему
Есть activity (класс1 скажем) для экрана. На этом экране layout, на котором лежит imageview.
Из этого активити по нажатию на кнопку должна запускаться анимация imageview.

Анимацию формирует другой класс (класс2). В этом же классе анимация и запускается для imageview.
Анимация представляет собой AnimationSet, который в себя включает последовательность анимаций по перемещению imageview (TranslateAnimation), они идут подряд друг за другом, и на каждую из этих анимаций перемещения навешены листенеры, которые меняют картинку (пикрил1).

В чём проблема
1)нажимается кнопка
2)появляется событие в класс1
3)обработчик события кнопки в класс1 вызывает класс2, чтобы сделать анимацию и её начать выполнять
4)анимация в класс2 формируется, для imageview вызваю startAnimation(анимация).
5)!!!тут проблема. Я думал анимация сразу сработает, но сначала возвращается управление в класс1, в обработчик
6) как только по телу обработчика поток доходит до конца, только потом срабатывает анимация.
то есть, поставив в обработчике thread.sleep(10000), анимация через 10 секунд только сработает.

У меня вопрос, почему сразу не срабатывает, и как запустить её сразу?
Чисто визуально, программа работает нормально. Но мне нужно решить этот вопрос чтобы сделать ещё кое-какие фишки.
Старался как можно понятнее объяснить. Без класса2 не обойтись.

Ответы: >>627446

7 Кб, 1283x347

17 Янв, 13:48 #289 #627446

>>627442
отвалилась

Ответы: >>627470, >>627507

17 Янв, 14:21 #290 #627467

>>627003
Система отцепит активити, но сборщик его не уберет, итого у тебя будут висеть активти, и другие объекты. Что бы так не случалось надо загружать по другому, тут два стула:
1) Отменять загрузку при смерти или даже паузе активти;
2) Писать на диск, а в UI реагировать на изменения;
Тема старая и болючая, вот ссылочки https://docs.google.com/file/d/0B2dn_3573C3RdlVpU2JBWXdSb3c/edit, codeforces.com/problemset/status, но они уже прогнили, как говно мамонта, и есть новые модные решения из коробки и все говно.
>>626965
Ну смотри вот мой код стандартного адаптера которым я пользуюсь (http://pastebin.com/vruYdEmA), присутствует в том или ином виде в трех приложеньках, хотя очень далек от идеала, так что use sparringly. Собственно все действо будет происходить в onBind(T data) потомков AViewHolder'a, а в констуркторе я обычно выставляю как OnClickListener (или еще какой) сам холдер. Заодно обосрите братушки.

Ответы: >>627468

17 Янв, 14:22 #291 #627468

>>627467
Блять запятые и скобки прицепились, не серчайте.

17 Янв, 14:29 #292 #627470

>>627446
Зачем ты вообще пихаешь thread.sleep(10000) в анимацию? Для отложенного старта анимации есть метод... то ли сетДелей, то ли сетСтартТайм, короче в списке автоподстанова анимации что то такое поищи.

Ответы: >>627473

17 Янв, 14:34 #293 #627473

>>627470
я не пихаю, я как пример привёл. один хрен, не работает

17 Янв, 15:28 #294 #627507

>>627446
я всё сделал, вопрос отпал

17 Янв, 16:20 #295 #627549

Как сделать навигейшнБар который двигает мейнКонтект? Как у фейсбука например.

17 Янв, 16:39 #296 #627577

У меня вопросы к бывшим шарпоблядям. Есть тут такие? Какого это было перекатиться с шарпа на жабу? Стало лудше или хуже?
Хотет перекатиться, ебошить под мобилки. Заебал дотнет. Тут либо хуячить сайты, либо хуячить нативные приложения, которые нужны только секретаршам.

Ответы: >>627676, >>627683

17 Янв, 19:20 #297 #627667

>>623182
спасибо, почитаю

17 Янв, 19:39 #298 #627676

>>627577
> Какого это было перекатиться с шарпа на жабу?
Как делать нехуй. Даже гайды по джаве не читал.

17 Янв, 19:52 #299 #627683

>>627577
Мне понадобилось снова что-то на C# написать: так непривычны эти свойства в шарпе.
Порой листаешь список методов и ищешь, где же там getХуйня()

Ответы: >>627739

17 Янв, 21:21 #300 #627739

>>627683
Я не понял. Ты писал на шарпе, потом на жабу, а теперь на шарп, где ты настолько отвык от проперти?

Ответы: >>627745

17 Янв, 21:25 #301 #627741

У меня еще один вопрос назрел по поводу переката с .NET на андроид. Разница в ЗП при перекате. На дотнете я щас что-то между мидлом и сеньором, но получаю хуево, т.к. контора говно. Если я щас быстренько освою разработку под андроид, мой перекат, в плане зп, будет мягким? Или нубы вообще нихуя не получают?

17 Янв, 21:30 #302 #627745

>>627739
Именно. Всегда по привычке начинаю набирать метод со слова get/set или искать глазами.

Ответы: >>627749

17 Янв, 21:38 #303 #627749

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

Ответы: >>627786

17 Янв, 22:32 #304 #627786

>>627749
Фишкой это сложно назвать.
Ну да, сделали.
Особой необходимости в них нет.

37 Кб, 556x276

Kotlin 18 Янв, 19:50 #305 #628434

>>619370 (OP)
А что это в шапке нет ничего про Kotlin?
IntelliJ IDEA его поддерживает (и Android Studio, RoboVM Studio тоже)

Kotlin - язык 2011 года разработки, совместимый (в обе стороны) с Java
Из коробки поддерживает: проперти, лямбды, экстеншем методы (как в C#), нормальный дженерик, перегрузку операторов (+,- и тд), в нем НЕТ checked исключений.
В общем очень похож на scale, но проще и всего +400kb к размеру APK (с proguard будет меньше)

RoboVM + Kotlin - отличная замена Xamarin (C# 2001 года уж смотрится архаично по сравнению с Kotlin)

Вот видео (на русском) про язык, от главного разработчика
https://www.youtube.com/watch?v=wjkaPXT_vY4
https://www.youtube.com/watch?v=018n0aXiljc
https://www.youtube.com/watch?v=VU_L2_XGQ9s

P.S.
Разрабатываю на нем уже полгода, могу ответить на адекватные вопросы

Ответы: >>628441, >>628444, >>628450, >>628465, >>628534, >>628927

18 Янв, 19:55 #306 #628441

>>628434
Под ведро на нем пишешь?

Ответы: >>628444

18 Янв, 19:58 #307 #628444

>>628434
P.P.S.
Сам я на него перекатился из Xamarin (на Xamarin из нативного Android/Java, когда захотелось делать кросс-платформенные приложение)

Тк Kotlin еще компилируется в JavaScript, то его можно держать
как запасной аэродром на случай если все перейдут в HTML5

>>628441
Под Android и iOS (RoboVM - выходит дешевле через Xamarin )

Ответы: >>628465

18 Янв, 20:03 #308 #628450

>>628434
>В общем очень похож на scale
На Scala конечно

Сразу предупреждаю, в нем нет имплиситов (вместо них экстеншен методы)
и более простой паттерн-матчинг (эдакий switch на стероидах)

18 Янв, 20:06 #309 #628454

Есть смысл перекатываться из фронтенда в андроид? Где больше денег?

Ответы: >>628466

18 Янв, 20:19 #310 #628465

>>628444
>Под Android и iOS (RoboVM - выходит дешевле через Xamarin )
Вот тут не понял. Так что дешевле выходит? И почему? Явно ксамарин по логике вещей должен быть дешевле.

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

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

Оставь контакты какие-то на будущее.
Очень интересно пообщаться с человеком пилящим под две платформы.

Ответы: >>628483, >>628721

18 Янв, 20:20 #311 #628466

>>628454
>Где больше денег?
В фулстеке очевидно, будучи архитектором можно зарабатывать очень много.

18 Янв, 20:32 #312 #628483

>>628465
Ох лол, так робоВМ дает возможность сразу клепать и на ведро и иос?

Ответы: >>628721

18 Янв, 21:29 #313 #628534

>>628434
Еще одно хипстерское говно без задач. Не будет по нему столько материалов как есть по разработке для ведра на джаве, когда на любой тупой вопрос дает ответ первая ссылка в гугле. "Вместо function можно писать fun, оставшееся время которое Вы бы потратили на дописывание ction можно затратить на зазубривание всего говна, которое мы запихнули в наш язык, вроде объявления переменной 15 разными способами!"

Ответы: >>628540, >>628755

18 Янв, 21:34 #314 #628540

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

Ответы: >>628755

18 Янв, 22:27 #315 #628581

>>628547
Еблантий, какие тебе нужны материалы по Котлину как на джаве, если он использует жаба-инфраструктуру? Описание языка -на оффсайте, вопросы по ведру - в гугле.

Ответы: >>628593, >>628755

18 Янв, 22:44 #316 #628593

>>628581
>жаба-инфраструктуру
жаба-инфраструктуру и кодовую базу, fixed

19 Янв, 00:18 #317 #628721

>>628465
>Явно ксамарин по логике вещей должен быть дешевле.
Я имел ввиду саму подписку: 25$/мес = Android+iOS+Continuous Integration (в Xamarin для CI нужна минимум Business подписка)

Время разработки примерно как в Xamarin (на Xamarin Forms все таки быстрее, но имхо это зашквар)

>Алсо поясни за робоВМ
По факту RoboVM это тот же Xamarin, только вместо mono там java-virtual-machine.
Поддержки WP нет, но блин если бы в Microsoft не отказались от проекта Astoria, можно было бы запускать и на WP.

>Да и какую иде юзать и тд.
RoboVM (сделана на базе IntelliJ IDEA), а можно как плагин подключить к AndroidStudio или IDEA (но нужна более дорогая подписка)

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

>>628483
Ты прав мой юный друг

Ответы: >>628780, >>628785

123 Кб, 949x823

19 Янв, 00:41 #318 #628755

>>628534
Вот он >>628581 прав - kotlin это только язык, он использует стандартные классы Java/Android API

>>628540
Код на Kotlin компилируется прям в java-bytecode.
Байт код поддерживает описание классов, вот они то и видны со стороны java.

Пример на картинке:
В IDEA можно посмотреть представление любого Kotlin класса в байт коде.
Тут видно, что для пропертей генерятся get/set и что все методы/классы по умолчанию final.

Ответы: >>628785, >>628928

19 Янв, 01:05 #319 #628780

>>628721
>если бы в Microsoft не отказались от проекта Astoria, можно было бы запускать и на WP
Кстати провожу исследование "можно ли портировать часть Android API на обычную Java".
Это нужно чтобы запускать Android приложения на WP10 (вместо проекта Astoria)
и просто на Window/OS X/Linux без эмуляторов (к примеру для отладки).

Может быть кто нибудь захочет присоединится?

P.S.
Я знаю что у Google есть расширение к хрому которое примерно это же делает.

19 Янв, 01:11 #320 #628785

>>628755
Та понял что в байткод, но как в джаву превратить этот код?
Разработка не байткодом ведется же, а на джаве спецов больше чем на котлине.

>>628721
>Continuous Integration
Чой-то такое?

Ответы: >>628791

19 Янв, 01:26 #321 #628791

>>628785
>Та понял что в байткод, но как в джаву превратить этот код?
Никак, зачем это?

Вот ты когда подключаешь .jar библиотеку там же нет .java файлов (там только .class байткод),
но твой проект как-то видит классы от туда и может их использовать. Так и здесь.

>Continuous Integration
>Чой-то такое?
Мда, приехали https://ru.wikipedia.org/wiki/Непрерывная_интеграция

Ответы: >>628959, >>628961

19 Янв, 02:20 #322 #628827

Есть аноны которые пишут в Xamarin? Т.к студентота взял на dreamspark подписку на год. Есть желание выучить c#. Хочется совместить обучение с практикой создания мини-прог для ведра. Шилдт подойдет?

Ответы: >>628837

19 Янв, 02:33 #323 #628837

>>628827
>Есть аноны которые пишут в Xamarin?
Да и мой тебе совет - начни с чего-нибудь одного (либо писать под ведро либо изучать C#)

>Есть желание выучить c#
>Шилдт подойдет?
нашел где спрашивать, с такими общими вопросами тебе в c# тред

Ответы: >>628844

19 Янв, 02:43 #324 #628844

>>628837
Хотелось бы совместить приятное с полезным.

19 Янв, 08:20 #325 #628927

>>628434
> перегрузку операторов (+,- и тд)
Говно
> в нем НЕТ checked исключений.
Залупа

19 Янв, 08:21 #326 #628928

>>628755
Бля, этот синтаксис. Будто во времена флеша вернулся.

Ответы: >>628960

19 Янв, 09:55 #327 #628959

>>628791
Ну охуеть, нахуй мне твоя википедия? Я сам не мог ее найти?
Это типа у них свой градл?

Ответы: >>628967

19 Янв, 09:56 #328 #628960

Перегрузка операторов в Kotlin к примеру позволяет
1) Складывать два BigDecimal через +, а не через метод add()
JAVA:
BigDecimal sum = new BigDecimal(2).add(new BigDecimal(4)).add(new BigDecimal(8));
KOTLIN:
val sum = new BigDecimal(2) + new BigDecimal(4) + new BigDecimal(8)
с экстеншен методом можно еще так
val sum = 2.bd() + 4.bd() + 8.bd()

2) Добавлять оператор [] к спискам, сеттам, словарям (а не только как в Java в массивах)
и вызывать не только по int, но вообще почему угодно (к примеру Sting)
KOTLIN:
val map = HashMap<String, String>()
map["string-index"] = "string-value"
val result = map["string-index"]

3) Сравнивать через a > b (a < b, a <= b и тд) любые объекты с методом compareTo()

И главное что это просто методы и их можно добавить как экстеншен к любому
уже написанному (даже final) классу, типа String (он final) или Activity
Больше инфы: https://kotlinlang.org/docs/reference/operator-overloading.html

>>628928
На самом деле синтаксис как в 90% современных (не строго функциональных) языках, типа Scala, Groovy.
Тот же Swift очень похож на Kotlin (хотя и появился на пару лет посже)

Ответы: >>628964, >>628983, >>629146

19 Янв, 09:56 #329 #628961

>>628791
>Никак, зачем это?
Затем что твой код могут захотеть перепилить, и на тебе, нужно искать котлин разработчика, которых нету.

Ответы: >>628967

19 Янв, 10:02 #330 #628964

>>628960
>1) Складывать два BigDecimal через +, а не через метод add()
>3) Сравнивать через a > b (a < b, a <= b и тд) любые объекты с методом compareTo()
Да похуй как-то.

>2) Добавлять оператор [] к спискам, сеттам, словарям (а не только как в Java в массивах)
и вызывать не только по int, но вообще почему угодно (к примеру Sting)
Выглядит как пиздец.

Ответы: >>628985

19 Янв, 10:05 #331 #628967

>>628959
>Это типа у них свой град?
Это типа концепция, когда на удаленном сервере (типа Jenkins/Hudson/Team City),
при каждом коммите в репозиторий:
1) Автоматически собирается новый била (у него прославляется версия)
2) Запускаются юнит-тесты
3) Всем заинтересованным людям на почту рассылаются отчеты о сборке/тестах
4) Если предыдущие пункты успешны, то тестировщикам рассылаются готовые билды

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

Через gradle, maven, ant, msbuild - абсолютно пофиг (хоть через bash скрипт)

>>628961
Ну так не ищи, пиши на Java

Ответы: >>628969

19 Янв, 10:18 #332 #628969

>>628967
Понял, спасибо.

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

19 Янв, 10:43 #333 #628983

>>628960
Все "фичи" намекают на то что эта параша создавалася для js-макак, чтоб они слезли с дерева и начали уже пилить хоть что то полезное без необходимости переучиваться на нормальный яп. Не зря еще трансляция в жс присутствует.

Ответы: >>628985

19 Янв, 10:53 #334 #628985

>>628964
>>628983
Бедный дети, не видевшие ни одного языка кроме Java.

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

Кстати перегрузка == очень полезна, с нем к примеру можно
сравнивать две строки по содержанию (без intern() изврата)

Во многих JMV языках (scala, groovy, clojure) есть перегрузка операторов.
Да и не только https://en.wikipedia.org/wiki/Operator_overloading#Catalog
Блин даже в iOS Swift она есть.

P.S.
Я просто прусь с вас - им предлагают язык 2011 года, нет они хотя 1994.

Ответы: >>628998, >>629019, >>629187

19 Янв, 11:17 #335 #628998

>>628985
> Перегрузка операторов - это способ сделать код короче и более читаемым.
Слишком сложно для индусов же.

"Всего, чего нет в жабе, автоматически объявляется хуитой, как только это появляется в жабе, это автоматически становится нехуитой. При этом, требуется сделать вид, что хуитой это называл кто-то другой." (c)

Ответы: >>629019

19 Янв, 11:42 #336 #629019

>>628985
>им предлагают жрать говно, это модно и полезно
>не жрут

>>628998
Тут тред про ведроид. Зачем тащить в ведро функциональщину и перегружаемые операторы, если миллиарды приложений и игр успешно сделаны без этого?

Ответы: >>629035, >>629045

Kotlin (часть 2) 19 Янв, 11:53 #337 #629025

Еще немного фактов:

• Определение типа переменной самим компилятором
var a = File("/file") // a - типа File
var b = HashSet<String>() // тип b HashSet<String>
если нужно явно задать тип, то это делается так
var c: Set<String> = HasрSet() // второй раз дженерик указывать не нужно

• Защита от NullPointerExcaption (NPE) на уровне языка
Все типы могут быть в двух состояниях: nullable и not-nullable
var a: String = ""
a = null // НЕ скомпилируется
a.toString() // скомпилируется

var b: String? = null
b = null // скомпилируется
b.toString() // НЕ скомпилирует
b?.toString() // скомпилирует, если b == null, то toString() не вызовется
b!!.toString() // скомпилирует, если b == null, то произойдет NPE

• Отдельные типы для изменяемых коллекция (MuttableList, MuttableSet и тд) и неизменяемых (List, Set, Map и тд)
В неизменяемую коллекцию нельзя добавлять новые элементы (компилятор не разрешит)

• Нет оператора new
var s = FrameLayout(this, null)

• Неизменяемые (val) и изменяемые (var) переменные
var a = "alice"
a = "bob"

val b = "alice"
b = "bob" // не скомпилируется

• В конце строки не надо ставить ;

Еще видео о языке от его разработчиков:
Андрей Бреслав
(рус) https://www.youtube.com/watch?v=9x6utkLDBs8

Светлана Исакова
(рус) https://youtu.be/mTr8TWj9MUU?t=45m30s - на конфиренции Scala разработчиков (на удивление спокойно отнеслись к языку)
(рус )https://www.youtube.com/watch?v=IXFIUF_KW_o
(eng) https://www.youtube.com/watch?v=dJscNr1silY
(eng) https://www.youtube.com/watch?v=50lASllvG3Q

Ответы: >>629028, >>629188

19 Янв, 11:55 #338 #629028

>>629025
Важная часть про видео не уместилась на экране

Еще видео о языке от его разработчиков:
Андрей Бреслав
(рус) https://www.youtube.com/watch?v=9x6utkLDBs8

Светлана Исакова
(рус) https://youtu.be/mTr8TWj9MUU?t=45m30s - на конфиренции Scala разработчиков (на удивление спокойно отнеслись к языку)
(рус )https://www.youtube.com/watch?v=IXFIUF_KW_o
(eng) https://www.youtube.com/watch?v=dJscNr1silY
(eng) https://www.youtube.com/watch?v=50lASllvG3Q

19 Янв, 12:04 #339 #629035

>>629019
>Тут тред про ведроид. Зачем тащить в ведро функциональщину ...
Что я понял за почти пять лет разработки под Android:
1) Бесполезно сражаться с будущем
Kotlin объективно удобнее и на него все перейдут, ты можеш сделать это чуть раньше.

Альтернативы пока нет:
• C#, Scala, HTML5 - слишком тяжелые для Android
• (слухи) У Google пока только в планах перейти на OpenJDK для поддержки Java 8

2) Чем меньше напишешь кода сегодня, тем меньше его переписывать (читать) завтра
Kotlin позволяет писать короткие и понятные программы.
Может быть тебе это не нужно, ты написал и забыл, но крупные мобильные проекты поддерживаются годами.

Ответы: >>629073

19 Янв, 12:30 #340 #629045

>>629019
Зачем вообще создали жяву, если миллионы приложений на C++ и без того нормально работали? Зачем вообще создавался C++, если сотни тысяч приложений на си, фортране и коболе нормально работали? Зачем вообще всё это говно создавали, когда программы на вм Бэббиджа нормально работали?

Ответы: >>629073

19 Янв, 13:07 #341 #629073

>>629045
Затем что крестопараша для петухов.

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

2) Программы получаются короткие, но нихуя не понятные. a + b - b - a -> foo(bar() <- hui : pizda) = c, и сиди разбирай чего добивался этим высером хипстер, работавший до тебя.

Ответы: >>629096

19 Янв, 13:37 #342 #629096

>>629073
>a + b - b - a -> foo(bar() <- hui : pizda) = c
вот тут ты обосрался, трольченок, нет такого синтаксиса в Kotlin

19 Янв, 13:45 #343 #629102

Знаешь, /зк, по-моему, я схожу с ума...
Дело в том, что иногда по ночам мне кажется, что я яваблядь. Мне хочется выделять память, зарабатывать на доширак, пиздеть про энтерпрайз, сваливать свои проблемы на чужие плечи и писать нечитаемый бессмысленный говнокод.
Я ворочаюсь, страдаю, рычу, а под конец вскакиваю с кровати и хватаю первое, что попалось под руку.
Это может быть тапок, топор или простая поварешка, но в моем воображении она становится огромным прожорливым интерпретатором.
С этим интерпретатором я открываю корпус сервера, ставлю ещё две планки оперативной памяти и с громким боевым кличем выбегаю на улицу. Я бегаю под окнами своих соседей и ору: "Ява не тормозит, тупые нищебляди!! Купите нормальное железо!!"
Но они не покупают... Они привыкли.
И когда я уставший, но довольный, поднимаюсь в квартиру, наоравшись и набегавшись, одна из дверей открывается. Там, лукаво сверкая глазенками, стоит маленький соседский мальчик Женька. Он громко шепчет беззыбым ртом "Клоссплатфолменность!" и ободряюще мигает мне одним глазом.
Я, улыбаясь ему, прохожу мимо, и в душе моей поют заказчики.
А дома я открываю бутылку водки, морщась, выпиваю ее до половины, и ловлю кота. Ругая этого "сраного волосатого индуса", я сажаю его за клавиатуру, и чтобы он не убежал, приматываю его к ней скотчем.
А дальше все просто.
Я стою у окна, пуская скупую быдлокодерскую слезу по своей прыщавой щеке , и мечтаю. Я представляю, что огни домов -- это пламя костров, на которых сжигают крестопидоров, шум машин -- это рев кулеров в серверных, а в мире нет ничего, кроме великого энтерпрайза и нас, яваблядей...
И я жду, что вдруг, вот сейчас, в мою дверь войдет начальник и скажет: "Эй, раб, ты чо так так долго? Давай, быстро дописывай исходник. Похуй, если будет тормозить - разберутся те, кто будет сопровождать! ГА-га-га-га!" И ободряюще хлопнет меня по спине.
И тогда не будет в мире счастливее человека, чем я... Точнее, явабляди.
Что же мне делать, анон? Что же мне делать?

Ответы: >>629130

19 Янв, 14:19 #344 #629130

>>629102
>Что же мне делать?
Переходить на котлин.

19 Янв, 15:00 #345 #629146

>>628960
> Перегрузка операторов в Kotlin к примеру позволяет
С++ один из моих нелюбимых языков. Одна из основных причин - наличие этой самой перегрузки операторов. С этой хуитой логичность и интуитивность кода резко снижается, появляется необходимость изучения того, что делают эти операторы, а это порой пиздец как не логично.
Это высокая цена за сомнительное удобство. Всего лишь сокращение когда в ширину, не более.

Ответы: >>629148, >>629153, >>629154, >>629163

19 Янв, 15:06 #346 #629148

>>629146
Ты туповатый просто. Почитай про концепцию программирования через интерфейс, тогда поймешь, зачем это надо.

Ответы: >>629149

19 Янв, 15:10 #347 #629149

>>629148
> Ты туповатый просто.
Нормально так на личности перешёл.

19 Янв, 15:13 #348 #629153

>>629146
Я так понимаю Clojure, Scala, Groovy, Ceylon, C#, Python, Ruby тебе по тойже причине не нравятся?

В Kotlin очень не большой список операций и они в общем очевидны.
Да и в отличие от тоже же Scala или Clojure - нельзя создавать новые.

Ответы: >>629155

19 Янв, 15:13 #349 #629154

>>629146>
Ну да, лучше сравнивать сроки через .equals, конечно

Ответы: >>629156

19 Янв, 15:14 #350 #629155

>>629153
> Я так понимаю Clojure, Scala, Groovy, Ceylon, C#, Python, Ruby тебе по тойже причине не нравятся?
Я на них никогда не писал, так что не знаю. Но если там такое есть - то, пожалуй, да.

19 Янв, 15:16 #351 #629156

>>629154
Не вижу в этом ничего особо плохого. А вот то, что строка не может быть null - реально хуёво, судя по тому, что выше написали.

Ответы: >>629157

19 Янв, 15:21 #352 #629157

>>629156
>А вот то, что строка не может быть null - реально хуёво
Может если ты поставишь ей тип String?, а не просто String
(но тогда тебе придется расхлебывать случаи NPE самому)

В той же Java 8 ввели тип Optional<T> для разруливания таких ситуаций,
но только для его использования нужно туже строку постоянно заварачивать/разварачивать в/из него.

19 Янв, 15:30 #353 #629163

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

Вот есть у тебя класс, с перегруженными операторами сравнения. Как от этого испортится понимательность кода? Не даст тебе, ваську, отделить примитив от объекта?

Ответы: >>629167

73 Кб, 372x738

10 Кб, 231x129

Java vs Kotlin 19 Янв, 15:36 #354 #629166

На картинках один и тот же класс на Java и Kotlin.

Плюс (благодаря аннотации data) у класса на Kotlin автоматически сгенерированы методы
toString(), equals(), hashCode() (и еще парочка ускоспециальных)

Ответы: >>629195

19 Янв, 15:37 #355 #629167

>>629163
Непонятно, что >/< это compareTo. А может и вовсе нет. Тогда как название метода точно отражает суть операции. Так что да, приписывать структурам данных операции с примитивами - хуёво.

Ответы: >>629174, >>629175

19 Янв, 15:44 #356 #629174

>>629167
Ты понимаешь что проблему из пальца высасываешь?
В той-же IDEA ты можешь навести курсор на оператор и тебе откроется его метод.

Блин как сложно объяснять это тем кто не видел ничего кроме Java.
В той же Scala все пиздец как сложнее из-за implicit (а ты даже не знаешь что это).

Ответы: >>629180

19 Янв, 15:46 #357 #629175

>>629167
Суть в том, что сравнивать объекты по значению без перегруженных операторов тебе не позволит ни один язык ну в сишечке такие как ты любят сравнивать адреса указателей :)).
Если у тебя код вида
Hui hui1, hui2;
..
if(hui1 > hui2)
Абсолютно очевидно что здеся должно происходить. Если не очевидно - ты не знаешь языка.

19 Янв, 15:50 #358 #629178

Какой смысл спорить какой язык лучше? Если вакансий для Kotlinа нет. Не считая, в JetBrains и то, как придаток к Java.

Ответы: >>629186

19 Янв, 15:54 #359 #629180

>>629174
> Блин как сложно объяснять это тем кто не видел ничего кроме Java.
Откуда ты знаешь, какие языки я видел и не видел?
Ну кроме моего ответа на тот список выше, что не достаточно для таких заявлений.
> (а ты даже не знаешь что это).
И это хорошо. Я не занимаюсь изучением новых языков просто "по фану", мне это неинтересно.

Ответы: >>629186

19 Янв, 16:04 #360 #629186

>>629178
Выучить больше одного языка это непосильная задача для анонимуса?
(я неспешно выучил за пару дней, просто смотря youtube)

Плюс как в iOS ты можешь миксовать Object-C + Swift, так и Android
ты можешь смешивать Java + Kotlin (он для того и разрабатывается что бы медленно
переводить большие проекты на современный язык, а не переписывать их с нуля)

>>629180
>Откуда ты знаешь, какие языки я видел и не видел?
Ну по крайне мере я там перечислил почти все JVM языки + популярные сейчас в IT

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

Ответы: >>629191

19 Янв, 16:06 #361 #629187

>>628985
Имелось ввиду что это нововведение не дает нихуя.
Ну правда я думаю в котлине есть что-то лучше чем перегрузка операторов. Обычный синтаксический сахар, да и не самый полезный.

Ответы: >>629198, >>629212

19 Янв, 16:07 #362 #629188

>>629025
>Все типы могут быть в двух состояниях: nullable >и not-nullable
>var a: String = ""
>a = null // НЕ скомпилируется
>a.toString() // скомпилируется
А как мне дать понять что объект мне больше не нужен?

Ответы: >>629198, >>629215

19 Янв, 16:10 #363 #629191

>>629186
> Ну по крайне мере я там перечислил почти все JVM языки + популярные сейчас в IT
Далеко не все, не надо так. К тому же область применения этих языков слишком разная, андроид-программисту питон нахуй не нужен, например.
> Странно я думал программисты любят узнавать новое, расширять кругозор (по крайней мере молодые).
Я как-то вырос из этих игр. Язык изучается по необходимости. До тех пор я сосредоточен на задаче, а это всегда интереснее.

19 Янв, 16:12 #364 #629195

>>629166
Чой-то на котлине нету выбора геттер или сеттер делать?
А вообще стандартная генерация этой хуйни. Опять не сильно нужный синтаксический сахар.
Лучше бы на стримы и лямбды из коробки давил.

Ответы: >>629198, >>629345

19 Янв, 16:14 #365 #629196

Прошел собеседование
@
Берут на работу
@
Пишешь на котлине вместо джавы
@
На первом код ревью дают в морду и выкидывают на мороз

19 Янв, 16:18 #366 #629198

>>629188
>>629187
>>629195
Ебать ты дефектное.
>Я как-то вырос из этих игр. Язык изучается по необходимости. До тех пор я сосредоточен на задаче, а это всегда интереснее.
Так и скажи:
а) я джявист в синей рубашке, кроме жявы ничо не знаю;
б) я нюфаг с ловкими маняврированиями.

Ответы: >>629207, >>629219

19 Янв, 16:25 #367 #629207

>>629198
Я другой анон. И первый вопрос меня действительно интересует.
>А как мне дать понять что объект мне больше не нужен?
Вот даже повторил тебе уебану.
Сделал я глобальную переменную, тот же битмап. Но вот он мне не нужен. Каким хуем я обнуляю ссылку на него?

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

Ответы: >>629211, >>629220

19 Янв, 16:28 #368 #629211

>>629207
https://kotlinlang.org/docs/reference/null-safety.html
Как можно хотеть помогать челику, который не в состоянии открыть гугл? Уёбывай отсюдова.

Ответы: >>629222

19 Янв, 16:28 #369 #629212

>>629187
>Обычный синтаксический сахар
Вот это точно не СХ:
• концепция not-nullable типов
• immutable объекты и колекций
• мощный type inference (в Java тоже над этим работают, в 8 гораздо лучше стало)

19 Янв, 16:30 #370 #629215

>>629188
>А как мне дать понять что объект мне больше не нужен
А зачем? Может ты не в курсе но в Java есть Garbage Collector.
GC и так его очистит когда он больше ненужен будет.

Только не говори что ты в Java переменные и филды зануляешь для экономии памяти.
(А если тебе это нужно делай их nullable var a: String? = null)

Ответы: >>629220, >>629225

19 Янв, 16:35 #371 #629219

>>629198
> Так и скажи:
> а) я джявист в синей рубашке, кроме жявы ничо не знаю;
> б) я нюфаг с ловкими маняврированиями.
Почему меня цитируешь, а ссылки не на мои посты?
Я тебе уже всё сказал. А иметь разговор с человеком, который первым делом переходит на личности и додумывает за собеседника, мне совершенно неинтересно. Всего хорошего.

19 Янв, 16:35 #372 #629220

>>629207
>>629215
Ты не забыл что это анонимный форум, тут сразу насколько анонов отвечат.

>Сделал я глобальную переменную, тот же битмап.
Я не ругаюсь, но начнем с того, а зачем ты сделал его глобальной переменной
(не очень реалистичный пример)

Неизменямыми объектами нужно делать то что тебе нужно на протяжение всей работы
(в этом их смысл) и ты не хочешь словить NPE

Повторюсь сделай его тогда изменяемым:
MyGlobalBitmap: Bitmap? = null

Ответы: >>629222, >>629226

19 Янв, 16:40 #373 #629222

>>629211
Сказал А говори и Б.
Так блять с таким успехом ты мог просто дать ссылку на доку не? Нахуй вбросы кусков кода вообще? Все в доке же.
>>629220
>Я не ругаюсь, но начнем с того, а зачем ты сделал его глобальной переменной
>(не очень реалистичный пример)
Ой да ладно.
У меня идет генерация на карту двух картинок на которых я рисую.
Т.е. я подтягиваю два битмапа шаблона в хендлер, и с них уже делаю битмапы для рисовки. И да это быстрее чем тянуть иммутейбл битмап с диска а потом делать его мутейбл.

Да уже в доке прочитал про изменяемый.

Ответы: >>629226, >>629230

19 Янв, 16:47 #374 #629225

>>629215
>А зачем? Может ты не в курсе но в Java есть Garbage Collector.
>GC и так его очистит когда он больше ненужен будет.
А в котлине гарбадж коллектор читает мои мысли?
>Только не говори что ты в Java переменные и филды зануляешь для экономии памяти.
С битмапом это довольно важная хуйня.
Да и это нормальная практика для сложных обжектов. Те же адаптеры с фрагментами. Но кому я блять объясняю.

Ответы: >>629226

Аноним 19 Янв, 16:48 #375 #629226

>>629220
Немножко спутал сам себя:

Изменяемость / НЕ изменяемость задается префиксом:
var a // a изменяемая переменна/проперти
val a // a НЕ изменяемая переменна/проперти

Nullable / Not-Nullable типы делаются:
var a: Bitmap = Bitmap(4,4,Config.ARGB) // переменная a НЕ может содержать null
var a: Bitmap? = null // переменная a может содержать null

>>629222
>>629225
Нормальная практика это использовать LruCache

Ответы: >>629231

19 Янв, 16:53 #376 #629230

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

Ответы: >>629238

Аноним 19 Янв, 16:53 #377 #629231

>>629226
Нормальная практика это использовать LruCache, а не хранить в стических полях Bitmap

Ответы: >>629236

19 Янв, 16:53 #378 #629232

>>kotlin@user
Оч смешно, моча.

19 Янв, 16:54 #379 #629233

>>kotlin@user
Оч смешно, моча.

19 Янв, 16:54 #380 #629234

>>kotlin@user
Оч смешно, моча.

19 Янв, 16:54 #381 #629236

>>629231
В каких статических ебанат? Обычные глоабльные поля в холдере.

Ответы: >>629241

19 Янв, 16:55 #382 #629237

Извеняюсь за спам pidori :3, интернет лагнул.

19 Янв, 16:55 #383 #629238

>>629230
Можешь и подрочить.

Аноним 19 Янв, 17:03 #384 #629241

>>629236
> Обычные глоабльные поля
что ты несешь?

Ответы: >>629246

19 Янв, 17:06 #385 #629242

Сосаны, я так понял что бы получить внешний IP адрес девайса нужно обязательно спросить какой-то сайт, типа www.whatismyip.com . А то вроде попробовал почти все решения, а они выдают что-то уровня 192.168.1.104 или 10.0.1.2

Ответы: >>629244, >>629245

19 Янв, 17:06 #386 #629243

Тут приложения на андроид кто-нибудь делает? Или только на kotlinе кодите?

Ответы: >>629250, >>629253

19 Янв, 17:08 #387 #629244

>>629242
15 секунд в гугле.
http://stackoverflow.com/questions/6064510/how-to-get-ip-address-of-the-device

Ответы: >>629245, >>629249

19 Янв, 17:10 #388 #629245

>>629242
наверное только так

>>629244
На врядли так можно получить ip адресс за роутером

19 Янв, 17:11 #389 #629246

>>629241
Не слышал про глобальные поля? Вообще ебанулись чтоль?

Ответы: >>629248

203 Кб, 794x775

19 Янв, 17:16 #390 #629248

>>629246
жирный, угомонись уже

Ответы: >>629252

19 Янв, 17:16 #391 #629249

>>629244
Вот ты хоть прочитал? Я же написал что попробовал все хорошее, это отдаст 192.168.1.104 в сети с роутером.

19 Янв, 17:16 #392 #629250

>>629243
Что вы так на котлин кинулись? Все тут пишут на джаве, 1 человек на котлине и 1 на ксамарине.

Ответы: >>629253

19 Янв, 17:19 #393 #629252

>>629248
Доебался, так доебался. Но даже так, никто не говорил про статики которые ты себе придумал.

19 Янв, 17:19 #394 #629253

>>629243
>>629250
Так котлинопидор всех доебал просто.
А так котлин норм мне кажется.

Ответы: >>629270

19 Янв, 17:22 #395 #629256

https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D1%82%D0%BB%D0%B8%D0%BD

Ответы: >>629259

19 Янв, 17:23 #396 #629259

>>629256
Еще яву покажи.

Аноним 19 Янв, 17:37 #397 #629270

>>629253
Ну и на том спасибо :)

Ответы: >>629275

19 Янв, 17:45 #398 #629275

>>629270
Та толку если на нем работы нету. Перекатится в котлин = лишить себя работы и писать неподдерживаемый другими код.

19 Янв, 17:58 #399 #629292

>>619948
Это невозможно

19 Янв, 18:22 #400 #629315

>>619948
С зоны капчуешь?

19 Янв, 18:50 #401 #629331

>>619370 (OP)
Может стоит запилить аналог?

https://atlas.mindmup.com/2015/10/3d59a040592a0133d02a5d31ebcc5420/java/index.html

Ответы: >>629373, >>629377

Kotlin лямбды и стримы kotlin@user 19 Янв, 19:10 #402 #629345

>>629195 Насчет стримов и лямбд
Лямбды https://kotlinlang.org/docs/reference/lambdas.html
Есть и синтаксис у них примерно как в Groovy или Swift

Пример метода принимающего лябду:
fun execute(a: Int, b: Int, c:Int, operation: (Int, Int, Int) -> Int) {
return operation(a, b, c) // лямбду вызываешь как обычный метод
}

Пример вызова этого метода: execute(1, 2, 3, { a, b, c -> a b c })
Если лямбда последний параметр то можно: execute(1, 2, 3) { a, b, c -> a b c }

Стримы https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-list/
В отличие от Java для базовых операция над коллекциями не нужен специальный
класс Stream тк есть нормальные extensions-методы (в этом плане Kotlin ближе к C# с его Linq).

val z = listOf(1, 2, 3, 4)
.map({ s -> 2 s }) // эти три строчки идентичны
.map { s -> 2 s } // эти три строчки идентичны
.map { 2 * it } // эти три строчки идентичны
.filter { it >= 16 }
.sum()

Для lazy операций есть специальный Sequace https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-sequence/

19 Янв, 19:31 #403 #629373

>>629331
Так толку?
По-факту из ваябл только ксамарин и 4 технологии на джаваскрипте.
РобоВм на хуйдой конец.
Котлин как бы вообще язык и к технологиям выще не относится и юзает стандарт сдк.
Все.

Ответы: >>629374, >>629452

19 Янв, 19:31 #404 #629374

>>629373
>выше.

19 Янв, 19:33 #405 #629377

>>629331
А ну и база даных либо SQLite либо Реалм.ио.

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

Ответы: >>629419, >>629435

19 Янв, 20:07 #406 #629415

Есть ли какие-нибудь гайды для дебилов по написанию j2me змейки?

Ответы: >>629461

19 Янв, 20:10 #407 #629419

>>629377

19 Янв, 20:16 #408 #629435

>>629377
Почему в богомерзком Xamarin есть EntityFramework 7 и я могу с sqlite работать как с обычной колекцией в памяти.

А в Android только сырой SQL, либо сраные билдеры запросов (realm.io, ormlite)?

Почему нет такой либы что я мог (как стримы):

db.filter(s -> s.age > 18).sortBy(s -> s.name).take(10)

У меня бомбит в итоге сам подобное написал

Ответы: >>629444

19 Янв, 20:21 #409 #629444

>>629435
Берешь cupboard либо любую орм и не ебешь нам мозги.
ЕнтитиФреймворк как раз орм может и нет но это надстройка уровня орм
>realm.io
Вообще база на плюсах и отдельный разговор.
>ormlite
Вот уже ближе.

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

Ответы: >>629464

19 Янв, 20:27 #410 #629452

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

Ответы: >>629459, >>629544

19 Янв, 20:34 #411 #629459

>>629452
Я считаю, надо. Кстати что за ресурс чтобы эти майндмапы
Я вот тут по памяти накидал, но что-то маловато думаю.
https://atlas.mindmup.com/2016/01/94f97b50a1000133787e49e1d84f8256/android/index.html

Ответы: >>629544

19 Янв, 20:35 #412 #629461

>>629415
Как там, в 2005?

Ответы: >>629464, >>629486

19 Янв, 20:36 #413 #629464

>>629444
1) сравни, пример с сайта:
realm.where(Dog.class).equalTo("name", "Rex").and().equalTo("city", "Moscow").findAll()

2) против (так я работаю со List<Dog> в Kotlin):
Dogs.filter { it.name == "Rex" && it.city == "Moscow" }

3) В EnityFramework7 это будет:
Dogs.Where(s => s.name == "Rex" && s.city == "Moscow")

(2) и (3) почти идентичны, вот так должны белые люди делать запросы к базе.

P.S.
Еще и имена полей в билдере пишутся прям строкой ("name"). Можно конечно константой,
но лучше не станет.

P.P.S.
Извинити что отвлек, просто я через это уже прошел (ormlite, ef).
Сейчас мне легче хранить (серелизованные) данные в файлах чем мучится с sqlite схемой.

>>629461
Может он embeded занимается :)

Ответы: >>629543

19 Янв, 20:44 #414 #629486

>>629461
Мне это всё чисто для галочки нужно, так что никак, лол.

19 Янв, 21:41 #415 #629543

>>629464
>realm.
Так это уже трабла риалма а не всего остального.
На cupboard выборка более стандартная вроде.
Но там не будет как на шарпах, так как джава этого не позволяет пока.
>в Kotlin
Куда ты котлин еще припаял? Я уже не понимаю что ты хочешь.
>В EnityFramework7 это будет:
Это лямбдой будет. С переопределенными операторами. Удобство уровня я ебу.

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

>чем мучится с sqlite схемой
Мучится? Сириусли? Орм ему не нравится, со стандартной работой sqlite ему мучатся. Может ведро не твое тогда?
Ладно еще соглашусь что описывать все без орм реально долго, особенно с контент провайдером. Но орм облегчает тебе жизнь, а то что ты пытаешься доебаться до джавы в которой мало синтаксического сахара приводя в пример язык блять 2013 или когда там котлин релизнули года и шарпы которые в принципе моложе и главное не имеют обратной совместимости.

Спасибо за внимание иди нахуй.

Ответы: >>629964

19 Янв, 21:44 #416 #629544

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

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

19 Янв, 23:38 #417 #629626

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

Ответы: >>629895, >>629910

The Busy Coder’s Guide to Android Development 20 Янв, 00:31 #418 #629657

Сап, андроны. Полистал я эту вашу The Busy Coder’s Guide to Android Development, годнота годнот. Но в интернетах одно старье, хотя автор уже запилил 7-ую версию с SDK6.

Сходил я на https://commonsware.com/warescription, годовая подписька (включает все обновления) стоит СОРОК ПЯТЬ БАКИНСКИХ, что в новых реалиях слишком дохуя. В связи с чем предлагаю скинуться. Заявки принимаются неделю (до 27.01) по адресу: 29otbcgtadANUSyandM&6exPUNCTUM`]:ru. Указывайте потолок, который готовы выложить (лично я готов потратить $5-7 из своих $19 стипухи). Если есть знакомые ведродевелопы -- зовите.

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

223 Кб, 1280x960

20 Янв, 01:36 #419 #629725

>>619370 (OP)
Аноны, пилю клавиатуру без активити. Нужно, чтобы при клике на Key он менял изображение. Нихуя не пойму в http://developer.android.com/intl/ru/reference/android/inputmethodservice/Keyboard.Key.html Помогите разобраться.

20 Янв, 04:38 #420 #629786

Я пока ньюфаг и тут у меня мысль проскочила. Вот я учу:
1. Java Core
2. Собственно конкретно разработку под андроид
3. SQL
Неужели на этом все? Ну то есть обычно в большинстве ЯП для работы надо знать пачку фреймворков и сопутствующих технологий. А что с андроидом, что еще надо знать в добавок к тому что я перечислил, что бы быть нормальным разработчиком?

Ответы: >>629787, >>629893, >>629913

20 Янв, 04:44 #421 #629787

>>629786
Клиент-сервер, JNI, etc. Зависит от того, чем ты будешь заниматься.
Фреймворков действительно толком никаких нет, а те, что есть - уже совсем далеко от джавы (типа хамарина).

20 Янв, 07:16 #422 #629835

Анон, меня тут осенило получается NDK через JNI работает?

Ответы: >>629840

20 Янв, 07:32 #423 #629840

>>629835
Внезапно. Не совсем.

20 Янв, 09:49 #424 #629893

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

20 Янв, 09:49 #425 #629895

>>629626
Бамп.

Ответы: >>629910

20 Янв, 10:44 #426 #629910

>>629895
>>629626
1) Тебе нужна будет пермишен (в AndroidManifect)
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

2) Берешь WindowManager (обязательно у Application, тк активити его перегружает)
WindowManager wm = getContext().getApplicationContext().getSystemService(Context.WINDOW_SERVICE);

создаешь View которую будешь показывать поверх других окон
(это обязательно должно быть View, с активити/фрагментом это не прокатит)
Button myButton = Button(this);

создаешь специальный WindowManager.LayoutParams и проставляешь им тип TYPE_SYSTEM_ALERT
WindowManager.LayoutParams lp = new WindowManager.LayoutParams(...)
lp.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT // вот это самое важное

Добавляешь свою View в WindowManager
wm.addView(myView, lp)

Ответы: >>629920

20 Янв, 10:48 #427 #629913

>>629786
Ну можешь еще подкачать RxJava, Retrofit, Protobuf
(ну и конечно Kotlin - с ним ты откроешь новый чудный мир)

А так-же все по юнит тестам, типа Mockito, NUint4

Ответы: >>629923, >>630015

20 Янв, 11:02 #428 #629920

>>629910
Спасибо большое, попробую

20 Янв, 11:05 #429 #629923

>>629913
>Protobuf
Так и не понял зачем он нужен.

>юнит тестам, типа Mockito, NUint4
Ты их в проектах юзаешь? Приходится делать особенную архитектуру и тд? Читал что с тем же даггер2 лучше.

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

Ответы: >>629961

20 Янв, 12:08 #430 #629961

>>629923
>Так и не понял зачем он нужен.
замена json/xml с высокой скорость кодирования

>Ты их в проектах юзаешь?
Да, тестами покрывать надо и Android приложения

>риходится делать особенную архитектуру и тд? Читал что с тем же даггер2 лучше.
По моему ты слегка запутался, Dagger2 это фреймворк для DI.
Ты можешь через него моки подставлять, но для их создания тебе как-раз нужен Mockito.
JUnit это вообще движок для написания тестов (перепутал слегка название с C# NUnit)

Вообще мне эти dagger2 (roboguice) уже надоели, сейчас у меня период
ручного подставления зависимостей в конструктор.

--- несколько лет в Android разработки

Ответы: >>629986

20 Янв, 12:15 #431 #629963

>>619370 (OP)
Есть здесь хипстеры, тргавшие react native под Android?

20 Янв, 12:17 #432 #629964

>>629543
> Куда ты котлин еще припаял?
Потому-что всю Java-хуйню как-раз исправляет Kotlin.
Но даже с ним как-то лучше не становиться в плане удобства работы с базой.

>Может ведро не твое тогда?
Четыре года опыта на android, чуть меньше в ios, wp, xamarin, robovm - все время ищу ИДЕАЛ для удобства разработки.

>Ладно еще соглашусь что описывать все без орм реально долго
Ну хоть в чем-то мы согласны. Наверное и тебе через пару лет надоест каждый раз
писать однотипный код, когда есть отличное API (лямбды/Stream) для работы с коллекциями.

Ответы: >>629980, >>629983, >>629990

20 Янв, 12:17 #433 #629966

>>625711
> За что вы так ненавидите Xamarin
Платная хуйня + сайту видно, что они в первую очередь хотят впарить свой продукт менеджерам, а не разработчикам.

20 Янв, 12:37 #434 #629980

>>629964
>Ну хоть в чем-то мы согласны. Наверное и тебе через пару лет надоест каждый раз
писать однотипный код, когда есть отличное API (лямбды/Stream) для работы с коллекциями.
Вполне может быть. Но меня больше беспокоит дырявость самого ведра. Говно лезет практически отовсюду, новая версия ведра = новые саппорт либы = новые баги. Сидишь просто дрочишь стековерлоф 24/7 вместо того чтоб код учится писать.

20 Янв, 12:38 #435 #629983

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

20 Янв, 12:45 #436 #629986

>>629961
>замена json/xml с высокой скорость кодирования
Понял спасибо, правда не особо пока юзабилити понимаю. Но почитаю на досуге.

>Да, тестами покрывать надо и Android приложения
Только рад бы, правда еще не умею, так как не приходилось делать/ та и в шею гонят постоянно. Алсо, если можешь поделится каким материалом по сабжу будем рады, пора шапку обновлять уже знаниями поглубже.
>По моему ты слегка запутался, Dagger2 это фреймворк для DI.
Ну так разве DI не требует особой архитектуры?
>JUnit
Ага стандартный джавовский.

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

---- меньше года в разработке.

20 Янв, 12:47 #437 #629990

>>629964
>Четыре года опыта на android, чуть меньше в ios, wp, xamarin, robovm - все время ищу ИДЕАЛ для удобства разработки.
Мне стойко промывают мозги что иос попросту лучше для самого разработчика чем ведро?
Так ли это как думаешь? Все кричат что разработка быстрее, меньше багов и подводных камней. Сам не пробовал так как ни мака ни гейфона, а ебенить через виртуалки не хочу.

Ответы: >>630003, >>630023, >>630054

20 Янв, 13:26 #438 #630003

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

Ответы: >>630019

20 Янв, 13:56 #439 #630015

>>629913
> Protobuf
Петушня.
Thrift/Avro/Hessian гораздо лучше.

Ответы: >>630022, >>630054

20 Янв, 13:59 #440 #630019

>>630003
>У меня друг полную хуйню говнокодит вплоть до описания сетевых запросов прямо во вьюконтроллерах.
Так с ретрофитом так и делают, в колбеках удобно с UI работать, враперы только мешают.

>Да, на иос легче.
А чего с концами не перекатился тогда?

20 Янв, 14:00 #441 #630022

>>630015
В каких случаях это вообще может пригодится?

Ответы: >>630025

20 Янв, 14:00 #442 #630023

>>629990
На иос меньше фрагментации, не нужно выяснять, почему твое приложение глючит на нонейм поделке от китайского Васяна стоимостью 1000р. И не нужно делать дизайн под миллиард разных разрешений экрана.

20 Янв, 14:02 #443 #630025

>>630022
Когда большие объёмы данных по сети нужно передавать. Но что-то мне подсказывает, что для Android приложений это не актуально.

20 Янв, 14:33 #444 #630054

>>630015
>Protobuf
>Thrift/Avro/Hessian гораздо лучше
сорт оф отличных фрейморков для серилизации

>>629990
По последней статистике (пруфы потерял) разработка на Android это +30% к времени на iOS
(с учетом тестирования и багфикса)
А вот по моим наблюдениям (пару лет назад) скорость разработки (в нативе) примерно одинаковая

С появлением Swift (наверно) разработка под iOS станет еще удобнее/быстрей.
И кстати Swift на 90% по синтаксису схож со Swift (те же var/val, non-nullable типы, лямбды,
перегрузка операторов, stream-подобный синтаксис работы с коллекциями т тд)

Ответы: >>630061, >>630064

20 Янв, 14:37 #445 #630061

>>630054
>И кстати Swift на 90% по синтаксису схож со Swift
И кстати Swift на 90% по синтаксису схож со Kotlin

Ответы: >>630077

20 Янв, 14:38 #446 #630064

>>630054
>С появлением Swift (наверно) разработка под iOS станет еще удобнее/быстрей.
Да хуй знает, у меня пока написание кода занимает намного меньше времени чем дрочь с подводными камнями и проектирование моего говнокода.

Ответы: >>630079

20 Янв, 14:59 #447 #630077

>>630061
Лолшто. Они похожи системой типов с ? и !.
Остальные фишки вроде паттерн матчинка и остального синтаксиса были в куче языков ещё 10 лет назад.

Ответы: >>630091

20 Янв, 15:00 #448 #630079

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

Ответы: >>630080

20 Янв, 15:00 #449 #630080

>>630079
>всякий
е*

20 Янв, 15:20 #450 #630091

>>630077
Блин хотел написать, что они оба сперли синтаксис у других языков,
но мне почему-то показалось это очевидным.

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

Ответы: >>630095

20 Янв, 15:28 #451 #630095

>>630091
Вообще, говорить что кто-то у кого-то что-то там спиздил - не очень политкорректно, лучше писать как написано на вики - "испытал влияние".
>Да и вообще все современные
строготипизированные и мультипарадигменный языки очень похожи.
Я тебе больше скажу - почти все языки вышедшие в один промежуток времени очень похожи на свои однонишевые аналоги.

20 Янв, 16:56 #452 #630170

Есть вакансия для антона из Харькова (strong-junior/middle). Оставляйте свои контакты ответом на пост

Ответы: >>630195

20 Янв, 17:11 #453 #630195

>>630170
Удаленка подойдет? Сам из киева.

Ответы: >>630236

20 Янв, 17:54 #454 #630236

>>630195
nope

Ответы: >>630241

20 Янв, 17:58 #455 #630241

>>630236
Ну и хуй с вами.

20 Янв, 19:31 #456 #630347

Помогите, запутался в версиях Support Library. Прочитал на so, что v7 либа включает в себя v4, то есть если используешь v7, то v4 не надо подключать. Однако там же прочитал, что если используешь v4, то надо ставить minSDKversion - 4, а если используешь v7 support library, то надо ставить minSDKversion - 7.
Но если v7 включает в себя v4, то по логике же я могу ставить minSDKversion - 4? Или нет? Запутался уже.

Ответы: >>630411, >>630418, >>630443

20 Янв, 21:11 #457 #630411

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

Ответы: >>630414

20 Янв, 21:13 #458 #630414

>>630411
Точнее надо, конечно, но такой, какой нужен тебе. Смысл в том, что если ты пользуешь фичи конкретно семерки, то то и минсдк должен быть больше либо равен 7. Сейчас вообще вроде бы почти все ставят 15. Фэйсбук точно.

Ответы: >>630470

55 Кб, 483x311

20 Янв, 21:16 #459 #630418

>>630347
>v4, v7
Ты ебанутый? Сейчас никто не ставит меньше 15, даже Android Studio (AS) при создание
нового проекта подставляет 15.

>v7 либа включает в себя v4
То что у v7 есть зависимость на v4 не значит что она может работать с API 4

>Но если v7 включает в себя v4, то по логике же я могу ставить minSDKversion - 4
Ну формально наверное можешь (если AS позволит), только тогда ты не должен
использовать никакой функционал из v7, а только v4

Ответы: >>630470

20 Янв, 21:34 #460 #630443

>>630347
>minSDKversion - 4
Можешь ставить 16, на худой конец 14 и ничего не потеряешь.

Ответы: >>630470

20 Янв, 21:46 #461 #630470

>>630414
>>630418
>>630443

Спасибо за ответы.

>Ты ебанутый? Сейчас никто не ставит меньше 15, даже Android Studio (AS) при создание
нового проекта подставляет 15.
Ну а если я пойду на работу и мне скажут пили проект с мин. апи7 или еще ниже. Я же не скажу им "вы че ебанутые? 15 поставлю и хватит", вот и разбираюсь в этих суппорт либах.

Ответы: >>630489

59 Кб, 818x464

20 Янв, 21:55 #462 #630489

>>630470
>устройств с API 7 меньше 0.1%
>мне скажут пили проект с мин. апи7

Сейчас нет настолько ебанутых компании.
Говорю по своему опыту, под API 7 мы разрабатывали года 2 назад.
http://developer.android.com/intl/ru/about/dashboards/index.html

21 Янв, 17:20 #463 #631136

Ребята, Java не знаю.
Из опыта только Си немного и всё.
Как правильно вкатится? Что читать по Java? Насколько глубоко в Java окунаться? Когда надо с изучения Java переключится на вникание в Android?

Ответы: >>631141, >>631180

21 Янв, 17:27 #464 #631141

>>631136
сук, спроси что-нибудь по делу, а не свою раковую хуету
и шапку прочти.

Ответы: >>631142

21 Янв, 17:30 #465 #631142

>>631141
Ну из подходящего для меня лишь http://developer.alexanderklimov.ru/android/
, но подойдёт ли мне он с нулевым знанием Жабы и хватит ли той жабы что он даёт в своём кратком гайде по жабе?

Ответы: >>631180, >>631182

21 Янв, 18:27 #466 #631180

>>631142
>>631136
ОП в треде, заебала уже платина эта, сделаю вам новую шапку с пояснением для ленивых хуев блять.

Чтоб быстро хоть как-то вникнуть в джаву берешь и гуглишь javarush.
Можно эккеля "философия java" почитать.
Что тебе нужно понять в самой жабе.
Энтри лвл.
1) ООП - сам принцип нужно именно понять, так как ооп язык.
2) Типы данных. Примитивы и ссылочные.
3) Структуры данных - Массивы/коллекции - без них никуда.
4) Классы/интерфейсы и все вытекающие.
Уже можно быдлокодить потихоньку и учить андроид параллельно с тем что ниже.

Дальше
5) Потоки ввода/вывода (streams). Не путать с тредами(threads).
6) Threads, особо не нужно вникать(в java.util.concurrent можно не лезть, в ведре все равно особо не пригодится), но нужно понять как работает многопоточка и что такое Runnable.
7) Прочитать про паттерны что-то. Начать с listener, adapter, singleton, iterator так как на каждом шагу. Ну и по накатанной.
Уже сделаешь что-то нормальное.

Дальше.
8) Работа с Sqlite, нужна будет в любом случае.
9) Почитать про json.
Привет клиент-серверка.

Потом может еще допишу.

Ответы: >>631193, >>631195

21 Янв, 18:28 #467 #631182

>>631142
Молодец, теперь иди отсюда учись.

Как появятся нормальные вопросы, возвращайся.

21 Янв, 18:33 #468 #631193

>>631180
> Типы данных. Примитивы и ссылочные.
Сюда же алгоритмы добавь. Чтобы в общих чертах понимать принцип работы LinkedList, HashMap, понимать разницу между HashMap и LinkedHashMap, сортировку, очереди, ну и так далее.

Ответы: >>631231

21 Янв, 18:33 #469 #631195

>>631180
10) (GOD TIER) Выучи язык Kotlin https://kotlinlang.org

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

Ответы: >>631197, >>631198, >>631209, >>631231

21 Янв, 18:35 #470 #631197

>>631195
А работу ты мне давать будешь по котлину?

Ответы: >>631211

21 Янв, 18:35 #471 #631198

>>631195
Минус "он никому нахуй не нужен" полностью сводит на нет все его сомнительные плюсы. Не советуй больше этой хуиты, спасибо.

21 Янв, 18:38 #472 #631203

Какой лучший выбор - android studio или идея с ручным дрочингом xml?

Ответы: >>631205, >>631211, >>631236

21 Янв, 18:39 #473 #631205

>>631203
Eclipse

21 Янв, 18:43 #474 #631209

>>631195
А вакансий на эту парашу столько же сколько на haskell? То есть одна и так по развитию языка?

21 Янв, 18:43 #475 #631211

>>631197
>А работу ты мне давать будешь по котлину?
А ты знания только для работы получаешь? Само программирование тебя не интересует?
Боюсь что с таким подходом к делу, тебе не стоит становится программистом.
(хотя php возможно для тебя)

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

>>631203
У AS есть преимущества:
+ дополнительная статистика (gpu / network)
+ data binding
+ в версии 2.0 будет ускоренная заливка apk в телефон/эмулятор
(если тебе это нафиг не нужно, то стоит задуматься о IDEA)

Ответы: >>631228

21 Янв, 19:13 #476 #631228

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

Ответы: >>631246

21 Янв, 19:16 #477 #631231

>>631193
Коллекции же, ну да, допиливайте список, я его за 5 минут накидал не думая особо.

>>631195
И котлин добавлю ок, только не в маст хев а куда-то еще.

Ответы: >>631233

21 Янв, 19:17 #478 #631233

>>631231
В раздел с ксамарином, js и скалой еще ReactNative туды.

Ответы: >>631237

21 Янв, 19:18 #479 #631236

>>631203
Студия само собой. Вообще шапка для кого написана?

21 Янв, 19:20 #480 #631237

>>631233
Скала? На ведре? Орли? Но гомо. С таким успехом можно еще плюсы подключать, не нужно людям говном голову засирать.

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

Ответы: >>631246, >>631391

21 Янв, 19:38 #481 #631246

>>631228
Ну так иди гей-шлюхой фронтенд/php макакой работать.
Знаний почти не нужно, а на пожрать хватит.

>>631237
>Скала? На ведре? Орли? Но гомо.
Да норм, только говорят там runtime 6 мегабайт (а у Kotlin +400KB к APK)

>Лучше бы на вопросы отвечал раз опытный такой
>Как правильно вкатится?
Это вот на такую хуйню что-ли? Где адекваты?
Я вообще, полгода сюда не заходил, дай выговориться.

Ответы: >>631361

21 Янв, 21:17 #482 #631321

Аноны, что думаете про эти курсы? https://www.coursera.org/specializations/androidapp

Будет стоит потраченных денег или тупо "как стать модным и молодежным погромистом за 21 день".

Ответы: >>631338

21 Янв, 21:25 #483 #631338

>>631321
33 тыс/руб за это - серьезно?
Их сертификаты хоть где нибудь котируются?

Ответы: >>631420

21 Янв, 21:43 #484 #631361

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

21 Янв, 22:06 #485 #631391

>>631237
Я не котлинофил. Ты кажется не тот класс детектора подгрузил. Check your ClassLoader.

21 Янв, 22:26 #486 #631420

>>631338
> Их сертификаты хоть где нибудь котируются?
Хуй знает. Я понимаю что нет никаких волшебных курсов, но хочется найти такое где разъяснят все на примере какого-нибудь годного проекта.

22 Янв, 00:20 #487 #631522

Привет, анон. Умения такой вопрос, в какой программе нужно писать игру на андроид и можно ли написать ее на языке С++?

Ответы: >>632057

4321 Кб, 300x134

22 Янв, 07:24 #488 #631633

Ребята помогите плз, как лучше всего по кнопке покрасить статусбар?

Ответы: >>632052, >>632053

53 Кб, 629x302

22 Янв, 16:39 #489 #632052

>>631633
Берешь и без задней мысли красишь.

Ответы: >>632056

22 Янв, 16:39 #490 #632053

>>631633
А есть выбор покраски статусбара чтоль?

Ответы: >>632056

22 Янв, 16:40 #491 #632056

>>632053
Имею ввиду есть варианты разве кроме одного >>632052 ?

Ответы: >>632135

22 Янв, 16:40 #492 #632057

>>631522
В Visual Studio 2015, так как-раз завезли кросс-платформенную поддержку C++

134 Кб, 352x178

120 Кб, 881x646

22 Янв, 18:06 #493 #632135

>>632056
Мне пришел в голову несколько извращенный способ этого для API < 21 (тестировал на API 16).

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

Ответы: >>632146

22 Янв, 18:25 #494 #632146

>>632135
Вижу заняться тебе нечем.

as приведения типа? Почему так ущербно выглядит?

Ответы: >>632158

22 Янв, 18:40 #495 #632158

>>632146
Потому что адекваты не пишут код, в котором нужно приведение типов.
А для редких случаем (работы со всякими убогими Java API) можно и потерпеть.

В принципе и в Android это уже начали понимать и в API 23 ввели дженерик
метод запроса системых серсисов:
http://developer.android.com/intl/ru/reference/android/content/Context.html#getSystemService(java.lang.Class%3CT%3E)
Глядишь в Android 7.0 и findViewById<T> добавят.

Плюс "as" созвучен с "is" (который здесь замена instanceof).
Кстати, в C# есть такой-же операнд "as" (C#-фагам легче будет перекатывать из Xamarin :)

Ответы: >>632176

22 Янв, 18:56 #496 #632176

>>632158
Выглядит вс еравно как говно

Ответы: >>632185

22 Янв, 19:11 #497 #632185

>>632176
аргументировано :)

Здесь то конечно неземная красота и кому после такого:
Cup<Coffee> cup = new Cup<>(new Coffee())

нужен Kotlin с его синтаксисом:
val cup = Cup(Coffee())

Ответы: >>632305

22 Янв, 21:08 #498 #632305

>>632185
Инвалид, ты не понял? Твоё говно никому не нужно, авторитет твоего мнения ниже плинтуса. Съебал отсюда как вкатился, быстро, решительно.

Ответы: >>632367

22 Янв, 21:42 #499 #632325

Сливаем тред

22 Янв, 21:42 #500 #632326

>>619370 (OP)
ПЕРЕКАТ
https://2ch.hk/pr/res/632324.html (М)
https://2ch.hk/pr/res/632324.html (М)
https://2ch.hk/pr/res/632324.html (М)
https://2ch.hk/pr/res/632324.html (М)

304 Кб, 449x337

22 Янв, 22:08 #501 #632367

>>632305
А если не выкачусь, то что?

Тред утонул или удален.
Это копия, сохраненная 10 февраля 2016 года.

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

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

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

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