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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
376 Кб, 1919x1079
Разработка под Android тред №23 #790312 В конец треда | Веб
Сидим и потеем перед дисплеем телефона в летнее время.

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

Коротко о главном:
1) Мобильная разработка - это весело.
2) Android Studio & Java - легитимный набор, проверенно временем и поддерживается гуглом.

А также о неглавном:
3) PhoneGap/Ionic/Titanium/ReactNative - имя им javascript, принципы у них разные, первые три попытка в кроссплатформенность одного кода, ReactNative проповедует другой подход, а именно написание разного кода но на одном языке. Популярность у них разная как и размер комьюнити.
4) Xamarin - мультиплатформенная разработка. Попытка серебряной пули на C#. Довольно популярный. Куплено Microsoft. Теперь есть бесплатная версия.
5) BugVM (RIP RoboVM) - идейный наследник ксамарина, а теперь уже и его часть но на Java. Учитывая что Microsoft убила RoboVM, встречаем опенсорсный BugVM.

Отдельного упоминания стоят:
1) Kotlin - Java от JetBrains, новый и стильный язык, куча синтаксического сахара прилагается, есть стримы и делегаты. Хотите писать на котлине? Добро пожаловать в JetBrains и Avito.

Где брать инфу:
Интернет-ресурсы
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 - в отличии от остальных книг она обновляется, а так как ведро не стоит на месте а хуярит семимильными шагами, то я бы и не советовал другие книги.

А теперь, так как заебали уже всех, гайд для:

>"Я хуярил на делфи 5 лет назад а теперь хочу вкатится в андроид":



Чтоб быстро хоть как-то вникнуть в джаву берешь и гуглишь javarush или codingbat.com.
Можно Эккеля "Философия java" почитать.
Или Хорстманн "Java. Библиотека профессионала" до 7 главы.

Что тебе нужно понять в самой жабе.
Энтри лвл.
1) ООП - сам принцип нужно именно понять, так как ооп язык.
2) Типы данных. Примитивы и ссылочные.
3) Структуры данных - Массивы/коллекции - без них никуда. Полезно почитать про алгоритмы работы коллекций и их сложности.
4) Дженерик типы, они как раз юзаются в коллекциях.
5) Классы/интерфейсы и все вытекающие.
Уже можно быдлокодить потихоньку и учить андроид параллельно с тем что ниже.

Дальше
6) Потоки ввода/вывода (streams). Не путать с тредами(threads).
7) Threads, особо не нужно вникать(в java.util.concurrent можно не лезть, в ведре все равно особо не пригодится), но нужно понять как работает многопоточка и что такое Runnable.
8) Прочитать про паттерны что-то. Начать с listener, adapter, singleton, iterator так как на каждом шагу. Ну и по накатанной.
Уже сделаешь что-то нормальное.

Дальше.
9) Работа с Sqlite, нужна будет в любом случае.
10) Работа с json.
Привет клиент-серверка.

Пишите в треде что добавить
#2 #790315
>>790312 (OP)
Я кстати на новую работу вышел, можете поздравить. Правда проект говно и написанный без мною любимых либ(даже ретрофита нету ебать). Но хоть деньги дают.

Алсо, вообще уже не верю что можно попасть в годную команду с годным проектом.
#3 #790320
>>790315
Будешь на Котлине новый код добавлять все переписывать?
>>790321
#4 #790321
>>790320
Хер с котлином. Проект выглядит словно его писали динозавры не читавшие ничего по ведру с 2013го.
>>790326
#5 #790326
>>790321
Ну так можно же миксовать.

Там экстеншенов добавить, а еще здесь null-safe оберточку - и вот уже не так противно.

P.S.
А вот обмазывание либами - это от лукавого (как в JS фреймворки - компенсация кривого языка).
В котлине все решают расширения + свои DSL + ну может еще "чисты функции" (но это уже функ. изврат).
>>790423
#6 #790330
>>790315
Поздравляю.
>>790423
#7 #790348
>>790315
анончик грац тебя. раскажи что делают в офисах я же так понял ты в офис какой то устроился? программисты под андройд? я нюфаг который только учится и поетому очень интересно.
#8 #790354
>>790348
И вот ради этого надо было перекатывать :facepalm:
#9 #790356
>>790348
Бампаю вопрос. Другой анон.
Работаю на джаве в офисе и представляю себе что делаю джависты в офисах- большие тырпрайз проекты жирным компаниям. Но ведь андроид- это небольшие приложухи. Что делают офисы- много мелких проэктов? откуда они берут заказчиков? вообще как то все слишком абстрактно в сфере андройда для меня...
>>790423
#10 #790363
Назрел вопрос: легко ли с веба (spring, EE) на разработку под андроид перейти? И стоит ли это того? Хочу фрилансить и делать свои приложения. Вообще реально на приложения под андроид заказы найти?
>>790364>>791248
#11 #790364
>>790363
Бампаю.
Вообще андроид для фриланса-хороший вариант? Тоже есть опыт с джавой.
>>791248
#12 #790367
>>790312 (OP)
Как-то давно пытался сделать приложение на андроид, обмазался мануалами, начал кодить и понял, что это пиздец как сложно. Можно щас как-нибудь просто накодить как в бейсике простую программу?
>>790388
sage #13 #790388
>>790367
Разработка под ведро — это простой макакинг. Проще некуда. Если ты это не осилил, то не лезь вообще в программирование.
>>790410
sage #14 #790389
Мда. Перекатились, называется.
#15 #790394
>>790056
ПОКА ТЫ ТУТ ЗА СВОЕЙ ДЖАВОЙ СЫЧУЕШЬ, ЕРОХИН-ТО КОТЛИН РАЗРАБАТЫВАЕТ
https://github.com/JetBrains/kotlin/commits/master?author=erokhins
#16 #790410
>>790388
Я не собираюсь в программирование, хочу просто сделать программку на андроиде с уровнем знаний бейсика, это возможно?
>>790416>>790419
#17 #790416
>>790410
Я не собираюсь работать инженером. Просто хочу сконструировать самолёт с уровнем знаний школьного учителя физики, это возможно?
>>790418>>790419
#18 #790418
>>790416
Я не хочу сконструировать самолёт, я хочу слепить бумажный самолетик.
#19 #790419
>>790410
Возможно. Бери Delphi.

>>790416
Ты немного преувеличиваешь сложность программки на андроиде.
#20 #790423
>>790326
От лукавого это юзать апач клиент от которого даже Гугл отказался.

>>790330
>>790348
>>790356
Спасибо, вечером попробую расписать как оно на мой взгляд выглядит. Не хочу ш ку вариться об двачи на работе
>>790430
#21 #790430
>>790423

> апач клиент


И не надо, есть же божественный URL и HttpURLConnection
>>790524
#22 #790463
пацаны,а подскажите туториалов по I/O и threads по джаве
сори за оффтоп
>>790602
#23 #790466
Привет, давно сюда не заглядывал. Что там, kotlin умер уже?
>>790468
#24 #790468
>>790466
В андроид треде теплится. Видел сегодня вакансию на швабре где котлин был бы плюсом.
#25 #790524
>>790430

> URL и HttpURLConnection


Как там в 2011?
>>790541
4 Кб, 150x150
#26 #790541
>>790524
Не поверишь, JetBrains хочет свой язык разработать.

Так же Java 7 скоро выходит, надеюсь быстро до Android доберется.
>>790574
#27 #790574
>>790541
Какие преимущества у хттпурла перед окхттп?
>>790591>>790596
#28 #790582
Сап, хочу сделать приложение, в котором, например, есть база данных с информацией о каком-то товаре, и чтобы после нажатия на товар перекидывало на активити с информацией о нем. Но ведь приложение будет весить очень много, если хранить все активити для каждого товара из базы данных. Как можно сделать, чтобы активити с информацией выводилась из базы данных только с подключением к интернету? Как-то подключать базу данных к серверу или ещё как-то? У большинства приложений такое есть. Подскажите пожалуйста, в какую сторону копать?
#29 #790591
>>790574
Никаких. Более того — хттпурл это и есть окхттп, только всегда устаревший и сильно кастрированный.
#30 #790596
>>790574
По секрету скажу, в okhttp ты не получишь никаких преимуществ если
1) специально не настроишь nginx на HTTP 2.0
2) раздобудешь SSL сертификаты (советую бесплатный https://letsencrypt.org/ )
Еще у okhttp баг/фича что он требует последней версии OpenSSL и приходится nginx из сорцов собирать.

А когда настроишь (и убедишься по логам что HTTP 2.0 работает),
то очень удивишься что это не дало видимого ускорения.
>>790612
sage #31 #790602
>>790463
Джава умерла. Учи js.
>>790619
#32 #790612
>>790596
Но в нем удобные билдеры и gzip ихэз коробки, вместо изобретенных мною велосипедов-билдеров хттпурла и gzip.
>>790620
#33 #790619
>>790602
Пруфы?
Пришлю знакмому тимлиду-вот он охуеет.
>>790622
#34 #790620
>>790612

> Более того — хттпурл это и есть окхттп


> gzip ихэз коробки


Кто тебе сказал что в URL нет gzip?
>>790649
sage #35 #790622
>>790619
Лучше под дверь ему насри. Тогда он охуеет ещё больше.
>>790626
#36 #790626
>>790622
Ванговал тралля сразу.
#37 #790649
>>790620
А про остуствие удобных билдеров и интерсепторов тактично умолчал, ок.
>>790671
#38 #790671
>>790649

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


Стоит их упоминать?
На Kotlin такой DSL/билдер можно написать строк за 20-50 и столько же на интерсептор (если я буду его вообще юзать)
>>790683>>790684
#39 #790683
>>790671

> Можно написать


В этом тоже есть проблема, ведь место унифицированного интерфейса сделанного в либе, мы получаем тысячи решений на каждом проекте свой.
>>790711
#40 #790684
>>790671
Иди нахуй со своим котилином и философией НУ И ЧЕ, МЫ САМИ ЭТО НАПИШЕМ
>>790711
#41 #790711
>>790683
А на другой стороне мы получаем >>783521 (OP)
Когда каждая функция берется из готовой-либы, но мы же не JS-макаки правда ведь, анон?

>>790684
А в чем проблема, если на современно языке это займет в 5 раз меньше кода?
Тем более в билдерах нет ни какого откровения/сложных алгоритмов.
>>790755
137 Кб, 1418x654
#42 #790749
minSdkVersion 17
Чому она доебывает меня с деприкейтед методом? Ведь именно он вызывается на моем 4.2.
Может я что то не делаю?
>>790770>>790781
#43 #790755
>>790711

> в билдерах нет проблемы


Проблема только в потраченном на них времени.

> мы же джс макаки


А ты дохуя не макака. 90% приложений типичная гуй оборетка вокруг рестопараши, и нет никаких проблем в использовании очереденой либы, которая ускоряет формошлепство.
#44 #790770
>>790749
Не используй венгерскую нотацию.
>>790865
33 Кб, 572x213
#45 #790781
>>790749
Ты юзаешь suppert-v4 fragments?

Если нет, то переходи на них.

Если да, то можешь спокойно перегружать onAttach(Context).
Как видишь в базовом классе (пикрил) один фиг вызывается onAttach(Context), а для совместимости он еще вызывает старый метод.
>>791415
#46 #790865
>>790770
Что за бред?
>>790890
#47 #790890
>>790865
private Anon mStupidAnon = getPostAuthor(790865);
>>790913
#48 #790913
>>790890
Я верю, что ты очень хуёвый шутник; я требую пояснения, почему так делать нельзя.
>>791110
52 Кб, 453x604
#49 #790959
Ребзи, нюфаня делает калькулятор. При делении любого числа в типе дабл на 0.X(X- любое, кроме 0) программа крэшится.
Куда копать?
>>792525
537 Кб, 1500x784
#50 #790997
Как сделать разметку как на скриншоте? Чтобы RecyclerView с изображениями был "поверх" основной разметки, от края до края экрана?
>>791029
#51 #791029
>>790997
Фреймлэйаут, в нем карточка и потом отдельно ресайклер в нем же. Ну или релатив.
>>791108
2 Кб, 429x293
#52 #791035
Интересует, есть ли здесь те, кто имеет работу, а не хочет вкатиться/перекатиться.
Чем конкретно вы занимаетесь?
Тысячи миллионов приложений уже написано, зачем нужен еще один модный органайзер/мессенджер?
Кто и за что вам платит деньги?
Как нашли работу? ваканский джунов очень мало
#53 #791041
>>791035
двачую
#54 #791053
>>791035
Меня только сегодня взяли на джуна.
Вакансий действительно мало, но иногда находятся.
>>791059
#55 #791059
>>791053
Кулстори запилил бы про опыт, поиски, собеседование, чего же ты.
>>791068
#56 #791060
>>791035
А по поводу того, чем буду заниматься...
Компания работает с одним большим проектом уже давно, как я понимаю, постоянно добавляя новый функционал и исправляя старые баги. То есть речь не о нескольких маленьких приложениях.
В фирме есть Android, iOS и WEB отделы, как я понимаю.
#57 #791068
>>791059
Есть небольшой опыт работы, но с другими ЯП, Java и Android больше как хобби, есть несколько учебных проектов, очень простых, уровня уроков с startandroid. Однако знаний хватило на то, чтобы выполнить тестовое задание (получение и отображение данных с одного API, вывод списка и экрана с подробной информацией). После выполнения задания позвали на собеседование, где задавали вопросы конкретно по заданию (про адаптеры, плюсы ретрофит и т.п.).
Вообще я считаю, что мне повезло найти подобную вакансию. Вообще, джунов ищут компании, которые отчаялись найти опытных разработчиков в городе, как я понимаю.
#58 #791108
>>791029
Что-то это не разу не ответ на вопрос.
>>791333
#60 #791133
>>791035
ОП, он же я как раз пошел на новую работу, позиция мида.
Ебет то что и всех прогеров, чужой кривой код а не кривым он быть не может, если там что-то сложнее листа, ебанутые заказчики которые в ротяку ебали материал дизайн и заставляют писать хуйню, сроки за которые ты должен делать кастомные вьюхи и в результате тупо ищешь либы.
Сейчас у меня еще и дико жопа горит так как нужно впиливать новый функционал в проект который я вижу второй день, а то и меньше.

Такое в общем.
>>791140
#61 #791134
>>791110
Ой блять, вортон хоть и норм мужик, но он уже зазнался видимо, пускай лучше расскажет как интерфейсы называть.
Вообще после такой статьи у меня впечатление словно у него максимализм какой-то. Все хуевое везде он сделает лучше.
>>791138
#62 #791138
>>791134
Причём тут зазнался? Он ведь не просто написал ДЕЛАЙТЕ КАК Я ГОВОРЮ, он привёл аргументы. Чего, кстати, не сделал ты.
>>791244
#63 #791140
>>791133

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


А что не так? Ты собирался два дня просто сидеть и читать код? Серьёзно? Как ещё ты можешь узнать проект, если не получишь реальное задание?

> не кривым он быть не может, если там что-то сложнее листа


Не слишком ли категоричное заявление? Если отовсюду воняет говном, то может быть это ты обосрался?

> Такое в общем.


Какое?
>>791241
#64 #791203
>>791110
Wharton конечно идет нахуй ибо он ни фига не авторитет.
Но в принципе согласен с тезисами.

олдфажный android-developer
>>791224
#65 #791210
>>791110
Я не вижу аргументов в его сообщении, я вижу "ящетаю". По сути он говорит, почему допустимо отказаться, но не говорит, почему это делать необходимо. Следовательно идёт нахуй.
>>791244
26 Кб, 640x468
#66 #791214
>>791035

> Тысячи миллионов приложений уже написано


А эти кукареки безработного дауна-ниосилятора или школьника.

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

Зарплата в USD.
>>791216
#67 #791216
>>791214
P.S.

> Как нашли работу?


Первую работу (вообще без опыта) нашел на сайте вакансий четыре года назад.
Сейчас джуны НЕ нужны.
>>791227
#68 #791224
>>791203
А кто авторитет?
>>791238
#69 #791227
>>791216
Ога, всегда были нужны, а сейчас стали резко не нужны.
#70 #791236
Cап, погромисты. Подскажите, можно ли начать зарабатывать на андроиде с фриланса? Работаю в другой сфере. знаком с джавой. Часто слышал, что фриланс-это хай уровень, что хуй получится зарабатывать, не имея опыта в офисе и прочее. Время учить много, но работу не хочу менять.
63 Кб, 300x300
#71 #791238
>>791224
Кто не понял, тот поймет
#72 #791241
>>791140

>А что не так? Ты собирался два дня просто сидеть и читать код? Серьёзно? Как ещё ты можешь узнать проект, если не получишь реальное задание?


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

>Не слишком ли категоричное заявление? Если отовсюду воняет говном, то может быть это ты обосрался?


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

>Какое?


Смешанные чувства от новой работы.
#73 #791244
>>791138
Какие блять аргументы для код конвеншена? Ты же понимаешь что это все хуйня.

>>791210
Этого двачую.

Доебаться до приставки "m" в контроллерах то еще днище. Я
#74 #791248
>>790363
>>790364
Конечно легко, та же жаба ведь!

мимо-java-ee-макак
>>791250
#75 #791250
>>791248
Кекнул.
На ЕЕ можно рубить бабки гораздо проще. Да и вообще жирно про "ЛЕГКО"
>>791255
#76 #791251
>>790312 (OP)
Господа, планирую перекатиться с 1С НЕ ПОГРОММИСТ, ГОВНО, МОЧА, ЖОПА, ХУЙ на Жабу и ведроид соответсвенно.

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

Какие языки будут востребованы в ближайшие годы (например тотже Kotlin), в какую сторону копать?
#77 #791255
>>791250
А чего там сложного, я за пару дней чтения dev.android уже слепил что-то рабочее.
>>791257
#78 #791256
>>791251
Сейчас тебе насрут в уши, что джава умирает.
Но а вообще, все есть в шапке-оттуда и читай, но не стоит на джавараш, имхо.
Как по мне, путь в джаву и ведроид немного разные. ВО втором практика есть в шапке, а в случае с джавой я, например, вечно гуглил лабы студентов-айтишников.
А хуле в 1с не остался? Бабки же платят неполхие.
>>791261>>791268
#79 #791257
>>791255
Ну у тебя, наверное, был неплохой бекграунд в джаве?
С нуля, я имею ввиду.
>>791263
#80 #791258
>>791251
А если ты совсем начинаешь, то смотри, правда, в сторону жс.
60 Кб, 960x540
82 Кб, 960x540
#81 #791259
>>791251

> Kotlin


Ну раз просишь, тогда лови, няш.

https://kotlinlang.org - Основной сайт
https://try.kotlinlang.org - Online редактор
https://habrahabr.ru/hub/kotlin/ - HUB Habrahabr
https://habrahabr.ru/post/279667/ - Ссылки на доклады и подкасты
https://habrahabr.ru/post/278169/ - Интересная статья "Как себе выстрелить в ногу в Kotlin"

http://kotlin.link - Сборник ссылок по Kotlin (на английском)
https://www.reddit.com/r/Kotlin/ - Reddit (тут тоже можно узнать новости и ссылки на интересные статьи)

Видео с Youtube:
https://www.youtube.com/playlist?list=PLVe-2wcL84b8pj7VOoa-6L9Q0sDjibdoF
Конкретно под Android:
https://www.youtube.com/watch?v=VU_L2_XGQ9s
https://www.youtube.com/watch?v=dJscNr1silY
>>791262>>792058
53 Кб, 380x347
#82 #791260
>>791251

>в какую сторону копать?


Начинай копать, Василий.
#83 #791261
>>791256
Платят примерно как погромистам на жабе,
но соль в стране и последних тенденциях, что возможно стоит отсюда съебнуть. План /б/ иметь под рукой, так сказать.
#84 #791262
>>791259
Пасибо ОГРОМНОЕ :3
#85 #791263
>>791257
Ну с нуля-то естественно, анончики выше же хотят с веб джавы перейти.
#86 #791264
>>791261
Пардон, соль-съебнуть с андроида? Почему?
#87 #791265
>>791261
А, ты про 1с, понял.
>>791266
#88 #791266
>>791261
>>791265
Из россии. А за бугром 1с не очень востребована, от слова совсем.
#89 #791268
>>791256
Подскажи направления которые в ближайшем будующем будут востребованы и оплачиваемы?
#90 #791271
>>791268
Мнение СУГУБО личное.
WEB и мобилки. И там и там есть
1)js
2)java, c#
Как понимаешь, выбирая первое, ты не прогадаешь.
Я мало что знаю про котлин, скалу и прочее. Но знаю многим синьоров, которые советуют учить 1.
#91 #791272
>>791268
Бля, с утра пока туплю. Еще big data. Я бы вот так написал.
1)js
2)python
3)java, c#
Джава не очень для веба. Может, но немногие ее выбирают. Шарп же для мобилок, имхо, не очень.
Ну а питон-просто заебись. Мне очень нравится его простота и применимость в ML.
>>791277
#92 #791274
>>791268
Но не воспринимай мои слова на чистую монету. ПОчитай статейки и лучше зарубежные. Сам я как хобби учил джаву, работал в области больших данных, сейчас перешел в it-консалтинг и вот подумываю учить андроид.
>>791277
#93 #791277
>>791272
>>791271
>>791274

Большое спасибо за наводку, буду думать)
>>791287
#94 #791285
>>791271

> востребованы


> c#


Смешно.
>>791290
#95 #791287
>>791277

> )


Ах ты сука! Кто тебя сюда пустил?
>>791289
#96 #791289
>>791287
Я из /b/ протек, не серчай ^пидр^ няша
>>791293
#97 #791290
>>791285
Ну да, я считаю, что в БУДУЩЕМ (~1 год) работы на шарпе будет еще больше.
#98 #791293
>>791289
ИЗВИНИ, СКОБАЧКЕ ОТКЛЕИЛИСЬ )))))))))))))))))))))

На самом деле спасибо за пояснения ребят, чуть позже еще поспрашиваю, наверн.
>>791295
#99 #791295
>>791293
Ну только, мы надеемся, что не будешь злоупотреблять терпением и обратишь внимание на название треда в котором ты, а потом найдешь нужный <3
#100 #791298
>>791271

>WEB и мобилки. И там и там есть


>1)js


Есть гайды по скрипту именно в сторону мобилок?
>>791300
#101 #791300
>>791298
В их треде погляди.
#102 #791333
>>791108
Ты охуел? Может мне за тебя написать? Смотри схему блять. http://pastebin.com/N1cjB4S9
#103 #791415
>>790781

>v4


Оказывается это рекомендуется и часто даже необходимо юзать саппорт вместо натива. Вплоть до апи21.
Удивительный мир андроид-девелопмента
>>791422
#104 #791422
>>791415
Не до 21, а всегда. Ибо обновить support-library быстрее и проще, даже если вендор перестанет выкатывать обновления. Это же не iOS, где телефон через два года планово превращают в кирпич новыми обновлениями.
#105 #791453
Как лучше устроить отображение/скрытие кнопок в тулбаре в зависимости от текущего фрагмента?
>>791505
#106 #791498

>2016


>Не пользоваться божественным Xamarin.Forms


Какие вашие оправдания?
>>791502>>791505
#107 #791502
>>791498
Пошёл нахуй, пидор. Ненавижу тебя. Сейчас пишем проект на ксамарине. И это такой пиздец, как же я его ненавижу. И тебя, пидораса. Какие же говноеды его проектировали? По сравнению с ним даже блядь WinAPI - красотища. Пиздец, блядь. Пиздец.
#108 #791505
>>791453

> Как изменить/расширить функционал ???View


Создаешь My???View класс и наследуешь его от ???View,
в нем добавляешь/изменяешь функционал вью как тебе надо.

>>791498

> Xamarin.Forms


Надо будет в следующим проект попробовать (если он будет).
Слишком много времени мне лень занимает отдельный UI для Android/iOS когда делаешь на Xamarin.Native
>>791508>>791515
#109 #791508
>>791505
Пиздец. Уж лучше бы признался, что говно на вкус попробовать хочешь. Мне было бы менее противно с тобой в одном треде сидеть.
>>791509
#110 #791509
>>791508
Болезный, ты о чем?
#111 #791515
>>791505
Ты ещё и тупой?

> Надо будет в следующим проект попробовать (если он будет).

>>791525
sage #112 #791525
>>791515
Да ты же просто даун-максималист-залетный из /b/.
(Включаю режим игнорирования.)
>>791529
sage #113 #791529
>>791525
Сказал мне мелкомягкий подсосок.
>>791544
14 Кб, 300x250
#114 #791544
>>791529
View по id уже нашел?
>>791555
sage #115 #791555
>>791544
Ксамаринодауны не могут data binding или butter knife?
>>791766
#116 #791766
>>791555
Предпочитаю anal plug. Идет в комплекте с Android studio.
#117 #791784
Есть FrameLayout в котором я хочу менять фрагменты по нажатию на табы.
Как бы мне создать инстансы всех используемых фрагментов заранее, но так, чтобы они не отрисовывались (были спрятаны) по умолчанию?
#118 #791807
Как понять свой уровень?
Junior
Middle
Senior
Какие критерии?
>>791810>>791812
#119 #791810
>>791807
Junior ты
>>791813
#120 #791811
>>791784
Никак. То есть, мы можешь создать инстансы фрагментом, но их методы жизненного цикла (onCreate() и пр.), где ты делаешь всю инициализацию, не будут вызваны, пока фрагмент не будет показан.

Если надо, фрагменты заранее инициализировать, используй ViewPager
>>792164
#121 #791812
>>791807
Junior — "Я много знаю"
Middle — "Я многого не знаю"
Senior — "Мне похуй"
>>791862>>791954
#122 #791813
>>791810
Мы вам перезвоним.
#123 #791862
>>791812
Ninja - "Мы вам перезвоним"
#124 #791886
Что будет если я сделаю write в базу, в то время когда в другом треде происходит TransactionNonExclusive в ту же базу? WriteAheadLogging включен.
>>792026
#125 #791898
Подскажите нюфане аналог устаревшей Gallery, чтобы помимо фото там же отображалось и видео, если такое конечно существует
>>792027
#126 #791954
>>791812
Мне нравится такая градация)
#127 #791956
Где биндить клик ивенты и контекстное меню на элементы ресайклера? В конструкторе вью холдера или внутри onCreateViewHolder?
7 Кб, 793x228
#128 #791958
Я как-то сломал панель монитора. Нет фильтров в логкате и вообще странно. Как починить?
>>791961
#129 #791961
>>791958
Починил.
>>792115
#130 #792019
>>791784
Делаешь add всех фрагментов, и переключаешь методами show и hide.
>>792164
#131 #792026
>>791886
Будет хорошо.
#132 #792027
>>791898
Пиши сам на фрагментах и пейджере.
83 Кб, 600x776
#133 #792033
Аноны, помогите мне найти пикрелейтед бесплатно без регистрации и SMS, пожалуйста.
Только вкатываюсь, поэтому, если есть аналоги получше - прошу совета.
>>792058
#134 #792058
>>792033
1. Нет такого понять Kotlin для Andorid, есть несвязанные понятия Kotlin и Android
1.1. Kotlin учишь на https://kotlinlang.org/ , >>791259
1.2. Android учишь на https://d.android.com/training/index.html и по OP посту
2. Есть у меня купленная https://www.manning.com/books/kotlin-in-action - книга написанная самими разработчиками.
Это просто 99% переложение https://kotlinlang.org/ , так что книги по Kotlin НЕ нужны.
Тем более язык сейчас быстро развивается, там точно не будут описаны async/await и др новый фичи
#135 #792061
>>792058
d.android.com это же мутное гумно. В каждом втором ответе на стековерфлоу есть упоминание навроде "официальные источники гугла по этому вопросу очень невнятны / слишком кратки".
#136 #792083
Анончики, подскажите как обеспечить секюрность в случае приложухи, которая использует базу данных на удаленном сервере? Как чекать ддосы там всякие, и как беспечить доступ к базе только моей приложухе, чтобы злоумышленник не подключился к моей базе со своей самописной приложухи?
>>792123
#137 #792115
>>791961
Расскажи как починил.
>>792123
#138 #792123
>>792083
Никак. Можно сделать на сервере метод получения ключа при первом запуске приложения и в дальнейшем общаться с этим ключом и блокировать подозрительную активность на нем. Следить за слишком частыми запросами нового ключа с одного адреса.
Можно сервисами антидудоса воспользоваться, если только этого опасаешься.
Наверное, можно соорудить какой-нибудь механизм генерации на клиенте ключа связного с подписью приложения и засунуть его обфусцированным или бинарником во внутрь приложения. Такой ключ должен будет иметь короткий жизненный цикл. Черт знает насколько такое возможно и сколько времени бы заняло. При большом желании злоумышленник все равно разберется.
>>792115
Так же как и сломал. Потянул таб с надписью логкат вниз, он стал делить панель с монитором ресурсов, покликал туда-сюда вокруг, потянул заголовок панели логката обратно на табы и все вроде стало на свои места.
365 Кб, 640x637
#139 #792164
>>791811
>>791784
>>792019
У меня сейчас сделано на базе ViewPager.
Не знаю насколько имеет смысл все фрагменты разом подгружать (у меня их 4).
В одном из них происходит выборка данных из базы, которая может длится ~10 секунд при помощи AsyncTask.
В другом находится GoogleMap, которая сама по себе некоторое время грузится, так еще и надо маркеры из базы загрузить.

При этом не имеет смысл ресурсоёмкой отрисовкой заниматься в тех фрагментах, которые сейчас невидимы.
ViewPager кажется слишком сложным решением для переключения 4-х фрагментов без свайпа.
#140 #792312
>>790312 (OP)
Кто-нибудь использует Qt? Есть ли ему место в андроид-разработке? Какой профит он предоставляет?
#141 #792313
>>792312
Отвечу сразу - профита мало.
Разработка под андроид полна граблей и лишние прослойки здесь только добавляют новых граблей.
Используй Java или Kotlin.
>>792885
#142 #792319
>>792312
ахахах
>>792885
#143 #792347
>>792312
2ГИС на Qt написан, например.
Для большинства приложений нет никакого смысла использовать Qt.
>>792885
#144 #792416
>>792429>>792447
#145 #792429
>>792416
За последнее время много ебаной хуйни они сделали, к примеру такой баг, который еще ращ доказывает, что отключаемые разрешения это хуита редкостная.
https://code.google.com/p/android/issues/detail?id=213120
#146 #792434
>>792058
Большое спасибо!
#147 #792447
>>792416
Я бы сказал что это фича и вроде бы давно известная ("баг" 2012 года).
Если я отключаю нотификации, то и не хочу видеть тосты.
#148 #792490
Народ, а как бы мне найти список типа ListView, в котором можно пальцами менять элементы местами?
#149 #792494
Есть ли способ автоматически скачать все зависимости, которые подключены через gradle и скачиваются со всяких репозиториев, чтобы использовать их локальные копии?
Это же пиздец какой-то - когда нет интернета - не соберешь проект.
>>792496
#150 #792495
Аноны, а где вы сетевые вызовы на Rx делаете? Прямо в activity/fragment, нет ведь? IntentService? Свой сервис-синглтон?
>>792506
#151 #792496
>>792494
Включи offline work в найстройках Gradle.
>>792555>>792556
#152 #792506
>>792495
Просто в отдельном классе бизнес-логики.

1) Качаю данные, сохраняю в базу, кидаю бродкаст.
2) Слушатель просто берет данные из базы.

И ни каких колбеков на активити из "долгих web операций (1)".
#153 #792521
>>792506
Но ведь тогда у нас будут проблемы с жизненным циклом, разве нет? Если во время выполнения запроса пользователь перевернет телефон, activity пересоздастся, сетевой вызов будет создан еще раз.

> ни каких колбеков на активити из "долгих web операций (1)"


Это да. Но если ты в свой класс бизнес-логики передаешь Context (а ты передаешь, раз пишешь в БД и кидаешь бродкаст), то у тебя ведь и есть ссылка на Context (т.е. на Activity), разве нет?
>>792590
#154 #792525
>>790959
Копай в лог, который тебе выводят в студии в окошке снизу.
#155 #792555
>>792496
О! Спасибо.
#156 #792556
>>792496
О! Спасибо.
#157 #792590
>>792521

>сетевой вызов будет создан еще раз


Но так ты вызывай только при первом показе, когда в onCreate() передается null

>есть ссылка на Context (т.е. на Activity), разве нет?


Нет, вся "бизнес-логика" и ViewModel'и написаны в отдельном модуле на чистом Java SE Kotlin.
Для работы с базой юзаю самописный DSL поверх OrmLite он не привязан к Android
#158 #792613
>>792506
А если запрос не прошел? Кидаешь броадкаст с ерором и выводишь на активити?

Почему просто в контролере не делать асинхроную rx цепочку(запрос->сохранение в бд->респонс для вывода на екран=ерор для вывода на екран). Правда там с лайфсайклом поебатся нужно будет + ивент бас или ресивер понадобится если есть запросы не связаны с юаем.
>>792904
#159 #792676
Котаны, только что посмотрел историю крашрепортов, нашел там такое:
В одном support.v4.Fragment в методе onStart подписываюсь на LocalBroadcast, а в методе onStop отписываюсь.
В методе BroadcastReceiver'a onReceive обновляется один элемент UI и там вызывается getResources();
Так вот, здесь то оно и упало, с вот таким экспешеном:
Fatal Exception: java.lang.IllegalStateException
Fragment DispFragment{f733e7b} not attached to Activity


Но как так то? onStart вызывается позже, чем onAttach!
>>792902
609 Кб, 2560x1600
#160 #792885
>>792347
>>792313
Спасибо.
>>792319
И тебе.
#161 #792902
>>792676

> в методе onStart подписываюсь на LocalBroadcast, а в методе onStop отписываюсь


Неверно. Нужно делать это в onResume и onPause соответственно.
>>792912
#162 #792904
>>792613

> в контролере


Что ты подразумеваешь под контроллером?

> с лайфсайклом поебатся нужно будет


Вот именно. Поэтому я и спросил, кто как делает
>>793127
#163 #792912
>>792902
Почему?
>>793051>>793054
#164 #792963
>>792490
На сколько я знаю, только через сторонние либы.
>>792977>>793003
#165 #792977
>>792490
>>792963
Забудьте про ListView, используйте RecyclerView.
На нем, правда, перетаскивание элементов еще сложнее реализовать, лол
>>792993>>793003
141 Кб, 1024x782
#166 #792987
Какие вы знаете (русскоязычные и англоязычные) тусовки android-разработчиков?
Какие-нибудь форумы, группы, чаты и т.д., где можно пообсуждать общие вещи (которые не подходят в формат Stackoverflow), показать свой код, посмотреть на чужой и т.п.
Кроме этого треда и 4пда
>>793087
#167 #792993
>>792977

> RecyclerView


Если бы еще ему из коробки сделали группировку с экспандом, а гуглы как всегда НУ ЭТА, ВЫ САМИ ДАВАЙТЕ)))
Да и мне не нравится, что декоратору нельзя задать зависимость от элемента списка.
Но это так, размышления.
>>793003>>793007
#168 #793003
>>792963
>>792977
>>792993
>>792490
Сделал на RecyclerView.
Не особо сложно, делал по этой инструкции:
https://medium.com/@ipaulpro/drag-and-swipe-with-recyclerview-6a6f0c422efd#.c4dh30clk
>>793006
#170 #793007
>>792993

> группировку с экспандом


В смысле?

> декоратору нельзя задать зависимость от элемента списка


Правильно, это ж будет нарушения принципа единственной ответственности.
>>793011
#171 #793011
>>793007

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


Ну и нахуй он тогда нужен? Декарировать списки из примеров?

> В смысле?


ExpandableListView
>>793471
#172 #793051
>>792912
You should register onResume yes, onResume() is always called on the activity being displayed (it is the last method called before your activity appeares (developer.android.com/reference/android/app/Activity.html) if you only register onCreate() and unregister onPause(), then the next time the activity is brought to the foreground, onCreate() will not be called again and then it will not register the receiver again. And yes I mean INSTEAD of, do not do it onCreate()
#173 #793054
>>792912
As onDestroy() is not guaranted to be called you shall use onPause() to deregister. Consider lifecycle of your broadcast receiver: Do you need it to be active, only when your activity is in foreground? Then use onResume() / onPause()
#174 #793055
>>792058
очень глупый вопрос - kotlin надо учить поверх знаний java ?
#175 #793064
#176 #793087
>>792987
бамп
#177 #793093
>>793055
Котлин можно учить, лишь когда ты хорошо знаешь Java. Если речь про Android разработку, тогда еще необходимо знать Android SDK. Иначе так и будешь ничего-не-понимающей-макакой.
>>793187
#178 #793127
>>792904
Я спросил этого >>792506 как он в своей, представленной нам, архитектуре делает обработку ошибок запроса и как у него реализованы обновления данных в бд и подальшее их отображение на юи.
#179 #793184
Оракел не сдается http://www.siliconvalley.com/ci_30106378/oracles-9-billion-fight-google-continues

Гугловский План Б "переходим на Swift" пока не отменяется.
#180 #793187
>>793055
Не надо.

>>793093
И Java не надо. Достаточно знать С++.
https://developer.android.com/reference/android/app/NativeActivity.html
>>793199
#181 #793199
>>793187
>>793055
Лучше вообще начать с Хаскелля, тогда никаких проблем не будет: https://github.com/neurocyte/android-haskell-activity/blob/master/src/HaskellActivity.hs
#182 #793405
Предполагается, что я должен самостоятельно менять туда-сюда PreferenceScreen'ы и держать их стек?
>>793516
#183 #793411
Не догоняю, они задепрекейтили addPreferencesFromResource и теперь каждому самостоятельно возиться с PreferenceScreen'ами?
#184 #793414
Господа, вот интересная тема - https://www.reddit.com/r/androiddev/comments/4qwgj2/professional_android_devs_describe_your_day/
Я хотел бы услышать как проходит день местного ведроёба. Хочу вкатиться. Есть вакансия. Пытаюсь представить как это будет. Тот же макакинг.
>>793418>>793423
#185 #793418
>>793414
Мамку твое ебу целый день, азаза, безработный ты полуебок
>>793419>>794202
#186 #793419
>>793418
Не угадал.
#187 #793423
>>793414
Как приторный ответ там. Смачно проблевался.
>>793461
#188 #793461
>>793423

>Смачно


Смак - вкус
Проблевался со вкусом
#189 #793471
>>793011
вот ебусь ща реализовываю экспандбл ресайкл, какой-то ад. И ладно бы если с нуля бы делал, так у меня задача апк которая была сделана под апи 9, обновить под материал, и по тз надо все адаптеры/листы переделать и вот один из листвью оказался экспандбльным. Так там вся логика завязана на определении кто родитель и оттуда пляска с ид итд. Вобщем пытаюсь этот костыльный ресакйл сделать но пздц напрягает
>>793486
#190 #793486
>>793471
Чем тебе не подходит expendable-recycler-view c big nerd ranch?
>>793493
#191 #793493
>>793486
я не он, но добавить туда хедер/футер похоже тот еще геммор
#192 #793516
>>793405
У тебя просто не должно быть больше одного PreferenceScreen'а
>>793519
#194 #793585
Доброго времечка, уважаемые аноны.
Я великовозрастный-23-лвл и работаю в области немного далекой от проганья (erp-системы).
Четко поставил цель научиться андроиду, раньше учил джаву, но это давно и не правда.
Так вот. Попал на дистанционное (бесплатное) обучение джавы, купил Эккеля, но у меня есть пара часов в будни после работы и выходные. Понимаю, что сначала надо освоить джаву, а только затем в Андроид. Про то, что после обучения войти во фриланс-молчу, это же супер сложно, так?
Так вот, насколько реально таким образом, по-вашему, обучиться вашему искусству?
>>793593>>793766
#195 #793592
>>793519
Я тебе с точки зрения UX говорю, а не с точки зрения реализации, дурачок.
>>793598
#196 #793593
>>793585
Берёшь и обучаешься, вместо того, чтобы тупые вопросы на дваче задавать. Только так, и никак иначе.
#197 #793598
>>793592
Ахуительные советы от гуру дизайна. Можешь оставить их при себе, я спрашивал конкретно.
>>793636
#198 #793636
>>793598
Конкретно я тебе могу только хуй за щеку засунуть, дурачок.
#199 #793766
>>793585
я вот не пойму, хули все лезут в этот андроид? лезли бы в ios, там же платят больше и все такое. Нет блять, лезут в этот андроид
>>793773>>793778
#201 #793773
>>793770
>>793766
Таки пора съебывать на иос, но пиздец как лень все с нуля учить.
#202 #793776
>>793770
Как попасть в это число?
>>793784
#203 #793778
>>793766
Не нужен макбук и Iphone за дохуя килорублей.
#204 #793784
>>793776
Ты не идус, тебе — никак.
211 Кб, 800x600
#205 #793792
У меня дизайн в Sketch для iOS, как могу адаптирую.
Может есть какие то сервисы или программы что бы я ему дал пнг а он мне нагенерил ее (на пример) для тулбара под разные dp?
>>793795>>793799
#206 #793795
>>793792
Я этим режу.
https://github.com/asystat/Final-Android-Resizer

Но у иоса же xhdpi, остальные будут апскейлом.
>>793805
#207 #793799
>>793792
Там же из скетча можно экспортировать в нужном тебе размере-формате сразу.
>>793805
#208 #793805
>>793795
Спасибо, Скетч векторный
>>793799
Да, так и сейчас и делаю
>>793828>>793898
#209 #793814
Может есть распространенный кейс на случай когда нужно, в зависимости от текущего фрагмента, показывать и скрывать элементы меню (Toolbar)?
>>793831
#210 #793828
>>793805

> Скетч векторный


Экспортируй сразу в вектор если есть возможность, ебля с dpi нинужна.
>>793832
#211 #793831
>>793814
Ну так просто делаешь у каждого фрагмента своё отдельное меню. В чем проблема?
#212 #793832
>>793828
Векторы еще довольно плохо поддерживаются андроидом. Можно поставить только в ImageView их, разве нет?
>>793864
#213 #793864
>>793832
Да, есть некоторые проблемы, и мне приходилось вручную править svg. Но вставлять можно куда угодно, при этом есть даже 2 режима svg, когда это настоящие svg и рисуются на канве, и когда студия тебе генерирует png с этих svg под все dpi.
>>793901
92 Кб, 428x524
#214 #793898
>>793805

>Скетч векторный


А конвертнуть вектор в пнг религия не позволяет?
>>794169
#215 #793901
>>793864

>студия тебе генерирует png с этих svg под все dpi


У меня с таким подходом от этого на каких-то картинках в рантайме падало лол. Причем не на старых системах, на старых было белое пятно, а на новых падение с IndexOutOfBoundsException где-то внутри VectorDrawable.
374 Кб, 2048x1324
#216 #793902
Сука, что они сегодня сделали со шрифтами?!
>>793938>>793942
#217 #793938
>>793902
Нашел, как починить (если вдруг кому тоже нужно): https://userstyles.org/styles/130075/github-old-fonts
#218 #793942
>>793902
Разуплотнили.
#219 #793971
Господа, грешно ли вместо фрагментов экранов инфлейтить их компоновку в ContentFrameLayout?
Я упростил себе жизнь. В одиночку я могу городить любые архитектуры, но вот собираюсь устраиваться в серьёзную контору, там уже есть ведроёбы, не обоссут ли меня?
>>793972
#220 #793972
>>793971
Обоссут. И правильно сделают.
>>793990
#221 #793990
>>793972
Lyft отказались от фрагментов в пользу похожего подхода, запилили Scoop.

Знаешь, есть утырки, которые пытаются обсыкать за MVP, мол, оверхед, ко-ко-ко, встроенный MVC, пок-пок.
>>793994>>794011
#222 #793994
>>793990
Ну ты еще Square с их Flow вспомни. И что? То, что подходит двум компаниям под вполне определенные приложения, не значит, что подойдет хоть куда (как бы сильно этого не хотелось их авторам).
>>794011
#223 #794011
>>793994>>793990
А для каких типов приложений скуп и флоу подходят? Куда они могут НЕ подойти, кроме игра и подобного? Общего толка же фреймворки.
Просто думаю на чем в будущем приложения базировать, какой-то из этих двух или есть еще нюклеус.
>>794012>>794015
sage #224 #794012
>>794011

> для каких типов приложений скуп и флоу подходят


Для хуёвых приложений.
>>794013>>794014
#225 #794013
>>794012
Да ладно.
#226 #794014
>>794012
Веско.
#227 #794015
>>794011

> Общего толка же фреймворки


Тебе Android SDK мало? Где ты и так по сути не приложения, а плагины для системы пишешь?
https://habrahabr.ru/post/253297/
>>794021
#228 #794021
>>794015
Я не знаю мало мне его или нет. Я только на нем и пишу, альтернативы еще не пробоал. У сдк есть туева куча проблем, о которых не написал только ленивый, с которыми приходиться бороться каждому из приложения в приложения, таская за собой велосипеды и костыли. Эти обертки над обертками появились, уверен, не от хорошей жизни.
Плагины для системы, это можно сказать много про что, веб фронтенд приложения, кути приложения, etc. ведь там тоже уже обо многом до тебя позаботились.

Статья хорошая, но много чему можно возразить. Там в комментариях вполне обмусолили.
#229 #794055
Может кто видел реализацию LayoutManager в виде деки карт?
Нашел только закрытую у каких-то барыг (телерик) но они не открывают реализацию.
>>794056
#230 #794056
>>794055
На гитхабе было
>>794059
#231 #794059
>>794056
Я действительно долго искал но нихуя.
Не поможешь?
>>794061>>794083
#232 #794061
>>794059
Я не помню название. Пару недель назад видел
>>794062>>794063
#233 #794062
>>794061
Ну хоть попробуй вспомнить, пожалуйста. Хоть по каким тегам гуглил в тот момент?
Поможет все.
#234 #794063
>>794061
И это точно лейаутменеджер был? Или просто реализация колоды?
>>794066
#235 #794066
>>794063
Это была просто реализация колоды вроде бы. Ищи в ссылках еженедельных статей по разработке на мобилки на хабре. Там ее и видел.
другой анон
>>794068
#236 #794068
>>794066
У меня пк такой
#237 #794075
В рот ебал плюсы и ндк.
>>794077
#238 #794077
>>794075
А я шарп и ксамарин
>>794081>>794088
#239 #794079
Что тут, пиарщики от intellij форсят свой котел?
#240 #794081
>>794077
Их я тоже ебал.
>>794085
#241 #794083
>>794059
Напиши сам. На котлине.
>>794084>>794086
#242 #794084
>>794083
Лучше на Хаскелле.
#243 #794085
>>794081
Может, групповуху замутим?
#244 #794086
>>794083
Меня отпиздят на работе, если я буду лейаут менеджер писать пару дней, сам спизданул маленький естимейт теперь ябусь.
>>794087
#245 #794087
>>794086

> сам спизданул маленький естимейт


Тогда страдай. Сам долбоеб.
>>794091
#246 #794088
>>794077

>ксамарин


ЗАмарин
>>794090
#247 #794090
>>794088
Залупа
#248 #794091
>>794087
Там таска легкая, просто более правильно делать через ресайклервью с кастомным лейаут менеджером.
А так прийдеться пиздячить фрагмент и логику которую прочитаю только я.
>>794095
#249 #794095
>>794091
Ты говно, если твой код можешь читать только ты
>>794097
#250 #794097
>>794095
В этом и была ирония долбоеб.
Ну иди почитай сорсы лейаут менеджера без разъяснений и гайдов, а потом ругайся, хотя инбифо индусы.

А вообще велосипедить подобие листвьюхи пиздец как не хочеться.
>>794108
#251 #794103
Анон, какую ORM лучше использовать?
Написал пару приложений используя стандартный execSQL.
Хотелось бы что-нибудь схожее по функционалу с EntityFramework.
#252 #794108
>>794097
Все верно. Ты говно.
#253 #794109
>>794103
Realm.
>>794111
#254 #794110
>>794103
Лучше не использовать.
#255 #794111
>>794109
Это не orm, даун.
>>794112>>794120
#256 #794112
>>794111
Мне похуй.
>>794119
#257 #794119
>>794112
Я же говорю - даун.
#258 #794120
>>794111

> Realm is a mobile database: a replacement for SQLite & ORMs


Ответ все равно валиден, если вопрошающему не критичен сиквел.
#259 #794126
>>794103
EF ты все равно не получишь, тк ни в Java ни в Kotlin нет экспрешенов.
В Kotlin вроде обещали завести, но это не ближайшая перспектива.

Проводил в свое время исследование, ближе всех к EF библиотека MapDB.
Она реализует интерфейсы Map<>, List<> и тд, на Kotlin можешь юзать Linq подобный синтаксис.
Ее сейчас переписывают на Kotlin, но там еще "in progress".
Попытал юзать старую версию на Java, но там старттайм и добавление большого кол-ва элементов на порядок медленнее чем в sqlite.

ИМХО сейчас самое перспективное, это написать свой DSL поверх OrmLite или чистого sqlite.
>>794135
#260 #794135
>>794126

>EF ты все равно не получишь, тк ни в Java ни в Kotlin нет экспрешенов.


Это понятно. Хотелось узнать что юзает анон. Неужели все сидят на голом sqlite?
>>794137
#261 #794137
>>794135
Планирую взять DBFlow.
>>794169
#262 #794169
>>793898
Да так и делаю, ну и что. Потом один хер по папкам надо раскидывать и суффиксы бирать. Неудобно.
>>794137

>DBFlow


Я юзал, брат жив.
>>794184
#263 #794184
>>794169

>Да так и делаю, ну и что. Потом один хер по папкам надо раскидывать и суффиксы бирать. Неудобно.


Это да, тогда можно использовать скриптик который из свгшек сам раскидает по папкам.
#264 #794188
аносы, а поведайте чем вы на работе занимаетесь? пилите рест клиенты? может что-то кроме этого? какие у вас проекты?
#265 #794201
>>794188
Коммерческая тайна.
#266 #794202
>>794188
Тоже что и вчера, а именно: >>793418
#267 #794234
Что делать в случае, когда у меня в активти из-за дровера меняются фрагменты, и нужно по нажатию на нотификацию заполнить стек фрагментов, так что бы по кнопке назад он вернулся на логического родителя? С активтями понятно как, а вот с фргаментами ничего не нашел.
>>794241
#268 #794241
>>794234
ну дык добавляешь несколько фрагментов в транзацию, не?
>>794244
#269 #794243
>>794188
Формочки шлепаем. Как это меня заебало.
#270 #794244
>>794241
Вроде не, но я попробуйю, а как добавлять-то, через add? а что с addToBackStack?
#271 #794265
подскажите, как лучше сделать:
есть список, при нажатии на различные айтемы списка, открываются различные вторые активити
через интент фильтры делать или как?
>>794298
#272 #794298
>>794265
Сувать в интент экстра дату и делать старт активити на нужную активити с этим интентом.
#273 #794305
Сложно ли вкатится в андроид на Джуна будучи студентом с нулевым опытом и несколькими софтинами в плей маркете?
#274 #794306
>>794305
К твоему сожалению и моему счастью, невозможно.
>>794310
#275 #794310
>>794306
А в рельсы/пыху?
>>794314
#276 #794314
>>794310
В пыху всегда пожалуйста.
>>794315>>794319
#277 #794315
>>794314
От и хорошо, буду учить пыху а дальше вкачусь в ведро/джаву когда стану мидом
>>794320
#278 #794319
>>794314
Куда еще можно вкатится без пердолинга?
#279 #794320
>>794315
С травмами мозга после пыхи ты уже ни-ку-да не вкатишься. От туда не возвращаются.
>>794322
#280 #794322
>>794320
А у меня есть варианты? В джаву меня точно не возьмут, а работы по руби/питону - 3.5 штуки
>>794330
#281 #794330
>>794322
Выход есть всегда.
>>794331
#282 #794331
>>794330
В окно например.
#283 #794336
>>794305
пиздуй в ios блять! нехуй в андроид лезть!
>>794340
#284 #794340
>>794336
Как студент в гейос вкатываться будет, вилкой?
>>794343
#285 #794343
>>794340
В чем проблема то? Неужели у тебя даже мака нет?
>>794350
#286 #794348
>>794305
посмотрите на зп java-господина.
теперь посмотрите на зп android макаки.
еще раз посмотрите на зп java-сервер-господина.
все еще хочешь вкатываться в ведро?
>>794351>>794363
#287 #794350
>>794343
Я не он. Но вообще откуда у студента, который решил вкатываться в погроитрование мак? Или ты из мест где у каждого школьник айфон?
>>794400
#288 #794351
>>794348
Принеси нормульную статистику для начала.
#289 #794363
>>794348
Я знаю джаву и начал изучать ведро. Стоит ли дропнуть ведро и учить пхп?
>>794419
#290 #794366
Нужно ли знать пыхомакаке жс и хтмл не на базовом уровне?
>>794369
#291 #794369
>>794366
Это пыха-тред?
>>794372
#292 #794372
10 Кб, 212x212
#293 #794400
>>794350

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


Ну пока попка еще молодая и упругая, этим надо пользоваться.
>>794405
#294 #794405
>>794400
Шутки шутками, а я себе таки купил на втором курсе эир и гонял с ним на пары.
>>794432>>794438
#295 #794419
>>794363
лучше 1с
#296 #794432
>>794405
Фу бля, серьйзно? Надеюсь ты тралишь.
#297 #794438
>>794405
скажите, уважаемый владелец аппле продукта, какого хуя вы решили все-таки разрабытывать под ведро?
>>794635
#298 #794635
>>794438
А почему бы и нет. Я сначала начал разрабатывать под ведро, а потом купил удобный ноутбук. Или если ты разрабатываешь под ведро, то ты обязан быть пердоликом со швабодками?
Список #299 #794701
Привет, аноны. История такая: требуется за 2 недели (по 6-7 часов в день) минимально разобраться в написании под Андроид и запилить тестовый apk без осмысленного функционала, лишь пощупать, который умеет: вызывать внешние приложения (например, камеру, календарь - добавлять события, скажем); умеет стучаться к какой-либо удаленной бд; имеет свою бд с некоторой информацией.
Как сделать это максимально быстро? Что читать кроме официального блога? ЦЕЛЬ – нахвататься всего по немногу и сразу.
Могу в программирование и Java на уровне понимания ООП, знания стандартных СД, интерфейсов и иже с ними, потоков ввода/вывода, простейших гуев на Свинге. С БД sqlite не знаком.
>>794714>>794728
#300 #794714
>>794701
Ясно
>>794725
#301 #794722
Скажем в реализации MVC под андроид, будет подразумеваться что класс активити, который V в данном случае есть какие то еще обращения к хелперам(типо проверить булин из шаред преференса) кроме как работа с его контроллером, который предоставляет методы и возвращает какое нибудь говно с рестапи?
На новой работе я столкнулся судивительной ситуацией. Есть программист второй, он реализовал типо mvc. Есть несколько активитей и под них по контроллеру. Там вот в кажды почти контроллер захуярил одинаковый метод, который выполняет одно и тоже,скажем возвращает булин из хелпера, который объявлен опять же в каждом контроллерк. И так из класса в класс копипаста. Метод не статик и в хелпере это тоже не статик.
Я просто хуй знает как именно реализоввть mvc в анрдоиде, но по мне так пусть активити проверяет булини напрямую через хелпер. А0
#302 #794725
>>794714
Таки что вам ясно? Я конкретный вопрос задал, дабы мне пояснили, так сказать, рассказали о ситуации моей, алло.
>>794727
#303 #794727
>>794725
Ты перечислил все что тебе нужно. Читаешь шапку и идешь по туторам. Так нахватаешься всего с головой. Причем быстро.
>>794832
#304 #794728
>>794701
Берешь и делаешь.

Следующий.
>>794831
#305 #794831
>>794728
Язвительные снобы в треде. Следующий.
#306 #794832
>>794727
Туторы... Понятно. Спасибо.
#307 #794866
>>794722
Зачем изобретать велосипеды - https://habrahabr.ru/post/131446/
>>794941
#308 #794872
нид хелп
вот у меня есть сиимплКурсорАдаптер, в котором данные из БД
и мне надо при нажатии на пункт списка открыть другое активити, которое зависит от выбранного пункта
как это реализовывать
?
>>794873
#309 #794873
>>794872
написал вот такую вот хероту
но походу она неправильная
[code lang=java]
lvMain.setOnItemClickListener(new AdapterView.OnItemClickListener(){

@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Log.d(LOG_TAG, "on Item Click started");
long itemId = scAdapter.getItemId(position);
Intent intent = new Intent(this, SecondActivity.class);
intent.putExtra("itemId", itemId);
startActivity(intent);
}
});
[/code]
#310 #794941
>>794866
Автора обоссали.
#311 #795101
Есть значит TextView. Под ним должен быть скроллвью с кучей кнопок.

RelativeLayout layout_main = new RelativeLayout(this);
RelativeLayout layout_buttons = new RelativeLayout(this);
ScrollView sv = new ScrollView(this);
//говнокод
sv.addView(layout_buttons);
layout_main.addView(sv);
return layout_main;

Скроллвью получается поверх всего. Как его порезать сверху?
>>795121>>795962
#312 #795121
>>795101

> собирать вьюху в коде


Из иос перекатился? Ну так задай в relative layout params правило below texview_id.
>>795169
#313 #795169
>>795121
Так у меня динамический лайаут же.

>задай в relative layout params


так у скроллвью ScrollviewLayoutParams, там нету below.
Так что пришлось скролвью в новый релатив пихать и там уже addrule.below
>>795174
#314 #795174
>>795169
У скроллвью может быть только один дочерний элемент.
>>795188
31 Кб, 459x155
#315 #795188
>>795174
релатив в скролвью, скролвью в релативе
#316 #795398
КонстрейнтЛейаут пользовал кто?
#317 #795401
Кто-нибудь работал с FingerprintManager? Ни одного годного тутора не могу найти, оф документация тоже сомнительная.
#318 #795565
помогите плз, а то страдаю хуйней уже 2ой день вместо того, что бы написать что то
мне надо заполниь список данными из БД
в качестве БД использую sugar ORM
какой адаптер для листвью мне надо использовать
и нужен ли мне адаптор вообще?
>>795601
#320 #795601
>>795565

>даю хуйней уже 2ой день вместо того, что бы написать что то


>мне надо заполниь список данными из БД


>в качестве БД использую sugar ORM


что за данные-то? Если там одна строка, то можно без адаптера, если там что-то сложнее, то наследуешь ArrayAdapter, скармливаешь ему layout и заполняешь вьюшки.
#321 #795613
>>795600
>>794722
Использую PureMVC multicore. Красиво получается и понятнее MVP.
>>795872
#322 #795872
>>795613
А разве есть портированный для ведроида PureMVC?
>>796438
#323 #795957
ищу фриланс подработку или запилюсь в проект к кому-нибудь.
lectr9U7icasANUS1}tgmailPUNCTUMcowlZm
>>796125>>796187
#324 #795962
>>795101
скажи что в конечном итоге хочешь сделать я скажу как а то нихуя не понятно че ты там хочешь
#325 #796125
>>795957
Когда мой перевод готов будет, уёбок?!
#326 #796148
Привет, анон. Допустим есть сайт/форум. Хочу написать простой клиент, используя преимущественно android sdk. У сайта api нет, рассчитываю положиться на HTTPClient. В качестве интерфейса планирую использовать стандартные компоненты, к Webview душа не лежит. Взлетит как продакшен-реди решение или все делается не так? В общем, дай стек технологий, этой мой первый серьезный проект на андроиде.
>>796296
#327 #796163
Парни, значит, история такая. Работал я себе, работал, как вдруг всё повисло. ну я ноут перезагрузил по горячему, открыл студию - а там пусто. ну хуй с ним, подождал пока проект подгрузится, но внезапно стала вылетать ошибка грэдла.
Вот она:
http://pastebin.com/yEJkVhKv

Ещё такая штука: файл build.gradle(app) стал пустой.

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

Что делать? Как починить? Может, новый Андроид студио поставить?
>>796190
#328 #796187
>>795957
сорян, лениво мне.
даже диплом не пишу
#329 #796190
>>796163
Может кто-нибудь скинуть содержимое этого файла?
>>796217
#330 #796217
>>796190
Ты даун? Как ты проект собирал, если не знаешь, что у тебя в app/build.gradle?
Создай новый проект и оттуда скопируй.
>>796239
#331 #796239
>>796217
там всё был стандартно, я туда не лез
>>796297
#332 #796296
>>796148
Взлетит. Парси хтмл регекспами.
>>796303
#333 #796297
>>796239
Дебил. Гит еще наверно не знаешь?
#334 #796302
Ведроиданы, кто-то делал vpn-клиенты для нашей нелюбимой платформы? Можете подсказать куда копать, для того что бы перехватывать трафик и перенаправлять его на выбранный vpn сервак?
>>796307
#335 #796303
>>796296
Лучший совет в треде.
На самом деле можешь попробовать, но парсить html надо явно не регекспами. Это локальная шутейка.
>>796306
#336 #796306
>>796303
Парсить хтмл не нужно. Тем более на стороне клиента.
>>796311
#337 #796307
>>796302

> перехватывать трафик


штоа?
>>796310
#338 #796310
>>796307
Ну я так понял что всякие vpn клиенты для ведра берут трафик, шифруют его и ведут к адресату через доверенные сервера, собственно за это им и платят.
>>796415
#339 #796311
>>796306
Ну а как ему быть если у него нет доступа к API.
>>796417
#340 #796415
>>796310

> Ну я так понял


Не делай свой VPN-клиент, пожалуйста.
#341 #796417
>>796311
Парсить на сервере. А еще лучше не делать такое приложение. Всё равно, из Play-маркета пидорнут.
>>796618
#342 #796432
Наконец-то пришло обновление андроида, где исправлен баг с кнопкой "разрешить" в runtime permissions. Теперь она начала нажиматься!
При попыткеразрешить доступ к мультимедиа в приложении Pikabu я получаю совершенно неизвестный, непонятный диалог:
"Сначала разрешите наложения" - какие нахуй наложения? Я хочу гифку с котиком сохранить!!!
В списке "наложения поверх других окон" нет приложения pikabu.

Ни один пользователь не поймёт о чём идет речь и что делать.

Так что, ставим target sdk version 22 и никуда не спешим. Сделать хуже - всегда успеем.
>>796458>>796463
#343 #796438
>>795872
Есть Java-порт.
#344 #796458
>>796432
Что за шизофазия? Иди нахуй со своим пикабу.
>>796463>>796519
#345 #796463
>>796432

> исправлен баг с кнопкой "разрешить" в runtime permissions


Давай ссылку на issue в баг-трекере Андроида.

> Теперь она начала нажиматься


Она и до этого нажималась. Дай угадаю: девайс от Самсунга?

> "Сначала разрешите наложения"


Что блядь? Это диалог из твоего васяноприложения, а не системный.

> Так что, ставим target sdk version 22


И наслаждаемся пониженным рейтингом в Google Play, еблей со старыми багами и взглядами как на говно со стороны коллег.

Резюмируя, я солидарен с этим коллегой: >>796458
>>796519
#346 #796469
Здравствуй,анон.Делаю приложение,в нем должна быть возможность смотреть видео из VK.VK API может возвращать ссылку на mp4.Посоветуй, пожалуйста, библиотеку, которая может его грузануть и показать.
>>796500
#347 #796500
>>796469
VideoView
#348 #796519
>>796458
>>796463
Такое впечатление, что вы думаете, что вас пытаются наебать.
Ссылка на трекер: https://code.google.com/p/android/issues/detail?id=213120
Не работали все диалоги запроса разрешений.

>Она и до этого нажималась


Жопой читаешь?

>Дай угадаю: девайс от Самсунга?


Не надо гадать, это не секрет: Линейка Nexus и неизвестно сколько еще устройств.

>Что блядь? Это диалог из твоего васяноприложения, а не системный.


Системный диалог. И да, я не пытаюсь никого обмануть.

>И наслаждаемся пониженным рейтингом


Низкий рейтинг будет когда едениц в рейтинг понаставят из-за хуевой юзабилити. Пользователи по большей части не хотят разбираться, а хотят гифки с котиками сохранять и чтобы всё работало.
#349 #796618
>>796417

> Всё равно, из Play-маркета пидорнут.


Почему?
>>797007
89 Кб, 728x1078
#350 #796621
Пытаюсь сделать приложение-будильник, нужно чтобы оно запускалось в нужный момент из всех возможных жоп сна, которые бывают в андроиде, а также не должно давать пользователю уйти от будильника путём закрывания приложения.
В общем, у меня стартует RingingActivity, который в свою очередь стартует сервис и потом если надо выключает музыку через него. Если активити убить, сервис всё равно продолжает играть, тогда нужно запустить приложение вновь, и из него выключить сервис.
Были проблемы с запуском из режима сна, не могу ничего понять с Wake Lock-ами, тыкал их везде, но ничего всё равно не работает. Потом прочитал, что надо делать через BroadcastReceiver, иначе нет гарантии, внутри ресивера просить WakeLock. Потом ещё нашёл WakefulBroadcastReceiver, который должен автоматически делать всё за меня.
Теперь всё работает (правда экран тёмный и не могу его включить), внутри onReceive я просто стартую RingingActivity. Посмотрел в код WakefulBroadcastReceiver и смутился - по-видимому он создан только для запуска сервисов методами startWakefulService и completeWakefulIntent. Нормально ли использовать его так, как это делаю я?
Как сделать чтобы запускаемая активити включала экран?
#351 #796625
>>796621
Вообще, я хотел бы написать пару таких же хуёвых приложений и пытаться апплаиться на джуниора, поэтому хотелось бы чтобы мой код был более-менее идиоматичным, а не забиванием гвоздей дилдами. Нормально ли вообще запускать сервис параллельно с активити, цепляться к нему через bindService и управлять сервисом из активити?
#352 #796626
>>796621
Посмотри гугловский будильник в сорцах ведра.
>>796678
#353 #796672
как вкатится в rx?
#354 #796678
>>796626
Пиздец какой-то, я прочитал Android nerd ranch guide и покатался по юдасити курсам, но в этой параше не могу понять почти ничего. Может дело в том, что код 2009 года. Даже не верится, что у меня с моими 3.5 классов что-то работает.
Но вообще, спасибо. По-видимому WakefulBroadcastReceiver мне не нужен, он только для сервисов, а в моём случае по-видимому он помог потому, что любой BroadcastReceiver по какой-то причине будит телефон лучше, чем просто активити. Гугл тоже использует активити, просто берёт wakeLock в BroadcastReceiver, а освобождает где-то в активити.
#355 #796685
>>796621

>стартует активити из сервиса


лол
>>796687
#356 #796687
>>796685
Точнее наоборот, лол
>>796698
#357 #796698
>>796687
Ну мне надо показать экран с залупой, и начать играть музыку. Если на залупу нажать - музыка прекращается. Если из приложения выйти - музыка продолжается фоном. При старте приложения при играющей музыке сразу открывается экран с залупой.
Как это ещё можно сделать?
35 Кб, 284x280
87 Кб, 759x587
First glimpse of Kotlin 1.1: Coroutines, Type aliases and more #358 #796718
>>790312 (OP)
Котятки, а вы в курсе, что уже выкатили первую тестовую версию Kotlin 1.1?
https://blog.jetbrains.com/kotlin/2016/07/first-glimpse-of-kotlin-1-1-coroutines-type-aliases-and-more/

Из главного: async/await + type aliases + передача ссылок на методы как лямбд

Вот мои эксперименты с async/await на Android: http://pastebin.com/1vaxkNaK

Там я качаю HTML страницу, нахожу title, перевожу в UpperCase и вывожу в TextView.
Как видите запрос идет в фоновом потоке, но никаких handle/looper/postOnUi и тд использовать не пришлось.

Сделал в двух вариантах с обработкой ошибок:
1) В духе C# с try/catch блоком (асинхронные ошибки туда прокидываются нормально)
2) В функциональном стиле с самописной монадкой на исключения.
#359 #796736
>>790312 (OP)
Как называется такая хуйня, когда тянешь картинку вверх или вниз и она пропадает, т.е. выход из просмотра картинка. Как гуглить туториал по этой теме?
>>796737
#360 #796737
>>796736
из просмотра картинок
#361 #796740
>>796718

> пастбин


У тебя же вьюха утечёт, не? Rx хоть сансабскрайбить можно, а как авейт твой останавливать?
>>796748>>797326
#362 #796748
>>796740
Во первых, это код для примера.
Во вторых, просто не надо давать ссылки (делать замыкания) на активити из web запросов.
С ними надо общаться через бродкасты, а через колбеки можно делать только запросы к диску.
>>796761>>797326
#363 #796761
>>796748
Так как асинхронную цепочку останавливать? Через выброс эксепшона? Дорого же.
>>796769
#364 #796768
>>796718

>async/await


ох бля, нужно было подправить немного C# код, как же я наебался с этой хуйней
#365 #796769
>>796761

> Так как асинхронную цепочку останавливать?


В общем случае (мелких запросов к вэбу) не надо останавливать.
Так ты только вносишь дополнительную сложность, необходимостью правильно вернуть систему в 0 состояние из N твоих точек остановки.

> web запросы


> Через выброс эксепшона? Дорого же.


В каком месте? Ты сейчас бенчмарк у себя в голове придумал и прогнал.
Если тебе это дорого делай как в C# через CancellationTokenSource
https://msdn.microsoft.com/ru-ru/library/jj155759.aspx?f=255&MSPPError=-2147217396

P.S.
Если тебе еще что-то непонятно, читай
https://github.com/Kotlin/kotlin-coroutines/blob/master/kotlin-coroutines-informal.md
https://msdn.microsoft.com/ru-ru/library/hh191443.aspx
#366 #797003
>>796718
Нахуя, когда есть Rx?
#367 #797007
>>796618
За нарушение прав.
>>797019
#368 #797019
>>797007
Каких прав? Парсить публичные веб-страницы запрещено? А почему использование api не запрещено?
>>797024
#369 #797024
>>797019
Если API публичное, то нет.
>>797060>>797304
#370 #797060
>>797024
А если у меня скраппер в бд с рест апи к ней? При этом я везде указал, что это неофициальное приложение.
>>797082
#371 #797082
>>797060
Пока у тебя будет полтора пользователя, всем будет насрать. Если их станет больше, то всё равно пидорнут.
9 Кб, 170x280
#372 #797207
Собираюсь залезть в ведро. Стоит ли учить джаву, если я собираюсь разрабатывать игры-говноподелки. Учтите, что есть друг, работающий юнити+сисярп.
>>797243>>797298
sage #373 #797243
>>797207
Лучше Хаскелл.
#374 #797298
>>797207
Стоит.
#375 #797304
>>797024
А данные, отдаваемые сервером, — не публичные?
Чем публичный API отличается от не-публичного, кроме заявления создателей, что оно публичное?
>>797334
#376 #797326
>>796748
>>796740

> У тебя же вьюха утечёт, не?



Вообще справедливый вопрос, вьюха полюбому замыкается в продолжении (continuation), чтобы ты после await смог сделать text1.text = результат_await
#377 #797334
>>797304
>>797304
Именно этим и отличается. Если я выложу какие-то исходники на Гитхаб под свободной лицензией, ты можешь делать с ними что угодно (в рамках этой лицензии).
Если я их просто выложу, и напишу ЭТА ВСЁ МАЁ НЕ ТРОГОЙТЕ, то те, кто будет их использовать, будут нарушать мои права.

У Гугла всё это вообще автоматически происходит. Выписываются баны приложений, страйки на ютюбе и т.д. Причем ты никогда не узнаешь, за что именно, тебя просто заблокируют. Можешь почитать например на Хабре истории общения с техподтержкой Гугла.
>>797437
#378 #797437
>>797334
Я прекрасно понимаю суть свободных лицензий. Однако это вообще не к месту сейчас, мы совсем о другом говорим. Более того, я ни разу не видел, чтобы к API была приложена лицензия, следовательно, любое такое API всё равно нельзя использовать независимо от того, публичное оно или нет.
>>797475
#379 #797475
>>797437

> я ни разу не видел


> следовательно


Ты совсем поехавший?
>>797499
#380 #797499
>>797475
Найс переход на личности.
Написанное далее относится к API без лицензии. Учись читать.
158 Кб, 1171x842
#381 #797683
Привет, котаны.
Есть grid layout 3x3. Как сделать так, чтобы колонки таблицы по ширине занимали всё место на экране?
Сейчас только по высоте занято всё место, путем установки параметра layoutRowWeight = 1 каждому FrameLayout.
>>800324
#382 #797708
А есть какие-нибудь "умные" конвертеры json -> pojo, которые создают вменяемое количество классов, ну, или на крайняк хотя-бы вложенные статики используют, чтобы не приходилось 30 минут тратить на копипаст ?
>>797738>>797752
#383 #797731
Двач, привет! Я почти доделал своё приложение а-ля медуза, в котором пизжу статьи с сайтов.

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

Этого пидора с свидео не предлагать
https://www.youtube.com/watch?v=DCo_1nsxeY0
>>797747
#384 #797738
>>797708
Чем тебе gson кроме рефлексии не угодил?
#385 #797747
>>797731
Я когда-то упоролся и спарсил при помощи json сайт гей знакомств. Потом сделал всякие графики.
#386 #797750
Двач. Можно создать listView поверх ListView, но так, чтобы его не было заметно?
Например, один лист вью с текстами, которые видно. тИпа
1. Вася
2. Петя
3. Дима
4. Костя

А поверх него "невидимый" листвью"(прозрачный), но по сути, реагирует новый листвью. Допустим, мы не видим такую же фальшивку
1. Яна
2. Катя
3. Соня
4. Таня

И вот юзер нажимает на 2-ю позицию(он думает, что это петя), а ему тут ХУЯК и Катя открывается.
>>797756
#387 #797752
>>797708
Я пользуюсь https://timboudreau.com/blog/json/read
Его огромное преимущество, что он генерирует immutable классы.

Кстати, они потом конвертируются в очень компактные "data class" котлина.
>>797820
#388 #797756
>>797750
Вопрос только зачем, а так можно конечно, только в onScroll передавай smoothScroll
>>797758
#389 #797758
>>797756
Спасибо, действительно удобный сервис
#390 #797791
Парни, как теперь получить ссылки кликабельные?
Вот код, сайт скрыл

http://pastebin.com/nTJMjmjn
19 Кб, 360x270
#391 #797798
>>797791

> AsyncTask


> Jsoup

>>797831
#392 #797804
Какого хуя тут считают, что в ведроиде зп нищенские по сравнению с тырпрайзом? Я на хедхантере только у топов разницу видел.
Алсо, как сейчас с рыночком в РФ, котаны? Реально вкатиться в ДС-2 с двумя приложениями в маркете, и парой месяцев опыта на большой джаве?
>>797807
#393 #797807
>>797804
Нереально. Вакансий нет. Джава всё. Андроид переходит на Свифт. Уж лучше джаваскрипт учить, там хоть какая-то стабильность.
>>797823
#394 #797820
>>797752
Кхм, прикольно, но чет он мой джсон не переварил например. А он валидный.
#395 #797823
>>797807

>Андроид переходит на Свифт


:^)
Ты успокоишься когда-нибудь? Какого черта ты срешь в двух тредах сразу?
#396 #797831
>>797798
делал по гайдам)
#397 #797859
>>797791
В чем конкретный вопрос?

Если ты про "как из html...", то
doc.select("a")
#398 #798170
сап аноны, в общем я тут перекатился в андроид, в понедельник выхожу на работу. Там все работают на маках а я его в глаза не видел. Есть какой нибудь годный мануал типа ос экс для чайников в сети?
//экс-решеточник
>>798207>>798219
34 Кб, 800x450
#399 #798207
>>798170
Да не парься, там все интуитивно понятно.

Лучше Android Studio / Kotiln подучи.
#400 #798219
>>798170
Анус побрей.
#401 #798245
Что если некоторые ключи настроек берутся из string ресурсов? Нормально если сделаю не final PREF_KEY_* и заполню их в onCreate апликейшона? Или как лучше?
Надо для prefs.xml'ей.
>>798267>>798399
#402 #798267
>>798245
Ключи настроек никогда не меняются.
Не надо плодить лишние константы, пиши прямо так:
sp.getBoolean("gps_enabled", false)
Если совсем прям припрет поменять имя ключа в .xml, то заменишь руками в коде.
Если у тебя загрузка одной и той же настройки используется 1000 раз - здесь что-то не так.
Настройки надо грузить:
1) При инициализации
2) Внутри onSharedPreferenceChanged из SharedPreferences.OnSharedPreferenceChangeListener
>>798399
#403 #798335
Ананасы, какой датчик использовать для снятия вращения вокруг одной оси, как руление в гонках?
>>798341
#404 #798341
>>798335
Акселерометр.
>>798347
#405 #798347
>>798341
А гироскоп с магнитометром нахуй не нужны? Этот акселерометр сильно зашумлен, даже Калманом не приводится в нормальный вид.
#406 #798351
Java тред не дышит что-то, задам вопрос здесь:

Сап, джава-господа. Пробую одну вещь, а именно собрать лист ссылок с сайта. Взял себе на пробу сайт, ссылки вытащил.
Но они в разброс. ТО есть, первая новость на сайте почему-то не первая в списке, а где-то в середине.
Понимаю, что теперь мой лист нужно отсортировать. Сделать это в целом просто, ведь в середине каждого стринг в листе есть дата. Но календарь юзать тут не надо. Просто отсортирую по какая меньше-какая больше. Вот код, которым я получаю ссылки.
http://pastebin.com/dRjvtp3i
Вот то, что я получаю.
http://pastebin.com/Qvm5PsD8
Вот то, как выглядит дата:
2016/04/26/
Из неё я буду вытаскивать месяц и число.

Подскажите, чем сортировать и как это сделать?
Это решение, конечно, похоже на костыль, а если ещё и дальше делать, то больший костыль, но всё же это попытка и я хотел бы доделать её.

Спасибо, Анонимусы
>>798361>>798519
#407 #798361
>>798351
Зачем ты сет используешь? Ты знаешь что есть сет? Возьми ArrayList или LinkedHashSet если действительно нужен сет.
>>798365
#408 #798365
>>798361
>>798361
нет, не знаю. просто нашел работающий способ, который помог мне убрать дубликаты из результатов. потому что ссылки, почему-то, было по 3 и более.

Так что, если отвечать зачем, отвечаю: убрать дубликаты
>>798377
#409 #798377
>>798365
HashSet - несортированный набор. Ты копируешь значения листа в сет, вычищаешь лист, копируешь сет обратно в лист. Лист при этом вытаскивает значения из сета в случайном порядке. Для одноразовой операции такое сгодиться, но у тебя цикл. Quickfix - замени HashSet на LinkedHashSet, не будут перемешиваться.
Вообще для небольшого скрипта брать жаву смысла мало.
>>798397>>798405
#410 #798397
>>798377
Сейчас попробую, спасибо.
#411 #798399
>>798267
>>798245

> пиши прямо так: sp.getBoolean("gps_enabled", false)


Никогда так не делай.

Вариант минимум - константы. Но лучше сохранять ключи в res/strings.xml и указать у них аттрибут translatable="false".
>>798430>>798434
16 Кб, 480x360
#412 #798405
>>798377

> сгодиться

#413 #798430
>>798399
Нет смысла. Ключи никогда не меняются.

>лучше сохранять ключи в res/strings.xml и указать у них аттрибут translatable="false".


Оверхед. Много писанины, опять же надо помнить названия ключей. Вызовы getString.
>>798434>>798445
#414 #798434
>>798430
>>798399
Если что - я попробовал все 3 способа в проекте с ~20 настройками.
Оказалось, что за полгода (разработка и поддержка) менять названия ключей не пришлось ни разу.
Добавлять новые и удалять старые - вот это было.
>>798445
#415 #798445
>>798430
>>798434
Пишешь говнокод. Не пишешь тесты. Агитируешь других поступать так же.
Понятно.
>>798454>>798464
#416 #798454
>>798445
Во всех трёх способов кроме удвоения кол-ва названий ключей нет никакого различия.
В некоторых случаях добавляется всякий оверхед, в виде загрузки строк из xml.
>>798459
#417 #798459
>>798454

> всякий оверхед


Дай угадаю, ты еще и enum'ы презираешь, используя вместо них int-овые константы?
>>798462>>798467
#418 #798462
>>798459
Не надо угадывать. Нет, использую enum.
Лучше расскажи, как тонны лишних строк с названиями ключей помогут тебе в тестировании.
#419 #798464
>>798445

>2016


>писать тесты



Никогда не понимал, нахуя это нужно.
#420 #798467
>>798459

> используя вместо них int-овые константы


Почему бы и не использовать, если есть @IntDef, и это рекомендации гугла.
>>798488
#421 #798470
>>798464
Очень нужно, но есть нюанс:
если код завязан на железо - тесты уже не напишешь (обмен через Bluetooth с носимым гаджетом)
>>798471
#422 #798471
>>798470

>Очень нужно


Ок.
#423 #798474
>>798464
Чтобы обнаруживать регресс.
#424 #798488
>>798464

> Никогда не понимал, нахуя это нужно.


Вон из профессии, быдло.

>>798467

> Почему бы и не использовать


А почему бы все переменные не хранить как String?

> и это рекомендации гугла


Вот и пиши по этим рекомендациям лапшеобразный код с AsyncTask'ами, ContentProvider'ами, HttpURLConnection, венгерской нотацией и прочими радостями. Флаг тебе в руки.
>>798498>>798507
#425 #798498
>>798488

>Пок-пок-пок


Тестоблядь закукарекала.
#426 #798507
>>798488

>AsyncTask'ами


Поясни за альтернативу.
>>798510
#427 #798510
>>798507

>не знает альтурнатив асинктаскам

>>798516
#428 #798516
>>798510
Так ты тоже не знаешь.
>>798520>>798583
#429 #798519
>>798351
1)
Нахрен у тебя там цикл?
for(int i = 0;i<11;i++){

2)

> первая новость на сайте почему-то не первая в списке,


Тебя глючит, они приходят правильно отсортированные
>>798613
#430 #798520
>>798528
#431 #798528
>>798520
Я же тебя не про котлин спрашиваю, а про альтернативу AsyncTask.
Сейчас выгодно использовать проверенные инструменты, т.к. граблей и гугл достаточно подкидывает.
>>798551
74 Кб, 448x500
#432 #798551
>>798528
Извини, неудержался
>>798564>>798578
#433 #798564
>>798551
Так-то он прав. Эта ебаная сдк перманентно забагована, то и дело попытавшись заюзать новый инструмент из стандартного набора плюешься, что уже говорить про всякие реалмы у которых каждый месяц - громадный фикс багов. Это показатель не того что они пиздатые, а того что технология дерьмо.
52 Кб, 800x600
#434 #798578
>>798597
#435 #798583
>>798516
Так нахуй? У меня отдельные классы для получения дерьма из инетов, кеширвоания в бд и отображения. Мне твой асинк таск не уперся.
>>798601
431 Кб, 1920x1080
#436 #798591
Господа, не надо устраивать срач. Полно инструментов есть: Loader, RxJava, ListView вместо RecyclerView.
На любой вкус!
>>798595
#437 #798595
>>798591

>ListView вместо RecyclerView


Толсто. Пидор.
#438 #798597
>>798578
Пиздеж.
>>798634
#439 #798601
>>798583
Ну то есть ты переизобретаешь Loader?
>>798603
#440 #798603
>>798601
Нет. Я твоего батьку ебу.
>>798607
#441 #798607
>>798603
Всё время забываю, что у вас сейчас каникулы.
#442 #798613
>>798519
Спасибо, Анон, за замечание о цикле. Сам не знаю, нахуя вставил. привык массив циклом заполнять, вот нахуя-то и вставил.
My fault.

А приходили несортированные, инфа сотка. в моём посте есть подтверждение, посмотри даты)

Но LinkedHashSet всё решил)
>>798617>>798621
36 Кб, 604x368
sage #443 #798617
28 Кб, 486x319
74 Кб, 907x218
#444 #798621
>>798613
Твой сломанный порядок из-за того что ты используешь Set для временного хранения данных.

Без сетов там порядок, как на сайте. Пруф на пикрил.
#445 #798634
>>798597
Зачем мне врать рандомным анонам? Нет. Не пиздеж.
>>798646
#446 #798646
>>798634
Ты долбоёб просто. Все уже на 24-й версии, у всех всё работает.
>>798679
#447 #798657
После включения ProGuard появились странные баги при замене одного фрагмента на другой. Старый фрагмент остаётся на месте (вернее, его изображение, так как на нажатия он не реагирует), а новый фрагмент показывается под ним.
Отключю его - всё норм, включю - опять такая же фигня.

В чем может быть проблема? В логах всё чисто, никаких ошибок или предупреждений.
>>798680>>798684
#448 #798679
>>798646
Проверю - сомневаюсь, 100% есть новые баги.
#449 #798680
>>798657
Проблема в Proguard.
Выкинь его нахуй.
>>798692
#450 #798684
>>798657
Хрень какая-то. Логай onDetach фрагментов. Если там не сделано какой-то шняги с рефлексией, то прогвард помешать не мог. Попробуй локализовать проблему в отдельном проекте.
#451 #798692
>>798680
Надо настроить, а не отключать нахуй.
#452 #798696

>Коротко о главном:


>1) Мобильная разработка - это весело.


Это точно. Я уже четвертый день ябусь с QtCreator, который упорно не хочет проходить этап Build Android Apk.

01:48:29: Выполняются этапы для проекта application...
01:48:29: Настройки не изменились, этап qmake пропускается.
01:48:29: Запускается: «C:\MinGW\bin\mingw32-make.exe»
mingw32-make: Nothing to be done for 'first'.
01:48:29: Процесс «C:\MinGW\bin\mingw32-make.exe» завершился успешно.
01:48:29: Невозможно запустить процесс «mingw32-make» "INSTALL_ROOT=C:\Qt\5.2.1\android_armv7\examples\widgets\mainwindows\application\android-build" install
Ошибка при сборке/установке проекта application (комплект: Android для armeabi-v7a (GCC 4.9, Qt 5.2.1) )
Во время выполнения этапа «Копирование данных приложения»
01:48:29: Прошло времени: 00:01.

Это с галкой расширенного вывода. Пытаюсь собрать хотя бы один из примеров. Что может быть не так? SDK, NDK, ANT - самые свежие, что дают на сайтах. Или Все дело в винде?
#453 #798702
>>798696
В чём профиты QT?
Используй Android Studio & Java.
>>798706
#454 #798704
>>798696

> Windows


> MinGW


Да ты вообще больной человек
>>798708>>798710
#455 #798706
>>798702
Например в том, что я полный нуфаг и учил вообще питон. И QT более-менее знаю. И не успокоюсь, пока не запущу свой говноскрипт на ведроиде. А потом уже засяду за изучения джавы, наевшись говна.
Жуткий пердолинг, конечно, но как-то же собирают apk в креаторе, а я не могу даже стандартный пример.
#456 #798708
>>798704
VS не вышло прикрутить чет. Хотя, надо попробовать еще раз.
#457 #798710
>>798704
Да и обычные приложения с его помощью вполне себе собираются.
#458 #798771
>>798696
Проверил наличие папки android-build. Ее нет. А если создать, повторyый запуск build сжирает ее. WTF?
CompletableFuture для Android 4.1 и выше #459 #799500
Кто нибудь может предложить нормальный бэкпорт CompletableFuture для Android?
RxJava не предлагать, с него как раз и ухожу.

Нашел вот это чудо https://github.com/streamsupport/streamsupport
, но оно тащит за собой еще 900KB stream-API, которое мне нафиг не упало.

Можно конечно поиграться с минимайзером, но проще дождаться jake&jill,
там вроде тоже будет бэкпорт стиримов и CF
>>799510>>799512
#460 #799510
>>799500

> бэкпорт CompletableFuture


> с RxJava ухожу


Ты ебанутый?
>>799523>>799528
#461 #799512
>>799500
Нашел еще Guava ListenableFuture
https://github.com/google/guava/wiki/ListenableFutureExplained
, но там опять таки придется тащить 2MB лишнего барахла.
#462 #799523
>>799510
С жиру бесится.
#463 #799528
>>799510
После более года использования RxJava на Android (и полугода в C#/Xamarin), я могу делать ясные выводы:

1) Observable<T> несовместим с жизненными-циклами активитей/фрагментов.
Очень неудобно, что "по хорошему" каждый Observable надо явно отписывать (что бы избежать утечек),
тк “по умолчанию” они бесконечные и не было контракта, который явно бы говорил что Observable одноразовый.

В RxJava поняли эту проблему и ввели явные контракты на одноразовые действия: Single<T> и Completable.
Но проблема в том что они плохо совместимы между собой, у них разные интерфейсы для связывания, нет общего абстрактного предка.

2) Из-за множественной подписки, RxJava хорошо работает только с Cold Observable, а это оказалось МНЕ вообще не нужно.
http://www.introtorx.com/content/v1.0.10621.0/14_HotAndColdObservables.html

3) Последней точкой стал выход Kotlin 1.1 с поддержкой async/await.
Да там есть поддержка и RxJava https://github.com/Kotlin/kotlinx.coroutines/tree/master/kotlinx-coroutines-rx
Но лучше всего async/await ложатся именно на одноразовые асинхронные таски

В итоге мой вывод: одноразовые-“hot”-асинхронные-таски гораздо легче в использование.
Этим требованиям полностью удовлетворяет Java 1.8 CompletableFuture, вот только на Android его нет (пока).

P.S.
Скоро выходит RxJava 2.0, я его посмотрел, но не нашел там нужных мне характеристик.
>>799999
#464 #799548
Аноны, как вы обрабатываете такую ситуацию, например, есть запрос, связанный с денежным перевод, т.е. он должен выполниться ровно один раз, юзаю rx + место, где observable живет. С переворотами, закрытием и открытием рпиложения всё ок, но когда андроид убивает приложение, то всё становится хуёво. Как быть?
>>799554>>799581
#465 #799554
>>799548
IntentService
#466 #799581
>>799548
В чем проблема сохранить в permanent-storage (sharadepref/sqlite) состояние транзакции?
>>799583>>799631
#467 #799583
>>799581
А потом ебаться с синхронизацией всех этих транзакций, да?
>>799592
#468 #799592
>>799583

> всех этих транзакций


У тебя их что больше одной за раз?

Нет такого "волшебного апи", которое запретит Android убить твое приложение.
Даже "sticky" service, андроид может убить, он только гарантирует что потом его вызовет снова.
>>799602>>800620
#469 #799602
>>799592

> У тебя


Я другой анон.

Но транзакций легко может стать много, если дейстовать как ты говоришь. Вдруг, на сервере что-то изменилось, или юзер с другого устройства что-то сделал. Или оффлайн-действия всякие.
#470 #799631
>>799581
Ну например сделался запрос, я сохранил в бд какой то тэг запроса и время, да? А как потом отследить, что новый делать не надо, я что-то не догоняю.
>>800000
#471 #799681
Есть какой нибудь сайт типа соревнования по разработке андроид прилаг, типа дают задания и спеки и кодеры начинают быдлокодить прилагу?
>>799712>>799717
#472 #799712
>>799681
поехавший?
>>799727
#473 #799717
>>799681
Попробуй работу поискать, тебе там дадут тестовые задания
>>799727
#474 #799727
>>799712
нет ты
>>799717
Нахуй шлют без опыта, да и выходить из дома не хочу.

На фриланс хуй без мыла и разработаной жопы пролезешь, да и почти везде хотят еще и ios.

Своих оригинальных идей нет, а писать 9999999 todo или трекер привычек, программу заметок, нативный сервак двача, калькулятор и прочую чухню впадлу.
>>799745>>799996
#475 #799745
>>799727
Ну тогда дальше сиди дома и смотри анимэ. Не знаю, что тебе еще посоветовать.
#476 #799996
>>799727
Ссук, чем тебе написать программу заметок впадлу?! Не нашел ни одной когда надо было (невырвиглазную, с виджетом на хаумскрине и синхронизацией в какое-нибудь открытое место). Так и пользуюсь дефолтным самсунговским memo.
#477 #799999
>>799528
я нихуя не понял. я тупой?
>>800028
#478 #800000
>>799631
у сервера спроси
>>800246
#479 #800028
>>799999
Нет, ты просто нюфаг да еще и знаю что это не гет гетодрочер
#480 #800246
>>800000
а типо и у меня, и у сервера должен быть какой нить transcation id, да?
#481 #800255
Сап, двач!
Нужно получить ссылку в Toast по клику.
Лист с ссылками вот. можно посмотреть:
http://pastebin.com/cm2Q5E0T
Как теперь его привязать - ума не приложу.
прописывал в онИтемКликЛистенер list1ofLinks.get(position) - ошибка.
Писал в онКриэйт - ошибка.
Создал метод, который на старте собирал внешний(вне метода) лист - всё равно ошибка.

Как поступить?
Или нужно создавать потоки/асинк таск?
ЧЯДНТ?
#482 #800283
>>800255
разобрался сам с помощью нового класса и асинк таск. спасибо, двач!)
>>800313
#483 #800313
>>800255
>>800283
Забудь про тост и используй snackbar.
>>800353
#484 #800324
>>797683
используй grid:layout_columnWeight="1". И эта хуйня ЕМНИП работает только с грид лейаутом из суппорт лайбрари
#485 #800338
Использовали ли вы лоадеры? Если да, то использовали сразу или переходили с чего-то другого? Упростили ли они вам жизнь и насколько? Какую проблему они решают по сравнению с альтернативами?

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

До сих пор я использовал асинкТаски и иногда сервисы, еще глядя в сторону rx. Лоадеры отпугивали тонной бойлерплейта.
>>800394
#486 #800353
>>800313
В чём отличие, друг?
Гугланул, нашёл вот это.

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

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

Мне это пока не надо, так зачем он мне?)
>>800389
#487 #800389
>>800353
С источником на русском от какого-то Васяна ты сразу идешь нахуй.
>>800391
#488 #800391
>>800389
о, любитель читать на английском всё то же самое и ставить себя выше других из-за того, что "не такой как все" порвался
>>800400
#489 #800394
>>800338

> нужно дополнительно имплиментить три метода коллбэка лоадера.


> Лоадеры отпугивали тонной бойлерплейта.


Ах, какая большая работа, целых 10 строчек кода!

> Правильно я понимаю что лоадеры и их дата помирают вместе с активити


Нет, неправильно. То есть ты прочитал пять частей какого-то говна и так ничего не понял?

Сочувствую.
>>800474
#490 #800400
>>800391
Если ты не в состоянии элементарное описание компонента найти и прочитать, а только чьи-то высеры цитируешь, о чем с тобой можно говорить?

И вообще представь себе, что в этой профессии нужно много искать информации и читать. Книги, статьи, туториалы. И в большинстве случаев на английском. Если ты этого осилить не можешь, то может пора пойти вон из профессии? Улицы грязные, щебень не разгруженный. Найдешь, чем заняться.
>>800402
#491 #800402
>>800400
зачем читать на ангельском, если есть уже адаптированный русский текст?

В случае, если инфа по библе/инструменту есть только у буржуев, то да, английский нужен. К слову, я его знаю и часто читаю в оригинале.

Так что не кичься своими знаниями, ты тут не один такой.
Лучше расскажи, почему надо snackbar юзать?
>>800404>>800411
#492 #800404
>>800402
Потмоу что новый, а тосты нимодные и нималадежные.
>>800410>>800417
#493 #800410
>>800404
Спасибо. Тогда мож ваще нахуй с жабы и ведроида убегать? Жаба ведь тоже не модная
#494 #800411
>>800402

> ПОСОНЫ Я ПОПРОБОВАЛ ЕНТОТ СНЕКБАР, ЧЕ-ТО ФИГНЯ КАКАЯ-ТО, НЕ ИСПОЛЬЗУЙТЕ ЕГО


> адаптированный русский текст


Флаг тебе в руки.
>>800419
#495 #800414
>>800410
Верно. Джава умирает. Самое время учить JS.
#496 #800417
>>800404
азаза затроллел))))
#497 #800419
>>800411
да не. выглядит прикольно и фич поболе, чем в тоасте.

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

В случае необходимости заюзаю снэкбар. особенно если захочу стать материал десигн дрочером
#498 #800421
>>800410
Ты правильно мыслишь. Видимо ты не совсем пропащий.
#499 #800423
>>800255
А, так это ты тот даун с Jsoup и AsyncTask'ами в onCreate()? Тебя же еще вчера обоссали. Добавки захотел?
>>800446
#500 #800431
>>800410
Так и есть. Грустная истина, но JavaScript уверенно шагает по миру. На нём сейчас вообще что-угодно пишут, а в будущем влияние только усилиться.
Вот пример из мобайла: наша студия делает нативные приложения для Android/iOS. Но в последнее время стало сложнее находить заказы. Все уходят туда, где им сделают кроссплатформенное приложение на ReactNativ'е за чуть меньшие деньги, но раза в полтора быстрее. Так что, думаю, скоро и нам перекатиться придётся.
>>800448>>800464
#501 #800437
юхуу, идём ко дну!
#502 #800446
>>800423
>>800423
где ты тут видишь онКриейт, поехавший?
>>800458
#503 #800448
>>800431
полагаю, что зная Java, перекатиться на JS будет не слишком трудной задачей
#504 #800452
С какой штукой можно посмотреть, насколько приложение грузит теплофон/смартфон?
>>800467
#505 #800458
>>800461
#506 #800461
>>800466
#507 #800464
>>800431
Пруф на реакт плиз. Не сильно верится. По моим ощущениям он еще дохуя сырой.
>>800471
#508 #800466
>>800461
@Override
protected void onCreate(Bundle avedInstanceState) {

// ...

new NewThread().execute();

}
#509 #800467
>>800452
В студии есть встроенные мониторы. Там процессор, память, гпу и нетворк.
>>800473
#510 #800471
>>800464
Пруф чего?

Да, сырой, глючный и вообще уёбищбный. Но позволяет очень быстро и дешево писать кросс-платформенные приложения. Сначала на уровне прототипа, потом как обычное.
>>800529
#511 #800473
>>800467
проглядел, пасиб
#512 #800474
>>800394
Спасибо.
#513 #800529
>>800471
Пруф того что кто-то согласен покупать такие приложения у разрабов. Или вакансий с реактнэтивом.

>быстро и дешево


Для молодых технологий как-то сомнительно.

>кросс-платформенные


Не гони, он нихуя не кроссплатформенный, другой дело что не нужно менять язык для того что бы писать под другую платформу.
>>800569
#514 #800569
>>800529
Да толстит он.
С xamarin еще все понятно, но на RN никто не будет заказывать продакшен приложения.
#515 #800620
>>799592

>Нет такого "волшебного апи",


startForeground
>>800623
#516 #800623
>>800620

>startForeground


> It is still theoretically possible for the service to be killed under extreme memory pressure from the current foreground application

>>800625
#517 #800625
>>800623
На экстремальном давлении пустил тебе струю за щечку.
>>800628
#518 #800628
>>800625
Шо ты бомбишь на пустом месте? Школьник штоли?
#519 #800649
>>790312 (OP)
Аноны, у меня есть лоадер, который отправляет сообщения на сервер, следовательно, юзер может отправить сообщения одновременно, но в таком случае лоадер возвращает результат только для первого сообщения, а если рестартить его, то только для последнего, что делать? Думаю инкрементить айдишник у лоадера, но это, наверное, слишком костыльно, что скажите?
>>800655
#520 #800655
>>800649
Лоадеры не предназначены для сетевых операций. Ты делаешь хуйню.
>>800742
#521 #800742
>>800655
не знаю, юзаю их в связке с rx, как писал чувак из елегиона на хабре, мне всё нравится
#522 #800935
пацаны, подскажите
вот есть метод, который воззвращает List<E>
допустим этот метод прописан в классе Anon
в мэйн активити делаю
Anon anon = new Anon();
anon.readList();
а теперь мне надо назначить имя этому List<E>, который вернул этот метод
как это сделать
я тупо уже основы джавы забываю сидя 8ой час за всей этой поеботой
>>800971>>801022
#523 #800971
>>800935

>


так сделай, например, новый лист и поставь его равным тому листу.
Или геттеры-сеттеры
#525 #801022
>>800935

> а теперь мне надо назначить имя этому List<E>, который вернул этот метод


Что ты несешь? Ты вообще программировать умеешь?

List<E> myList = new Anon().readList();
1018 Кб, 245x236
Чем заменить parse.com? #526 #808107
Репостну тут

Чем заменить parse.com?
Нарыл много статей со списками альтернатив, но реальных отзывов как-то не много. Я бы и простой бэкенд запилил на пыхе, но клиент хочет подешевле.
У кого есть отзывы по таким бекендам? Может какие-то подводные камни.
Ествественно хотелось бы подешевле, побольше бесплатных записей в базе данных, максимально простую конфигурацию, чтоб хуяк, хуяк и работало

Вот наверно самая большая конпиляция https://github.com/relatedcode/ParseAlternatives
И обсуждение на реддите
https://www.reddit.com/r/webdev/comments/435teq/parse_is_shutting_down_what_are_good_alternatives/
https://www.reddit.com/r/iOSProgramming/comments/436kcd/parse_alternatives/
Тред утонул или удален.
Это копия, сохраненная 11 августа 2016 года.

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

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