Сохранен 501
https://2ch.hk/pr/res/619370.html
Прошлые домены больше не функционируют, используйте адрес ARHIVACH.HK.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Разработка под Android тред №10

 Аноним 05/01/16 Втр 18:44:33 #1 №619370 
14520086735250.png
14520086735271.png
ИТТ продолжаем обмазываться коллбеками и форматировать 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
Аноним 05/01/16 Втр 22:46:00 #2 №619578 
14520231606110.jpg
Привет, анон. Хочу вкатиться в программирование, но боюсь начинать. Знаний у меня нет никаких и поэтому я уже 100500 раз пытался забросить идею начать программировать, но мысли меня мучают и места не даёт покоя. В общем, я понял, что мне нужно изучить Джаву, а потом вкатываться в андроид разработку. Мне нужно помощь, анон. Во-первых расскажи как вкатывался сам, о свих начальных условиях и подводных камнях. Сколько время тратил, кокой был первый проект и получается ли на этом деле зарабатывать. Моя цель - создавать приложения для ведроида, но я совершенно не знаю с чего начинать. Подскажите сперва как начать вкатываться в джаву, книги, видео уроки, которые вы реально на себе проверили и которые годные. Я слышал про джава-раш и про "философию джавы" Эккеля. Как понять, когда вкатываться в андроид? Спасибо большое, если адекватно ответите.
Аноним 05/01/16 Втр 23:07:47 #3 №619600 
>>619578
Прочти философию java.
Прорешай на javarush все задачи, на которые хватит баллов, это всё полезно.
Далее бери подписку на месяц и вкалывай, решая остальные задачи.
Придумай себе проект на андроид, к примеру клиент для двачей.
Читай то, что в ОП посте и фигачь.
Как толтко твой клиент сможет просматривать хотябы фурряч - приходи сюда, мы будем твой код хуями крыть.
Аноним 05/01/16 Втр 23:12:05 #4 №619603 
>>619578

Я начал кодить без знания Джавы и ведра вообще. Немного знал ООП, и всё. Синтаксис джавы - си-подобный, так что это проблем вызывать не должно. Просто взял и без задней мысли начал делать. Да, у меня всё ещё выходит говнокод, и я постоянно исправляю старые косяки из-за того что узнаю новые особенности платформы, но как по мне так такой спонтанный и бессистемный подход в некотором роде лучше. Учиться на своих ошибках - дорого стоит, но и понимание более фундаментальное приходит, когда исправляешь эти ошбики. А обучение по книжкам чаще всего у всех отбивает желание продолжать изучать какой-либо язык на стадии написания хеллоуворлдов и сортировок. Просто берешь в зубы стаковерфлоу и ведроидовскую документацию и начинаешь изобретать велосипеды на костыльной тяге, после чего переписываешь их до тех пор пока они не превратятся в изящный мотоцикл.
Аноним 05/01/16 Втр 23:24:13 #5 №619622 
>>619603

Я не знаю Си и вообще ничего не знаю. Начинать с Си надо? Или сразу брать видеоуроки по созданию какой-нибудь игры на ютубе и пытаться повторять?
Аноним 05/01/16 Втр 23:25:42 #6 №619623 
>>619622

Ты вообще раньше не кодил, даже на паскале в школе/шараге/вузике?
Аноним 05/01/16 Втр 23:30:16 #7 №619630 
>>619623
Можно считать, что не кодил.
Аноним 05/01/16 Втр 23:30:34 #8 №619632 
>>619600

Спасибо.
Аноним 05/01/16 Втр 23:32:12 #9 №619633 
>>619630

Тогда предложение порешать задачки на джавараш и почитать книжки приобретает смысл.
Аноним 05/01/16 Втр 23:34:47 #10 №619637 
>>619633

Окей.
Аноним 05/01/16 Втр 23:35:34 #11 №619639 
А почему о себе ничего не рассказываете? Какой опыт? Выгодно ли на яве вообще писать? Какие проекты делали?
Аноним 06/01/16 Срд 02:39:13 #12 №619808 
14520371536950.png
Оп в треде, спасибо что тред создали, а то я приболел малость.

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

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

>Какие проекты делали?
Делал 3 клиент серверки.
Первый проект сам клепал на стартапе за гроши, там многому и научился. Мое портфолио собственно. Правда стартап сдох, благо на плеймаркете осталось.
Второй делал месяц, успел только наклепать общую архитектуру и классы для работы с ебанутым Json-rpc. Но сьебал на другую работу.
Сейчас пилю говносоциалку, допиливаю за каким-то идиотом, такого хуйового кода я с первого курса не видел. Но проект мертвый и не оживет и от этого печально, пока нечем гордится.
Аноним 06/01/16 Срд 02:44:04 #13 №619809 
>Анончики, приглашаю вас в конфу в телеграме

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

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

Хуй знает что это такое, но вот принес с прошлого треда.
Алсо, я сижу в конфе в скайпе, там конфа под 300 человек, разумные вещи говорят, да и опытные все, правда туда без инвайта не попасть.
Аноним 06/01/16 Срд 07:42:08 #14 №619872 
>>619808

Выходит, что на деньги с плей маркета жить можно?
Аноним 06/01/16 Срд 08:27:53 #15 №619880 
>>619872
Хз, у меня постоянная работа 10 месяцев. Жить можно с успешных апликух, а ты их сделай сначала. У меня не вышло.
Аноним 06/01/16 Срд 09:01:16 #16 №619886 
А что за хайп в последнее время вокруг того, что Android и Google от Java отказываются? В чём прикол?
Аноним 06/01/16 Срд 09:14:26 #17 №619891 
>>619886
Переход на OpenJDK
Аноним 06/01/16 Срд 09:17:57 #18 №619892 
>>619886
Поскорее бы на Go переехали.
Может не придется делать вставки из кода на С.
Аноним 06/01/16 Срд 10:49:22 #19 №619906 
>>619892
Хуйни не неси.
Аноним 06/01/16 Срд 11:45:08 #20 №619920 
>>619906
Че за наезд бля?
Аноним 06/01/16 Срд 12:43:27 #21 №619945 
>>619880

А в чём сейчас работа заключается?
Аноним 06/01/16 Срд 12:50:42 #22 №619948 
Кто пишет приложения на андроид на андроиде?
Аноним 06/01/16 Срд 12:59:27 #23 №619952 
>>619945
Писал же, делаю клиент для говносоциалки.

>>619920
Ну ты сам подумай что значит переход на другой язык.
Аноним 06/01/16 Срд 13:01:46 #24 №619954 
>>619952
Точно, сорри и спасибо, что ответил.

Кстати, относительно этой новости... Как быть теперь?
Аноним 06/01/16 Срд 13:41:25 #25 №619980 
>>619948
Нет таких.
Аноним 06/01/16 Срд 15:57:24 #26 №620070 
>>619954
>Кстати, относительно этой новости... Как быть теперь? Забить хуй и не ебать мозги проблемами которых нету.
Аноним 06/01/16 Срд 15:57:48 #27 №620071 
>>620070
>Кстати, относительно этой новости... Как быть теперь?
Забить хуй и не ебать мозги проблемами которых нету.
фикс
Аноним 06/01/16 Срд 16:01:47 #28 №620076 
>>620071

Спасибо, что помогаешь, хороший человек.
Аноним 06/01/16 Срд 16:10:43 #29 №620079 
>>619370 (OP)
Хотел посмотреть в Wireshark-e как проходит аутентификация одного андроид приложения (интересуют реквесты к закрытому API и ключи, которые оно отправляет).
Девайсов на андроиде нет, поставил Bluestacks, Wireshark видит его трафик, но пользы от этого мало - реквесты все идут через HTTPS.
Люди как-то получают нужные реквесты и ключи. В какую сторону смотреть? Реверс инжинирить приложение? Если да, то как? Если нет, то что посоветуете?
Аноним 06/01/16 Срд 16:36:15 #30 №620096 
>>620079
>Люди как-то получают нужные реквесты и ключи.
Я не понял.

>>620076
Всегда пожалуйста.
Аноним 06/01/16 Срд 17:26:07 #31 №620130 
>>620096
Есть REST API, через который приложение отправляет команды на сервер. Его адреса и json-параметры не задокументированы, так как подразумевается, что команды будут отправляться только через само приложение.
Разумеется, с каждым реквестом шлется ключ авторизации (я пока не знаю, генерится ли он кодом в приложении или другим веб-сервисом). Но я знаю, что люди как-то достают эти эндпойнты и ключи, и получают доступ к сервису напрямую, без приложения. Ну и я хочу того же самого.
Перехватить пакеты Wireshark-ом - не вариант, так как API работает только через HTTPS. Остается реверс-инжинирить? И если да, то что там самое удобное для этого под андроид?
Аноним 06/01/16 Срд 18:38:49 #32 №620199 
14520947293010.jpg
Анон, ты мне поможешь?

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

И в результате не все линии рисуются, КАК НАСТРОИТЬ ПРАВИЛЬНЫЙ РЕНДЕРИНГ?! Так чтобы рисовались все линии и ни одна не пропадала.
В интурнетах только какие-то вопросы по рендерингу видео нахожу.
Аноним 06/01/16 Срд 18:44:01 #33 №620203 
>>620199
Пробовал включать антиалиайзинг?
Аноним 06/01/16 Срд 18:44:56 #34 №620204 
>>620203
Нет, я просто просил ранее что-бы хоть намекнули в какую сторону покопать.
Спасибо, поищу/попробую сейчас.
Аноним 06/01/16 Срд 18:51:08 #35 №620206 
>>620204
Возьми paint, который ты рисуешь сетку и сделай в конструкторе: new new Paint (Paint. ANTI ALIAS FLAG)
Аноним 06/01/16 Срд 18:55:51 #36 №620209 
14520957518680.jpg
14520957518681.jpg
>>620206>>620203
Да, спасибо.
Прописал .setAntiAlias(true); и получилось типа того что хотел.
Аноним 06/01/16 Срд 19:06:43 #37 №620218 
>>620209
>>620199
Губы - очень очень. Кроме сисек конечно.
Аноним 06/01/16 Срд 21:20:35 #38 №620314 
>>620130
Если я правильно тебя понял то тебе нужны все стринги из апликухи? Т.е. эндпоинд куда шлется, названия методов и тд?
Если да то реверс инжинирингом ты их получишь,они не обфусцируются. Реверс инжиниринг сам нагуглишь,там работы на минут 15.
А вот ключ авторизации другой вопрос, скорее всего она в шаредах хранится, но далеко не факт, он может на сессию создаваться. Но да скорее всего в shared preferences ищи.
Аноним 06/01/16 Срд 21:26:05 #39 №620327 
>>620314
Пишу как долбоеб, только что проснулся.
Аноним 06/01/16 Срд 22:35:19 #40 №620383 
>>620079
> Реверс инжинирить приложение?
Именно.
> Если да, то как?
Baksmali, дебаггер. Всё по классике.
Аноним 07/01/16 Чтв 05:05:00 #41 №620694 
Анон, дробить проект на несколько модулей хорошая практика или нет? Вот допустим я написал view-писечку, и вынес её в отдельный модуль и всякая разметка для неё в layout не болтается.
Аноним 07/01/16 Чтв 11:48:21 #42 №620750 
>>620694
Хороша практика выносить все кастомные View в отдельный модуль, но только в том случае, если это крупный проект и все эти кастомные view можно использовать где-то еще.
В остальных случаях смысла нет.
Просто именуй всё понятным языком, к примеру разметку для своих вьюшек именуй со слова: custom_
Аноним 07/01/16 Чтв 15:02:03 #43 №620821 
Парни, поясните за WebView. Я ТЗ пишу, мне нужно приложение, которое будет фактически только браузер внутри себя показывать. Объясните, можно ли настроить его так, чтобы при встрече определенных ссылок на сайте, при переходе по ним ссылка открывалась не внутри WebView, а предлагалось открыть в любом брауезере.

Причем пометка у такой ссылки могла бы быть data-..., то есть html5-атрибут. Другими словами, мне нужно сделать так, чтобы в WebView какие-то ссылки помеченные атрибутом data-... открывались в родном браузере телефона. Можно ли это вообще сделать? Если да, то не могли бы сказать куда копать, чтобы в ТЗ я сразу написал "смотреть в сторону NNNN"
Аноним 07/01/16 Чтв 15:52:15 #44 №620851 
>>620821
Ты ведь можешь получать текст ссылки при нажатии, проверяешь в нем нужный тебе атрибут и делаешь intent с этим урлом. вылезет стандартный диалог через что открыть
Аноним 07/01/16 Чтв 16:02:35 #45 №620860 
>>620851
Текст ссылки это анкор, href или весь тег "a" с атрибутами? Если весь тег с атрибутами, это было бы идеально, потому что я смогу через data-... отмечать часть ссылок.
Аноним 07/01/16 Чтв 16:34:22 #46 №620871 
14521736624710.jpg
Народ, как устанавливать библиотеки в проект андроид студии?

Вот, есть у меня *.jar файл, что с ним делать, чтобы использовать в своём приложении?
Аноним 07/01/16 Чтв 16:49:20 #47 №620882 
>>620860
>>620821
Нет, вызывается shouldoverrideurlloading, куда передается только url. Про анкоры не уверен. Я бы лучше добавил в путь ссылки get параметр, например external=true, тогда бы все ссылки отправлял в браузер с таким параметром. Ну или наоборот intenal=true.

>>620871
Закидывай в папку lib. Нужный в градле пункт уже прописан, просинхронизируешь проект и готово.
Аноним 07/01/16 Чтв 16:55:27 #48 №620885 
>>620882
>Закидывай в папку lib. Нужный в градле пункт уже прописан, просинхронизируешь проект и готово.
Т.е. просто в папку, где сама студия установлена?
А как просинхронизировать?
Аноним 07/01/16 Чтв 17:30:14 #49 №620898 
14521770146600.jpg
Программач, пытаюсь осилить по совету анона из прошлого треда (спасибо, кстати) либу android-async-http, но что-то делаю не так, пример c их сайта (скопировал один в один из https://loopj.com/android-async-http/doc/ ) выдаёт какую-то хрень вместо ответа: I/System.out: [B@a1d543c

Запрос проходит успешно, но почему-то вместо нормального ответа выдаёт эту строчку. Если в примере поменять сайт и заменить хттпс на хттп, то ничего не меняется.
Аноним 07/01/16 Чтв 17:32:44 #50 №620900 
>>620898
Макака не даёт вставить нормальную ссылку, по ссылке первый же пример АсинкХттпкКлиент в списке слева.
Аноним 07/01/16 Чтв 19:02:24 #51 №620949 
>>620898
Java надо учить. Вполне нормальный ответ.
http://pastie.org/10676234
Аноним 07/01/16 Чтв 19:36:53 #52 №620973 
>>620882
http://stackoverflow.com/questions/17861905/web-view-onclick-event-for-a-specific-link-in-that-webview вот про это я тебе говорю.
Аноним 07/01/16 Чтв 19:46:56 #53 №620975 
Пачаны, помогайте, а то уже пена изо рта от бешенства идет. Как совладать с поганым GridView? У меня в View, который я добавляю в GridView есть Спиннер, и когда я скроллю GridView, то значение у спиннера постоянно сбрасывается! Как совладать?
Аноним 07/01/16 Чтв 20:04:18 #54 №620987 
Можно ли как-то заменить список в DataPicker дней/месяцов, чтобы использовал в своих целях эту вьюху?
Или лучше просто несколько NumberPicker сделать?
Аноним 07/01/16 Чтв 20:04:37 #55 №620990 
>>620987
>месяцов
Месяцев
Аноним 07/01/16 Чтв 20:19:15 #56 №621008 
>>620990>>620987
Ладно, забудьте.
Аноним 07/01/16 Чтв 20:24:16 #57 №621009 
14521874568360.png
Можно ли вот этот говнокод на компактный заменить?
Аноним 07/01/16 Чтв 20:27:00 #58 №621013 
>>621009
В данном случае нет.
Вангую тебе лист нужно было делать а не 13 вьюх.
Аноним 07/01/16 Чтв 20:29:46 #59 №621019 
14521877865490.png
>>621013
14 вот таких галок чекбоксов
Аноним 07/01/16 Чтв 20:35:28 #60 №621021 
>>621019
Перебери все дочерние элементы и заполни список.
Аноним 07/01/16 Чтв 20:39:58 #61 №621024 
14521883984100.png
>>621021
Угу, эт предлагали. Но ведь у меня лист в листе и листом погоняет, а кроме текстселектов ещё и чекбоксы. СЛИШКОМ СЛОЖНО.
Аноним 07/01/16 Чтв 20:46:15 #62 №621026 
>>621024
Скинь скриншот того, как это выглядит в живую.
Аноним 07/01/16 Чтв 20:53:28 #63 №621033 
14521892080580.png
>>621026
В режиме дизайна отображаются и те и другие, просто для возможности обращения к ним. При запуска же чекбоксы заменяются чектекстом в зависимости от положения свитчера ниже.
Аноним 07/01/16 Чтв 20:54:20 #64 №621035 
>>621033
Не обращайте внимание на то что чектекст в радиобаттоном, его позже уберу оставлю только текст, так что радиогруп не нужен.
Аноним 07/01/16 Чтв 21:03:12 #65 №621043 
>>621035
Что это ты такое страшное мутишь?
Аноним 07/01/16 Чтв 21:12:37 #66 №621055 
>>621043
Лел, а ничего не напоминает?
Аноним 07/01/16 Чтв 21:40:27 #67 №621077 
14521920274800.png
>>621055
Баян напоминает.
Аноним 07/01/16 Чтв 21:42:16 #68 №621080 
>>621077
Там же подсказка даже - ПИНЫ
Аноним 07/01/16 Чтв 21:44:17 #69 №621082 
>>621080
Ардуина небось?
Аноним 07/01/16 Чтв 21:44:30 #70 №621084 
>>620882
> вызывается shouldoverrideurlloading
Спасибо, няша. Очень помог
Аноним 07/01/16 Чтв 21:44:41 #71 №621085 
14521922817420.jpg
>>621080
Сделай для TQFP100
Аноним 07/01/16 Чтв 21:53:58 #72 №621093 
>>621082
Нет, обычный счетчик.

>>621085
А потом ещё и реализовать возможность программировать его? Ну это уж слишком.
Аноним 07/01/16 Чтв 22:11:08 #73 №621113 
Хочу вкатиться в андроид разработку. Знания нулевые (на уровне знания сишного синтаксиса и чуть-чуть ООП). С чего начать, что читать по джаве, насколько глубоко залезать в джаву?
Аноним 07/01/16 Чтв 22:17:46 #74 №621117 
14521942669550.png
>>619370 (OP)
Как можно зарабатывать на этом деле адекватные деньги? Пусть у меня 100 тысяч пользователей в месяц, которых у меня никогда не будет. Пусть каждому из них я один раз покажу рекламку. Итого: ~1$ на тысячу = 100 долларов.

При этом средний разработчик получает в разы больше за месяц работы над приложением, которое точно не окупится.
Аноним 07/01/16 Чтв 22:24:19 #75 №621121 
>>621117
50коп за 1 просмотр.
Аноним 07/01/16 Чтв 22:25:40 #76 №621123 
>>621121
А, бля, я что-то подумал, что я в веге сижу и мы про стримеров говорим.
Пиздец поехавший стал.

Мало того что рекламу показать, нужно ещё и перейти по ней.
Аноним 07/01/16 Чтв 22:32:36 #77 №621126 
>>621121
7 баксов дохуя слишком.

Может и ошибаюсь, но средняя цена за interstitial 2.5$ за 1000 в нормальных странах. Если приложение используют в каких нибудь пакистанах, будет еще меньше, около 1.5$.
Алсо может так выйти, что вообще кликать не будут, тогда CPM будет вообще маленьким. Потому и считаю 1$.
Аноним 07/01/16 Чтв 22:32:55 #78 №621128 
>>620975
Хранить значение спиннера в модели, с которыми работает адаптер. Обновлять спиннер из getView.
А лучше почитай как ListView (GridView абсолютно аналогично) работает. Твой вопрос именно от непонимания идёт.
Аноним 07/01/16 Чтв 22:34:11 #79 №621129 
>>621009
Можно, но не обязательно. Есть метод поиска ид по названию, дальше ты сам понял.
Аноним 07/01/16 Чтв 22:35:28 #80 №621131 
14521953280780.png
>>621113
Глубоко.
Аноним 07/01/16 Чтв 22:37:13 #81 №621134 
>>621129
findViewWithTag?
Аноним 07/01/16 Чтв 22:39:42 #82 №621136 
>>621134
У класса Resource. getIdentifier или типа того, поищи в доках.
Аноним 07/01/16 Чтв 23:16:49 #83 №621161 
>>621009
Я бы на твоем месте посмотрел бы в сторону дата биндинга.
>>621024
> линеары в линеарах
Релайтив не думал сделать?
Аноним 07/01/16 Чтв 23:17:32 #84 №621162 
14521978525930.png
>>621136
Да, спасибо. Неплохое решение.
Аноним 07/01/16 Чтв 23:19:03 #85 №621165 
>>621161
>Релайтив не думал сделать?
Эт хорошо когда под свой смартфон пишешь наверное.
>Релайтив не думал сделать?
Ммм, не задумывался. Просто сделал как знал что смогу.
Аноним 08/01/16 Птн 00:16:47 #86 №621219 
14522014072780.png
>>621117
Бампик.
Аноним 08/01/16 Птн 01:34:43 #87 №621269 
Можно ли в режиме дизайна отключить обновление layout'а каждый раз при его изменении? Раздражает, что всё очень медленно работает. Студия часто вешается.
Аноним 08/01/16 Птн 01:38:38 #88 №621271 
14522063182710.png
>>621269
Какие значения выставить?
Аноним 08/01/16 Птн 01:52:33 #89 №621278 
14522071532840.png
https://gist.github.com/anonymous/38ab56ad90f422239974
как сделать, чтобы объекты из линеар бара располагались равномерно по его плоскости?
Аноним 08/01/16 Птн 02:47:53 #90 №621310 
>>621128
Совладал, но возникла новая проблема: можно ли заставить адаптер создать больше элементов, чем умещается на экране, так сказать "заранее"? У меня умещается только 2 элемента, а мне нужно получить значение с, например, четвёртого, который ещё не создан, т.к. гридвью не скроллили.
Аноним 08/01/16 Птн 02:53:24 #91 №621317 
>>621278
Как поделить контейнер на n равных частей?
Аноним 08/01/16 Птн 03:03:27 #92 №621330 
14522114077680.png
Анон, смотри, JSON строка может быть такого вида:
[
true,
false,
"blabla1",
42,
{..}
]

Точный тип и структуру я не знаю, есть ли способ распарсить её корректно?
Аноним 08/01/16 Птн 03:05:46 #93 №621336 
14522115468010.png
Анон, смотри, JSON строка может быть такого вида:
[
true,
false,
"blabla1",
42,
{..}
]

Точный тип и структуру я не знаю, есть ли способ распарсить её корректно?
Аноним 08/01/16 Птн 06:36:53 #94 №621437 
>>621317

Люк, используй layout weight!
http://www.startandroid.ru/ru/uroki/vse-uroki-spiskom/38-urok-7-layout-parametry-dlja-view-elementov.html
Аноним 08/01/16 Птн 08:20:42 #95 №621452 
Хочу вкатиться в андроид разработку. Знания нулевые (на уровне знания сишного синтаксиса и чуть-чуть ООП). С чего начать, что читать по джаве, насколько глубоко залезать в джаву?
Аноним 08/01/16 Птн 09:28:58 #96 №621458 
>>621269
Запили конфиг своей пекарни.
Аноним 08/01/16 Птн 09:31:02 #97 №621459 
>>621330
В некоторых случаях можно.
Аноним 08/01/16 Птн 09:32:38 #98 №621460 
>>621452
Глубоко залезать.
Читать то, что в ОП посте.
Ставишь себе сложную в плане архитектуры задачу и решаешь её.
Аноним 08/01/16 Птн 09:38:18 #99 №621463 
А кто -нибудь карты/симки пробовал программить?
Аноним 08/01/16 Птн 10:44:29 #100 №621483 
>>621330
Встроенные org.json.* есть.
Аноним 08/01/16 Птн 14:06:24 #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 и родителские фрагменты должны перехватывать старты от детей и не форвардить их автоматом?

Я конечно понимаю что схема тупая, но это как бы уже после того как сделал и на такое напоролся.
Аноним 08/01/16 Птн 15:13:17 #102 №621593 
>>621161
>Я бы на твоем месте посмотрел бы в сторону дата биндинга.
Там вроде траблы будут с онЧек событием.

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

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

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



Аноним 08/01/16 Птн 15:15:17 #103 №621596 
>>621117
>При этом средний разработчик получает в разы больше за месяц работы над приложением, которое точно не окупится.
Ну как бы я так и делаю. Я не из тех дибилов которые работают для себя. Я бы ебловал если бы мог. А так я пока что деньги зарабатываю и скил повышаю, будет годная идея - буду делать но не во вред работе.
Аноним 08/01/16 Птн 16:00:52 #104 №621643 
>>621437
Да знаю я. Я хотел уточнить это ли имеет анрн в виду.
Аноним 08/01/16 Птн 16:24:09 #105 №621662 
>>621593
> Только это говно затратное.
Ну и что? Взялся за джаву — нечего байты ебать.
Если серьёзно, то затраты вообще несерьёзные.
Аноним 08/01/16 Птн 16:44:26 #106 №621679 

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

Это лист. В листе всякие движения жопой лучше не делать.
Аноним 08/01/16 Птн 17:52:22 #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.
Аноним 08/01/16 Птн 18:01:59 #108 №621743 
>>621735
Уже много читал по поводу что быстрее.
На самом деле строго похуй, но линеары до какой-то там вложенности должны быть быстрее. Рейлейтив тоже со вздрочем работает.
Даже более того, есть люди которые говорят делать все блочкой, а есть те кто говорят что релейтив лучше.
Но тут я вспомню правило "преждевременная оптимизация - зло". И потому советую всем хуярить как удобно.
Аноним 08/01/16 Птн 18:06:11 #109 №621746 
>>621459
>>621483
>org.json.*
Расскажите подробнее, пожалуйста, а то я уже тут надумал свой парсинг писать.
Аноним 08/01/16 Птн 18:08:14 #110 №621749 
>>621746
Всё уже изобретено.
http://androiddocs.ru/parsing-json-poluchaem-i-razbiraem-json-s-vneshnego-resursa/
Аноним 08/01/16 Птн 18:10:50 #111 №621751 
>>621746
>>621749
Твой json весьма интересного формата, потом расскажи нам как ты его распарсишь при помощи стандартных средств.
Аноним 08/01/16 Птн 18:16:42 #112 №621753 
>>621751
Так в любой либе для парсинга есть джейсон обжект, в который распарсится любой адекватный джейсон. А дальше растягиваешь его на джейсон элементы. Забираешь те которые нужны.
Аноним 08/01/16 Птн 19:00:46 #113 №621770 
>>621679
Ну, во-первых таки не лист.
Во-вторых можно и в листе. Опыт показывает, что даже getView можно забивать всяким говном на 150 строк — всё будет хорошо даже на старых бюджетках.
>>621751
Ничего необычного в этом жсоне нет.
Аноним 08/01/16 Птн 19:22:53 #114 №621782 
>>621770
>Во-вторых можно и в листе. Опыт показывает, что даже getView можно забивать всяким говном на 150 строк — всё будет хорошо даже на старых бюджетках.
Это для тебя 150 строк, поиск не по идшникам потратит больше времени чем через айдишники.
Но юзай холдерпатерн забиваем на это болт.
Аноним 08/01/16 Птн 19:25:41 #115 №621784 
Привет котаны.
Есть такая задача: пользователь скачивает файлы (.mp3), одновременно можно скачивать только 3 файла.
Необходимо - организовать очередь и доставить в UI поток информацию о прогрессе и результате. Сохранить файл в стандартную папку с музыкой.
Годный ли такой подход?
1) Создаем FixedThreadPool на 3 потока
2) Каждый поток занимается тем, что скачивает файл и сохраняет его в папку с музыкой, результат и прогресс сплёвывает через Handler?
Аноним 08/01/16 Птн 19:26:45 #116 №621787 
>>621782
Мне другое не понятно: если у меня каждый элемент списка содержит вложенный linear layout, в который динамически добавляются элементы. То как здесь избежать findViewById? Никак?
Аноним 08/01/16 Птн 19:27:25 #117 №621789 
>>621784
3) Через Callback юзаем результат в UI потоке.
Аноним 08/01/16 Птн 19:28:38 #118 №621790 
>>621787
Никак.
>в который динамически добавляются элементы
Ты инфлейтишь их? Если да то это пиздец для листа, буде тупить при определенном количестве инфлейтов. И холдер не поможет.
Аноним 08/01/16 Птн 19:29:54 #119 №621791 
>>621787
Хотя напиздел.
> в который динамически добавляются элементы
файндвью нужна чтоб связать иксемель с кодом, можно писать вьюху из кода.
Аноним 08/01/16 Птн 19:30:39 #120 №621792 
>>621790
Да, инфлейтю. Список слегка лагает при прокрутке.
Аноним 08/01/16 Птн 19:31:24 #121 №621793 
>>621791
>>621790
>>621792
Прикрепил код: http://pastie.org/10677968
Аноним 08/01/16 Птн 19:37:14 #122 №621798 
>>621793
Вариант, но опять же инфлейты будут вызывать лаги, если не критично то забей.
Аноним 08/01/16 Птн 20:14:54 #123 №621823 
14522732949790.jpg
Сап, андроны.
Сорри, что не совсем в тему, но не могу придумать идею простого приложения под Андроид для запиливания.
Нужно, чтобы приложение содержало несколько функций пользователя, было реализовано несколько собственных классов (помимо стандартных), использовался MVC, и также чтобы присутствовала работа с датчиками/устройствами, работа с файлами, с базой данных (SQLite), с облаком и пр. (что-то одно или несколько из этих вещей).

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

Подскажите какие-то идеи. Или мб по приведенным выше что-то можете подсказать?
Аноним 08/01/16 Птн 20:22:10 #124 №621826 
>>621823
Для какого учебного курса?
Аноним 08/01/16 Птн 20:26:08 #125 №621828 
>>621823
> работа с файлами, с базой данных (SQLite), с облаком
Очередной плеер музыки вк с кэшированием.
Аноним 08/01/16 Птн 20:29:41 #126 №621829 
>>621826
Предмет "Мобильные и встраиваемые операционные системы". Другие варианты заданий: написание драйвера для устройства, написание приложение под Win Phone или написание программы для других встраиваемых систем с ОС.
Выбрал себе написание приложения под Андроид, т.к. это как-то ближе хотя на самом деле ни с чем из этого не работал толком
Аноним 08/01/16 Птн 20:32:56 #127 №621834 
>>621828
Это ж надо еще наверное ВК API знать?
Мне бы желательно поменьше дополнительных инструментов изучать, чтобы быстрее сделать задание.
Аноним 08/01/16 Птн 20:38:06 #128 №621837 
>>621834
VKSdk есть. Там довольно просто.
Аноним 08/01/16 Птн 20:39:10 #129 №621838 
>>621823
Погугли Claris Organizer.
Это такая древняя программа под MacOS ещё времён 1.x - 7.x
Аноним 08/01/16 Птн 20:44:33 #130 №621840 
>>621829
Как же я рад, что не пошел на факультет ИТ.
Аноним 08/01/16 Птн 23:18:20 #131 №621922 
>>621784
>>621789
Сделал так, короче, завтра вкину, обложите хуями и т.п.
Аноним 09/01/16 Суб 00:21:11 #132 №621946 
>>621782
> Это для тебя 150 строк, поиск не по идшникам потратит больше времени чем через айдишники.
Разумеется. Возможно, на порядок больше. Не 10 мкс, а 100. Бида.
Аноним 09/01/16 Суб 15:35:15 #133 №622224 
14523429158680.png
Антош, сохраняю OAuth-токен доступа через getPreferences(Context.MODE_PRIVATE) всё правильно делаю?
Кроме токена хранить ничего не требуется.
Насколько безопасно так его хранить?
Какие подводные камни?
Аноним 09/01/16 Суб 16:18:43 #134 №622258 
>>621922
У меня была похожая хуйня, но неограниенное количество одновременных закачек с возможностью отмены, еще и в разных местах в приложении могло показываться и при закрытии должно было закончится в бэкгрануде. Наделал костылей с сервисом в котором есть ExecutorService с кэшем тредов. Из фичи общался с UI через интенты. Лучше бы сделал через DownloadManager и в одном треде его бы ебал вопросами ну че как там уже сколько загрузил и оттуда слал бы интенты.
Аноним 09/01/16 Суб 16:23:17 #135 №622263 
>>622224
http://stackoverflow.com/questions/10161266/how-to-securely-store-access-token-and-secret-in-android

На рутнутом телефоне может быть не безопасно, но во-первых кого это ебет, а во-вторых можешь шифровать своим еба методом уровня цезаря и тогда точно пока не возьмутся за реверс инжиниринг все будет ОК.
Аноним 09/01/16 Суб 22:52:50 #136 №622566 
Ролл
Аноним 09/01/16 Суб 22:55:56 #137 №622568 
Реролл, ибо выпала хуйня.
Аноним 10/01/16 Вск 01:07:09 #138 №622644 
Платиновый вопрос: можно ли на купленную Idea наложить плагины, чтобы он был как Android Studio? Я не знаю что там есть в Студии (кроме заголовков библиотек), наверное, дебаггер
Аноним 10/01/16 Вск 08:34:40 #139 №622790 
>>622644
Тебе поебаться захотелось или что?
Аноним 10/01/16 Вск 08:38:54 #140 №622792 
>>622258
В DownloadManager можно задать имя файла под которым он должен сохранить загруженное?
Вообще вариант с DM выглядит более костыльным. По сути допиливаем нужный функционал через костыли.
Аноним 10/01/16 Вск 10:11:41 #141 №622812 
>>622644
>чтобы он был как Android Studio
Больной ублюдок.
Аноним 10/01/16 Вск 10:14:49 #142 №622813 
>>622644
Незнаю, как сейчас - пару версий назад было можно. Я так делал, когда только начинал кодить под ведроид. Но потом всёравно решил перейти на студию.
Аноним 10/01/16 Вск 14:57:35 #143 №622929 
>>622792
>можно задать имя файла под которым он должен сохранить загруженное?
Конечно можно: http://developer.android.com/intl/en/reference/android/app/DownloadManager.Request.html#setDestinationUri(android.net.Uri)
>Вообще вариант с DM выглядит более костыльным
Выбор между системными костылями и своими.
Аноним 10/01/16 Вск 15:12:39 #144 №622936 
>>622929
>Выбор между системными костылями и своими.
Своя реализация - это велосипед.
Велосипед лучше костылей.
Аноним 10/01/16 Вск 15:43:27 #145 №622946 
Анон, поясни мне про юнит тесты для приложения. В каких ситуациях писать и приведи если не сложно простой пример.
Аноним 10/01/16 Вск 19:20:28 #146 №623074 
Где можно найти новичку несложные фриланс заказы под андроид?
Аноним 10/01/16 Вск 19:25:23 #147 №623083 
Вопрос в какую сторону нужно копать если собираюсь стать разработчиком под андроид ?
Много ли можно заработать на этом?
sageАноним 10/01/16 Вск 19:40:30 #148 №623092 
>>623083
OP пост
Аноним 10/01/16 Вск 20:24:10 #149 №623133 
>>623074

Напиши мне приложение, ну как контакт, короче. Ну я знаю, что ты талантливый программист, тебе несложно будет))) Как только окупаться начнет, сразу заплачу, зуб даю) Еще и друзьям про тебя расскажу, нарасхват будешь)))
Аноним 10/01/16 Вск 20:27:15 #150 №623138 
Как мне на устройстве развернуть базу данных? Открыл 2-й том Хорстманна, он грит мол иди к админу, сам не осилишь.
Но это он про БД на сервере, а мне надо локальную.
Аноним 10/01/16 Вск 20:28:34 #151 №623140 
>>623074
Здесь другие ребята. Лабы под андроид писать не получится. Обычно требуют либо делать с нуля, либо доделывать начатое
Аноним 10/01/16 Вск 20:31:04 #152 №623142 
>>621829
Какая специальность?
Аноним 10/01/16 Вск 21:09:35 #153 №623182 
>>623138
http://developer.android.com/training/basics/data-storage/databases.html
Аноним 10/01/16 Вск 23:51:19 #154 №623289 
>>622790
Я хочу, чтобы у меня один IDE был под все языки
Аноним 11/01/16 Пнд 00:16:54 #155 №623298 
Ребята, впервые вкатываюсь в ваш тред, дабы попросить помощи в простом деле. Придумайте мне тему для курсача. Знаю ооп ну, азы на крестах. Вот сейчас решился серьезно учить матчасть, начал с сиспа, а потом на джаву перекачусь, поэтому курсач мне будет за старт в джава будущее. Спасибо заранее, анон.
Аноним 11/01/16 Пнд 16:21:54 #156 №623346 
14525185148950.png
Я тут высрал за 3 дня https://play.google.com/store/apps/details?id=com.levelgd.dvachpics

Если долго и с глюками грузится - перезапустите программу, сервер раскочегарится. Суть не в этом. Хотелось бы советов мудрых услышать насчет внешнего вида и требуемого функционала для программы такого рода.
Аноним 11/01/16 Пнд 17:59:14 #157 №623397 
>>623346
Как сделана такая галерея? Чем грузишь пикчи?
Аноним 11/01/16 Пнд 18:00:14 #158 №623398 
>>623397
Точнее такой список.
Аноним 11/01/16 Пнд 18:01:48 #159 №623400 
>>623289
Так и получится. Студия сделана на базе intellij idea.
Аноним 11/01/16 Пнд 18:05:20 #160 №623402 
>>623397
>>623398
Это обычная WebView, несложно догадаться. Сервер дрочит двач, формирует линки на пикчи, на клиенте картинки грузятся с двача, нет смысла их сперва перекачивать на сервер. Пока только /б в тестовом режиме, первые 20 тредов (всего в /b их 105).
Аноним 11/01/16 Пнд 18:16:16 #161 №623412 
>>623402
Т.е. ты грузишь со своего сервера страницу на которой картинки с двача?
Охуеть, а без сервера нельзя?
Аноним 11/01/16 Пнд 18:28:18 #162 №623420 
>>623412
Можно, но это существенно повысит требования к скорости интернета клиента. Представь что инет у юзера не оч, и сраная страничка с картиночками будет грузиться 5 минут, так нельзя делать. Формировать же галерею все же куда проще на серве через ноду чем на телефоне.
Аноним 11/01/16 Пнд 22:36:27 #163 №623587 
14525409880160.png
Андроиданы, вопрос наверное не сложный, но я чего-то не нашел уверенного best practice для этого. Короче есть у меня вьюшка, которую я боюсь долго оставлять в памяти, но ссылка на неё должна быть в Runnable, который работает с интернетом. По-этому я хочу в момент cancel обнулить ссылку на неё. Ситуация примерно пикрелейтед. Как мне уловить момент отмены и обнулить объект? Я понимаю что можно через AsyncTask, но интересно как это в ванильной жаве сделать. Интенты не предлагать. Делается библиотека с баннерами. Извиняюсь за шакальство, не понимаю почему так хуево.
Аноним 12/01/16 Втр 00:43:32 #164 №623634 
Чем хтмл с криптожабой конвертнуть в апк для маркета?
Аноним 12/01/16 Втр 01:15:49 #165 №623652 
>>623634

Руками создай приложение, которое в себе webView содержит, там работы на 40 минут максимум
Аноним 12/01/16 Втр 12:31:58 #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/01/16 Втр 12:33:21 #167 №623951 
>>623587
Зачем там ссылка на вьюшку?
Как ссылка на вьюшку там используется?
Аноним 12/01/16 Втр 13:03:40 #168 №623988 
>>623951
Получится JSON в котором хтмл код который надо засунуть записать в базу и возможно засунуть в вэбвью. Ну короче баннер рекламный. Мне в ванильной жавы треде уже ответили, FutureTask конфетка.
Аноним 12/01/16 Втр 13:30:03 #169 №624019 
Встретил тут вот это
http://ionicframework.com/

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

мимо из php треда
Аноним 12/01/16 Втр 14:12:36 #170 №624041 
native api работы много?
черный софт пишут уже? востребовано?
Аноним 12/01/16 Втр 14:33:19 #171 №624061 
>>623988
Приложение не крашится из-за того, что ты не из UI потока к View обращаешься?
Аноним 12/01/16 Втр 15:07:59 #172 №624090 
Анончик, подскажи пожалуйста.

У меня есть две версии приложения, full и free, различаются исключительно отсутствием рекламы. Предположим на девайсе установлены обе версии. Приложение умеет грузить картинки из галереи/с камеры (использую стандартные средства ведроида). При загрузке есть вероятность того что Активити вызывающая будет выгружена из памяти, и тогда при возврате она будет пересоздана. Как правильно описать intent-filter в манифестах платной и полной версии, чтобы при возвращении из стандартных активити Андроида не появлялся диалог с выбором, какое из приложений (полное или бесплатное) запустить?
Аноним 12/01/16 Втр 15:28:59 #173 №624107 
>>624090
> платной и полной
Фикс: бесплатной

Аноним 12/01/16 Втр 15:29:14 #174 №624108 
>>624061
Так есть же post, а вообще я сделал через фичу, там не вьюшка висит, а просто интерефейс который умеет реагировать и в done() через предоставленный Handler или через Handler главного треда post.
Аноним 12/01/16 Втр 15:56:47 #175 №624140 
>>624090
>Предположим на девайсе установлены обе версии
Третью еще сделай.
Аноним 12/01/16 Втр 16:11:49 #176 №624153 
>>624140

Ну смотри, юзер качает бесплатную версию, потом через какое-то время решает купить полную, но бесплатную не удаляет. И что тогда?
Аноним 12/01/16 Втр 16:30:29 #177 №624177 
>>624153
П О Д П И С К А
О
Д
П
И
С
К
А
А еще найди приложуху в сторе такую.
Аноним 12/01/16 Втр 18:27:00 #178 №624263 
Вижу, что в некоторых приложениях приводится список open source лицензий.
Правильно я понимаю, что это важно в том случае, если приложение очень популярно, платное и используется туева куча сторонних либ?
У меня используется 2 либы:
https://github.com/intuit/sdp
https://github.com/kolavar/android-support-v4-preferencefragment/blob/master/LICENSE
Мне не зачем волноваться и можно не делать такой раздел?
Аноним 12/01/16 Втр 18:36:24 #179 №624270 
>>624108
Я понимаю, что интересно всё исследовать, ты молодой-шутливый, но ты просто изобрёл велосипед. Абсолютно то же самое умеет делать AsyncTask: он именно так и работает.
Аноним 12/01/16 Втр 18:38:10 #180 №624271 
>>624263
Забей, алсо вторую поменяй на гугловский preference appcompat есть отдельной либой.
Аноним 12/01/16 Втр 18:41:45 #181 №624274 
>>624271
Ага. Осталось вспомнить зачем я использовал его вместо гугловского.
Аноним 12/01/16 Втр 21:12:02 #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);
}
Аноним 12/01/16 Втр 22:09:29 #183 №624442 
>>624400
> ActionBarActivity
This class is deprecated.
Use AppCompatActivity instead.
Аноним 12/01/16 Втр 22:19:32 #184 №624448 
>>624442
Ты их код видел? ActionbarActivity extends AppCompatActivty и больше ничего не меняет.
>>624400
Ты про оверфлоу меню?
Аноним 13/01/16 Срд 05:35:13 #185 №624591 
Привет, ребята, очередной чайник в треде. В общем задумал я сделать одну классную вещь под андроид, но ни с чем, связанным с программированием в жизни дел не имел. Так вот вопрос. На каком движке можно написать игру типа "Взломщик 1.6", если помните такие были популярны лет 10 назад. Много ли нужно времени для того, чтобы новичку написать подобное?
Аноним 13/01/16 Срд 07:52:00 #186 №624621 
>>624591
Бери Unity3D и пиши.
Аноним 13/01/16 Срд 13:15:02 #187 №624765 
А есть какой-нибудь канал на ютабе, где выложен пример создания игры на ведроид на каком-нибудь libgdx? Скиньте, пожалуйста, если есть.
Аноним 13/01/16 Срд 14:04:16 #188 №624797 
>>619808
что планируешь делать в связи с ситуацией с api level 23 и apache со старыми своими приложениями ?
Аноним 13/01/16 Срд 14:12:44 #189 №624802 
14526835644390.png
>>619370 (OP)
Анончики, хочу пойти на стажеровку в контору по разработке приложений под ведро, есть проблема из все что знаю это только с курса elegion от гугл ну так чуть тыкал в android studio. Вопрос в том что бы подготовить для собеседования, порекомендуйте самый минимум навыков, знаний что бы выглядить хотя бы знающим?
Аноним 13/01/16 Срд 15:38:24 #190 №624845 
>>624802
>ничего не знаю и исправить это не пытаюсь, хочу быть девелопером
Контора с таким же успехом может взять джамшута с улицы вместо тебя. Читай книжки, кури туторы, пили хелловорлды.
Аноним 13/01/16 Срд 15:54:34 #191 №624854 
14526896747930.gif
>>624765
БУМП
Аноним 13/01/16 Срд 15:55:01 #192 №624855 
>>624845
Дайте годную книгу на русском языке для хелоувордов
Аноним 13/01/16 Срд 15:55:29 #193 №624857 
>>624854
Походу нет
Аноним 13/01/16 Срд 16:01:24 #194 №624863 
>>624857
А вдруг есть? Бампану еще пару раз, может кто подкинет
Аноним 13/01/16 Срд 16:16:49 #195 №624872 
>>624863
Есть. Но человеку, не умеющему пользоваться гуглом, я помогать не буду.
Аноним 13/01/16 Срд 16:23:30 #196 №624874 
>>623587
>Я понимаю что можно через AsyncTask,
У тебя раннейбл запускается в другом потоке? Тогда как ты вообще собираешься взаимодействовать с вьюхой?
А так, можешь попробовать делать, например, thread interupt для отмена, если у тебя работа с интернетом не блокирует поток. Иначе никак - ибо состояние interrupted тебе придётся проверять вручную в методе run
Аноним 13/01/16 Срд 16:30:11 #197 №624876 
Аноны, а что вообще представляет из себя кодстайл в реальных проектах андроида? Смотрю коды прог на гитхабе - у одних куча абстракций, все выдрочено до неузнаваемости в проекте с двумя активити, у других - наоборот - вся логика намешана прямо в активити, никаких паттернов, нихуя.
Сам валю из тырпрайза в ведроид, ибо заебало бесконечное количество AbstractSingletonProxyFactoryBean, 20 слоёв ебаной бизнес логики над бизнес логикой, бесконечная абстракция и прочие радости тырпрайза. Правильно делаю, или путь онли в сишечку?
Аноним 13/01/16 Срд 18:41:22 #198 №624942 
>>624765
Сотни их.
Аноним 13/01/16 Срд 18:42:47 #199 №624943 
>>624797
Всмысле?
Аноним 13/01/16 Срд 18:59:02 #200 №624953 
>>624876

Я ньюфаг, но как понял по семплам от гугла. Что надо в каждое активити вставлять фрагмент и работать уже с ним. С лейаутами также, вместо того, что бы все запилить в одном надо делать <include> -> <include> -> <include> и так далее. Такое ощущение, что изначально все должно было быть по-человечески, но у них не получилось и в итоге сейчас понавставляли кучу костылей и у меня жопа горит от этой запутанности.
Аноним 13/01/16 Срд 19:51:14 #201 №624969 
>>624953
>Я ньюфаг
Вот покодишь еще годик и поймешь что так и надо, даже больше, что без фрагментов, отдельных ресурсов для всего и т.п. - без этого просто невозможно. Всегда для фрагмента, адаптера, хуяптера с листенерами и вообще любой дрисни можно запилить отдельный класс и спокойно ебать его, а не оперировать длиннющими на три экрана строчками с бесконечными анонимными функциями для описания сраного алертдиалога, который пользователь и не увидит никогда. Запилил нужное говно в классе и забыл. А когда о нем надо вспомнить - залез в класс и выдрочил его, без получасового поиска нужного женерик названия в документе.
Аноним 13/01/16 Срд 21:10:32 #202 №625023 
Аноны, банальная ситуация: одно активити, несколько фрагментов, соответствуют пунктам в naviagtion drawer.
У каждого фрагмента есть ui, и своя логика загрузки данных. Для загрузки данных используются методы стороннего апи (синхронные, либо асинхронные), и соответствующие им коллбэки.
Есть 2 решения:
1) Захуячить setretaininstance(true) - но тогда надо смотреть, чтобы при доставке данных ui был доступен (как?), ибо при повороте он всёравно будет перерисовываться.
2) Не делать setretaininstance - но тогда придётся всю эту хуёню-малафью с методами апи оборачивать в лоадеры, что породит кучу огромных лоадеров с нехилым велосипедом.

Какое вы юзаете?
Аноним 13/01/16 Срд 21:16:31 #203 №625027 
>>625023
Rx
Но тут будет два варианта:
1) Хранить подписки во фрагмeнтe с ретаэйном;
2) Хранить подписки в синглтоне
Аноним 13/01/16 Срд 21:24:30 #204 №625031 
>>625027
>1) Хранить подписки во фрагмeнтe с ретаэйном;
>2) Хранить подписки в синглтоне
Что не отменяет взаимодействия с ui при доставке. Надо как-то проверить, что ui доступен, особенно интересно, как это сделать во фрагменте с ретейном, где сам фрагмент не пересоздаётся, но ui перерисовывается.
Аноним 13/01/16 Срд 21:37:11 #205 №625038 
>>625031
Нихрена не будет доставляться если ты отпишешься в onPause(). Ретэйн фрагмент умрет тогда, когда умрет активти, значит останавливай все. Ты не так понял ретейн фрагмент. Я имею в виду не UIшный фрагмент, а тот который просто висит в мэнэджере - UI не имеет. Так что смотри: UI фрагменты подписываются, отписываются, а ретейн держит сабскрипшены и вообще рулит процессом.
Аноним 13/01/16 Срд 22:26:53 #206 №625073 
В MainActivity заменил модуль с MainActivity на "нужный_нейм", но приложение просто крашится, при этом создавал модуль в папке layout, короче говоря всё как у людей. В чём проблема?
Аноним 13/01/16 Срд 22:28:26 #207 №625076 
>>625073
А читать ты умеешь? Как насчет проверить манифест?
Аноним 13/01/16 Срд 22:29:37 #208 №625080 
>>625076
Сам файл открыть или на изображении телефона выписывает?
Аноним 13/01/16 Срд 22:32:51 #209 №625083 
>>625080
Ты смеешься? AndroidManifest.xml открой, а ошибки в логе.
Аноним 13/01/16 Срд 22:49:47 #210 №625100 
14527145873440.png
14527145873461.png
Вот скрин того что выдал
Аноним 13/01/16 Срд 22:50:56 #211 №625101 
>>625100
И Д И
Н А Х У Й
М У Д О З В О Н
и startandroid забери
Аноним 13/01/16 Срд 22:51:38 #212 №625103 
>>625101
А хули не так?
Аноним 14/01/16 Чтв 00:45:36 #213 №625179 
Пихнул вам всем в очко свой ОБРАТНЫЙ ЗВОНОК
Аноним 14/01/16 Чтв 00:51:02 #214 №625180 
>>625100
Пшол отсюда, мразь.
Аноним 14/01/16 Чтв 01:04:41 #215 №625186 
14527226818190.jpg
Я вот не понял дроча на фрагменты. Они нужны в самой апликухе если есть переключения между пунктами меню например.
Но нахуй окно логина вешать на фрагмент?
С фрагментом работать намного хуевее чем с активити, как минимум из-за того что постоянно нужно смотреть привязан ли фрагмент к активити. В результате на каждый вызов ретрофита нужно прописывать ифы и так с любой асинхронной хуйней по сути.
Аноним 14/01/16 Чтв 01:27:02 #216 №625191 
>>625186
Что бы трекать сессиию например и другие похожие вещи. Да и проверок особенно не нужно если ты пишешь на диск, а фрагменты просто реагируют. Вот был бы нормальный колбэк как Application.onCreate(), только Application.onDestroy(), а так нужны костыли.
Аноним 14/01/16 Чтв 01:43:55 #217 №625194 
>>625191
>Что бы трекать сессиию например и другие похожие вещи.
Типа на онДетаче посылать запрос про офлайн? Это имел ввиду?

На диск это ладно, но для любой работы с юи нужен не контекст, а активити.
Аноним 14/01/16 Чтв 10:46:01 #218 №625314 
>>625194
Если все правильно сделать - все подписки и колбэчики, то до не приципленного фрагмента они не дойдут
Аноним 14/01/16 Чтв 12:55:26 #219 №625373 
Сосаны, вот есть у меня aarник, но я хочу что бы его могли использовать другие люди, или я сам, но так что бы он не лежал как модуль в проекте, то есть взять грубо говоря vasyanliba.aar и вставить ее в рандомный проект, как сделать?
Аноним 14/01/16 Чтв 13:03:40 #220 №625379 
>>625373
А все, уже разобрался, ебучий легаси. (http://stackoverflow.com/questions/16682847/how-to-manually-include-external-aar-package-using-new-gradle-android-build-syst)
Аноним 14/01/16 Чтв 15:44:18 #221 №625455 
>>625314
Каким образом?
Ну блять, подписка просто более правильный подход, но по сути все равно идет слежение за тем привязан ли фрагмент к активити.

На счет онДетача фрагмента, если убить процесс системно, онДетач не должен же срабатывать?
Тогда каким образом можно следить за статусом пользователя? Ушел апликухой в бэкграунд, но еще в онлайне же, убило системой и онДетач скорее всего не сработает.
Аноним 14/01/16 Чтв 16:12:26 #222 №625474 
>>625455
Так я и говорю, что нет у апликэйшлна точного метода, когда все. Не знаю откуда ты он детач взял. А вот у активти есть, если ты убьешь процесс, то onDestroy() точно вызовется.
Аноним 14/01/16 Чтв 21:16:26 #223 №625685 
>>625474
>onDestroy() точно вызовется.
Вообще-то нет, не вызовется. Я и подумал что ты хочешь сказать что при убивании процесса на фрагменте онДетач вызывается, но видимо нет.
Аноним 14/01/16 Чтв 21:42:53 #224 №625711 
>>619370 (OP)
Ох, ебушки воробушки, аноны, как вы ебетесь с этими ведрами если тулзов адекватных и ускоряющих разработку гугол как не поставлял так и не поставляет? За что вы так ненавидите Xamarin? На ios разработка идет в лет, на ведро портируется в шум, если твоя аудитория это не носители говно-телефонов. Что не так?
Аноним 14/01/16 Чтв 21:56:55 #225 №625730 
>>625711
>На ios разработка идет в лет,
Что ты под этим имеешь в виду?
Аноним 14/01/16 Чтв 22:08:08 #226 №625739 
>>625730
ну я имею ввиду что быстро фичи фичевать. Я не думаю я всякой низкоуровневой херне, которая в большинстве приложений нахрен не упала. Просто беру и юзаю из коробки то что есть и оно работает. Без глюков. Есть места которые надо напильничком подлатать - но таких немного. В основном ты пишешь бизнес-логику а не трахаешься с оптимизациями, куришь логи девайса, ковыряешь dSym итд На это же уйма времени тратится в нэйтиве
Аноним 14/01/16 Чтв 22:11:59 #227 №625744 
>>625711
+....ебал я в рот тех кто писал андроид студио - тупорылое и тормозное говно особенно эмулятор
Аноним 14/01/16 Чтв 22:55:39 #228 №625771 
>>625744
>В основном ты пишешь бизнес-логику а не трахаешься с оптимизациями
Это да.
>>625744
Хз. Со студио не знаком, так что сравнивать не с чем, но хкод – это одна из самых уебанских разработок от Эппла в плане стабильности
Аноним 15/01/16 Птн 00:44:09 #229 №625858 
>>625711
Ой да не пизди. Сделай мне риппл эффект на баттоне на ведре 4.2.2.
Жду решения.
Аноним 15/01/16 Птн 04:29:49 #230 №625930 
Господа, если я хочу хорошо освоить SQLite, то мне нужно искать книгу по ней конкретно(если такие есть) или же просто брать книгу по SQL и по ней учить? Одно и тоже будет или же нет?
Аноним 15/01/16 Птн 10:17:34 #231 №625977 
>>625930
Там есть разница, но SQLite попросту проще. Много чего нету, много что для галочки типы данных например и тд.
Но всякие иннерджоины и тд аналогичны, так что пох на самом деле.
Единственное что после обычной sql нужно будет почитать разницу чтоб не ожидать всяких убер фич и приемов.
Аноним 15/01/16 Птн 11:29:59 #232 №626011 
>>625930
SQLite изучается документацией. Она сильно упрощена, по сравнению с мускулями/постгресами.
Аноним 15/01/16 Птн 13:50:13 #233 №626098 
>>625685
Ты только что сломал мои розовый очки. Действительно не вызвалось, но то был терминэйт мануальный. При более не менее нормальном поведении, то есть когда грохает система, но еще не так жестоко(don't keep activities) всем все вызывается.
Аноним 15/01/16 Птн 14:26:15 #234 №626137 
>>625858
Да как нехер. Затаскиваю любую либу с гитхаба которая умеет это делать на api 14-19 и пишу рендер кнопки, который действует по всему проекту.
Аноним 15/01/16 Птн 14:55:28 #235 №626153 
>>626098
На онДестрой нельзя полагаться.

>>626137
Поподробнее.
90% либ на джаве. Или это не проблема?
Аноним 15/01/16 Птн 15:19:16 #236 №626164 
>>626153
Android SDK тоже на Java, прикинь. Затащить любое .JAR дерьмецо можно быстрее чем это описано в туториале Xamarin, ибо понаписано плагинов для этого дела более чем достаточно. Все это превращается в пару раз тыкнуть мышкой в VS.
Ну а рендер по сути это нативная обертка над любой вью. Там все пишется старым дедовским способом - как гугл завещал. В итоге я имею кнопку которая описана в кросс-платформенном лэйауте и которая имеет 1 вид на ведрах, и так же имеет другой вид на ios. При этом верстка не трогается. Я пишу её 1 раз и дальше подключаю необходимые эффекты если надо. Но большинство анимаций например из коробки есть. Если надо что-то вычурное - пишем сами или тащим либу
Аноним 15/01/16 Птн 15:23:29 #237 №626165 
>>626164
При том мне доступен полный SDK - поэтому можно и самому написать используя обучающие материалы нативной разработки.
Аноним 15/01/16 Птн 17:50:24 #238 №626250 
>>626164
Ну у всего же минуса есть, какие на хамарине?
Аноним 15/01/16 Птн 18:09:53 #239 №626261 
http://fritzmorgen.livejournal.com/851042.html?thread=426252130#t426252130

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

По теме: многие ли из вас работают удаленно напрямую?
Аноним 15/01/16 Птн 18:38:07 #240 №626276 
>>626261
В двух словах поясните нахуй в россию ехать?
Не буду все читать.
Аноним 15/01/16 Птн 18:52:30 #241 №626297 
>>626261
Два дивана - это сила, называется. Бодишопы нужны аутистам, которые не могут в общение, и заказчикам, которые не хотят рисковать (энтерпрайз прежде всего).

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

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

А столько же, сколько местным, платят только уникальным специалистам, когда гемор удаленки окупает пользу компании. Т.е. единицам. Обычно удаленность и отсутствие нативного английского уже подразумевает дисконт.
Аноним 15/01/16 Птн 19:06:45 #242 №626306 
>>626250
Минуса есть. Иногда жестко тупит VS, приходится перезагружаться.
Долгое время загрузки приложения, если не настроен линковщик, который должен уменьшать подключаемые библиотеки да и твой код тоже.
И обновления в Xamarin это зло. Нужно очень долго работать с этой платформой чтобы вовремя обновиться без последствий. Да и то...
Недавнее обновление например добавило в инсайты новых эксепшнов, которые раньше не возникали. Нужно точно знать номер стабильной версии Xamarin и библиотек Xamarin Forms.
Ну и нельзя давать себе вольницу при верстке лэйаутов и фигачить высокую вложенность контейнеров и управлять их видимостью. Обычно в такие моменты вспоминаешь нативную работу с фрагментами, когда заменяешь один лэйаут другим в рамках одной activity. Это реализуемо в ксамарин, но расходится с парадигмой XamarinForms.
Ну и опытный программист знает что на Xamarin списки из коробки неоптимизированны и есть отличное решение - отказаться от автоматических биндингов в ячейки и обновлять их ручками. Новички про это не в курсе и всегда когда получают глючное решение - ругают замарин. Может оно и объективно, но решение есть и оно даже на костыль не похоже.
Работу с Http нужно организовывать не через стандартные немспейсы, а подключать либу которая работает с нативными инструментами - ибо работа в 2-3g сетях стабильнее. Вообще нельзя сказать что прям все работает из коробки, но магазин компонентов и Nuget полон самых разных решений.
Если не надо делать что-то вычурное и необходимо это пилить на 2 а то и на 4 платформы сразу то Ксамарин самое то. Если нужно написать лаунчер какой или ещё что подобное - Замарин не ваш выбор однозначно.
Аноним 15/01/16 Птн 19:12:32 #243 №626310 
>>626250
Нестандартный UI пилится очень сложно. Если следуешь гайдлайнам - все ок. Как уходишь начинаются проблемы.
Аноним 15/01/16 Птн 19:41:26 #244 №626328 
>>626310
В ведре это тоже нихуя не просто.
>>626306
Понял спасибо.
Так а в чем трабла лаунчера не понял.
Аноним 15/01/16 Птн 19:47:33 #245 №626332 
>>626306
Те же яйца, только в профиль и за деньги.
Аноним 15/01/16 Птн 20:44:36 #246 №626359 
>>626332
Время наш главный враг. В 1 рыло за месяц можно намутить добротный прототип на 3 платформы. Быстрота главное преимущество. Потому и денег стоит. Да и комфорт никто не отменял, я о многих вещах даже не задумываюсь, просто беру и делаю
Аноним 16/01/16 Суб 00:13:30 #247 №626420 
14528924109930.gif
Анон, помоги понять, чяднт. Пытаюсь прикрутить к приложению активити с гуглокартой, но, как только подключаю
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"
а конкретику найти не могу.
Аноним 16/01/16 Суб 01:09:56 #248 №626458 
>>626359
Ну на джсе тоже можно клепать. Толку то. Пока рынок требует будет на джаве писать.
Аноним 16/01/16 Суб 01:10:33 #249 №626459 
>>626420
Трайни 8.3.0
Аноним 16/01/16 Суб 01:35:36 #250 №626471 
>>626420
Плагин сервисов подключил? Попробуй только карты подключить и base (или core, если там есть, а то вдруг выдумываю). Проверь версию грэйдла и его плагина.
Аноним 16/01/16 Суб 02:21:46 #251 №626488 
>>626459
Не помогает.
>>626471
Вроде подключил.
Если создать отдельный модуль, то всё работает, но почему-то при попытке вставить активити с картой в моё - валится.
Аноним 16/01/16 Суб 02:55:10 #252 №626504 
>>626488
Ключ не забыл?
Аноним 16/01/16 Суб 03:16:57 #253 №626514 
>>626504
Неа, хотя есть подозрения, что делаю что-то не так.
Не понимаю, почему вообще подключение в dependenses рушит билд.
Аноним 16/01/16 Суб 03:54:14 #254 №626518 
14529056550350.jpg
>>626514
БЛЯДЬ БЛЯДЬ БЛЯДЬ

Весь день ебусь, пиздец какой-то.
Только что очередной раз добавил новую активити по шаблону гугломэпс, по ссылке создал ключ, вставил, запускаю, и снова
Gradle build finished with 1 error(s) and 4 warning(s) in 1m 33s 994ms
Если создавать с нуля апп и делать всё то же самое. то получается, а так - нет. Пиздец
Аноним 16/01/16 Суб 05:51:54 #255 №626528 
>>626518
Ну ты хоть скрин ошибок в иде покажи.
Аноним 16/01/16 Суб 06:40:11 #256 №626538 
14529156120470.jpg
>>626528
Уже нашёл, был какой-то конфликт с либой для асинхронных запросов, причём выяснил я это тупо отрубая компоненты, пока не нашёл эту парашу.

Котаны, а подскажите, есть ли список полезных советов, каких-то фишек, которые бы экономили время и нервы?
Аноним 16/01/16 Суб 09:05:12 #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)
Аноним 16/01/16 Суб 09:19:39 #258 №626564 
14529251800400.jpg
>>626563
Кстати, сейчас специально ради тебя перекомпилировал свой проект. Первая компиляция (то есть, полная, с clean и всеми тасками градла) вышло 30 секунд. На шинде до 2 минут доходило.
Аноним 16/01/16 Суб 09:39:20 #259 №626566 
>>626518
Это еще что, у меня R файл не генерировался, хотя я сделал clean и build, пока не удалил все drawable, а потом обратно вставил.
Аноним 16/01/16 Суб 09:42:18 #260 №626567 
Раз уж жалуемся на gradle, что сделать что бы не тупил? А то например редактирую build.gradle и студия тупо фризится, пробовал и на виде и на маке.
Аноним 16/01/16 Суб 11:36:28 #261 №626595 
14529333887580.png
14529333887601.png
14529333887622.jpg
>>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).

Что можно сделать, пацаны? Мой телефон говно? Или это я не понимаю сути андроида?
Аноним 16/01/16 Суб 12:32:21 #262 №626630 
>>626595
Покажи свой адаптер для листа или рейсайлервью.
Аноним 16/01/16 Суб 12:41:20 #263 №626634 
>>626458
>JS
ты серьезно? не, ты реально серьезно вот сейчас произнес это?
Аноним 16/01/16 Суб 12:41:22 #264 №626635 
>>626630
http://pastebin.com/jEsn1Zi4 - вот реальный адаптер
Аноним 16/01/16 Суб 12:45:45 #265 №626637 
>>626635
http://pastebin.com/69rh2Pxa - даже вот этот адаптер тормозит (с него 3й пик)
http://pastebin.com/F2K8BetZ - а вот такая верстка для 3 пика.
Аноним 16/01/16 Суб 12:46:15 #266 №626638 
>>626634
И хочу добавить что таких проблем как несколько постов выше с гугло-картами на замарине нет. Подключил за 2 минуты, расширил немного классец карт, добавил что надо и оно работает, компилится без всяких танцев с бубнами. Собсно за это фирма и деньги на лицензии платит
Аноним 16/01/16 Суб 13:23:31 #267 №626663 
>>626638
Ой все пиздуй уже. То что человек не может либу подключить сугубо его проблемы.
>>626634
Да, там платформы 3-4 конкурирующих.
Аноним 16/01/16 Суб 13:25:08 #268 №626664 
>>626637
Попробуй на эмуляторе посмотреть. Просто тут действительно нечему лагать.
Аноним 16/01/16 Суб 14:06:33 #269 №626695 
Ну и так по частям:
1) public class DataObjectHolder, почему не статик?
2) Этот OnCLikListener выглядит просто ужасно; Мне кажется легче в onBindViewHolder передать объект, который будет рисоваться во вьюхолдер и тогда нет нужды с этими кривыми хренями;
3) Есть подозрения, что все так хреново из-за RelativeLayout'a в корне иерархии;
Аноним 16/01/16 Суб 14:39:35 #270 №626742 
>>626595
Этот пост >>626664 про этот код >>626637

>>626695
Код не мой, я другой анон но есть вопросы.
>1) public class DataObjectHolder, почему не статик?
Вообще правильно, мол чтоб мемори ликов не было нужно статик делать. Но логически я никак не могу понять каким образом в данном случае будет мемори лик?
>3) Есть подозрения, что все так хреново из-за RelativeLayout'a в корне иерархии;
Очень сомневаюсь в этом.
Аноним 16/01/16 Суб 19:23:16 #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 пытаюсь работать?
Аноним 16/01/16 Суб 20:00:50 #272 №626992 
14529636501740.jpg
>>626965
Аноны, я проверил, от версии студии тормоза по прорисовке не зависят. Кто-нибудь может проект с recyclerview и карточками у себя погонять и посмотреть, будут ли тормоза такие же как у меня?

https://dropmefiles.com/kzpes - вот пустой проект, который ближе к низу списка у меня начинает тормозить.
Аноним 16/01/16 Суб 20:26:23 #273 №627003 
14529651833400.jpg
Не понимаю как работает сборка мусора. Допустим, у меня есть Activity, с методом onResult. Activity создаёт другой объект, допустим Dowloader с помощью new Downloader(this).
Downloader сохраняет эту переданную ссылку в поле mCallback. Внутри Downloader объявляется AsyncTask, который в onPostExecute вызывает mCallback.onResult(yoba).
Вопрос: если в момент выполнения AsyncTask Activity будет убита, что произойдёт? Будет ли собран сборщиком объект Downloader? По идее объект AsyncTask будет иметь ссылку на родительский объект, значит ли это что он будет жить? Значит ли это что ссылка mCallback вмесие с Activity также останется жить?
Если всё да, то какой нормальный выход? Сделать WeakReference mCallback? Сделать AsyncTask статик классом (и можно ли так)?
Аноним 16/01/16 Суб 22:48:57 #274 №627107 
>>626992
Парни, это опять я. Опытным путем я нашел проблему. И теперь надеюсь, что вы подскажете мне, как быть.

Суть в том, что у меня тел philips, и в прошивке есть фирменная фишка XPower Tech (мать её).
Аноним 16/01/16 Суб 22:49:34 #275 №627108 
>>627107
Блин. Само отправилось..

>Данный режим работает на базе технологии PowerXtend, фирменной разработки компании Lucidlogix. Он необходим для того, чтобы уменьшить энергопотребление системы в процессе запуска тяжеловесных приложений – таких, как сложных игр с серьезной графикой, браузера с множеством открытых вкладок, программ для навигации и т. п. PowerXtend позволяет в этом случае сэкономить до 30% емкости аккумулятора! На практике это выливается в несколько дополнительных часов использования мобильного устройства в автономном режиме
Аноним 16/01/16 Суб 22:50:48 #276 №627110 
>>627107
Блин. Само отправилось..

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

По-видимому, эта технология тупо ограничивает fps в приложениях. Вот какого хуя эта фигня считает мое приложение тяжеловесным я не понимаю...
Аноним 16/01/16 Суб 23:00:19 #277 №627123 
>>620079
Ставишь fiddler на комп + его сертификат на девайс и читаешь весь шифрованный трафик
Аноним 17/01/16 Вск 01:12:24 #278 №627214 
14529823444220.jpg
Антоши, есть один AutoCompleteTextView куда адаптером загружаю элементы.
Но происходит беда - они не умещаются на экране, а скроллбар не появляется, что делать?

Аноним 17/01/16 Вск 01:19:29 #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"
/>
Аноним 17/01/16 Вск 01:20:11 #280 №627221 
14529828119180.jpg
>>627219
ЧТо-то я совсем даун, тут картинку забыл, мод, пофикси, если слишком даун.
Аноним 17/01/16 Вск 05:22:58 #281 №627335 
Двач, у меня есть форма на активити, на одном пункте надо запустить другое активити, сделать там что-то, вернуться обратно с данными. Всё ок, но по возвращению вбитые ранее данные уничтожаются.
Как лучше это сделать?
Аноним 17/01/16 Вск 05:32:04 #282 №627340 
>>627335
onActivityResult, уже разобрался.
Аноним 17/01/16 Вск 10:44:50 #283 №627374 
>>627107
Именно по-этому не имеют смысла любые смартфтны кроме nexus.
Уж больно любят пихать странную фигню, которая не нужна и тормозит/глючит.
Аноним 17/01/16 Вск 10:46:08 #284 №627375 
>>626638
Таких проблем нет и на Java.
Аноним 17/01/16 Вск 10:48:01 #285 №627376 
>>626538
Средство есть и называется: опыт.
Аноним 17/01/16 Вск 10:51:25 #286 №627377 
>>626638
Такие проблемы с картами должны быть у каждого. В результате их имеем у одного ньюфага.
Так что и здесь проблем нет.
Очевидно, что ксамарин привносит:
1. Тормоза
2. Новые баги
3. Хочет денег
И в треде про разработку под android не имеет смысла обсуждать ксамарин, т.к. тут java справляется лучше.
Аноним 17/01/16 Вск 13:34:12 #287 №627440 
Аноны, денёчка! Хочу сделать шапку для своего приложения, которая будет включать в себя пикчу и текст, со шрифтами, цветом и размером которого хотелось бы поиграть.
ActionBar скрыл, в как это сделать Toolbar`е тоже не догоняю.
Надежда на тебя, анон!
Аноним 17/01/16 Вск 13:38:28 #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 не обойтись.
Аноним 17/01/16 Вск 13:48:57 #289 №627446 
14530277370920.png
>>627442
отвалилась
Аноним 17/01/16 Вск 14:21:06 #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 (или еще какой) сам холдер. Заодно обосрите братушки.
Аноним 17/01/16 Вск 14:22:23 #291 №627468 
>>627467
Блять запятые и скобки прицепились, не серчайте.
Аноним 17/01/16 Вск 14:29:16 #292 №627470 
>>627446
Зачем ты вообще пихаешь thread.sleep(10000) в анимацию? Для отложенного старта анимации есть метод... то ли сетДелей, то ли сетСтартТайм, короче в списке автоподстанова анимации что то такое поищи.
Аноним 17/01/16 Вск 14:34:36 #293 №627473 
>>627470
я не пихаю, я как пример привёл. один хрен, не работает
Аноним 17/01/16 Вск 15:28:47 #294 №627507 
>>627446
я всё сделал, вопрос отпал
Аноним 17/01/16 Вск 16:20:08 #295 №627549 
Как сделать навигейшнБар который двигает мейнКонтект? Как у фейсбука например.
Аноним 17/01/16 Вск 16:39:16 #296 №627577 
У меня вопросы к бывшим шарпоблядям. Есть тут такие? Какого это было перекатиться с шарпа на жабу? Стало лудше или хуже?
Хотет перекатиться, ебошить под мобилки. Заебал дотнет. Тут либо хуячить сайты, либо хуячить нативные приложения, которые нужны только секретаршам.
Аноним 17/01/16 Вск 19:20:12 #297 №627667 
>>623182
спасибо, почитаю
Аноним 17/01/16 Вск 19:39:16 #298 №627676 
>>627577
> Какого это было перекатиться с шарпа на жабу?
Как делать нехуй. Даже гайды по джаве не читал.
Аноним 17/01/16 Вск 19:52:19 #299 №627683 
>>627577
Мне понадобилось снова что-то на C# написать: так непривычны эти свойства в шарпе.
Порой листаешь список методов и ищешь, где же там getХуйня()
Аноним 17/01/16 Вск 21:21:58 #300 №627739 
>>627683
Я не понял. Ты писал на шарпе, потом на жабу, а теперь на шарп, где ты настолько отвык от проперти?
Аноним 17/01/16 Вск 21:25:07 #301 №627741 
У меня еще один вопрос назрел по поводу переката с .NET на андроид. Разница в ЗП при перекате. На дотнете я щас что-то между мидлом и сеньором, но получаю хуево, т.к. контора говно. Если я щас быстренько освою разработку под андроид, мой перекат, в плане зп, будет мягким? Или нубы вообще нихуя не получают?
Аноним 17/01/16 Вск 21:30:10 #302 №627745 
>>627739
Именно. Всегда по привычке начинаю набирать метод со слова get/set или искать глазами.
Аноним 17/01/16 Вск 21:38:38 #303 №627749 
>>627745
Охуеть. А я думал, что всякие плюшки шарпа, типа свойств, прочно впаиваются в черепушку, что аж потом жить без них не можешь.
Аноним 17/01/16 Вск 22:32:02 #304 №627786 
>>627749
Фишкой это сложно назвать.
Ну да, сделали.
Особой необходимости в них нет.
Kotlin Аноним 18/01/16 Пнд 19:50:27 #305 №628434 
14531358279950.png
>>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.
Разрабатываю на нем уже полгода, могу ответить на адекватные вопросы
Аноним 18/01/16 Пнд 19:55:23 #306 №628441 
>>628434
Под ведро на нем пишешь?
Аноним 18/01/16 Пнд 19:58:18 #307 №628444 
>>628434
P.P.S.
Сам я на него перекатился из Xamarin (на Xamarin из нативного Android/Java, когда захотелось делать кросс-платформенные приложение)

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

>>628441
Под Android и iOS (RoboVM - выходит дешевле через Xamarin )
Аноним 18/01/16 Пнд 20:03:00 #308 №628450 
>>628434
>В общем очень похож на scale
На Scala конечно

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

Аноним 18/01/16 Пнд 20:06:31 #309 №628454 
Есть смысл перекатываться из фронтенда в андроид? Где больше денег?
Аноним 18/01/16 Пнд 20:19:44 #310 №628465 
>>628444
>Под Android и iOS (RoboVM - выходит дешевле через Xamarin )
Вот тут не понял. Так что дешевле выходит? И почему? Явно ксамарин по логике вещей должен быть дешевле.

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

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

Оставь контакты какие-то на будущее.
Очень интересно пообщаться с человеком пилящим под две платформы.
Аноним 18/01/16 Пнд 20:20:19 #311 №628466 
>>628454
>Где больше денег?
В фулстеке очевидно, будучи архитектором можно зарабатывать очень много.
Аноним 18/01/16 Пнд 20:32:25 #312 №628483 
>>628465
Ох лол, так робоВМ дает возможность сразу клепать и на ведро и иос?
Аноним 18/01/16 Пнд 21:29:18 #313 №628534 
>>628434
Еще одно хипстерское говно без задач. Не будет по нему столько материалов как есть по разработке для ведра на джаве, когда на любой тупой вопрос дает ответ первая ссылка в гугле. "Вместо function можно писать fun, оставшееся время которое Вы бы потратили на дописывание ction можно затратить на зазубривание всего говна, которое мы запихнули в наш язык, вроде объявления переменной 15 разными способами!"
Аноним 18/01/16 Пнд 21:34:19 #314 №628540 
>>628534
Ну тут хуй знает на самом деле, я вот хотел бы увидеть как котлин в жабу компилится.
Просто если оно взаимозаменяемо то похуй. На котлине и вправду может быть удобнее писать.
Аноним 18/01/16 Пнд 22:27:33 #315 №628581 
>>628547
Еблантий, какие тебе нужны материалы по Котлину как на джаве, если он использует жаба-инфраструктуру? Описание языка -на оффсайте, вопросы по ведру - в гугле.
Аноним 18/01/16 Пнд 22:44:24 #316 №628593 
>>628581
>жаба-инфраструктуру
жаба-инфраструктуру и кодовую базу, fixed
Аноним 19/01/16 Втр 00:18:53 #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
Ты прав мой юный друг
Аноним 19/01/16 Втр 00:41:22 #318 №628755 
14531532823820.png
>>628534
Вот он >>628581 прав - kotlin это только язык, он использует стандартные классы Java/Android API

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

Пример на картинке:
В IDEA можно посмотреть представление любого Kotlin класса в байт коде.
Тут видно, что для пропертей генерятся get/set и что все методы/классы по умолчанию final.
Аноним 19/01/16 Втр 01:05:41 #319 №628780 
>>628721
>если бы в Microsoft не отказались от проекта Astoria, можно было бы запускать и на WP
Кстати провожу исследование "можно ли портировать часть Android API на обычную Java".
Это нужно чтобы запускать Android приложения на WP10 (вместо проекта Astoria)
и просто на Window/OS X/Linux без эмуляторов (к примеру для отладки).

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

P.S.
Я знаю что у Google есть расширение к хрому которое примерно это же делает.
Аноним 19/01/16 Втр 01:11:20 #320 №628785 
>>628755
Та понял что в байткод, но как в джаву превратить этот код?
Разработка не байткодом ведется же, а на джаве спецов больше чем на котлине.

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


Аноним 19/01/16 Втр 01:26:36 #321 №628791 
>>628785
>Та понял что в байткод, но как в джаву превратить этот код?
Никак, зачем это?

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

>Continuous Integration
>Чой-то такое?
Мда, приехали https://ru.wikipedia.org/wiki/Непрерывная_интеграция
Аноним 19/01/16 Втр 02:20:29 #322 №628827 
Есть аноны которые пишут в Xamarin? Т.к студентота взял на dreamspark подписку на год. Есть желание выучить c#. Хочется совместить обучение с практикой создания мини-прог для ведра. Шилдт подойдет?
Аноним 19/01/16 Втр 02:33:02 #323 №628837 
>>628827
>Есть аноны которые пишут в Xamarin?
Да и мой тебе совет - начни с чего-нибудь одного (либо писать под ведро либо изучать C#)

>Есть желание выучить c#
>Шилдт подойдет?
нашел где спрашивать, с такими общими вопросами тебе в c# тред
Аноним 19/01/16 Втр 02:43:45 #324 №628844 
>>628837
Хотелось бы совместить приятное с полезным.
Аноним 19/01/16 Втр 08:20:31 #325 №628927 
>>628434
> перегрузку операторов (+,- и тд)
Говно
> в нем НЕТ checked исключений.
Залупа
Аноним 19/01/16 Втр 08:21:35 #326 №628928 
>>628755
Бля, этот синтаксис. Будто во времена флеша вернулся.
Аноним 19/01/16 Втр 09:55:03 #327 №628959 
>>628791
Ну охуеть, нахуй мне твоя википедия? Я сам не мог ее найти?
Это типа у них свой градл?
Аноним 19/01/16 Втр 09:56:19 #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 (хотя и появился на пару лет посже)
Аноним 19/01/16 Втр 09:56:26 #329 №628961 
>>628791
>Никак, зачем это?
Затем что твой код могут захотеть перепилить, и на тебе, нужно искать котлин разработчика, которых нету.
Аноним 19/01/16 Втр 10:02:27 #330 №628964 
>>628960
>1) Складывать два BigDecimal через +, а не через метод add()
>3) Сравнивать через a > b (a < b, a <= b и тд) любые объекты с методом compareTo()
Да похуй как-то.


>2) Добавлять оператор [] к спискам, сеттам, словарям (а не только как в Java в массивах)
и вызывать не только по int, но вообще почему угодно (к примеру Sting)
Выглядит как пиздец.
Аноним 19/01/16 Втр 10:05:26 #331 №628967 
>>628959
>Это типа у них свой град?
Это типа концепция, когда на удаленном сервере (типа Jenkins/Hudson/Team City),
при каждом коммите в репозиторий:
1) Автоматически собирается новый била (у него прославляется версия)
2) Запускаются юнит-тесты
3) Всем заинтересованным людям на почту рассылаются отчеты о сборке/тестах
4) Если предыдущие пункты успешны, то тестировщикам рассылаются готовые билды

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

Через gradle, maven, ant, msbuild - абсолютно пофиг (хоть через bash скрипт)

>>628961
Ну так не ищи, пиши на Java
Аноним 19/01/16 Втр 10:18:59 #332 №628969 
>>628967
Понял, спасибо.

>Ну так не ищи, пиши на Java
А перепиливать существующие классы как, я тебя спрашиваю?
А так хуй знает, я бы переехал на котлин, но как минимум у нас его редко юзают. Хотя за бугром может и чаще, все топ либы имеют примеры на котлине.
Аноним 19/01/16 Втр 10:43:37 #333 №628983 
>>628960
Все "фичи" намекают на то что эта параша создавалася для js-макак, чтоб они слезли с дерева и начали уже пилить хоть что то полезное без необходимости переучиваться на нормальный яп. Не зря еще трансляция в жс присутствует.
Аноним 19/01/16 Втр 10:53:40 #334 №628985 
>>628964
>>628983
Бедный дети, не видевшие ни одного языка кроме Java.

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

Кстати перегрузка == очень полезна, с нем к примеру можно
сравнивать две строки по содержанию (без intern() изврата)

Во многих JMV языках (scala, groovy, clojure) есть перегрузка операторов.
Да и не только https://en.wikipedia.org/wiki/Operator_overloading#Catalog
Блин даже в iOS Swift она есть.

P.S.
Я просто прусь с вас - им предлагают язык 2011 года, нет они хотя 1994.
Аноним 19/01/16 Втр 11:17:46 #335 №628998 
>>628985
> Перегрузка операторов - это способ сделать код короче и более читаемым.
Слишком сложно для индусов же.

"Всего, чего нет в жабе, автоматически объявляется хуитой, как только это появляется в жабе, это автоматически становится нехуитой. При этом, требуется сделать вид, что хуитой это называл кто-то другой." (c)
Аноним 19/01/16 Втр 11:42:25 #336 №629019 
>>628985
>им предлагают жрать говно, это модно и полезно
>не жрут

>>628998
Тут тред про ведроид. Зачем тащить в ведро функциональщину и перегружаемые операторы, если миллиарды приложений и игр успешно сделаны без этого?
Kotlin (часть 2) Аноним 19/01/16 Втр 11:53:04 #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
Аноним 19/01/16 Втр 11:55:23 #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/01/16 Втр 12:04:44 #339 №629035 
>>629019
>Тут тред про ведроид. Зачем тащить в ведро функциональщину ...
Что я понял за почти пять лет разработки под Android:
1) Бесполезно сражаться с будущем
Kotlin объективно удобнее и на него все перейдут, ты можеш сделать это чуть раньше.

Альтернативы пока нет:
• C#, Scala, HTML5 - слишком тяжелые для Android
• (слухи) У Google пока только в планах перейти на OpenJDK для поддержки Java 8

2) Чем меньше напишешь кода сегодня, тем меньше его переписывать (читать) завтра
Kotlin позволяет писать короткие и понятные программы.
Может быть тебе это не нужно, ты написал и забыл, но крупные мобильные проекты поддерживаются годами.
Аноним 19/01/16 Втр 12:30:49 #340 №629045 
>>629019
Зачем вообще создали жяву, если миллионы приложений на C++ и без того нормально работали? Зачем вообще создавался C++, если сотни тысяч приложений на си, фортране и коболе нормально работали? Зачем вообще всё это говно создавали, когда программы на вм Бэббиджа нормально работали?
Аноним 19/01/16 Втр 13:07:31 #341 №629073 
>>629045
Затем что крестопараша для петухов.

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

2) Программы получаются короткие, но нихуя не понятные. a + b - b - a -> foo(bar() <- hui : pizda) = c, и сиди разбирай чего добивался этим высером хипстер, работавший до тебя.
Аноним 19/01/16 Втр 13:37:04 #342 №629096 
>>629073
>a + b - b - a -> foo(bar() <- hui : pizda) = c
вот тут ты обосрался, трольченок, нет такого синтаксиса в Kotlin
Аноним 19/01/16 Втр 13:45:28 #343 №629102 
Знаешь, /зк, по-моему, я схожу с ума...
Дело в том, что иногда по ночам мне кажется, что я яваблядь. Мне хочется выделять память, зарабатывать на доширак, пиздеть про энтерпрайз, сваливать свои проблемы на чужие плечи и писать нечитаемый бессмысленный говнокод.
Я ворочаюсь, страдаю, рычу, а под конец вскакиваю с кровати и хватаю первое, что попалось под руку.
Это может быть тапок, топор или простая поварешка, но в моем воображении она становится огромным прожорливым интерпретатором.
С этим интерпретатором я открываю корпус сервера, ставлю ещё две планки оперативной памяти и с громким боевым кличем выбегаю на улицу. Я бегаю под окнами своих соседей и ору: "Ява не тормозит, тупые нищебляди!! Купите нормальное железо!!"
Но они не покупают... Они привыкли.
И когда я уставший, но довольный, поднимаюсь в квартиру, наоравшись и набегавшись, одна из дверей открывается. Там, лукаво сверкая глазенками, стоит маленький соседский мальчик Женька. Он громко шепчет беззыбым ртом "Клоссплатфолменность!" и ободряюще мигает мне одним глазом.
Я, улыбаясь ему, прохожу мимо, и в душе моей поют заказчики.
А дома я открываю бутылку водки, морщась, выпиваю ее до половины, и ловлю кота. Ругая этого "сраного волосатого индуса", я сажаю его за клавиатуру, и чтобы он не убежал, приматываю его к ней скотчем.
А дальше все просто.
Я стою у окна, пуская скупую быдлокодерскую слезу по своей прыщавой щеке , и мечтаю. Я представляю, что огни домов -- это пламя костров, на которых сжигают крестопидоров, шум машин -- это рев кулеров в серверных, а в мире нет ничего, кроме великого энтерпрайза и нас, яваблядей...
И я жду, что вдруг, вот сейчас, в мою дверь войдет начальник и скажет: "Эй, раб, ты чо так так долго? Давай, быстро дописывай исходник. Похуй, если будет тормозить - разберутся те, кто будет сопровождать! ГА-га-га-га!" И ободряюще хлопнет меня по спине.
И тогда не будет в мире счастливее человека, чем я... Точнее, явабляди.
Что же мне делать, анон? Что же мне делать?
Аноним 19/01/16 Втр 14:19:40 #344 №629130 
>>629102
>Что же мне делать?
Переходить на котлин.
Аноним 19/01/16 Втр 15:00:29 #345 №629146 
>>628960
> Перегрузка операторов в Kotlin к примеру позволяет
С++ один из моих нелюбимых языков. Одна из основных причин - наличие этой самой перегрузки операторов. С этой хуитой логичность и интуитивность кода резко снижается, появляется необходимость изучения того, что делают эти операторы, а это порой пиздец как не логично.
Это высокая цена за сомнительное удобство. Всего лишь сокращение когда в ширину, не более.
Аноним 19/01/16 Втр 15:06:59 #346 №629148 
>>629146
Ты туповатый просто. Почитай про концепцию программирования через интерфейс, тогда поймешь, зачем это надо.
Аноним 19/01/16 Втр 15:10:12 #347 №629149 
>>629148
> Ты туповатый просто.
Нормально так на личности перешёл.
Аноним 19/01/16 Втр 15:13:10 #348 №629153 
>>629146
Я так понимаю Clojure, Scala, Groovy, Ceylon, C#, Python, Ruby тебе по тойже причине не нравятся?

В Kotlin очень не большой список операций и они в общем очевидны.
Да и в отличие от тоже же Scala или Clojure - нельзя создавать новые.
Аноним 19/01/16 Втр 15:13:23 #349 №629154 
>>629146>
Ну да, лучше сравнивать сроки через .equals, конечно
Аноним 19/01/16 Втр 15:14:35 #350 №629155 
>>629153
> Я так понимаю Clojure, Scala, Groovy, Ceylon, C#, Python, Ruby тебе по тойже причине не нравятся?
Я на них никогда не писал, так что не знаю. Но если там такое есть - то, пожалуй, да.
Аноним 19/01/16 Втр 15:16:03 #351 №629156 
>>629154
Не вижу в этом ничего особо плохого. А вот то, что строка не может быть null - реально хуёво, судя по тому, что выше написали.
Аноним 19/01/16 Втр 15:21:21 #352 №629157 
>>629156
>А вот то, что строка не может быть null - реально хуёво
Может если ты поставишь ей тип String?, а не просто String
(но тогда тебе придется расхлебывать случаи NPE самому)

В той же Java 8 ввели тип Optional<T> для разруливания таких ситуаций,
но только для его использования нужно туже строку постоянно заварачивать/разварачивать в/из него.
Аноним 19/01/16 Втр 15:30:11 #353 №629163 
>>629146
Ну поясни, что именно такого непонятного, неосилятор. В плюсах можно перегружать ограниченное кол-во операторов, в отличие от той же скалы и прочих, позволяющих создавать свои.

Вот есть у тебя класс, с перегруженными операторами сравнения. Как от этого испортится понимательность кода? Не даст тебе, ваську, отделить примитив от объекта?
Java vs Kotlin Аноним 19/01/16 Втр 15:36:40 #354 №629166 
14532070004800.png
14532070004811.png
На картинках один и тот же класс на Java и Kotlin.

Плюс (благодаря аннотации data) у класса на Kotlin автоматически сгенерированы методы
toString(), equals(), hashCode() (и еще парочка ускоспециальных)
Аноним 19/01/16 Втр 15:37:38 #355 №629167 
>>629163
Непонятно, что >/< это compareTo. А может и вовсе нет. Тогда как название метода точно отражает суть операции. Так что да, приписывать структурам данных операции с примитивами - хуёво.
Аноним 19/01/16 Втр 15:44:58 #356 №629174 
>>629167
Ты понимаешь что проблему из пальца высасываешь?
В той-же IDEA ты можешь навести курсор на оператор и тебе откроется его метод.

Блин как сложно объяснять это тем кто не видел ничего кроме Java.
В той же Scala все пиздец как сложнее из-за implicit (а ты даже не знаешь что это).
Аноним 19/01/16 Втр 15:46:42 #357 №629175 
>>629167
Суть в том, что сравнивать объекты по значению без перегруженных операторов тебе не позволит ни один язык ну в сишечке такие как ты любят сравнивать адреса указателей :)).
Если у тебя код вида
Hui hui1, hui2;
..
if(hui1 > hui2)
Абсолютно очевидно что здеся должно происходить. Если не очевидно - ты не знаешь языка.
Аноним 19/01/16 Втр 15:50:04 #358 №629178 
Какой смысл спорить какой язык лучше? Если вакансий для Kotlinа нет. Не считая, в JetBrains и то, как придаток к Java.
Аноним 19/01/16 Втр 15:54:43 #359 №629180 
>>629174
> Блин как сложно объяснять это тем кто не видел ничего кроме Java.
Откуда ты знаешь, какие языки я видел и не видел?
Ну кроме моего ответа на тот список выше, что не достаточно для таких заявлений.
> (а ты даже не знаешь что это).
И это хорошо. Я не занимаюсь изучением новых языков просто "по фану", мне это неинтересно.
Аноним 19/01/16 Втр 16:04:08 #360 №629186 
>>629178
Выучить больше одного языка это непосильная задача для анонимуса?
(я неспешно выучил за пару дней, просто смотря youtube)

Плюс как в iOS ты можешь миксовать Object-C + Swift, так и Android
ты можешь смешивать Java + Kotlin (он для того и разрабатывается что бы медленно
переводить большие проекты на современный язык, а не переписывать их с нуля)

>>629180
>Откуда ты знаешь, какие языки я видел и не видел?
Ну по крайне мере я там перечислил почти все JVM языки + популярные сейчас в IT

>Я не занимаюсь изучением новых языков просто "по фану", мне это неинтересно
Странно я думал программисты любят узнавать новое, расширять кругозор (по крайней мере молодые).
И вот зря, из других языков можно черпать интересные концепции / подходы / целые паттерны.
Аноним 19/01/16 Втр 16:06:43 #361 №629187 
>>628985
Имелось ввиду что это нововведение не дает нихуя.
Ну правда я думаю в котлине есть что-то лучше чем перегрузка операторов. Обычный синтаксический сахар, да и не самый полезный.
Аноним 19/01/16 Втр 16:07:50 #362 №629188 
>>629025
>Все типы могут быть в двух состояниях: nullable >и not-nullable
>var a: String = ""
>a = null // НЕ скомпилируется
>a.toString() // скомпилируется
А как мне дать понять что объект мне больше не нужен?
Аноним 19/01/16 Втр 16:10:45 #363 №629191 
>>629186
> Ну по крайне мере я там перечислил почти все JVM языки + популярные сейчас в IT
Далеко не все, не надо так. К тому же область применения этих языков слишком разная, андроид-программисту питон нахуй не нужен, например.
> Странно я думал программисты любят узнавать новое, расширять кругозор (по крайней мере молодые).
Я как-то вырос из этих игр. Язык изучается по необходимости. До тех пор я сосредоточен на задаче, а это всегда интереснее.
Аноним 19/01/16 Втр 16:12:13 #364 №629195 
>>629166
Чой-то на котлине нету выбора геттер или сеттер делать?
А вообще стандартная генерация этой хуйни. Опять не сильно нужный синтаксический сахар.
Лучше бы на стримы и лямбды из коробки давил.
Аноним 19/01/16 Втр 16:14:56 #365 №629196 
Прошел собеседование
@
Берут на работу
@
Пишешь на котлине вместо джавы
@
На первом код ревью дают в морду и выкидывают на мороз
Аноним 19/01/16 Втр 16:18:23 #366 №629198 
>>629188
>>629187
>>629195
Ебать ты дефектное.
>Я как-то вырос из этих игр. Язык изучается по необходимости. До тех пор я сосредоточен на задаче, а это всегда интереснее.
Так и скажи:
а) я джявист в синей рубашке, кроме жявы ничо не знаю;
б) я нюфаг с ловкими маняврированиями.
Аноним 19/01/16 Втр 16:25:51 #367 №629207 
>>629198
Я другой анон. И первый вопрос меня действительно интересует.
>А как мне дать понять что объект мне больше не нужен?
Вот даже повторил тебе уебану.
Сделал я глобальную переменную, тот же битмап. Но вот он мне не нужен. Каким хуем я обнуляю ссылку на него?

Я даже за котлин, много синтаскического сахара и намного лучше чем апач хармони который хуже обычной джавы.
Но ты отбиваешь все желание своим петушьим поведением.
Аноним 19/01/16 Втр 16:28:40 #368 №629211 
>>629207
https://kotlinlang.org/docs/reference/null-safety.html
Как можно хотеть помогать челику, который не в состоянии открыть гугл? Уёбывай отсюдова.
Аноним 19/01/16 Втр 16:28:55 #369 №629212 
>>629187
>Обычный синтаксический сахар
Вот это точно не СХ:
• концепция not-nullable типов
• immutable объекты и колекций
• мощный type inference (в Java тоже над этим работают, в 8 гораздо лучше стало)
Аноним 19/01/16 Втр 16:30:43 #370 №629215 
>>629188
>А как мне дать понять что объект мне больше не нужен
А зачем? Может ты не в курсе но в Java есть Garbage Collector.
GC и так его очистит когда он больше ненужен будет.

Только не говори что ты в Java переменные и филды зануляешь для экономии памяти.
(А если тебе это нужно делай их nullable var a: String? = null)
Аноним 19/01/16 Втр 16:35:27 #371 №629219 
>>629198
> Так и скажи:
> а) я джявист в синей рубашке, кроме жявы ничо не знаю;
> б) я нюфаг с ловкими маняврированиями.
Почему меня цитируешь, а ссылки не на мои посты?
Я тебе уже всё сказал. А иметь разговор с человеком, который первым делом переходит на личности и додумывает за собеседника, мне совершенно неинтересно. Всего хорошего.
Аноним 19/01/16 Втр 16:35:45 #372 №629220 
>>629207
>>629215
Ты не забыл что это анонимный форум, тут сразу насколько анонов отвечат.

>Сделал я глобальную переменную, тот же битмап.
Я не ругаюсь, но начнем с того, а зачем ты сделал его глобальной переменной
(не очень реалистичный пример)

Неизменямыми объектами нужно делать то что тебе нужно на протяжение всей работы
(в этом их смысл) и ты не хочешь словить NPE

Повторюсь сделай его тогда изменяемым:
MyGlobalBitmap: Bitmap? = null
Аноним 19/01/16 Втр 16:40:31 #373 №629222 
>>629211
Сказал А говори и Б.
Так блять с таким успехом ты мог просто дать ссылку на доку не? Нахуй вбросы кусков кода вообще? Все в доке же.
>>629220
>Я не ругаюсь, но начнем с того, а зачем ты сделал его глобальной переменной
>(не очень реалистичный пример)
Ой да ладно.
У меня идет генерация на карту двух картинок на которых я рисую.
Т.е. я подтягиваю два битмапа шаблона в хендлер, и с них уже делаю битмапы для рисовки. И да это быстрее чем тянуть иммутейбл битмап с диска а потом делать его мутейбл.


Да уже в доке прочитал про изменяемый.
Аноним 19/01/16 Втр 16:47:27 #374 №629225 
>>629215
>А зачем? Может ты не в курсе но в Java есть Garbage Collector.
>GC и так его очистит когда он больше ненужен будет.
А в котлине гарбадж коллектор читает мои мысли?
>Только не говори что ты в Java переменные и филды зануляешь для экономии памяти.
С битмапом это довольно важная хуйня.
Да и это нормальная практика для сложных обжектов. Те же адаптеры с фрагментами. Но кому я блять объясняю.
[kotlin@user] Аноним 19/01/16 Втр 16:48:42 #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
Аноним 19/01/16 Втр 16:53:04 #376 №629230 
>>629222
>Так блять с таким успехом ты мог просто дать ссылку на доку не? Нахуй вбросы кусков кода вообще? Все в доке же.
А нахуй вообще что-то самому делать? Может мне за тебя подрочить и зубы тебе почистить?
[kotlin@user] Аноним 19/01/16 Втр 16:53:05 #377 №629231 
>>629226
Нормальная практика это использовать LruCache, а не хранить в стических полях Bitmap
Аноним 19/01/16 Втр 16:53:48 #378 №629232 
>>kotlin@user
Оч смешно, моча.
Аноним 19/01/16 Втр 16:54:13 #379 №629233 
>>kotlin@user
Оч смешно, моча.
Аноним 19/01/16 Втр 16:54:34 #380 №629234 
>>kotlin@user
Оч смешно, моча.
Аноним 19/01/16 Втр 16:54:56 #381 №629236 
>>629231
В каких статических ебанат? Обычные глоабльные поля в холдере.
Аноним 19/01/16 Втр 16:55:05 #382 №629237 
Извеняюсь за спам pidori :3, интернет лагнул.
Аноним 19/01/16 Втр 16:55:18 #383 №629238 
>>629230
Можешь и подрочить.
[kotlin@user] Аноним 19/01/16 Втр 17:03:30 #384 №629241 
>>629236
> Обычные глоабльные поля
что ты несешь?
Аноним 19/01/16 Втр 17:06:30 #385 №629242 
Сосаны, я так понял что бы получить внешний IP адрес девайса нужно обязательно спросить какой-то сайт, типа www.whatismyip.com . А то вроде попробовал почти все решения, а они выдают что-то уровня 192.168.1.104 или 10.0.1.2
Аноним 19/01/16 Втр 17:06:53 #386 №629243 
Тут приложения на андроид кто-нибудь делает? Или только на kotlinе кодите?
Аноним 19/01/16 Втр 17:08:46 #387 №629244 
>>629242
15 секунд в гугле.
http://stackoverflow.com/questions/6064510/how-to-get-ip-address-of-the-device
Аноним 19/01/16 Втр 17:10:29 #388 №629245 
>>629242
наверное только так

>>629244
На врядли так можно получить ip адресс за роутером
Аноним 19/01/16 Втр 17:11:20 #389 №629246 
>>629241
Не слышал про глобальные поля? Вообще ебанулись чтоль?
Аноним 19/01/16 Втр 17:16:10 #390 №629248 
14532129705820.png
>>629246
жирный, угомонись уже
Аноним 19/01/16 Втр 17:16:21 #391 №629249 
>>629244
Вот ты хоть прочитал? Я же написал что попробовал все хорошее, это отдаст 192.168.1.104 в сети с роутером.
Аноним 19/01/16 Втр 17:16:48 #392 №629250 
>>629243
Что вы так на котлин кинулись? Все тут пишут на джаве, 1 человек на котлине и 1 на ксамарине.
Аноним 19/01/16 Втр 17:19:17 #393 №629252 
>>629248
Доебался, так доебался. Но даже так, никто не говорил про статики которые ты себе придумал.
Аноним 19/01/16 Втр 17:19:53 #394 №629253 
>>629243
>>629250
Так котлинопидор всех доебал просто.
А так котлин норм мне кажется.
Аноним 19/01/16 Втр 17:22:25 #395 №629256 
https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D1%82%D0%BB%D0%B8%D0%BD
Аноним 19/01/16 Втр 17:23:18 #396 №629259 
>>629256
Еще яву покажи.
[kotlin@user] Аноним 19/01/16 Втр 17:37:53 #397 №629270 
>>629253
Ну и на том спасибо :)
Аноним 19/01/16 Втр 17:45:48 #398 №629275 
>>629270
Та толку если на нем работы нету. Перекатится в котлин = лишить себя работы и писать неподдерживаемый другими код.
Аноним 19/01/16 Втр 17:58:17 #399 №629292 
>>619948
Это невозможно
Аноним 19/01/16 Втр 18:22:11 #400 №629315 
>>619948
С зоны капчуешь?
Аноним 19/01/16 Втр 18:50:25 #401 №629331 
>>619370 (OP)
Может стоит запилить аналог?

https://atlas.mindmup.com/2015/10/3d59a040592a0133d02a5d31ebcc5420/java/index.html

Kotlin лямбды и стримы kotlin@user 19/01/16 Втр 19:10:30 #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/01/16 Втр 19:31:34 #403 №629373 
>>629331
Так толку?
По-факту из ваябл только ксамарин и 4 технологии на джаваскрипте.
РобоВм на хуйдой конец.
Котлин как бы вообще язык и к технологиям выще не относится и юзает стандарт сдк.
Все.
Аноним 19/01/16 Втр 19:31:52 #404 №629374 
>>629373
>выше.
Аноним 19/01/16 Втр 19:33:37 #405 №629377 
>>629331
А ну и база даных либо SQLite либо Реалм.ио.

А вообще можно делать подобное дерево по всяким либам.
Типа ормки или многопоточка. Но тут мне опыта не хватит запилить нормальный обзор. Та и мало у кого вообще хватит. В основном пересказываем статьи и тд.
Аноним 19/01/16 Втр 20:07:06 #406 №629415 
Есть ли какие-нибудь гайды для дебилов по написанию j2me змейки?
Аноним 19/01/16 Втр 20:10:05 #407 №629419 
>>629377
Аноним 19/01/16 Втр 20:16:33 #408 №629435 
>>629377
Почему в богомерзком Xamarin есть EntityFramework 7 и я могу с sqlite работать как с обычной колекцией в памяти.

А в Android только сырой SQL, либо сраные билдеры запросов (realm.io, ormlite)?

Почему нет такой либы что я мог (как стримы):

db.filter(s -> s.age > 18).sortBy(s -> s.name).take(10)

У меня бомбит в итоге сам подобное написал
Аноним 19/01/16 Втр 20:21:16 #409 №629444 
>>629435
Берешь cupboard либо любую орм и не ебешь нам мозги.
ЕнтитиФреймворк как раз орм может и нет но это надстройка уровня орм
>realm.io
Вообще база на плюсах и отдельный разговор.
>ormlite
Вот уже ближе.

Я хуй знает чем тебе орм не понравился, впадлу прописать строчку которая отдаст коллекцию обжектов?
Аноним 19/01/16 Втр 20:27:26 #410 №629452 
>>629373
Ну не скажи.
Удобно, готовишься такой с собеседования, открываешь эту майнд-мап и идешь по каждой ветке, по каждому названию, если понимаешь что сможешь минуть 20-30 рассказывать про эту тему взахлеб, значит наверно знаешь про что речь.
Аноним 19/01/16 Втр 20:34:52 #411 №629459 
>>629452
Я считаю, надо. Кстати что за ресурс чтобы эти майндмапы
Я вот тут по памяти накидал, но что-то маловато думаю.
https://atlas.mindmup.com/2016/01/94f97b50a1000133787e49e1d84f8256/android/index.html
Аноним 19/01/16 Втр 20:35:11 #412 №629461 
>>629415
Как там, в 2005?
Аноним 19/01/16 Втр 20:36:19 #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 занимается :)
Аноним 19/01/16 Втр 20:44:56 #414 №629486 
>>629461
Мне это всё чисто для галочки нужно, так что никак, лол.
Аноним 19/01/16 Втр 21:41:29 #415 №629543 
>>629464
>realm.
Так это уже трабла риалма а не всего остального.
На cupboard выборка более стандартная вроде.
Но там не будет как на шарпах, так как джава этого не позволяет пока.
>в Kotlin
Куда ты котлин еще припаял? Я уже не понимаю что ты хочешь.
>В EnityFramework7 это будет:
Это лямбдой будет. С переопределенными операторами. Удобство уровня я ебу.


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

>чем мучится с sqlite схемой
Мучится? Сириусли? Орм ему не нравится, со стандартной работой sqlite ему мучатся. Может ведро не твое тогда?
Ладно еще соглашусь что описывать все без орм реально долго, особенно с контент провайдером. Но орм облегчает тебе жизнь, а то что ты пытаешься доебаться до джавы в которой мало синтаксического сахара приводя в пример язык блять 2013 или когда там котлин релизнули года и шарпы которые в принципе моложе и главное не имеют обратной совместимости.

Спасибо за внимание иди нахуй.

Аноним 19/01/16 Втр 21:44:23 #416 №629544 
>>629452
Если ты про технологии на каких писать можно то тут фейл, ты вменяемого ничего не напишешь без нормальной практики.

>>629459
С либами лучше, но тут хуйово, у тебя джексон на равне со сборщиком-градлом, это не либа блять.
Аноним 19/01/16 Втр 23:38:05 #417 №629626 
Наткнулся на апликуху, которая в определенных апликухах добавляет свой маленькую кнопочку. Попросту поверх активити апликухи.
Я даже никогда не слышал про подобное.
Подскажите в какую сторону смотреть?
The Busy Coder’s Guide to Android Development Аноним 20/01/16 Срд 00:31:19 #418 №629657 
Сап, андроны. Полистал я эту вашу The Busy Coder’s Guide to Android Development, годнота годнот. Но в интернетах одно старье, хотя автор уже запилил 7-ую версию с SDK6.

Сходил я на https://commonsware.com/warescription, годовая подписька (включает все обновления) стоит СОРОК ПЯТЬ БАКИНСКИХ, что в новых реалиях слишком дохуя. В связи с чем предлагаю скинуться. Заявки принимаются неделю (до 27.01) по адресу: [email protected]. Указывайте потолок, который готовы выложить (лично я готов потратить $5-7 из своих $19 стипухи). Если есть знакомые ведродевелопы -- зовите.

Все принявшие участие будут получать обновления как только они будут выходить (или пока какой-нибудь крысакун не скинет книжку в сеть и нашу подпиську аннулируют -- лицензии у книжки именные.)
Аноним 20/01/16 Срд 01:36:25 #419 №629725 
14532429852160.jpg
>>619370 (OP)
Аноны, пилю клавиатуру без активити. Нужно, чтобы при клике на Key он менял изображение. Нихуя не пойму в http://developer.android.com/intl/ru/reference/android/inputmethodservice/Keyboard.Key.html Помогите разобраться.
Аноним 20/01/16 Срд 04:38:09 #420 №629786 
Я пока ньюфаг и тут у меня мысль проскочила. Вот я учу:
1. Java Core
2. Собственно конкретно разработку под андроид
3. SQL
Неужели на этом все? Ну то есть обычно в большинстве ЯП для работы надо знать пачку фреймворков и сопутствующих технологий. А что с андроидом, что еще надо знать в добавок к тому что я перечислил, что бы быть нормальным разработчиком?
Аноним 20/01/16 Срд 04:44:51 #421 №629787 
>>629786
Клиент-сервер, JNI, etc. Зависит от того, чем ты будешь заниматься.
Фреймворков действительно толком никаких нет, а те, что есть - уже совсем далеко от джавы (типа хамарина).
Аноним 20/01/16 Срд 07:16:35 #422 №629835 
Анон, меня тут осенило получается NDK через JNI работает?
Аноним 20/01/16 Срд 07:32:50 #423 №629840 
>>629835
Внезапно. Не совсем.
Аноним 20/01/16 Срд 09:49:10 #424 №629893 
>>629786
Уверяю не все так просто. Тулить говнокод ты сможешь, но в ведре проблема с постоянной обновой сдк и постройкой ровной архитектуры. А это внезапно самое сложное.
Аноним 20/01/16 Срд 09:49:49 #425 №629895 
>>629626
Бамп.
Аноним 20/01/16 Срд 10:44:09 #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)
Аноним 20/01/16 Срд 10:48:39 #427 №629913 
>>629786
Ну можешь еще подкачать RxJava, Retrofit, Protobuf
(ну и конечно Kotlin - с ним ты откроешь новый чудный мир)

А так-же все по юнит тестам, типа Mockito, NUint4
Аноним 20/01/16 Срд 11:02:05 #428 №629920 
>>629910
Спасибо большое, попробую
Аноним 20/01/16 Срд 11:05:21 #429 №629923 
>>629913
>Protobuf
Так и не понял зачем он нужен.

>юнит тестам, типа Mockito, NUint4
Ты их в проектах юзаешь? Приходится делать особенную архитектуру и тд? Читал что с тем же даггер2 лучше.

Алсо, поясни сколько у тебя опыта? Кой-то веки кажется в тред кто-то опытный залетел.
Аноним 20/01/16 Срд 12:08:08 #430 №629961 
>>629923
>Так и не понял зачем он нужен.
замена json/xml с высокой скорость кодирования

>Ты их в проектах юзаешь?
Да, тестами покрывать надо и Android приложения

>риходится делать особенную архитектуру и тд? Читал что с тем же даггер2 лучше.
По моему ты слегка запутался, Dagger2 это фреймворк для DI.
Ты можешь через него моки подставлять, но для их создания тебе как-раз нужен Mockito.
JUnit это вообще движок для написания тестов (перепутал слегка название с C# NUnit)

Вообще мне эти dagger2 (roboguice) уже надоели, сейчас у меня период
ручного подставления зависимостей в конструктор.

--- несколько лет в Android разработки
Аноним 20/01/16 Срд 12:15:18 #431 №629963 
>>619370 (OP)
Есть здесь хипстеры, тргавшие react native под Android?
Аноним 20/01/16 Срд 12:17:07 #432 №629964 
>>629543
> Куда ты котлин еще припаял?
Потому-что всю Java-хуйню как-раз исправляет Kotlin.
Но даже с ним как-то лучше не становиться в плане удобства работы с базой.

>Может ведро не твое тогда?
Четыре года опыта на android, чуть меньше в ios, wp, xamarin, robovm - все время ищу ИДЕАЛ для удобства разработки.

>Ладно еще соглашусь что описывать все без орм реально долго
Ну хоть в чем-то мы согласны. Наверное и тебе через пару лет надоест каждый раз
писать однотипный код, когда есть отличное API (лямбды/Stream) для работы с коллекциями.
Аноним 20/01/16 Срд 12:17:50 #433 №629966 
>>625711
> За что вы так ненавидите Xamarin
Платная хуйня + сайту видно, что они в первую очередь хотят впарить свой продукт менеджерам, а не разработчикам.
Аноним 20/01/16 Срд 12:37:02 #434 №629980 
>>629964
>Ну хоть в чем-то мы согласны. Наверное и тебе через пару лет надоест каждый раз
писать однотипный код, когда есть отличное API (лямбды/Stream) для работы с коллекциями.
Вполне может быть. Но меня больше беспокоит дырявость самого ведра. Говно лезет практически отовсюду, новая версия ведра = новые саппорт либы = новые баги. Сидишь просто дрочишь стековерлоф 24/7 вместо того чтоб код учится писать.
Аноним 20/01/16 Срд 12:38:16 #435 №629983 
>>629964
Ну и еще добавлю что в скорейшем времени нам таки дадут и лямбды без костылей типа ретролямбда и стримы.
Аноним 20/01/16 Срд 12:45:12 #436 №629986 
>>629961
>замена json/xml с высокой скорость кодирования
Понял спасибо, правда не особо пока юзабилити понимаю. Но почитаю на досуге.

>Да, тестами покрывать надо и Android приложения
Только рад бы, правда еще не умею, так как не приходилось делать/ та и в шею гонят постоянно. Алсо, если можешь поделится каким материалом по сабжу будем рады, пора шапку обновлять уже знаниями поглубже.
>По моему ты слегка запутался, Dagger2 это фреймворк для DI.
Ну так разве DI не требует особой архитектуры?
>JUnit
Ага стандартный джавовский.

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

---- меньше года в разработке.
Аноним 20/01/16 Срд 12:47:27 #437 №629990 
>>629964
>Четыре года опыта на android, чуть меньше в ios, wp, xamarin, robovm - все время ищу ИДЕАЛ для удобства разработки.
Мне стойко промывают мозги что иос попросту лучше для самого разработчика чем ведро?
Так ли это как думаешь? Все кричат что разработка быстрее, меньше багов и подводных камней. Сам не пробовал так как ни мака ни гейфона, а ебенить через виртуалки не хочу.
Аноним 20/01/16 Срд 13:26:47 #438 №630003 
>>629990
Да, на иос легче. Там в разы меньше ебли с жизненными циклами. У меня друг полную хуйню говнокодит вплоть до описания сетевых запросов прямо во вьюконтроллерах. При этом нихуя не падает и все ок.
Аноним 20/01/16 Срд 13:56:31 #439 №630015 
>>629913
> Protobuf
Петушня.
Thrift/Avro/Hessian гораздо лучше.
Аноним 20/01/16 Срд 13:59:49 #440 №630019 
>>630003
>У меня друг полную хуйню говнокодит вплоть до описания сетевых запросов прямо во вьюконтроллерах.
Так с ретрофитом так и делают, в колбеках удобно с UI работать, враперы только мешают.

>Да, на иос легче.
А чего с концами не перекатился тогда?
Аноним 20/01/16 Срд 14:00:13 #441 №630022 
>>630015
В каких случаях это вообще может пригодится?
Аноним 20/01/16 Срд 14:00:27 #442 №630023 
>>629990
На иос меньше фрагментации, не нужно выяснять, почему твое приложение глючит на нонейм поделке от китайского Васяна стоимостью 1000р. И не нужно делать дизайн под миллиард разных разрешений экрана.
Аноним 20/01/16 Срд 14:02:49 #443 №630025 
>>630022
Когда большие объёмы данных по сети нужно передавать. Но что-то мне подсказывает, что для Android приложений это не актуально.
Аноним 20/01/16 Срд 14:33:00 #444 №630054 
>>630015
>Protobuf
>Thrift/Avro/Hessian гораздо лучше
сорт оф отличных фрейморков для серилизации

>>629990
По последней статистике (пруфы потерял) разработка на Android это +30% к времени на iOS
(с учетом тестирования и багфикса)
А вот по моим наблюдениям (пару лет назад) скорость разработки (в нативе) примерно одинаковая

С появлением Swift (наверно) разработка под iOS станет еще удобнее/быстрей.
И кстати Swift на 90% по синтаксису схож со Swift (те же var/val, non-nullable типы, лямбды,
перегрузка операторов, stream-подобный синтаксис работы с коллекциями т тд)
Аноним 20/01/16 Срд 14:37:32 #445 №630061 
>>630054
>И кстати Swift на 90% по синтаксису схож со Swift
И кстати Swift на 90% по синтаксису схож со Kotlin
Аноним 20/01/16 Срд 14:38:30 #446 №630064 
>>630054
>С появлением Swift (наверно) разработка под iOS станет еще удобнее/быстрей.
Да хуй знает, у меня пока написание кода занимает намного меньше времени чем дрочь с подводными камнями и проектирование моего говнокода.
Аноним 20/01/16 Срд 14:59:17 #447 №630077 
>>630061
Лолшто. Они похожи системой типов с ? и !.
Остальные фишки вроде паттерн матчинка и остального синтаксиса были в куче языков ещё 10 лет назад.
Аноним 20/01/16 Срд 15:00:33 #448 №630079 
>>630064
Дык оно всегда так было и будет. Для этого обычно сначала прототипируют всё на скриптопараше в процедурном стиле и используют всякий mindmaps.
Аноним 20/01/16 Срд 15:00:53 #449 №630080 
>>630079
>всякий
е*
Аноним 20/01/16 Срд 15:20:57 #450 №630091 
>>630077
Блин хотел написать, что они оба сперли синтаксис у других языков,
но мне почему-то показалось это очевидным.

Я кстати никогда не утверждал что они уникальны. Да и вообще все современные
строготипизированные и мультипарадигменный языки очень похожи.
Аноним 20/01/16 Срд 15:28:16 #451 №630095 
>>630091
Вообще, говорить что кто-то у кого-то что-то там спиздил - не очень политкорректно, лучше писать как написано на вики - "испытал влияние".
>Да и вообще все современные
строготипизированные и мультипарадигменный языки очень похожи.
Я тебе больше скажу - почти все языки вышедшие в один промежуток времени очень похожи на свои однонишевые аналоги.
Аноним 20/01/16 Срд 16:56:30 #452 №630170 
Есть вакансия для антона из Харькова (strong-junior/middle). Оставляйте свои контакты ответом на пост
Аноним 20/01/16 Срд 17:11:11 #453 №630195 
>>630170
Удаленка подойдет? Сам из киева.
Аноним 20/01/16 Срд 17:54:30 #454 №630236 
>>630195
nope
Аноним 20/01/16 Срд 17:58:35 #455 №630241 
>>630236
Ну и хуй с вами.
Аноним 20/01/16 Срд 19:31:16 #456 №630347 
Помогите, запутался в версиях Support Library. Прочитал на so, что v7 либа включает в себя v4, то есть если используешь v7, то v4 не надо подключать. Однако там же прочитал, что если используешь v4, то надо ставить minSDKversion - 4, а если используешь v7 support library, то надо ставить minSDKversion - 7.
Но если v7 включает в себя v4, то по логике же я могу ставить minSDKversion - 4? Или нет? Запутался уже.
Аноним 20/01/16 Срд 21:11:48 #457 №630411 
>>630347
Ты хуйню какую-то прочитал, семерка действительно включает четверку, но минсдк выставлять не надо.
Аноним 20/01/16 Срд 21:13:00 #458 №630414 
>>630411
Точнее надо, конечно, но такой, какой нужен тебе. Смысл в том, что если ты пользуешь фичи конкретно семерки, то то и минсдк должен быть больше либо равен 7. Сейчас вообще вроде бы почти все ставят 15. Фэйсбук точно.
Аноним 20/01/16 Срд 21:16:50 #459 №630418 
14533138108740.png
>>630347
>v4, v7
Ты ебанутый? Сейчас никто не ставит меньше 15, даже Android Studio (AS) при создание
нового проекта подставляет 15.

>v7 либа включает в себя v4
То что у v7 есть зависимость на v4 не значит что она может работать с API 4

>Но если v7 включает в себя v4, то по логике же я могу ставить minSDKversion - 4
Ну формально наверное можешь (если AS позволит), только тогда ты не должен
использовать никакой функционал из v7, а только v4
Аноним 20/01/16 Срд 21:34:23 #460 №630443 
>>630347
>minSDKversion - 4
Можешь ставить 16, на худой конец 14 и ничего не потеряешь.
Аноним 20/01/16 Срд 21:46:10 #461 №630470 
>>630414
>>630418
>>630443

Спасибо за ответы.

>Ты ебанутый? Сейчас никто не ставит меньше 15, даже Android Studio (AS) при создание
нового проекта подставляет 15.
Ну а если я пойду на работу и мне скажут пили проект с мин. апи7 или еще ниже. Я же не скажу им "вы че ебанутые? 15 поставлю и хватит", вот и разбираюсь в этих суппорт либах.
Аноним 20/01/16 Срд 21:55:57 #462 №630489 
14533161578260.png
>>630470
>устройств с API 7 меньше 0.1%
>мне скажут пили проект с мин. апи7

Сейчас нет настолько ебанутых компании.
Говорю по своему опыту, под API 7 мы разрабатывали года 2 назад.
http://developer.android.com/intl/ru/about/dashboards/index.html
Аноним 21/01/16 Чтв 17:20:33 #463 №631136 
Ребята, Java не знаю.
Из опыта только Си немного и всё.
Как правильно вкатится? Что читать по Java? Насколько глубоко в Java окунаться? Когда надо с изучения Java переключится на вникание в Android?
Аноним 21/01/16 Чтв 17:27:15 #464 №631141 
>>631136
сук, спроси что-нибудь по делу, а не свою раковую хуету
и шапку прочти.
Аноним 21/01/16 Чтв 17:30:38 #465 №631142 
>>631141
Ну из подходящего для меня лишь http://developer.alexanderklimov.ru/android/
, но подойдёт ли мне он с нулевым знанием Жабы и хватит ли той жабы что он даёт в своём кратком гайде по жабе?
Аноним 21/01/16 Чтв 18:27:25 #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.
Привет клиент-серверка.

Потом может еще допишу.


Аноним 21/01/16 Чтв 18:28:57 #467 №631182 
>>631142
Молодец, теперь иди отсюда учись.

Как появятся нормальные вопросы, возвращайся.
Аноним 21/01/16 Чтв 18:33:20 #468 №631193 
>>631180
> Типы данных. Примитивы и ссылочные.
Сюда же алгоритмы добавь. Чтобы в общих чертах понимать принцип работы LinkedList, HashMap, понимать разницу между HashMap и LinkedHashMap, сортировку, очереди, ну и так далее.
Аноним 21/01/16 Чтв 18:33:49 #469 №631195 
>>631180
10) (GOD TIER) Выучи язык Kotlin https://kotlinlang.org

Все его плюсы расписаны выше, а так же материалы для обучения.
Аноним 21/01/16 Чтв 18:35:10 #470 №631197 
>>631195
А работу ты мне давать будешь по котлину?
Аноним 21/01/16 Чтв 18:35:25 #471 №631198 
>>631195
Минус "он никому нахуй не нужен" полностью сводит на нет все его сомнительные плюсы. Не советуй больше этой хуиты, спасибо.
Аноним 21/01/16 Чтв 18:38:49 #472 №631203 
Какой лучший выбор - android studio или идея с ручным дрочингом xml?
Аноним 21/01/16 Чтв 18:39:20 #473 №631205 
>>631203
Eclipse
Аноним 21/01/16 Чтв 18:43:02 #474 №631209 
>>631195
А вакансий на эту парашу столько же сколько на haskell? То есть одна и так по развитию языка?
Аноним 21/01/16 Чтв 18:43:43 #475 №631211 
>>631197
>А работу ты мне давать будешь по котлину?
А ты знания только для работы получаешь? Само программирование тебя не интересует?
Боюсь что с таким подходом к делу, тебе не стоит становится программистом.
(хотя php возможно для тебя)

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

>>631203
У AS есть преимущества:
+ дополнительная статистика (gpu / network)
+ data binding
+ в версии 2.0 будет ускоренная заливка apk в телефон/эмулятор
(если тебе это нафиг не нужно, то стоит задуматься о IDEA)
Аноним 21/01/16 Чтв 19:13:24 #476 №631228 
>>631211
Ну без еды мне эти знания нахуй не нужны будут, а кушать я хочу больше раза в неделю.
Аноним 21/01/16 Чтв 19:16:26 #477 №631231 
>>631193
Коллекции же, ну да, допиливайте список, я его за 5 минут накидал не думая особо.

>>631195
И котлин добавлю ок, только не в маст хев а куда-то еще.
Аноним 21/01/16 Чтв 19:17:51 #478 №631233 
>>631231
В раздел с ксамарином, js и скалой еще ReactNative туды.
Аноним 21/01/16 Чтв 19:18:17 #479 №631236 
>>631203
Студия само собой. Вообще шапка для кого написана?
Аноним 21/01/16 Чтв 19:20:39 #480 №631237 
>>631233
Скала? На ведре? Орли? Но гомо. С таким успехом можно еще плюсы подключать, не нужно людям говном голову засирать.

Да и хватит срать уже своим котлином, правда доебало. Язык норм, но блять третий день к ряду уже. Лучше бы на вопросы отвечал раз опытный такой.
Аноним 21/01/16 Чтв 19:38:56 #481 №631246 
>>631228
Ну так иди гей-шлюхой фронтенд/php макакой работать.
Знаний почти не нужно, а на пожрать хватит.

>>631237
>Скала? На ведре? Орли? Но гомо.
Да норм, только говорят там runtime 6 мегабайт (а у Kotlin +400KB к APK)

>Лучше бы на вопросы отвечал раз опытный такой
>Как правильно вкатится?
Это вот на такую хуйню что-ли? Где адекваты?
Я вообще, полгода сюда не заходил, дай выговориться.
Аноним 21/01/16 Чтв 21:17:00 #482 №631321 
Аноны, что думаете про эти курсы? https://www.coursera.org/specializations/androidapp

Будет стоит потраченных денег или тупо "как стать модным и молодежным погромистом за 21 день".
Аноним 21/01/16 Чтв 21:25:37 #483 №631338 
>>631321
33 тыс/руб за это - серьезно?
Их сертификаты хоть где нибудь котируются?
Аноним 21/01/16 Чтв 21:43:06 #484 №631361 
>>631246
>Я вообще, полгода сюда не заходил, дай выговориться.
Та почитай внимательнее, есть вопросы по разработке, некоторые довольно не очевидные.
Аноним 21/01/16 Чтв 22:06:03 #485 №631391 
>>631237
Я не котлинофил. Ты кажется не тот класс детектора подгрузил. Check your ClassLoader.
Аноним 21/01/16 Чтв 22:26:08 #486 №631420 
>>631338
> Их сертификаты хоть где нибудь котируются?
Хуй знает. Я понимаю что нет никаких волшебных курсов, но хочется найти такое где разъяснят все на примере какого-нибудь годного проекта.
Аноним 22/01/16 Птн 00:20:09 #487 №631522 
Привет, анон. Умения такой вопрос, в какой программе нужно писать игру на андроид и можно ли написать ее на языке С++?
Аноним 22/01/16 Птн 07:24:23 #488 №631633 
14534366633900.gif
Ребята помогите плз, как лучше всего по кнопке покрасить статусбар?
Аноним 22/01/16 Птн 16:39:19 #489 №632052 
14534699595440.png
>>631633
Берешь и без задней мысли красишь.
Аноним 22/01/16 Птн 16:39:23 #490 №632053 
>>631633
А есть выбор покраски статусбара чтоль?
Аноним 22/01/16 Птн 16:40:01 #491 №632056 
>>632053
Имею ввиду есть варианты разве кроме одного >>632052 ?
Аноним 22/01/16 Птн 16:40:15 #492 №632057 
>>631522
В Visual Studio 2015, так как-раз завезли кросс-платформенную поддержку C++
Аноним 22/01/16 Птн 18:06:50 #493 №632135 
14534752106670.gif
14534752106691.png
>>632056
Мне пришел в голову несколько извращенный способ этого для API < 21 (тестировал на API 16).

Это чисто для фана, в реальных приложения конечно его не нужно использовать.
(тем более он прячет настоящий статус бар)
Аноним 22/01/16 Птн 18:25:12 #494 №632146 
>>632135
Вижу заняться тебе нечем.

as приведения типа? Почему так ущербно выглядит?
Аноним 22/01/16 Птн 18:40:53 #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 :)
Аноним 22/01/16 Птн 18:56:33 #496 №632176 
>>632158
Выглядит вс еравно как говно
Аноним 22/01/16 Птн 19:11:29 #497 №632185 
>>632176
аргументировано :)

Здесь то конечно неземная красота и кому после такого:
Cup<Coffee> cup = new Cup<>(new Coffee())

нужен Kotlin с его синтаксисом:
val cup = Cup(Coffee())
Аноним 22/01/16 Птн 21:08:08 #498 №632305 
>>632185
Инвалид, ты не понял? Твоё говно никому не нужно, авторитет твоего мнения ниже плинтуса. Съебал отсюда как вкатился, быстро, решительно.
Аноним 22/01/16 Птн 21:42:03 #499 №632325 
Сливаем тред
Аноним 22/01/16 Птн 21:42:23 #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
Аноним 22/01/16 Птн 22:08:59 #501 №632367 
14534897392910.png
>>632305
А если не выкачусь, то что?
comments powered by Disqus

Отзывы и предложения