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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
25 Кб, 800x450
Разработка под Android тред №22 #774895 В конец треда | Веб
Продолжаем отвечать на охуительные вопросы ИТТ и верить в светлое будущее андроид разработки.

Предыдущий тред тут:
https://2ch.hk/pr/res/762039.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 #774899
ОП - хуй.
>>774900
#3 #774900
>>774899
Чего?
#4 #774976
Помощь всем ИТТ
telegram.me/AndroidChan
>>775149
#5 #775003
Является ли нормой навигация по папкам при помощи помещения фрагмента, который отображает список папок и их содержимое в backstack?
Т.к. внутри фрагмента нельзя переопределить onBackPressed.
#6 #775042
Чтобы вкатываться в прогинг под Андроид, нужно сначало досканально яву выучить или нужно учить именно андроид?
>>775047>>775071
#7 #775047
>>775042
Ява там на уровне 1.5 по большей части. Бери примеры, дрочи их, советуйся с документацией.
>>775071>>775074
#8 #775071
>>775047
ВРЕТИ
1.6, на 90% 1.7, а с помощью ретролямбды можно и немношко восьмерки.
>>775042
В целом обычная джава очень важна, но у андроида слишком много своих фишек.
>>775074>>775085
#9 #775074
>>775047
>>775071
А на яваскрипте под андроид как то можно писать? яваскрипт привычней
>>775075>>775082
#10 #775075
>>775074
Можно, но будет через жопу 100%. Самый нормальный вариант если на js это ReactNative.
Тебе сюда короч: https://2ch.hk/pr/res/774895.html#775047 (М)
#12 #775085
>>775071

>слишком много своих фишек.


И как печально что 90% из них это формо-шлепство
>>775092
#13 #775092
>>775085
А куда же без него? Но я говорил про IPC, Prarcelable, Bundle, Loader, Intent.
#14 #775094
Всем привет, ребя. Джава-кодер с 2мя годами enterprise разработки вещает: что почитать, где буудт обучать не яве, а именно работе ОС андроид, её API и т.д.?
>>775120
#15 #775096
>>774895 (OP)
Да ОП, либо твоя шапка - говно, либо тред полон дегенератов.
>>775126>>775154
#16 #775120
>>775094
а на куя тебя андройд? на тырпрайзе же бабла жопой ешь..
>>775138
#17 #775126
>>775096
И то и другое.
>>775154
#18 #775138
>>775120
Для личного развития.
sage #19 #775149
>>774976
Пошёл нахуй.
>>775152
#20 #775152
>>775149
На хуй твоя мамка хороша.
>>775155
#21 #775154
>>775096
>>775126
Причём второе является следствием первого.
>>775185
sage #22 #775155
>>775152
Каникулы, да?
#23 #775185
>>775154
Из шапки пора пидорнуть всякую шелупонь в стиле js. Алсо в шапке сразу отправлять игроделов в /gd, а "хочу писать на питоне/хаскеле/другое говно" нахуй.

Поэтапный гайд тоже какой то странный, сделать ссылку на dev.android.com более заметной, а то ее не осиливают найти.
>>775215
#24 #775205
Пацаны, платина. Что написать для тренировки и портфолио?
sage #25 #775211
>>775205
Стихи о весне.
#26 #775215
>>775185
JS лучше пока не трогать, ибо непонятно куда ReactNative выведет.
Тем более есть Clojure/Kotlin/Scala/TypeScript/... компилируемые в JS.

Лучше бы запилить FAQ из тупых вопросов (типа >>775205 )
>>775218
#27 #775218
>>775215

> кложур, скала, тайпскрипт


Если они есть, это не значит, что на них нужно писать. Кому он будет нужен на рынке со своей скалой вместо джавы и котлина.
#28 #775228
Господа, в ближайшее время мне выпадет возможность делать клиент такси для водителей и пассажиров. Единственное что меня смущает это то, что для водил предусмотрены специальные мобилки, со своей прошивкой, соответсвенно вопрос - есть ли где готовые образы, которые настроены на работу так, что можно звонить, получать смски, но жестко задан список допустимых пакетов (возможно с хешем)? Причем должны работать гугл плей сервисы. Если готовых штук нет, где можно почитаь как такое замутить?
>>775229
#29 #775229
>>775228
Тебе нужен свой лаунчер в котором выставлена опция "никого не пускать мимо меня", гугли, все в документации есть
>>775250
#30 #775250
>>775229
Понял, этого может хватить, впрочем в статье, которую я нашел, все-таки советуют свой ROM мутить, посмотрим сколько готовы за это заплатить.
>>775263
#31 #775263
>>775250
Можно замутить лаунчер с системными/root-привилегиями.

Я не уверен что ты осилишь собирать андроид из сорцов (это 50гб под одну сборку и собирается он минут 30 + установка на телефон).
А ведь нужно будет еще найти сорцы всех драйверов, конкретно под твою модель телефона и встроить их в сборку.
>>775266>>775271
#32 #775266
>>775263
Посмотрим, но если там так много геморроя то хуй я буду этим за 2к грязных бумажек заниматься.
#33 #775271
>>775263
Поподробнее пожалуйста, каким образом апликуха становится лаунчером? И значит ли это что кроме нее нихуя больше не запустится?
Где почитать?

А из сорсов собирать ведро это уже высшие материи.
>>775274>>775275
#34 #775274
>>775271
Лаунчер сделать это самое простое http://stackoverflow.com/a/8250581
А вот что-бы с него нельзя было уйти это уже хаки и многие из них не работают без системных привилегий.
>>775281
#36 #775281
>>775274
>>775275
Спасибо, интересно как оно на практике выглядит.
#37 #775372
>>775205
кароч, запили апп, который мониторит у кого в округе установлен такой же апп и стоит статут готов попиздеть. Захотелось тебе попиздеть, запустил апп, в радиусе км поискал чуваков, кинул им стикер yo, beer.
ну или придумай там приминение, например где сейчас барыга находится
#38 #775411
>>775372
Тут бекенд нужен
>>775511>>775579
#39 #775479
Можешь на файрбезе сделать.
#40 #775488
>>775372
Бля, ето топ!
#41 #775511
>>775411
Есть бесплатные БД для этого и при желании хостинги можно найти.
>>775659
#42 #775579
>>775411
Я могу написать бекенд.

>>775205-кун
>>775659
#43 #775621
>>775372
Дохуя глобально для портфолио.
#44 #775632
Конечно, порядком ахуел я от этого вашего андроид студио. Поддержку амд не завезли, класс, придется юзать костыли. Так эти костыли еще и недоступны: http://www.genymotion.com/
Что делать-то? Комп новый покупать? Ну не пиздец ли?
>>775660>>775732
#45 #775635
>>774895 (OP)
запилите легитимный набор костылей для Kotlin.
Я уже пересаживаюсь потихоньку. За 2 дня еле как все подключил и замутил пару активити.
В общем работает:

Realm + stetho
dagger 2
KotterKnife (лол)

пока все. На джаве я охуевал с прикольного плагина Android PostFixCompletion но щас не могу найти.
Lombok потерял необходимость.

Ну а так все уже зинатулин и его немецкий дружбан вроде пишут на них - думается можно уже перекатываться по полной (или я слоупок?)
#46 #775647
>>775635

> легитимный набор


> еле как все подключил


> замутил пару активити


> Realm


> stetho


Твоё мнение очень ценно для нас.
#47 #775659
>>775579
Я и сам могу его написать, но нахуя мне это для ведроид портфолио?
>>775511
Збс, я тебе не про цену говорю а про работу.
>>775663
#48 #775660
>>775632
Тести на телефоне, хули ты.
>>775701
#49 #775661
>>775635
Вот скоро ещё Gradle с груви на котлин перекатится, Петька, вот тогда заживём!
>>775664>>775720
#50 #775663
>>775659
Я спрашивал про свое портфолио, а не твоё, иди нахуй.
>>775665
#51 #775664
>>775661
Всегда просто ржу в голос когда слышу про это. Просто превращаюсь в неадеквата настолько это смешно.

>>775635

>stetho


В чем профиты? И при чем тут привязка к реалмовской бд?
>>775669>>776522
#52 #775665
>>775663
Копай глубже, нахуй андроид деву пилить бекенд?
>>775670
#53 #775669
>>775664
Тебе смешно, а в гредле уже пилят поддержку.
>>775671
#54 #775670
>>775665
Типа фуллстек, все дела. Может ты ещё и под иос не пишешь?
>>775672
#55 #775671
>>775669
Это бесполезная хуйня и трата ресурса.
#56 #775672
>>775670
Какой в пизду фулстек? Люди которые 5 лет хуярят могут идти в фулстек, а не долбоебы с хуйней опыта.
Особенно для бекенда на джаве, там вообще пизда.
Нет, на иос не хуярю, но в планах на будущее когда сделаю для себя золотую середину архитектуры под ведро. Еще в планах научится клепать вьюхи с крытми анимациями и тд. Все остальное и так приходит с опытом.
#57 #775686
Объект класса фрагмент практически сразу уничтожается при вызове онДестрой?
>>775695>>775696
#58 #775695
>>775686
нет
#59 #775696
>>775686
Скорее всего он уничтожиться неизвестно когда гарбадж коллектором из памяти.
Но юзать его после ондестроя нельзя.
>>775886
#60 #775701
>>775660
Купить телефоны всех версий ведра и типоразмеров? Ебик?
>>775702
#61 #775702
>>775701
Пощади, нахуй тебе все версии ведра? Размеры тоже нахуй, если не долбоеб то и так все резиновым будет верстаться.
А если учишься то проще купить бомжеведроид в довесок, заодно увидишь насколько он медленнее.
>>775704>>775736
#62 #775704
>>775702
Ага, сдаю я такой проект заказчику, а он на своем планшете запускает 4 ведра, а не пятого и нихуя не работает. Клевые у тебя советы.
>>775706
#63 #775706
>>775704
Так ты проект под ключ пишешь что-ли?
Тестеров нету совсем? Вообще тебя ебать это не должно, а заказчика.
>>775709
#64 #775709
>>775706
Ну я же не для себя приложения планирую писать. А фрилансить. И ебать это должно именно, что меня, заказчик должен получать рабочий продукт.
>>775710
#65 #775710
>>775709
Есть такие баги которые на емуле не словишь.
>>775712
#66 #775712
>>775710
Все равно без эмуля можно даже не приступать. Ну вот как они могли так проебаться с этим. Неужели амд настолько не распространенный проц, что на него всем так насрать. Мечту мне сломали, пидоры, я приложения хотел делать.
>>775713
#67 #775713
>>775712
Хз, я писал под два телефона первую апликуху и все ок было. Потом общие правки занимают хуйню времени на самом деле.
#68 #775720
>>775661

> Вот скоро ещё Gradle с груви на котлин перекатится, Петька, вот тогда заживём!


Зачем? В градле бывает код, который сложнее хэллоу ворлда?
>>775766>>775780
#69 #775732
>>775632
Через проксю зайди, сайт генимотион какогото хуя роскомнадзор забанил, так он живой.
#70 #775736
>>775702

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


Как стандартными средствами задать относительные размеры шрифта?
>>775745
#71 #775745
>>775736
А это и нинужно, больше экран = больше контента. Нестандартными: 1. sdp 2. PercentRelativeLayout с собственной TextView, которая подгоняет textSize под высоту.
#72 #775762
>>775635

> KotterKnife (лол)


Им дали язык который можно расширять как угодно и при этом юзать стандартные java библиотеку,
нет они продолжают тащить говно из прошлой жизни.
>>775779
#73 #775766
>>775720
Сложный вопрос, но после этого обещают хотя бы рабочее автодополнение в gradle-скриптах.
#74 #775768
Всем привет. Такой ко всем вопрос:
Хочу сделать веб-приложение для андроида. Точнее, приложение, внутри которого просто открывается сайт.
Да, это не круто, но тем не менее.
Пытался установить intel xdk - но мне пишет, что ХР не поддерживается.
Я сделал через эппгейзер - получилось 4 мегабайта.
И я думаю, 4 мегабайта за что? За ссылку? Или там внутри браузер?

Короче вопрос в том, стоит ли заморачиваться с этой хренью для моей задачи?
И может есть еще сервисы, где могут такое вытворить без добавления рекламы и прочего говна?
Если привлечь ПРОФЕССИОНАЛА для этой задачи, во сколько мне это обойдется?
>>775776
#75 #775776
>>775768
https://developer.chrome.com/multidevice/webview/gettingstarted

Берешь и ручками делаешь. Хотя на фрилансе за 1к сделают за пол часа.
#76 #775779
>>775762
Почему бы не использовать библиотеку, которая себя отлично зарекомендовала?
#77 #775780
>>775720
В андроиде моджет нет, ноу меня знакомый сейчас переводит с мейвена на грейдл сборку проекта где часть на джаве, часть на дотнете и часть на плюсах. Ну и котлин удобней груви.
#78 #775882
Зачем делают BaseColumn._ID когда есть ROWID?
>>775883
#79 #775883
>>775882
Ок, все, понял.
#80 #775886
>>775696
тогда ещё вопрос. Поток порожденный во фрагменте создает ещё одну ссылку на объект фрагмента? А то просто у меня нет объяснения тому что после онДестроя в потоке можно взаимодействовать с объектом фрагмента
#81 #775898
>>775886
Смотря как его порождать, но у тебя вероятней всего inner class, так что да, имеет.
#82 #775902
>>775886

> Поток порожденный во фрагменте создает ещё одну ссылку на объект фрагмента?


Если есть замыкания, то да.

> нет объяснения тому что после онДестроя в потоке можно взаимодействовать с объектом фрагмента


Где связь, какое "взаимодействие"? onDestroy это просто метод в фрагменте, вызов его никак не влияет на GC.
С объетом ты не можешь взаимодействовать после вызова у него finalize()
#83 #775942
>>775886
небось тебе тоже советовали: "да пох на java, сразу туториал по ведру читай и клепай"
#84 #775944
Нужно ли делать в sqlhelper'e всем методам в параметре базу? Или можно getReadable/WriteableDatabase прямо внутри метода?
>>775951
#85 #775951
>>775944
Ты боишься что она будет переоткрываться?
По умолчанию метод getReadable/getWritable хранят ссылку на базу отданную при прошом вызове и возвращают ее же.
http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.1.1_r1/android/database/sqlite/SQLiteOpenHelper.java/#58

Так что в простейшем случае можно просто постоянно дергать getWritableDatabase
и всегда будет возвращаться один и тот-же экземпляр SQLiteDatabase
>>775966
#86 #775966
>>775951
В примерах и нескольких открытых приложениях в каждый метод работы с базой передавали эту самую базу. Когда начал писать мне это показалось излишним.

Я одним глазком смотрел на имплементацию, и вроде как это понял. Но подумал, что полагаться не стоит.
>>776022
#87 #776022
>>775966
Надо было хотя-бы документацию по этим методам посмотреть

> Once opened successfully, the database is cached, so you can call this method every time you need to write to the database.


https://d.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html#getWritableDatabase()
#88 #776038
С точки зрения MVP, адаптер для recyclerView является презентером?
#89 #776060
Ну что, ребят. смог я сделать парс заголовков для ListView. Теперь вопрос в другом. Парсятся-то они с одной страницы. А на сайте внизу есть кнопочки и далее 1 2 3 4.
Как сделать так, чтобы мой листвью, когда дойдёт до конца, подгружал с других страниц? Есть какой совет/мануал, мож кто стакливался?
>>776063
#90 #776063
>>776060
google: loading more listview android
>>776065
#91 #776065
>>776063
пасибо, сразу пару библ выдал. то, что надо
>>776077
#92 #776066
Сап котанам, вопрос такой: дома по вафле приложение на эмуляторе спокойненько так использует методы работающие с нашим api, при том в одной из кафешек ( по крайней мере одной ) где я восседаю в ответ на все обращения к апишке кидается через пару секунд java.net.UnknownHostException: Unable to resolve host URL_NAME : No address associated with hostname. И собсна в чем причина то может быть ?
>>776235>>776296
#93 #776077
>>776065
Ты бы лучше разобрался, как это без библиотеки делать, раз такие вопросы задаешь.
>>776079
#94 #776079
>>776077
время сдачи поджимает, вот и спросил.
#95 #776087
Есть ли у кого к слову иконка типа обновить для fab-а ?
>>776097
#96 #776097
>>776087
Android studio -> new file -> vector drawables
или
materialdesignicons.com
>>776109
#97 #776109
>>776097
Да нет, не в том дело, я просто не особо преставляю что на ней должно быть ^_^
>>776113
#98 #776110
Много раз видел прямоугольный треугольник под хэдером к профиле скажем ( т.e. скошенную нижнюю границу ). Это без векторной графики можно сделать так чтобы пикселе не было видно ?
>>776115>>776236
0 Кб, 24x24
0 Кб, 24x24
#99 #776113
>>776109
Думаю, вот самые обычные.
1.refresh
2.cached
Доступны любые цвета.
#100 #776115
>>776110
Доставь скрин.
>>776130
#101 #776130
>>776115
типа такой херни, но обыно она с цветом по material palette. Щас найду более похожий на то о чем я говорю.
https://dribbble.com/shots/2161437-Day-025-Contact-Profile-Screen/attachments/396854
>>776132
#102 #776132
>>776130
Вот более приближенное, но опять с фоткой
https://dribbble.com/shots/2509591-Material-Profile
#103 #776133
и еще... Снова с фотографией, но суть думаю понятна
https://dribbble.com/shots/2232652-Twitter-Card
>>776135
#104 #776135
>>776133

> Рахель

#105 #776167
Аноны, у меня есть фрагмент и в нем MapFragment, и при перевороте не сохраняется состояние карты, т.е. все infowindow закрываются и карта становиться на своё положение, на котором должна стартовать. Как быть?
>>776178>>776179
#106 #776178
>>776167
Попробуй setRetainInstance(true) и инициализируй карту в onCreate
#107 #776179
>>776167
Я просто начал сохранять все данные карты в локальное хранилище и доставать их оттуда при смене конфигурации/еще какой-нибудь бяке
#108 #776187
Кто-нибудь сталкивался с проблемой обращения к SharedPreferences из другого процесса (например, из процесса AbstractThreadedSyncAdapter-а) после непосредственного изменения этих преференсов в основном процессе?
>>776196>>776201
#109 #776196
>>776187
Я не сталкивался, но попробуй apply() вместо commit() при сохранении преференсов.
>>776214
#110 #776201
>>776187
Если там асинхронная запись, то отслеживать стоит попробовать
>>776214
#111 #776214
>>776196
Дело в том, что я не вручную записываю туда данные, а с помощью метода persistString у Preference.
https://developer.android.com/reference/android/preference/Preference.html#persistString(java.lang.String)

>>776201
Отслеживать из одного процесса другой? Не очень понял, что ты имеешь ввиду.
>>776220
#112 #776220
>>776214
Да нет, просто в логи кинуть до и после записи в одном процессе и в другом, т.о понять есть ли одновременные запросы на запись проблема или нет. А так лучше может использовать какой-нибудь велосипед который сам в очередь кинет ?
>>776237
#113 #776235
>>776066
Не резолвится адрес очевидно. С портами на серваке все хорошо? Может быть в кафешке какая-то бяка стоит.
>>776406
#114 #776236
>>776110
Дровбл с клиппасом и тенью. Может своя вьюшка.
#115 #776237
>>776220
Не, запись не асинхронная, главный процесс сохраняет что-то в SP, другой процесс после этого читает, но читает старые данные (до произведенных изменений главным процессом). Если перезапустить приложение, то тот второй процесс уже будет читать данные, оставшиеся после предыдущего запуска, а новые опять до перезапуска не прочитает.
>>776370
#116 #776255
Хелп

Аноны, а как свое приложение-то запустить с помощью Genymotion?
При нажатии на зеленую стрелку "Run" пытается запуститься встроенный эмуль, а не Genymotion.
#117 #776296
>>776066
Попробуй просто в браузере поработать. У меня такая ошибка, когда требуется браузерная авторизация для доступа в Интернет и поэтому нет нормального DNS-сервера.
>>776410
#118 #776370
>>776237
А ты в какой момент создаешь объект преференсов? Если до записи, то ты уверен, что их интсансы синхронизируются через файл обсервер?
>>776374
#119 #776374
>>776370
Инстансы SharedPreferences? Не уверен, а как в этом убедиться?
>>776409
#120 #776402
Могу ли я быть уверен, что после того как тред вышел, объект который он присвоил в до того не инициализированное поле будет доступен в основном/другом треде? Java.
>>776407
#121 #776406
>>776235
скорее всего на сервере, но пхпшник-имбицил не признает своих ошибок даже если ткнуть его в них носом, а чтобы носом не тыкали - просто не даст смотреть свой код
>>776426
#122 #776407
>>776402

>что после того как тред вышел


Всмысле завершил свою работу?

>объект который он присвоил в до того не инициализированное поле будет доступен в основном/другом треде?


Не всегда, читай про volatile.
>>776421
#123 #776409
>>776374
Ну я межпроцессорщину не копал, но мне кажется инстансы шаред префов не синхронизируются в твоем случае даже после commit. Попробуй каждый раз создавать инстанс префов заново, чтобы он считывал с диска.
>>776878
#124 #776410
>>776296
в том то все и дело что в браузере оно пашет на ура, даже запросы из браузера успешно работают через онлайн сервисы для отправки пост-запросов
>>776414>>776416
#125 #776414
>>776410
Ну блин, эта ошибка говорит, что приложение просто не может найти сервер. Так какая тут сервер-сайд ошибка может присутствовать, если с ним вообще никакого контакта нет? Сохраняй запросы из кафешки и смотри, в чём там отличие.
#126 #776416
>>776410
Если не резолвит и только в приложении, то как может быть пхпшник виноват? Он вам днсы настраивает?
#127 #776421
>>776407

> Всмысле завершил свою работу?


Да. Про volatile читал. В memory model джавы плохо смыслю, подумал, если она синхронизирует данные после завершения, нет смысла volatile ставить.
>>776427>>776447
#128 #776426
>>776406
Попробуй из приложения достучаться к чему-то другому, если получится то или на сервере хуйня. Хотя я вот помню когда женимоушином пользовался - он после гибернейта нормально не восстанавливался, и нерезолвил вообще все.
#129 #776427
>>776421

>В memory model джавы плохо смыслю


Это уже высшая материя. Я не уверен что в разработке под ведро она нужна.

>если она синхронизирует данные после завершения, нет смысла volatile ставить


Преждевременная оптимизация зло. Старый добрый и понятный volatile не замедлит работу твоей апликухи настолько чтоб это было заметно.
>>776429>>776473
#130 #776429
>>776427
А ну еще есть всякие AtomicInteger и тд и тп.
>>776473
#131 #776447
>>776421

>В memory model джавы плохо смыслю


Читай http://shipilev.net/
>>776453>>776456
43 Кб, 712x671
#132 #776449
Анон, а почему у меня тут нет формы/превью, куда всякие элементы можно перетягивать? В гайдах он есть у всех, а у меня нет.
>>776466
#133 #776453
>>776447
Хера себе талмуд.
>>776456>>776471
#134 #776456
>>776447 >>776453
Одного этого видео достаточно что бы отбить все желание копаться в этом

https://www.youtube.com/watch?v=iB2N8aqwtxc
>>776471
#135 #776466
>>776449
А почему у тебя нет девушки? У всех есть, а у тебя нет.
Вот и тут так же.
>>776477
24 Кб, 400x263
#136 #776471
>>776453
>>776456
Вы же дегенераты.
Плохо когда информации мало, когда ее нет.
Тут же страна вам блджад дала - бери, читай, смотри, изучай. Не хотят. Хотят двачевать капчу и задавать друг другу одни и те же вопросы, и по кругу.
>>776475
#137 #776473
>>776427
Та я клал на скорость. Мне просто боязно, что кто мой код увидит, будет про себя ехидничать.
>>776429
Ууу, серьезное дерьмо. Как-нибудь может руки дойдут на досуге.
>>776475>>776498
#138 #776475
>>776471
Не шкварь китано об свой высерный пост.

>>776473
volatile это стандартная хуйня, чего тут такого?
В общем не выебуйся сверх меры там где это не нужно.
>>776533
#139 #776477
>>776466
Сложно подсказать, что ли?
>>776480
#140 #776480
>>776477
Да я не ебу. Сломалось в студии что-то или в твоём проекте. Переустанови студию и шиндоуз.
>>776483
#141 #776483
>>776480
>>776480
Пиздец
>>776484
#142 #776484
>>776483
Визуальным редактором всё равно никто никогда не пользуется. Открой вкладку xml и будет тебе счастье.
>>776490>>776492
#143 #776490
>>776484
Почему не пользуются? Это удобнее и быстрее. И с чего ты вообще взял, что не пользуются?
>>776497
#144 #776491
Пиздишь! Выше спрашивали!
>>776492
#145 #776492
13 Кб, 564x170
#146 #776497
>>776490
Поддвачну анона выше, тоже не пользуюсь им еще со времен эклипса ADT.

Да прям сейчас открыл последнюю идею и там пикрил, да и пох, всегда на нексусе смотрю.
#147 #776498
>>776473
Ой, "серьезное дерьмо" было адресовано статье про память. Вы не подумайте.
#148 #776522
>>775664
можно смотреть бд через браузер и не тащить ее себе на комп.
Стехо есть не только для sqlite но и для realm
>>776616
25 Кб, 500x296
#149 #776533
>>776475
Он такой же комик как и вы.
>>776615
33 Кб, 604x394
#150 #776615
#151 #776616
>>776522
Понял, спасибо.

Ебать же всякой хуйни понапридумывали под ведро, хер все осилишь в одно ебало найти
#152 #776878
>>776409
ой бля, давно известно что нельзя шарить инфe в преференсах между процессами http://stackoverflow.com/questions/22129717/mode-multi-process-for-sharedpreferences-isnt-working
#153 #776992
Отписывать подписку при вызове onDestroy необходимо в любом случае? Или этого можно не делать, если Observable не удерживает ссылок на Context?
>>777407
#154 #776994
Аноны, сделал простенький веб апп для скалирования изображений под разные dpi, так как заебало это всё вручную делать. Может кому ещё пригодится.
https://github.com/Destiner/Dense
>>777008
#155 #777008
>>776994
Чет ты опоздал малясь. Тут начинается переход на svg потихоньку, да и был плагин под студию, который в последней версии отвалился.
>>779642
#156 #777133
Делаю простенький ViewPager с всего лишь двумя фрагментами. Нормально ли в таком случае хранить фрагменты просто как массив в адаптере?
>>777143>>777144
#157 #777143
>>777133
Нахуя? Они и так и так кэшируются внутри FramgnetManager,
а в твоем случае так вообще оба будут видимы на экране одновременно.
>>777158
#158 #777144
>>777133
А зачем тебе их хранить? Создавай в getItem по позиции, аргументы закинь во адаптер.
>>777158
#159 #777158
>>777143
>>777144
Да, пожалуй, вы правы. Спасибо
#160 #777168
Ананасы, что скажете за эту штуку?

http://android-arsenal.com/details/1/3745

или есть альтернатива получше?
>>777175
#161 #777175
>>777168
Calligraphy
7 Кб, 477x498
#162 #777388
Как закрасить белое?

<style name="DialogTheme" parent="Theme.AppCompat.Light.Dialog">
<item name="colorPrimary">#FFC107</item>
<item name="colorPrimaryDark">@color/main</item>
<item name="colorAccent">#000000</item>
<item name="android:background">@color/light_red</item>
<item name="android:divider">@color/main</item>
<item name="android:buttonStyle">@color/main</item>
<item name="android:windowTitleStyle">@style/MyTitleTextStyle</item>
<item name="android:windowBackground">@color/light_red</item>
<item name="android:headerBackground">@color/light_red</item>
</style>

<style name="MyTitleTextStyle">
<item name="android:textColor">#000000</item>
<item name="android:textAppearance">@style/TextAppearance.AppCompat.Title</item>
</style>
>>777731
#163 #777407
>>776992
В онстопе даже сто т
#164 #777416
Я хочу на api10 чтобы после нажатия на кнопку появилось окошко с edittext'ом, чтобы ввёл туда число, нажал на ОК, и чтобы в мейн активити, откуда вызвалось это окошко, я смог получить это число.

Псевдокодом я представляю себе это так:

DialogFragment dialog = new DialogFragment;
inflate(dialog.layout);
int i = dialog.getresult();

Или всё же блядское шаманство с миллиардом строчек кода, для того чтобы блядь число ввести, - это норма?
>>777428>>777793
#165 #777428
>>777416
Делай через startActivity -> onActivityResult
Воспользуешься активитей с темой Dialog.
#166 #777572
>>775635
бамп пидары
>>777797
#167 #777573
хули тред вообще даже не на главной? си долбаебы засрали все своим говном
>>777590
#168 #777588
В последнее время часто пишут, что джава тонет и скоро будет на дне. Подумываю перекатиться в андроид, но уже читаю, что js и тут лезет. НАсколько это все может быть плохо в ближайший год?
junior-кун
>>777631>>777689
#169 #777590
>>777573
Чето в голос.
#170 #777631
>>777588
Правду пишут. Си уже утонул. Джава вот-вот утонет. JS - единственный современный язык программирования. Крупные компании его даже для разработки драйверов и встраиваемых систем используют. Так что, тут лишь вопрос времени. Пока еще много старого говнокада написанного на древних языках. Но не за горами время, когда Товальдс перепишет ядро на JS'е.
#171 #777633
>>777631
Шутки шутками, но Lua уже в ядре NetBSD http://netbsd.gw.com/cgi-bin/man-cgi?lua+4+NetBSD-current
#172 #777645
>>777631
Грустно ебать
Вкатился называется в джаву
>>777689
#173 #777689
>>777631
>>777645
>>777588
Расслабьте булки.
Как вообще можно сравнивать джаву и шарпы с однопоточным говном?
>>777696
#174 #777696
>>777689
Вот так, например, можно

> GoDaddy uses Node.js for both front-end and back-end projects, and they recently rolled out their global site rebrand in one hour thanks to the help of Node.js. Before that, the company primarily used .NET and was transitioning to Java.



Или вот так можно

> Because of the way Node works we can attach debuggers, and set breakpoint steps through the code. If you wanted to debug these groovy scripts in the past, you would make some code changes upload it to the edge layer, run it, see if it breaks, make some more changes, upload it again, and so on



И так

> When I’m working with the team, and whether it’s Java or C# developers, they’re doubling a little bit on front ends; so they’re not experts but once they switch to the stack where Node.js is used in the back end, they’re more productive because they don’t have that switch of context. I see this pure joy that it brings to them during development because JavaScript it just a fun language that they can use



https://blog.risingstack.com/node-js-examples-how-enterprises-use-node-in-2016/
>>777806
#175 #777731
#176 #777793
>>777416
DialogFragment то тебе зачем? Используй обычный диалог.
Если запариваешься с обработкой поворотов, то тогда ДА там будет много кода.
#177 #777797
>>777572
Нахуй пройди,

набор библиотек для котлин == набор библиотек для java
>>778583
#178 #777806
>>777696
НОДЕ НОДЕ НОДЕ
Вот когда ноду на андроид завезут поговорим.
>>777847
#179 #777831
>>777631

> JS - единственный современный язык программирования.


Sad but true.
К сожалению, скоро всем придется кушать слаботипизированный хлебушек, и гадать, что же вернет t[0], если t определена как var t = {0: 'A', '0': 'B', '': 'C'}?
>>777834>>777849
#180 #777834
>>777831
Бля ну идите нахуй со своим самоподдувом, вот как ваши слова станут явью тогда возвращайтесь.
#181 #777847
>>777806
React Native видел?
>>777857
#182 #777849
>>777831
В перле такой фигни не будет, он массивы с хэшами спутать не даст.
>>777871
#183 #777857
>>777847
Там есть многопоточка?
>>778172
#184 #777871
>>777849
В PHP аналогично. С перлом не работал. Но вроде там строки почему-то считаются примитивным типом, и нет разделения на целые и вещественные числа. Единственный пригодный для скриптинга язык - Python с его строгой типизацией.
>>777910
#185 #777910
>>777871

>Python с его строгой типизацией.


Сарказм?

Про типы данных перла смотри perldoc -f ref

> Builtin types include:



SCALAR
ARRAY
HASH
CODE
REF
GLOB
LVALUE
FORMAT
IO
VSTRING
Regexp

> You can think of ref as a typeof operator.



Попробуй присвоить значение одного из этих базовых типов другому - не получится, типизация строгая.
>>777915>>777927
#186 #777915
#187 #777927
>>777910
Пиздишь, строка относится к типу SCALAR. Хотя она состоит из набора символов.
>>777937
#188 #777937
>>777927
В перле нет типа значений "строка".
Любой скаляр может хранить одновременно строку и число, например. Или reference.
>>777940>>777944
#189 #777940
>>777937
$foo = dualvar 10, "Hello";
$num = $foo + 2; # 12
$str = $foo . " world"; # Hello world
http://perldoc.perl.org/Scalar/Util.html
#190 #777944
>>777937
То есть он точно так же сосет у Питона, как JS и PHP. Только гуманитарий не может понимать принципиального различия между строкой и числом.
>>777949>>777955
7 Кб, 352x283
#191 #777949
>>777944

> Internally Perl calls a scalar SV (scalar value), an array AV (array value) and a hash HV (hash value). In addition it uses IV for integer value, NV for numeric value (aka double), PV for a pointer value (aka string value (char*), but 'S' was already taken), and RV for reference value


> The internal relationship between the Perl data types is really object oriented. Perl relies on using C's structural equivalence to help emulate something like C++ inheritance of types. The various data types that Perl implement are illustrated in this class hierarchy diagram. The arrows indicate inheritance (IS-A relationships).



http://cpansearch.perl.org/src/RURBAN/illguts-0.49/index.html
>>777966
#192 #777955
>>777944

>принципиального различия между строкой и числом


Только питонист не может не понимать что это удобно когда язык понимает в зависимости от контекста - нужно ли здесь взять из переменной и использовать число 5 или слово "пять".
>>777967
#193 #777964
Ну вы еще здесь по бреинфаку посритесь.
#194 #777966
>>777949
Ну и какой смысл был придумывать какой-то "скаляр", если очевидно, что 0.0, 0 и "0" (не говоря уже о ссылочном типе) совершенно разные вещи, не имеющие ничего общего.

А вот массив и строка очевидно являются вариациями одного и того же типа данных (списка).
#195 #777967
>>777955

> К сожалению, скоро всем придется кушать слаботипизированный хлебушек, и гадать, что же вернет t[0], если t определена как var t = {0: 'A', '0': 'B', '': 'C'}?

#196 #777999
Хотите как в Пистоне - пердольтесь кастите руками, никто не запрещает http://search.cpan.org/~dwheeler/Data-Types-0.09/lib/Data/Types.pm

> массив и строка очевидно являются вариациями одного и того же типа данных (списка)


Про CAR и CDR расскажи.
>>778030
#197 #778030
>>777999

> Про CAR и CDR расскажи.


Лиспоговно не нужно, но при желании легко реализуется и для массива, и для строки.
#198 #778044
Суп. Переделываю приложку под MVP. Первый раз использую этот шаблон. Назрел вопрос: какое положение занимают сервисы? Как обеспечивать взаимодействие вьюхи и сервиса: напрямую или через презентер?
>>778046>>778049
#200 #778049
>>778044

> какое положение занимают сервисы?


Это часть модели. Модель - источник данных и логика для их обработки (алгоритмы).

> Как обеспечивать взаимодействие вьюхи и сервиса: напрямую или через презентер?


Модель работает с сервисом, получая и отправляя данные. Презентер обрабатывает ввод пользователя, связывая интерфейс (вид) и данные (модель).
>>778050
#201 #778050
>>778049
благодарочка
>>778057
#202 #778057
>>778050
В общем-то, в википедии все расписано:
https://ru.wikipedia.org/wiki/Model-View-Presenter
И про модель здесь:
https://ru.wikipedia.org/wiki/Model-View-Controller
Обрати внимание на раздел "Наиболее частые ошибки". Модель должна быть активной, т.е. она не только предоставляет данные, но и обрабатывает их. Это и чтение/сохранение в базе, и отправка/прием по сети, и разнообразные вычисления.
#203 #778107
Насколько зашкварно использовать эклипс в 2016? Сколько раз пробовал перейти на студию — всегда плевался с этого говна. И с градла плевался, что он пиздец как долго собирает, хотя сам по себе градл очень нравится. Смириться и продолжать использовать эклипс?
>>778142
#204 #778125
У меня есть вьюпейджер с фрагмент адаптером, во всех фрагментах ресайклвью с разными данными. При перевороте не сохраняется состояние фрагмента, ресайклвью скроллится наверх, что делать?
#205 #778126
Как у поля ввода текста убрать подчеркивание при обычном режиме и оставить при фокусе? Я знаю, что платина, просто я только начал делать порт приложения с веба на NativeScript.
>>778129>>778157
#206 #778129
>>778126

>NativeScript


Шел бы ты отсюда петушек.
#207 #778142
>>778107
Сука ну что за тупой вопрос поколение мемасов блять.
Если это говно еще работает и тебе оно нравиться, сиди в нем.
>>778170>>778436
#208 #778151
>>778125
Увеличь количество страниц вне экрана.
>>778180
#209 #778157
>>778126
Загугли как делать просто подчеркивание, а потом закинь в selector drawable state_focused.
#210 #778170
>>778142

> тупой вопрос


> поколение мемасов


> нравиться

>>778189
#211 #778172
#212 #778180
>>778151
При перевороте
sage #213 #778189
>>778170
Мне картошечку и большую колу
>>778194
sage #214 #778194
>>778189
Хуй тебе, ведь будь ты умней ты вышел как Gucci Mane
ЕЕЕ. Хуй тебе. Я Юджи Кей
>>778853
#215 #778218
>>778125
ну а как вообще засейвить состояние ресайкл при перевороте?
>>778230
#216 #778227
Можно как-то через ContentResolver узнать количество элементов в определённой таблице БД?
Кроме очевидного "получить курсор со всеми элементами и посчитать их количество"
>>778235
#217 #778230
>>778218
>>778125
Сохраняешь позицию в бандл, потом считываешь оттуда и восстанавливаешь.
#218 #778235
>>778227
select count(*) from table
>>778236
#219 #778236
>>778235
И как это через ContentResolver сделать?
>>778240>>778241
#220 #778240
>>778236
написать ури по которой считает
#221 #778241
>>778236

> 2016


> Использовать ContentResolver для чего-то кроме кросспроцессорного обмена данными


Ты с нашей планеты...

Если там твой же ContentProvider то в чем проблема?
#222 #778253
Спрошу еще у прошаренных анонов здесь:
>>778244

Алсо, почему порог вхождения в андройде считается ниже?
#223 #778257
>>778253

> планирую полностью посвятить языкам. Выбираю между джавой ee и андройдом


Начни с английского.

> почему порог вхождения в андройде считается ниже


Кем считается? Ниже чем что?
#224 #778261
>>778253
Блять ты везде. И русский еще подтяни.
>>778265>>778267
#225 #778265
>>778261
С английским все норм.
>>778269
#226 #778267
>>778261

>Блять ты везде.


Мало ли в нуфак-треде не все сидят
>>778277
#227 #778269
>>778265
Тогда научись искать информацию. В сети куча статей, отзывов и мнений, которые изложены грамотно и на английском.
>>778273
#228 #778273
>>778269
Почему ты отвечаешь не на то, что я спросил, а на вообще какой-то левый вопрос?
>>778275
#229 #778275
>>778273
Потому что вы заебали уже.
)))0
>>778278
#230 #778277
>>778267

>Мало ли в нуфак-треде не все сидят


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

Иди там литературу на лето прочитай или еще чего-нибудь полезного сделай, в общем пшел нахуй.
>>778279
#231 #778278
>>778275
Проходи тогда мимо или пиши модеру. В чем проблема? Или ты считаешь, что без твоей критики никто не обойдется?
>>778283
#232 #778279
>>778277
лол, еще один
#233 #778283
>>778278
Проблема в том, что ты банально не можешь изучить материалы в интернете по твоему вопросы. На quor'e не раз уже выкладывали алгоритм обучения, что и сколько учат. На Хабре было. Я молчу про треды-да, потерялись. Но ты банально не можешь в поиск.
>>778287
#234 #778287
>>778283
Я спросил, что мне выбрать. А не как мне учить то или иное направление.
Вместо того, чтобы дать совет или пройти мимо, ты начинаешь агриться, а теперь еще и выясняется, что ты читаешь жопой.
Я не знаю, из-за чего вы все такие злые. Начальник выебал или сроки горят? Мамка гонит на работу? Или у вас чсв просто до предела само по себе.
#235 #778288
>>778253
потому что среднестатистический пакистанец может позволить себе больше андроидов на свою зп, чем айфонов (+ мак компов на которых разрабатывать).
+ в ios - это си, а осилить указатель не каждый китаец сможет бляцкий свифт
#236 #778369
Где котлин куны давайте кооперироваться
>>778380
67 Кб, 620x620
#237 #778380
>>778369
Я тут, помогаю все страждущим в ###### конфы не пойду.
>>789029
#238 #778389
>>778125
То есть мне надо сделать класс который хранит позицию, там ещё у меня расскрывающиеся вьюшки в ресайклере, то есть плюс массив в тот класс и сделать его parcelable? И это норм или хуйня?
#239 #778436
>>778142
Ну типа на работу если устраиваться, то там уже хуй, а не эклипс, наверное.
>>778761
#240 #778439
Господа, добрый вечер.
Прошу вашего совета. Работаю не в области программирования (sql во все поля), но тут подвернулась одна стажировка в формате очно-заочно, джава. Учил ее год назад немного. Так вот, годная ли эта идея? На стажировке весь будет курс до девелопера java se. Я понимаю, что она мне нужна. Но так к чему я. Засесть за эту стажировку, а затем дропнуть на моменте 1.7-хороший план? Спасибо ^^
>>778441
#241 #778441
>>778439
Всё лучше, чем нихуя не делать, особенно если нахаляву.
>>778442
#242 #778442
>>778441
Для себя начал учить пыху, как план Б, но что-то мне подсказывает джава/андроид-план А+, лол.
Слегка смущает разговоры про утопию джавы. Хотя, знаомый синьор из mailru говорят, что это временно, хайп на жс пройдет.
>>778444
#243 #778444
>>778442
Я не прогал на пхп, но слышал, что джава лучше пхп в плане того, что имеет больше отношения к непосредственно программированию.
>>778442

>Слегка смущает разговоры про утопию джавы.


Что за разговоры? Я ничего подобного не слышал и мне похуй. Вон, андроид выпускает новые версии, поддерживают популярные фреймворки на джаве, какая ещё утопия джавы, лол?
>>778451
#244 #778451
>>778444
НУ ТИПА ДЕСКТОП ЖС ВСЕ СОЖРЕТ И БЕКЭНД
#245 #778453
Андроиданы, я знаю вы все тут дрочили VK SDK хоть раз. Нет ли какой-то возможности прятать от ВК статус того что юзер сейчас пользуется сервисами ВК, а то некоторые пидоры хотят слушать музыку, но при этом не быть в онлайне. Я лично подозреваю что нет, так как ВК тупо ставит статус в зависимости от запроса на свой сервер, и вряд ли они предусматривали "скрытый" режим.
>>778466
#246 #778466
>>778453

> Нет ли какой-то возможности прятать от ВК статус того что юзер сейчас пользуется сервисами ВК


Есть.
>>778477
307 Кб, 606x829
#247 #778476
Где лучше размещать Toolbar и AppBarLayout? Внутри activity или внутри фрагмента (и тогда применять стиль NoActionBar к activity)?
>>778479
#248 #778477
>>778466
А пруфануть ссылкой в док апи можешь?
>>778485
#249 #778479
>>778476
Мне кажется активити, просто если он будет во фрагмнетах, то но будет участвовать в анимациях между ними, что не всегда выглядит логично.
#250 #778485
>>778477
Kate Mobile.
#251 #778488
>>774895 (OP)
пачиму в андраеде все так не систематизированно????? у меня бамбит.
Нет, ну серьезно. Куча разных файлов для описания слоев-хуев. Синтаксис постоянно меняется в новых версиях. Нуеманорот
>>778495
188 Кб, 959x889
#252 #778490
Уже 2 дня ебусь с тем чтобы вызвать окошко для ввода числа и получить его в мейнактивити. Насколько я приблизился к решению? Ни на шаг. Весь стаковерфлоу перерыл - везде нерабочая хуйня.
>>778491
170 Кб, 914x417
#253 #778491
>>778490

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


Решается за 10 минут же. Может просто, программирование — не твоё?
>>778493
#254 #778493
>>778491
Причём тут программирование? Дело в том что непонятно нихуя как это делать и инфы как это сделать нигде нету. В шарпе блядь одной строчкой вызываешь примитивную хуйню для ввода, двумя уже делаешь хуйню для ввода со своим интерфейсом. А тут блядь чтобы число ввести нужно написать ёбаный миллиард строчек кода причём шанс сделать миллиард косяков в этой куче кода стремится к 100%
>>778495>>778496
#255 #778495
>>778493
ВО! >>778488 - вот о чем я говорю. это просто пиздец. да, я конечно уже староват, мне 30. но не думаю что проблема сильно во мне. слишком, СЛИШКОМ дохуя воды. нет лаконичности
#256 #778496
>>778493

> В шарпе


А, с этого и надо было начинать.
Ты прав, программирование действительно ни при чем. Просто ты тупой.
Пиши под xamarin тогда, хули. А еще лучше, уйди в js или php тред.
Там всё будет просто и понятно.
>>778528
62 Кб, 791x257
#257 #778497
Почему эта ебаная блядина не находит Edittext? Вот какого хуя блядь? getDialog? имякласса.this? ещё 20 вариантов получить ссылку на этот блядский диалог? нихуя не работает блядь? создал блядь диалог а он сам себя не видит блядь, просто пиздец блядь.
>>778502
#258 #778502
>>778497
пиздец, заработало.
#259 #778528
>>778496
А я вот решил изучить пхп. Почитал основы и меня просто затошнило. Даже не знаю почему. Просто блять затошнило.
>>778555
#260 #778555
>>778528
Я на это и намекал. Людям с мозгом php противопоказан.
>>778635
#261 #778583
>>777797
ты дурак?
676 Кб, Webm
#262 #778587
Посоветуйте готовые решения для трех фич на видео. Первая - свайп-меню карточек в рецайклере, вторая - свайп вверх-вниз всей области видимости, третья - возврат в предыдущую область (это наверное просто вьюпейджер?).
#263 #778605
Решил вкатиться в эту вашу мобильную разработку: скачал Андроид Студио, джаву, накатил на не столь древний ноут (i3-2100mhz, 3GB RAM, GF410M) и что я вижу? Мало того, что подлагивает текстовый редактор, когда просто пишешь название функции или класса, но даже полагивают пункты верхнего меню при раскрытии. WTF? Как пофиксить? Неужели это джава-машина все ресурсы ноута сжирает?
>>778611>>779150
#264 #778611
>>778605

> 3GB RAM


Увеличить до восьми, замени диска на SSD
>>778620
#265 #778620
>>778611
Тут уж новый ноут надо покупать, наверное.
А есть альтернатива Андроид Стидии?
#266 #778621
>>778620
По сути нет.
#267 #778622
а писать в интелиж идее не варик?
>>778623>>778625
#268 #778623
>>778622
Как будто она будет жрать меньше. Ведь андроид студио основана на ней.
#269 #778625
>>778622
Норм, сам в ней сижу, но не факт что она будет заметно быстрее AS.
#270 #778626
вообще у меня больше проблема в эмуляторе андроида, писать на идее могу и при 2гб (на самом деле писал в идее только джава и скала проги,в связи с появлением вакансии дроид джуна хочу научится в андроид)
>>778839
#271 #778635
>>778555
Лол странное чувство. Синтаксис один и тот же по сути. Но прочел про то, ка включать файл, пр опространство имено, да и просто настройку БЛЯЯЯЯЯЯЯЯЯЯТЬ
>>778640
#272 #778640
>>778635
Блять, я кривой с утра.
5 Кб, 150x150
#273 #778761
>>778436

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


Ты сначала устройся
>>778763
#274 #778763
>>778761
Это большая проблема в дс что ли?
#275 #778781
Аноны, очень нужна литература с толковыми примерами по Open GL ES 3 применительно именно к андроиду
#276 #778782
launchMode=singleTask/Instance - эти флаги при запуске различают активити только по, собственно, классу или по интенту тоже? Например, у меня есть активити для которой логичен singleTop, но она может стартовать разными вариантами (<data> в интенте) и эти варианты должны существовать независимо друг от друга, но не должны дублироваться.

Скажем, по ярлычку на файл -> открыть паинтом, стартует mspaint, по ярлычку на другой файл стартует второй отдельный mspaint, а опять по ярлычку на первый файл первый mspaint просто переходит на первый план.
>>778786
#277 #778786
>>778782
singleTask,Instance привязываются к классу, а не к интенту. У них будет вызван onNewIntent.
Сделать как хочешь ты будет проще всего фрагментами.
sage #278 #778804
>>778587
Это типа как кнопка "сделать охуенно" в фотошопе?
>>778807
#279 #778806
>>778620
Твой любимый текстовый редактор + консоль.
#280 #778807
>>778804
Не понял тебя.
>>778814
#281 #778809
>>778587
1) в гугле точно видел
2) пробуй bottomsheet из дизайн либы
3) айосовская навигация свайпа на ведре нахуй не нужна
>>778815
sage #282 #778814
>>778807
Я не удивлён.
>>778818
#283 #778815
>>778809

> 3) айосовская навигация свайпа на ведре нахуй не нужна


Не пользовался айосью. Два предыдущих приложения для редита, которые я юзал, переход в тред и обратно делали обычным методом туда-обратно активити. Свайп как здесь показался гораздо удобнее. Для связных действий, мне кажется, ок.
>>778826
#284 #778818
>>778814
Давай по делу.
#285 #778826
>>778815
Тебе кажется. Не тащи ios паттерны (там это "из коробки") в android.

В ios нет самопроизвольного-разрушения конроллеров системой,
поэтому они могу держать весь стек в памяти и спокойно по нему перемещаться..
#286 #778839
>>778626

>эмулятор


Купи китайфон, эмулятор будет лагать неимоверно, раньше он и на хороших компах лагал.
#287 #778853
>>778194
Твой код услышав мой делает мне бутишейк
>>778866
sage #288 #778866
>>778853
Хуй тебе. Я не хотел кодить, но надо ведь
Ставить на место тех, кто хотел бы на горло надавить.
Твой трэш что в коде позорный go on, holla bitch
Я для тебя не Страуструп, а Бьёрн Иванович.
#289 #778909
Можно в студии/идее из локальной истории сгенерировать патч?
>>779346
#290 #778929
Если Activity НЕ помечено как singleInstance, то при вызове startActivity будет создан еще один экземпляр активити, помимо уже созданных?
>>778980>>778984
#291 #778980
#292 #778984
>>778929
Если не singleTop и не добавлены определенные флаги в интент, то да.
#293 #779038
Если я запускаю активити с флагом NEW_TASK, но такой таск уже есть и активити на нем просто переходит на первый план, то интент теряется? Можно как-то этот интент перехватить?
#294 #779065
>>779038
Оговорка, сам этот таск переходит на первый план.
#295 #779091
>>779038

> но такой таск уже есть


Нету, на то он и NEW_TASK.
>>779097
#296 #779097
>>779091
Интент от лаунчера, например, всегда new_task несет.

> When using this flag, if a task is already running for the activity you are now starting, then a new activity will not be started; instead, the current task will simply be brought to the front of the screen with the state it was last in.

#297 #779150
>>778605

Я пытаюсь освоить андроид-студию на нетбуке Intel Atom с 2GB RAM. Так что у тебя еще не очень-то и много проблем. Алсо, легко гуглятся способы небольшого увеличения производительности типа как не индексировать файлы Thumbs.db, строго оффлайновая сборка грэдлом и т.д.
#298 #779155
>>778620

Есть Эклипс (бери версию 4.0 и выше) с плагином ADT. Местные обитатели закидают говном, но обучиться программированию можно и в Эклипсе, если у тебя катастрофические проблемы с железом (и нет денег на новое). За неимением гербовой бумаги пишут на простой, как говорится
13 Кб, 452x186
#299 #779310
>>779038
Нашел.
>>779343>>779346
#300 #779343
>>779310
Что это за патч такой?
>>779345
#301 #779345
>>779343
Разница между текущей и выбранной из истории версией файла / директории. Все в одном текстовом файле.
https://en.wikipedia.org/wiki/Patch_(Unix)
>>779357
#302 #779346
#303 #779357
>>779345
Напомни зачем это нужно, когда есть gif?
>>779365
#304 #779362
>>778587

>1


А что, если лисиитеиы сделать контейнерами для фрагментов, фрагменты инициализировать в onbindviewholder, а по клику делать фрагмент реплейс с анимацией? Сильно лагать будет?
>>779365
#305 #779365
>>779357
Когда его нет? Ты спрашиваешь зачем нужен вообще патч или локальная история идеи?
Если первое, то мягкое с холодным, если второе, то иногда лень во время прототипирования заводить vcs.
>>779362
Думаю, лагать особо не будет, но идея адова. Там наверное просто пейджер с двумя вьюхами.
#306 #779642
>>777008

>Чет ты опоздал малясь.


>Тут начинается переход на svg потихоньку


Ну когда перейдём до конца, тогда можно смело будет выкидывать. Думаю, ближайшие пару лет доминировать будут растровые драваблы (особенно в случае сложных картинок).
2 Кб, 536x167
18 Кб, 510x287
#307 #779674
Сап. Помогите разрешить проблему с ActionBarDrawerToggle-ом.
Суть в чём - на главном экране есть Toolbar с ним. Кроме того, в этом экране хранится фрагмент с контентом. При переключении на другой фрагмент, ActionBarDrawerToggle выключается и уступает место андроидовской кнопке "назад" на всё том же Toolbar-е (так надо). Суть в том, что иконки у кнопки назад DrawerToggle-а и у дефолтной кнопки назад несколько отличаются.
Пик 1 - вверху с DrawerToggle-ом, внизу - дефолт.
Пик 2 - стили приложения.
>>779678
#308 #779678
>>779674
Оборачивай на всех стадиях рекурсивно все контролы drawable шейпом с обводкой - где-нибудь увидишь маргины/паддинги/оффсеты.
>>779679
#309 #779679
>>779678
Что-то я нихуя не понял, что ты имеешь в виду.
>>779683
#310 #779683
>>779679
@drawable/border:
<shape><stroke android:width="1dip" android:color="#00aa00"/></shape>
@layout/some_layout:
<View... android:background="@drawable/border"
или MyActivity.java:
mView.setDrawableResource(R.drawable.border)
рекурсивно по всем вьюгруппам или если знаешь схему, то конкретно.

Для такого небось есть чего-нибудь поудобнее, но я не в курсе.
>>779687
#311 #779687
>>779683
Ну или выведи все размеры контролов в обоих состояниях.
#312 #779761
Необходимо удалить не до конца загруженные файлы (сохраняю не в кэш), в случае если пользователь в настройках остановил приложение (только в этом случае не вызывается onDestroy в сервисе). Удобней всего это делать в классе Application в методе onCreate. Это приемлемый вариант?
>>779764>>779781
#313 #779764
>>779761
Вполне, а какие еще варианты могут быть? Можно во время инициализации того модуля / части приложения которая этими делами заправляет.
>>779768
#314 #779768
>>779764
был альтернативный вариант: при формировании списка файлов проверять статус сервиса загрузки.
Запущен не надо удалть, не запущен надо (название загружаемых файлов помечаю по особому)
>>779774
#315 #779774
>>779768
Короче, пихай туда, где это логичнее всего смотрится. Поставь TODO с примечанием "а адекватно ли это здесь выглядит (проверить через неделю/месяц)". Через неделю/месяц переоцениваешь и понимаешь какой ты мудак.
#316 #779781
>>779761
Ебать какое у тебя продуманное приложение. А не проще ли просто взять и переложить вину на юзера? Если обрубил приложение, значит, сам дурак.
#317 #779783
>>779781
Чисти чисти!
#318 #779787
>>779781
это тестовое задание. пытаюсь изъебнуться
#319 #779803
>>779781

> Бля, поставил приложение, оно теперь ест 1 гб, а у меня в телефоне только 4. Разработчики чините, а пока поставлю единицу

>>779807>>779808
0 Кб, 10x10
#320 #779807
>>779803

> а пока поставлю единицу

#321 #779808
>>779803
Если загрузка файла обрубится на полпути, то файл всё равно появится в ФС, просто будет скоррапчен, очевидно же.
>>779826
#322 #779826
>>779808
Разве? Даже когда загрузочный сервис ОСи остановить принудительно на полпути, то файл всё равно гуглится в файловой системе
>>779828>>779907
#323 #779828
>>779826
Я так и написал.
#324 #779907
>>779826

> файл всё равно гуглится в файловой системе


> гуглится в файловой системе


> гуглится


Значение знаешь?
10 Кб, 180x178
#325 #780064
Поясните по хардкору
Вот я нубас-программиствонаби
У меня есть идея игрульки под ведроид, где в основном в коде нужно обрабатывать логику, интерфейс текстовый, связей клиент-сервер нет
Посмотрел синтакстис явы, не понравилось, нравится яваскрипт
Я могу как-то написать свое приложение на яваскрипте или мне все равно придется освоить яву? Советовали React.js, но как я понял он для разработки Front End'a. Нид хелп, короче
#326 #780066
>>780064
Можешь освоить минимум джавы для написания обертки в виде WebView (в таком случае ты либо пишешь хтмли/джсы вставляя их в вебвью, либо вебвью указываешь свой где-то фронтенд). Есть еще Cordova / PhoneGap.

P.S.

> явы


> яваскрипт


> яваскрипте


> яву

>>780069
#327 #780069
>>780066

>P.S.


> явы


> яваскрипт


> яваскрипте


> яву



ЯП склонять - зашквар? Ты к этому?
>>780070
#329 #780086
>>780064
--> /gd unity тред
>>780093
#330 #780093
>>780086
Чаю тебе, анон!
Вроде как раз то, что мне нужно.
#331 #780198
>>780064
в чем проблема сделать обработку логики на сервере и пилить через webView весь фронт ?
>>780202
#332 #780202
>>780198
Усложнение и создание зависимостей там где без этого можно полностью обойтись.
>>780203
#333 #780203
>>780202
Полностью обойтись хочешь - можешь на жабе написать. Просто быстро и удобно :)
>>780204
#334 #780204
>>780203

> Просто


> быстро


> удобно


> ...


> джава


:)
#335 #780205
А какая ОРМка лучше всего подходит для сохранения текущих данных на экране и ОЧЕНЬ быстрого их восстановления ( читай - какая быстрее отальных ). Я пользуюсь realm-ом, но мало ли есть что-нибудь побыстрее
#336 #780206
А какая ОРМка лучше всего подходит для сохранения текущих данных на экране и ОЧЕНЬ быстрого их восстановления ( читай - какая быстрее отальных ). Я пользуюсь realm-ом, но мало ли есть что-нибудь побыстрее
>>780276
61 Кб, 604x453
#337 #780233
Привет анон. Нужно написать чат используя udp протокол. Накидай пожалуйста не за щеку материала по этой теме.
#338 #780259
>>780233
Хуярь на сокетах, например, сокет.ио
#339 #780276
>>780206
Icepick
#340 #780323
А какая ОРМка лучше всего подходит для сохранения текущих данных на экране и ОЧЕНЬ быстрого их восстановления ( читай - какая быстрее отальных ). Я пользуюсь realm-ом, но мало ли есть что-нибудь побыстрее
>>780335>>780336
#341 #780335
>>780323
realm это не ORM
>>780340
#342 #780336
>>780323
пардон, затупил, какая-то херня выскакивала
#343 #780340
>>780335
пардон, не уследил, но суть думаю понятна. Что может наиболее быстро сохранять и предоставлять большое количество инфы
#344 #780355
>>780233
http://stackoverflow.com/questions/19540715/send-and-receive-data-on-udp-socket-java-android
Почти что первый линк, и вроде как есть все что нужно
>>780486
3522 Кб, Webm
#345 #780486
>>780355
За линк спасибо, но в этом примере есть сервер. А по моему ТЗ сервера быть не должно. Клиент вводит локальный айпишник и текст сообщения, а клиент (тоже андроид) получает его.
256 Кб, 550x550
#346 #780495
Привет, котаны.
Для тех, у кого на работе заблокирован двощ, или хочется что-то обсудить в реальном времени давным давно был создан a|)0ndroidANUSjabbP`,erPUNCTUM>>3ru - это антипод чата в телеграмме, здесь только адекватное общение адекватных людей.
Такова особенность jabber - там собираются гики, школота отсвеивается засчет высокого порога вхождения
#347 #780496
>>780233
Интересно, как быть с потернными пакетами в UDP?
Перепосылка, перепосылка, пока не получим ответа?
>>780497
#348 #780497
>>780496
Об этом пока не думал. Главная задача сейчас - хоть как-то это дело заставить работать.
>>780503
#349 #780503
>>780497
Я думаю это заебись решение. Просто перепосылай через каждые 250 мс, чтобы не жрать проц, пока не придет ответ от другого собеседника, что Я ПОЛУЧИЛ.
И няшный индикатор о получении сообщения прикрути.
>>780535
#350 #780535
>>780503

> пока не придет ответ от другого собеседника, что Я ПОЛУЧИЛ


Для этого есть tcp, а не велосипеды в 2 пакета.
>>780559
7 Кб, 157x989
#351 #780548
Почему нижняя тень у карточек увеличивается?
Контейнер v7.RecyclerView - никаких атрибутов, адаптер отдает v7.CardView - на нем только маргины.
>>780550
#352 #780550
>>780548
Выставить app:cardElevation и такой же app:cardMaxElevation (не знаю зачем он даже) пробовал.
#353 #780559
>>780535
Зачем нам медленный чат на TCP?
Только UDP!
5 Кб, 473x216
#354 #780579
Аноны, как добавить юнит-тесты к проекту? Те, которые local unit tests, выполняющиеся на стандартной JVM.

Если создать новый проект в свежей студии, то там всё хорошо: есть отдельно test, отдельно testAndroid. Всё работает из коробки.

Что делал я: Добавил testCompile 'junit:junit:4.12' в app/build.gradle, создал папку test, в ней пакет con.example.myapp, добавил простой юнит-тест (пикрелейтед). В контекстном меню папки test выбираю Run test... -- студия предлагает запустить эмулятор или подключить устройство. То есть, не то. Запускаю ExampleUnitTest из его контекстного меню, получаю ошибку Class not found: "com.example.myapp.ExampleUnitTest" Empty test suite.

В свежем пустом проекте всё работает. Как лечить?
#355 #780602
Чому если у одного итема RecyclerView сделать кнопку Visible, и пролистав немного, то у других, ранее не отрисованных итемов она появляется тоже?
>>780606>>780616
#356 #780606
>>780602
Может ты в адаптере с айдишниками налажал?
>>780617
#357 #780616
>>780602
Потому что ты не понимаешь сути recyclerview. Явно указывай тем итемам, у которых кнопка не видна, значение invisible.
>>780618
#358 #780617
>>780606
Вроде нашел ошибку. Получается что при отрисовке итемов используется не дефолтная разметка, где всё gone по умолчанию, а текущее её состояние. Те сделали в одном итеме visible, при дальнейшей отрисовке в остальных тоже будет visible
>>780978
#359 #780618
>>780616
Всё, разобрался уже
#360 #780978
>>780617
у тебя вьюхи переиспользуются, сделай else gone
903 Кб, 1024x600
#361 #781301
Устанавливал phonegap. Поставил нпм и ноду. В чем может быть проблема?
>>781319
sage #362 #781319
>>781301
Уебывай в js-тред со своей парашей.
#363 #781904
Приветы!
Появилась идея реализовать библиотеку для просмотра БД прямо в приложении.
Будет представлять собой отдельную активити, которую можно запустить из любого места в приложении. При её открытии можно будет просматривать и редактировать таблицы, создавать кастомные запросы.
Пригодится при отладке приложения, избавит от необходимости скачивать базу с эмулятора или телефона, чтобы ее просмотреть.
Полезная штука, стоит ли делать?
#364 #781937
>>781904
не стоит, такое уже сделано пару лет как
>>783755
#365 #781959
Привет, котаны, вопрос: как с помощью rx выполнить определенные действия по выполнению условия ? Ну т.е. скажем когда переменная x перестает быть null вывести ее значение ?
>>781970
#366 #781963
>>781904
Мути сразу REPL на android процесс + SSH что можно было просматривать локальные каталоги.
>>783755
#367 #781967
Норм ли идея запилить MVVM поверх BehaviourSubject'ов? Заодно сделать единый weakreference пул объектов, зеркалируемый в базу данных? Из плюсов, если мы меняем что-то в объекте, то меняются только определенные вьюхи, а не целиком все как при notifyItemChanged или при ресете курсора.
>>782041
#368 #781970
>>781959
BehaviourSubject + filter + subscribe (log)
>>781993
#369 #781993
>>781970
Туплю, ты не мог бы конкретный пример привести. Очень недавно познакомился с rx
>>782013
#370 #782013
>>781993
BehaviorSubject<String> subject = BehaviorSubject.create();
subject.filter(x -> x != null).subscribe(x -> Log.d(x, x));

subject.onNext(null);
// No log
subject.onNext("1");
// Log 1: 1

subject используешь вместо переменной.
>>782039
#371 #782039
>>782013
спасибо
#372 #782041
>>781967
Сделал свои ObservableProperty поверх Subject, мне нравиться.

А вот

> единый weakreference пул объектов, зеркалируемый в базу данных


мне кажется перебором.
#373 #782049
Пытаюсь сделать что-то типа паззл-игры. Допустим, у меня есть игровое поле с объектами. Мне нужно чтобы по ним можно было кликать и перемещать.
Если сделать свой CustomView для всей игры, тогда получается что нужно самому реализовывать интерактивность объектов внутри.
Можно ли сделать рендеринг всей игры сабклассом AbsoluteLayout, а каждый объект сабклассом View? Можно ли будет рисовать прямо на AbsoluteLayout, или нужно будет для каждого видимого элемента создавать View и засовывать внутрь?
Короче, как сделать правильно с минимумом пердола?
>>782080
#374 #782080
>>782049
я так пятнашки делал, просто кнопочки двигал по viewgroup
>>782158
#375 #782158
>>782080
Ну мне тоже самое почти надо, плюс ещё немного рисования по поверхности самого ViewGroup. Попробую сегодня тоже сделать.
#376 #782236
Можно как-нибудь переместить фрагмент в другой контейнер, не пересоздавая его
#377 #782615
Как в RxJava преобразовать список объектов, чтобы дальше работать с каждым объектом по-отдельности?

myRetrofitService
.getUsers()
.map( usersAnswer -> usersAnswer.getUsers() )
.????
.subscribe( user -> saveUser(user) )
>>782620
#378 #782620
>>782615
flatMap, осиль чтоли прочесть все операторы на вики гитхаба.
>>782622
#379 #782622
>>782620
Так что ли?

.flatMap( users -> Observable.from(users) )
>>782639>>782686
#380 #782639
>>782649>>782686
#381 #782649
>>782639
Спасибо.

Вики-то я прочитал, но многие вещи всё равно сложно понять, пока сам не попробуешь.
#382 #782686
>>782639
>>782622

Еще вопрос: юзеры будут обязательно доставлены в Subscriber именно в том порядке, в каком они были в списке, так ведь?
>>782727
#383 #782727
>>782686
Вот здесь уже я меньше уверен, но flatmap распараллеливает обработку, за максимальную параллелизацию как раз и отвечает второй параметр. Выдаст то он тебе их последовательно, но обработаться они могут и не последовательно.
>>782767>>782774
#384 #782767
>>782727
Ну такая штука ведёт себя правильно, порядок всегда сохраняется

Observable.just( Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) )
.flatMap( integers -> Observable.from(integers) )
.doOnNext( integer -> System.out.println(integer) )
.subscribe( integer -> { } );
>>782774
#385 #782774
>>782727
>>782767

А вот тут наоборот: http://stackoverflow.com/a/36133313/4451232

И я что-то пока не пойму, почему так..
>>783377
#386 #782850
Что дрочить после жава кор чтобы смочь в андройд разработку?
>>782855
#387 #782855
>>782850
android framework?
Идешь на https://developer.android.com/index.html и дрочишь уроки.
#388 #783377
>>782774
потому что observeOn не на дефолтном потоке
#389 #783401
Почему могут не приходить пуш-сообщения с GCM на бродкастресивер? Причём они успешно приходят на устройство с 19 апи, на эмулятор с 23 апи, но на устройство с 21 апи не приходят. При этом, если приложение запущено, то сообщение придёт на соответствующий сервис , как и ожидается (то есть, девайс зарегестрирован). И единственная проблема, что сообщение не приходит на бродкастресивер этого девайса с 21 апи, если приложение закрыто.
#390 #783517
>>783401

> Почему могут не приходить пуш-сообщения с GCM на бродкастресивер


Потому что они должны приходить на GcmListenerService?
>>783543
#391 #783543
>>783517
Нет, если приложение закрыто, то они приходят по бродкастресиверу и передаются на листенер. У меня так работает на девайсе с 19 версией и на эмуляторе с 23.
com.google.android.gms.gcm.GcmReceiver - вот так называется, но можно и свой сделать.
>>783547
#392 #783547
>>783543

> на листенер


на GcmListenerService*
#393 #783755
>>781937
Ссылку не кинешь? Знаю только неудобно подключающийся говнокод какого-то индуса.
>>781963
Не понятно, что ты хочешь, слишком сложно. Может что-нибудь попроще?
#394 #783922
анон, в детстве хотел сделать игру типа тамагочи, был по "Ну, Погоди!" на телефоне, вот примерно такого типа. да, может звучит пиздец тупо но все же. в общем могу ли я не зная нихуя , кроме институтского курса информатики, запилить это гавно на ведро. сколько времени потребуется на изучение Java, только для этой цели. понятное дело, что я не хочу на этом заработать или на что-то надеюсь, просто вспомнил и как то загорелся. зы. рисую хорошо, в этом проблемы нет. готов потратить неопределенное количество свободного времени.
>>784006
#395 #784006
>>783922

> сколько времени потребуется на изучение Java


Гугли "java за 24 часа". Долбоебушка учи Kotlin.
>>784055
#396 #784055
>>784006

> Котлин


Мхех, мда. Будущее за реакт нативом, пусть джаваскрипт учит.
>>784057
#397 #784057
>>784055
Kotlin тоже может в ReactNative, так что js ненужен.
>>784184
#398 #784173
Как этот ваш андроид вообще живет? Сейчас весь мир на ифонах.
16 Кб, 600x600
#399 #784178
>>784183
#400 #784179
#401 #784180
>>784173
Хорошо живёт.
#402 #784183
>>784178
Да не, я просто совсем за мобилками не слежу.
#403 #784184
>>784057
Ты попробуй хоть какой-нибудь кастомный язык в RN засунуть. В данный момент это адский гемор.
>>784207
92 Кб, 625x445
#404 #784207
>>784184
А нахуй вообще сейчас, вот когда RN завоюет мир тогда и приходит.

А то может и вообще не понадобится, вон котлиновцы и сами на iOS нацелились.
#405 #784239
анон, хочу менять жизнь в лучшую сторону. почитав что и как, понравилось направление программирования именно под андройд. скажите, гайд из оп актуален? или что то поменялось? тоесть учить пошагово что там, паралельно искать в инете задачки и пробовать их решать, чтоб на практике закреплять знания?
#406 #784310
Хочу взять realm. У меня есть sql база с one-to-many, скажем, статья->комментарии. Организованно это указанием articleId в модели комментария. Как правильно в релме это делать, стоит ли в модели статьи сделать поле RealmList<Comments> comments?
>>784318
#407 #784318
>>784310

> Хочу взять realm


Зачем? Какие преимущество это даст в сравнение с sqlite?
>>784339
#408 #784339
>>784318
У меня сейчас самописная дура, которая мапит pojo в и из базы, без нее я бы писал кучу дополнительного кода. Хочу от того и другого избавиться. SQL_TO_SE_PIATOE_DESYATOE тоже надоели.
>>784345
#409 #784345
>>784339
Ты можешь использовать орм, которые работают поверх sqlite. Но если хочешь, могу про реалм рассказать, когда домой вернусь.
>>784351
#410 #784351
>>784345
Я смотрел на гриндао, но мне лень генераторы и т.п. запускать. Релм на вид симпатичнее всех показался.

Расскажи.
>>784382>>784724
#411 #784382
>>784351
- С realm ты теряешь с кросплатформенности (там весь код в .so либах)
- У тебя разрастается бинарник
- Он не дает координального прироста скорости
- Там такой-же убогий синтаксис запросов как и во всяких sqlite ORM
- Его нельзя портировать на iOS через Intel MOE или BugVM (а sqlite-ORM можно)
>>784746>>785138
#412 #784454
>>774895 (OP)
Аноны, можно сделать так, чтобы в дейтапикере диалог скрывался сразу после клика по дню, чтобы не жать ещё раз ОК?
#413 #784709
Выгружаю большое количество инфы с сервера частями по очереди и пишу в базу. Если по пути один из запросов к серверу не удался откатываю транзакцию. Можно до того как транзакция завершиться читать базу из других тредов? Гугл говорит сделать enableWriteAheadLogging. C этим чтение всегда будет на состояние базы до начала транзакции?
#414 #784724
>>784351
Описываешь Article extend RealmObject, пихаешь в нее RealmList<Comments> и радуешься жизни. Но это если комментарии прилетают вместе со статьей. Если отдельно, то при повторном получении тебе нужно будет вытащить все нужные комментарии и запихнуть в обновленную модель, иначе они затрутся, т.к. в обновляемой модели будет comments = null. Либо положить хуй, и хранить комменты отдельно с указанием номера статьи.
>>784734
#415 #784734
>>784724

> хранить комменты отдельно с указанием номера статьи


Это в релме делается полем на связную модель или полем лонгом на id этой модели?
>>784986
#416 #784746
>>784382
Двачую вот этого. Реалм для неосиляторов, которым ЭСКЬЮЛАЙТ СЛОЖНА.
#417 #784986
>>784734
Через id, иначе вытаскивать будет сложнее, да и от лишней нагрузки на реалм избавишься.
>>785138
#418 #785138
>>784986>>784382
Спасибо.
#419 #785147
как наработать портфолио если нет опыта и только вошел в тему (еще не увереный професионал который разрулит любые задачи)? какие то сайтики с самыми простыми задачками найти и решать или на фрилансе попробовать за бесплатно чето взять типа вышло красава не вышло похуй?
>>785169>>785350
#420 #785169
>>785147
Идешь без задней мысли ждуном в мелкофирму, работать за минимальную плату.
>>785246
#421 #785222
Андроиданы, есть такой возможный заказ - приложение которое проигрывает 3d анимации (в оригинале fbx видео, но могут предоставить любой нужный формат). Соответсвенно можно ускорять и крутить. И вот я тут думаю стоит ли тащить Unity 3d, или есть что-то по легче? Но что бы и не на голом OpenGl писать.
>>785355
#422 #785246
>>785169
в мелкую фирму, даже на минимальную плату трудно найти джуновское место по знаниям джуна. обычно они ищут более продвинутого чувака за более низкую плату или я не прав? листал вакансии джуном там или требования что видно ребятам надо не чувак которого стоит подучить/подстраховать а просто они ебали платить. или я проебываю какой то важный момент?
>>785249
#423 #785249
>>785246
Так и есть.
#424 #785350
>>785147
Зарегистрируй аккаунт в гугл плей и сделай что-нибудь, что будет не стыдно показать на собеседовании.
#425 #785355
>>785222
Смотри в сторону GLSurfaceView, может, тебе подойдёт.
>>785401
#426 #785395
>>783401
вот была проблема но вспомнить не могу, помоему беда оказалась в том что в сигнатуре нельзя использовать и text
#427 #785397
>>783401
Вот была проблема но вспомнить не могу, по моему беда оказалась в том что в сигнатуре нельзя использовать и text и title одновременно.
#428 #785401
>>785355

>GLSurfaceView


Нууу такое. Опять же нужно знать OpenGL, вообще я нашел что libGDX очень даже умеет рендерить fbx.
#429 #785413
В Android до сих пор не появилось возможности просто и без заебов создать круглый ImageView?
>>785446>>785456
#430 #785446
>>785413
Либы есть.
#431 #785447
Господа, привет.
Джава джун в треде. Хочу задать платиновый вопрос. Читал и в гугле, конечно, но хочется из первых уст, так сказать.
Так вот, многие из вас занимаются фрилансом? Маленько заебался от тырыпрайза, хочу поднимать деньги на берегу моря (манямир), чтобы хватало на сромную жизнь.
#432 #785456
>>785413
Из коробки вроде нет.
Хотя на последнем IO в виде "материал-дизайн для программистов" говорилось о каком-то best-practics.

Меня это когда-то так заебало, что сделал кастомный ViewGroup, который "закруглял" все дочерние элементы.
Типа композиция - лучше наследования :)
#433 #785544
Аноны, у меня есть лоадер, в котором я с помощью rxjava отправляю данные на сервер, они должны быть отправлены ровно один раза. Использую оператор cache, т.е. при сворачивание приложения или при перевороте экрана работает всё как надо, но если свернуть приложение и сразу же убить его, то при возвращение в него запрос опять отправиться, это и понятно, т.к. лоадер переживает только переворот экрана. Как лучше это все сделать, чтобы работало как надо? Заводить таблицу для одной записи и складывать туда последний результат? Но когда тогда чистить эту табличку?
>>785702
#434 #785702
>>785544
Закинь в Shared Preferences булеву хуиточку, типа "запрос уже отправлен".
>>785982
#435 #785982
>>785702
а при запуске приложения чистить её?
>>786079
#436 #786066
Суп кота господа.

нашел этот гайд
https://codelabs.developers.google.com/codelabs/android-studio-jni/index.html
все проде норм кроме

Configure the module build.gradle to create "hello-android-jni" shared lib.
Select Android Studio "Project" pane > "Gradle Scripts" > "build.gradle (Module:app)", add the following inside the "model" block, after "buildTypes" block.

пишу это в градл и он ругается меня
ndk {
moduleName "hello-android-jni"
}

найдите где мой рак. хочу вылечить
>>786111
#437 #786079
>>785982
Тогда проще: static переменная, которую будешь инициализировать при запуске.
#438 #786111
>>786066
я все понял. ссоре за флудец.
но почему гугл делает цпп код через анус? нельзя было нативные апки на цпп придумать?
>>786152>>786215
#439 #786152
>>786111

>через анус


В этом смысл андроида.
>>786155
#440 #786155
>>786152
понял :D
но возник вопрос.. Это кавайность андройда или порог его вхождения?
>>786226
#441 #786215
>>786111
Дохуя переписывать придется и еще дольше отлаживать и тестировать.
Такая сложная интеграция C/C++ кода из-за Java.
>>786217
#442 #786217
>>786215
ну я уже врое в принцып jre вьехал и рулю байтовыми смещениями и асм вставками. Но почему понимая что нативный код быстрее java оставлять в 2016ом java основой андройда? просто выпилить нативную либу по типу gtk и рулить из-за неё всем происходящим.
>>786218>>786237
#443 #786218
>>786217
jni быстрофигс
#444 #786226
>>786155
Это проблема ведроида как системы. Порог-то не высокий.
>>786227
#445 #786227
>>786226
ну не скажи.. мне потребоволось пара дней чтобы вкатится в native хотя это не брейнфак, но и не php/1с
1204 Кб, 1920x1200
#446 #786235
Котаны, заметил такую ебань: VK SDK методы листенера attemptFailed и onError вызываются не в UI потоке.
При этом метод onComplete вызывается в UI потоке.

Так вот. Эта ебань портит мне всю малину.
Т.к. я запихнул это в Loader, который решает, когда грузить из кеша, когда грузить из инета и когда обновлять кеш, то
deliverResult вызывается не в UI потоке и следовательно приложуха падает при обновлении гуя.

Как теперь быть:

1) Из-за этой поебени в onLoadFinished обновление гуя обвернуть в runOnUiThread(new Runnable() { } )...?
2) Обвернуть deliverResult во что-то, чтобы он, сцуко, вызывался в UI потоке? Но как это сделать?

PS: Обмазаться rxjava, ретролямбдами, ретрофитом и еще какой-то хипстерской поебенью не предлагать
>>786288>>786678
#447 #786237
>>786217

> нативный код быстрее java оставлять в 2016ом java основой андройда?


Так хватает же производительности за глаза.
Игры как пилили на плюсах, так и пилят.
>>786240
#448 #786240
>>786237
хотя да.. ты прав. железа и для рендеринга на js хватает. что это я. но просто внутренний перфекционист хочет дать пиздов дивелоперам которые заныкали натив ппц как
#449 #786288
>>786235

> rxjava, ретролямбдами, ретрофитом


> стандарт разработки уже везде


> хипстерской поебенью

>>786314>>786678
#450 #786314
>>786288
Еще не стандарт, не пизди.
Три года дерутся с фрагментами уже, а АрИкс пока далеко до стандарта.
Ретролямда так вообще синтаксический сахар.
>>786343>>786678
#451 #786343
>>786314

> Три года дерутся с фрагментами уже


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

> АрИкс пока далеко до стандарта


Все топовые студии разработки в России его используют.

> синтаксический сахар


Это хороший сахар, или любишь в 10 строк описывать простейший листенер?
#452 #786420
>>786343

> 2016


> retrolambda

#453 #786425
Блять, блять, блять.
Мы скоро начинаем учить разработку под андроид. ЭТО ПИЗДЕЦ. Мало того что этим говном невозможно пользоваться в реальной жизни, так еще теперь и писать под него надо.
Эх, придется с закрытыми глазами тестить, потому что от одних анимаций уже воротит.
#454 #786513
>>781904
Зачем? Есть же SQlite Editor правда ему рут нужен
#455 #786570
>>786425

>от одних анимаций уже воротит


Сделай красивые раз такой умный.
>>786611
#456 #786611
>>786570
Зачем делать велосипед если уже есть iOS?
>>786628
#457 #786628
>>786425
>>786611
Ну так пиши под ios в своё удовольствие, никто же тебе не мешает?
>>786652
#458 #786652
>>786628
Ебать супер тупой. Мб пост прочитаешь не жопой?
>>786668
#459 #786664
>>786425
Нам очень важно ваше мнение.
толсто
8 Кб, 512x717
#460 #786668
>>786652
Пиздуй отсюда, зелень.
Что-то не нравится - пиши по собственному желанию. Держи бланк.
#461 #786678
>>786235
Делай по способу 2)
Вот так: https://gist.github.com/anonymous/8026b338bd56f222de8b8e2acaa91d58
В итоге deliverResult вызовется из Main вскоре после вызова: handler.sendMessage(handler.obtainMessage(0, ...))
>>786288
>>786314
>>786343
Господа специалисты, обосрамс.
Элементарная же задачка у того хуя с малиной.
288 Кб, 1440x2560
#462 #786694
Кто-нибудь работал с арабскими шрифтами?
Пикрелейтед Activity, отображающая данные, полученные из Интернет.
Как видно, здесь присутствует две проблемы:
1. Если в TextView присутствует текст, написанный подобным шрифтом, выравнивание текста автоматически изменяется на правое
2. Если посмотреть на поле с электронным адресом, видно, что домен и имя ящика поменялись местами. То же самое в строке с именем - сначала должно идти имя, а затем национальность в скобочках, на скрине все наоборот.
Такое впечатление, что андроид автоматически выводит строки с подобным шрифтом справа налево. Можно как-то отменить такое поведение?
>>786712
#463 #786712
>>786694
Ты что, сука, ты чо? Арабы, индусы, евреи читают справа на лево, у них такая письменность, андроид все верно делает, а ты должен еще картинки на право поставить. Вообще почитай про rtl.
>>786999
#464 #786776
>>786343

>Все топовые студии разработки в России его используют.


Еще не показатель на самом деле, вот когда 51% разрабов перекатится, тогда станет стандартом.
#465 #786777
>>786343

>Это хороший сахар, или любишь в 10 строк описывать простейший листенер?


Да успокойся уже, за тебя всеравно все генерируют.
#466 #786999
>>786712
А чё, мыло они тоже так криво читают?
Спасибо за совет, бай зэ вэй, все получилось.
>>787002
#467 #787002
>>786999
Да, они все криво читают, наверное. Просто переключись на какой-ниюуждь rtl язык и охуей как меняются другие приложения.
#468 #788345
Ребзя, в какую сторону смотреть, если нужно написать сервер для приложения?
>>788352>>788767
#469 #788352
>>788345
В сторону любого серверного языка?
>>788374
#470 #788374
>>788352
Ну что можно написать в принципе на любом серверном это понятно, а где более удобная интеграция не совсем понятно.
К примеру т.к. опыт написания не под мобилки не богатый я не могу решить куда совать нос, в джаву, котлин, го?
>>788377
#471 #788377
>>788374

> где более удобная интеграция не совсем понятно.


Интеграция с чем? Ты отдавать json можешь хоть на бейзике.
#472 #788397
в ОП упоминается котлин. Скажите по факту это хуйня или нет? Стоит учить или беру джаву и не выебуюсь?
>>788486>>788487
#473 #788486
>>788397
Джава в любом случае нужна.
#474 #788487
>>788397
Не нужна. Все нормальные кодеры давно перекатились на котлин + на нём сейчас пишут большинство современных проектов, на работе от тебя будут требовать знание котлина, а с джавой ты будешь сосать писос.
>>788510
#475 #788502
Гайсики, хелпаните советом. Где почитать про то, какие допустимые значения я могу хранить в БД и их идентификаторы. Ну типо вот что бы занести айди и имя, то надо писать так
[code lang=java]
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table mytable ("
+ "id integer primary key autoincrement,"
+ "name text");");
}
[/code]
А мне надо занести вебвью с картинкой и текстом. Что писать в таком случае?
>>788505>>788508
#476 #788505
>>788502
чето скрипт не работал
лол
#478 #788510
>>788487
Подтолстил конечно, но в принципе согласен, писать на жабке в 2016 - себя не уважать.

Кстати со дня на день должны async/await (как в C#) в режиме preview подкатить.

местный котлин просветитель
>>788517>>788520
#479 #788512
>>788508
ну ссылку и текст я буду текстовым типом заносить
а для картинки типо этот блоб испольщовать?
>>788519>>788524
#480 #788517
>>788510

> должны async/await (как в C#) в режиме preview подкатить.



Вот теперь можно перекатываться.
>>788521
#481 #788519
>>788512
я конечно хуй с горы, но рав даты всякие и картинке в бд лучше не хранить. генери для них имена, храни в какой-то папочке, а в бд только ссылку на них
>>788523>>788525
#482 #788520
>>788510

>писать на жабке в 2016 - себя не уважать


В чем проблема? Просто, надежно, все работает.
Думать надо над приложением, его архитектурой, дизайном, связью с бэкендами, перформанс боттлнеками - а не тем как 3 простых понятных и надежных строки кода превратить в 2 сложных, непонятных и с багами имплементации котлина.
>>788548
#483 #788521
>>788517
Вы с async и await втрое больше ошибок синхронизации теперь наплодите.
#484 #788523
>>788519
Не забудь поверх папочки реализовать свой собственный слой транзакционного хранилища.
97 Кб, 892x763
#485 #788524
#486 #788525
>>788519
да, я так и подумал изначально, но мб был какой то проще способ
спс энивей
317 Кб, 1024x763
#487 #788548
>>788520

> Думать надо над приложением


Это правильно, только вот в Java ты больше озабочен написание бойлепрлейта
и скролом многостраничных getter/setter это я утрирую конечно.

> превратить в 2 сложных непонятных


Kotlin на порядок проще Scala, проще в использование/привычние Clojure,
а это те языки на которые укатилось все прогрессивное сообщество JVM бэкендеров.
По сложности он на уровне Swift, который становится основным языком iOS.

Подытоживая:
1. Java == бойлерплейт + NPE + лишняя мутабильность + слабая расширяемость
2. Время уговоров прошло.
Кто хочет уплывают в светло будущие миноносце "Kotlin" нарабатывать опыт.
Остальные могут оставаться на острове Java - по вам скучать не будем.
>>788559>>788565
#488 #788559
>>788548
За пределами рашки кто-нибудь вообще пишет на Kotlin? Очередной мертворожденный язык типа Ceylon от RedHat'а. Для борщехлебов есть Scala и Clojure, а тупым макакам достаточно обычной жабы.
>>788594
#489 #788565
>>788548

>только вот в Java ты больше озабочен написание бойлепрлейта


Ты допускаешь принципиальную ошибку здесь.
Ты исходишь из двух неявных предположений, оба из которых неверны
1. Скорость разработки существенно зависит от скорости ввода символов с клавиатуры
2. Экономия размера кода кому-то что-то дает полезного

Я же говорю о том что экономить надо затраты мыслительной активности, они ограничены в течение рабочего дня и восполняются только отдыхом и сном.
Простой, понятный, привычный код читается просто и легко, на уровне рефлексов, какой бы бойлерплейт он не был, мыслительной активности на сеттеры не тратится, ну так же как ты не тратишь ее на мысленное слова "бойлерплейт" из букв, из которых он оно состоит - это происходит у тебя рефлекторно, правым полушарием, с того момента как ты научился читать. А вот если я сейчас тебе влеплю с десяток сложноподчиненных предложений на три абзаца каждое, да еще состоящих из слова типа "эпистемиологическая герменевтика" - ты после них резко захочешь сходить перекурить, выпить чаю, и прогуляться полчасика, а то и пораньше домой пойти.
>>788594
#490 #788581
С помощью какой-то еба магии абстрактных и анонимных классов получилось сделать обновление ui из асинхронного потока, без использования runOnUiThread. Кто может пояснить?

http://pasted.co/8a76f17b

Делал по примеру, из первого коммента:
http://stackoverflow.com/questions/8267928/android-rest-client-sample
>>788597>>788603
#491 #788594
>>788559
Если я не ошибаюсь, последний раз Андрей Б говорил что самые большые комьюнити сейчас в:
1) США
2) Япония
3) Германия
4) Россия

Опять таки на github основные пул-реквесты от иностранцев.
Те они то как раз нацелены на иностранных разработчиков.

>>788565

> демагогия


ОК, оставайся
#492 #788597
>>788581
onPostExecute выполняется на главном потоке.
#493 #788603
>>788581
Ну е мое, уже базовых вещей не знаю. Кто тебя из нуфаг-треда выпустил?..

Иди читать мануалы: https://developer.android.com/reference/android/os/AsyncTask.html
#494 #788635
Начинаю новый проект с боковой навигацией.
Есть рут активити, а как ораганизовать грамотно переходы по фрагментам, хранить бекстек где то? Как выставлять правильный тайтл на акшенбаре при переходах туда-обратно?
Может есть у кого устоявшиеся правила для такой организации.
>>788643>>789055
#495 #788643
>>788635
Экшонбар ебашь прямо во фрагменте тулбаром в лейауте, все равно дровер будешь делать наезжающим на экшонбар, зато от гемороя лишнего избавишься.

Стек хранит фрагментменеджер сам.
72 Кб, 1761x179
#496 #788671
Есть 2 разные активити. Хуль префсы не скидываются? Дефолт префсы на всё приложение одни же? Может контекст не тот? Нихуя не пойму.
>>788688
#497 #788682
Сап, программач. Короче, забыл Алиас от кейстора приложения. Какие есть способы восстановить/найти/вспомнить его?
>>788693
#498 #788688
>>788671
Не знаю что ты хочешь, но на втором окне надо:
pref.edit().clear().commit();

иначе это два разных действия (одно без коммита, второе пустое)
>>788701
#499 #788693
>>788682
Там же когда в AS/Idea добавляешь, надо просто ввести ключ от кейстора, а алиас можно выбрать из списка.
>>788696
#500 #788696
>>788693
Да, да. Сори, я довн выбрал не тот кейстор.
#501 #788701
>>788688
Получается если через Editor делать то можно в стек пихать действия и коммиттить где-то в конце, а без едитора нужно в одну строчку делать. Пиздос. Могли хотябы хинт сделать, мол допиши в конце коммит, ибо иначе нихуя не будет. Как например подсказка что в Toast'е надо в конце написать .show() чтобы он появился.
>>788736
28 Кб, 573x342
#502 #788711
И что теперь делать? Как вообще это могло произойти?
>>788738>>788745
#503 #788736
>>788701

>Могли хотябы хинт сделать, мол допиши в конце коммит, ибо иначе нихуя не будет. Как например подсказка что в Toast'е надо в конце написать .show() чтобы он появился


У меня такая есть.
#504 #788738
>>788711
Ищи сертификат дурашка. И нахуя ты от нас хеши прячешь, думаешь мы их подбирать будем блять? Подозреваю что ты подписывал дев сертификатом, а он имеет свойство обновляться. Ищи бекапы системы например, может если вы в команде работали у кого-то может быть такой же дев сертфикат, я свой шарю что бы не записывать в гугл/пейсбук/вк дополниттельные. Но если не найдешь, то пизда тебе - новая приложуха в маркете.
>>788747>>788762
#505 #788745
>>788711
Ты debug-билд что ли залить хочешь?
#506 #788747
>>788738

> Подозреваю что ты подписывал дев сертификатом


Тоже об этом подумал. Если так, то пусть страдает.
>>788762
#507 #788762
>>788738
>>788747
Кароч, похуй на приложуху. Объясните пожалуйста, как и где я накосячил, чтобы такой хуйни больше не было.
>>788800>>788844
#508 #788763
Проект под андроид у меня раза в полтора (и более) больше кода требует чем тот же проект под айос.
Какой Android перегруженный - это пиздец.
>>788784
#509 #788767
>>788345
В сторону REST API. А делай хоть на пыхе, хоть на руби, питони, джаве, ноде, скале...
#510 #788784

>>788763
Это все потому что ты на Java пишешь
>>788802
#511 #788800
>>788762
Открываешь build.gradle своего модуля (app/build.gradle по дефолту) и начинаешь выкупать что там написано. В блоке android {...} будет блок signingConfigs {...}, короче будет что-то примерно такое: http://pastebin.com/q0Da1xVF c некоторыми отклонениями разумеется.
Обрати вниманеи на signinConfigs, по существует дефолтный который там не написан, который используется для всех buildType'ов в которых явно не указан (release signingConfig указан в release buildType'е). Вот этот самый дефолтный и использует сертификат который лежит в ~/.android, который в свою очередь иногда обновляется. Вот возможно ты выкладывал в маркет приложуху подписанную дефолтной конфигурацией. Как избежать? Правильно сделанная схема деплоя, по четкому нужен билд сервер с CI, но если ты в какой-то говно конторе, как я, нужно просто не делать хуйни и делать бекапы.
>>789094
#512 #788802
>>788784
Не пизди, ведроид реально требует думать о такой хуйне, о которой в гейосе даже никто не слыхал, и тысячи костылей.
#513 #788821
Вождь закрыл Илю на кухне на все лето
#514 #788844
>>788762
TL;DR Подписывать приложения release-сертификатом.
#515 #788850
Используя в корне DrawerLayout, реально ли сделать так, что бы за каждый итем в навигации отвечал отдельный активити и они переключались между собой?
Далее у этого активити уже свой стек фрагментов.
>>788896
#516 #788896
>>788850
Если по клику на элементы drawer'а ты будешь запускать новые activity, то у них уже не будет отображаться navigation drawer. Или нужно будет его в каждой activity вручную добавлять.
Так что, это плохая идея.
#517 #788899
Где перекат, а?
>>788901
#518 #788901
>>788899
мертвой платформе - мертвый тред
>>788919
#519 #788919
>>788901
Самая мертвая, с 80% рынка.
>>788936
#520 #788936
>>788919
У iOS когда-то и 95% было.
>>788938
#521 #788938
>>788936
И что дальше? iOS — мертвая платформа?
#522 #788984
>>774895 (OP)
ОП и успешные аноны, к вам вопросы!
Я вкатываюсь в андроид разработку, сделал пару своих приложений в студии, ничего особенного, плюс аналоги наверняка есть в маркете. Но думаю что на базовом уровне я шарю и что-то сделать могу.
Как мне найти работу, если официального опыта у меня нет, раньше шабашил веб фрилансом и питон подработками? Пишу в компании, а меня вежливо посылают нахуй.(
Ваши советы пожалуйста.
>>788994
#523 #788994
>>788984
Выкладываешь исходники на Гитхаб, описываешь каждое своё приложение в резюме, отправляешь его в нормальные компании.
#524 #789005
Посоны, прошел полностью раздел "Getting Started" on developer.android.com
Стоит ли проходить остальные разделы, коих там дохуя прямо сейчас? Или лучше уже начать клепать говно и пропускать в продакшн и по ходу дела проходить остальные туториалы по мере необходимости?

К слову о себе, программировать на джаве я умею- я сейчас где-то на уровне Middle Java Developer на работе в офисе. А цель- изучить андроид и уйти во фриланс под музыку из Джанго Освобожденного.
>>789401>>789468
#525 #789029
>>778380
Какого хуя бля, у меня бомбануло!
Ничего что в 8 джаве можно так же в одну строску написать:
List<Product> products = orders.flatMap(o -> o.getProducts.stream());
#526 #789033
>>789029
Селфикс
List<Product> products = orders.flatMap(o -> o.getProducts.stream()).collect(Collectors.toList());
>>789038
#527 #789038
>>789029
>>789033
не плакай, ява хорошая, верь в это
#528 #789041
>>789038
Рад что не только я это понимаю
#529 #789044
>>789038

> джава плохая


> другой JVM-совместимый язык хороший

#530 #789045
>>789038
А я турбо паскаль больше люблю
>>789047
#531 #789047
>>789045
А вот и некрофилы подъехали.
#532 #789051
>>789038
ну почему так грубо? я с нежностью вспоминаю свое начало в программировании 15 лет назад, олимпиадные задачки, кабинет информатики. эх
>>789052
#533 #789052
>>789051

> 15 лет назад


А ты так и не поумнел за это время.
>>789053
#534 #789053
>>789052
необоснованное заявление
>>789058
#535 #789055
>>788635
в онрезюме метод какойнить типа setuptoolbar и в нем сеттайтл/бинды итд
50 Кб, 625x415
#536 #789057
>>789029

> Ничего что в 8 джаве можно так же в одну строску


Часто так пишешь?
>>789059>>789064
#537 #789058
>>789053
Ну как это? Вон, ты до сих пор мелкобуква.
>>789065
#538 #789059
>>789057
Да почти в каждом проекте под Android. А что тебя смущает?

другой анон
>>789060
#539 #789060
>>789059
Покажи
>>789067
#540 #789064
>>789057
Да, я на работе при любой возможности использую стримы, потому что почти всегда они в тему и код более читабелен. Возможностей уже было овердохуя и на всех код ревью все всегда были довольны.
А если ты не кодишь в стиле который близок к функциональному программированию то ты лох и целка.
>>789089>>789096
#541 #789065
>>789058
читабельность кода ухудшилась не сильно, интерпретируешь ты его тоже успешно. зачем заморачиваться?
>>789068
#542 #789067
>>789060
Да, я сейчас буду весь продакшн код на двач постить, только чтобы тебя убедить.
>>789089
#543 #789068
>>789065

> йа ни на дектанте!!


Действительно.
>>789070
#544 #789070
>>789068
на самом деле я недавно ради прикола написал диктант для седьмого класса. 5 баллов из 12. Леша, 28 годиков
>>789072
#545 #789072
>>789070
Ну вот видишь. А ты говоришь, "необоснованное заявление".
>>789074
#546 #789074
>>789072
это касается только гуманитарных предметов. в точных науках я был отличником. теперь работаю в средненькой фирме и меня все устраивает. ошибочки за меня компуктер подчеркивает.
вообще недавно обнаружил что я на англе допускаю меньше ошибок чем на русском. пора съебывать
>>789076
#547 #789076
>>789074

> пора съебывать


Как-то долго до тебя доходило. Еще пару лет прособираешься и уже никуда не выпустят.
#548 #789089
>>789064
>>789067
Вот это маневр, давно вам стримы завезли в андроид? Видимо у меня другой какой-то. Может у вас еще и дефолтные методы есть, ммм?
>>789092
#549 #789092
>>789089
Стримов нет. на самом деле есть -- https://github.com/streamsupport/streamsupport
Но есть Rx.
#550 #789094
>>788800

> Вот возможно ты выкладывал в маркет приложуху подписанную дефолтной конфигурацией.


Маркет такие апкь нахуй посылает, кстати, не выйдет.
>>789100
20 Кб, 500x370
#551 #789096
>>789064

> Да, я на работе при любой возможности использую стримы


Двачую, делал так еще со времен Android 2.3, брат жив
>>789103
3 Кб, 376x61
#552 #789099
Как лечить пикрелейтед?
#553 #789100
>>789094
Раньше это работало.
>>789104
#554 #789103
>>789096
Тебе уже дали ссылку на библиотеку.
А вообще, речь шла про функциональный подход. Он и в Rx есть.
#555 #789104
>>789100
Лет 6 назад, быть может.
#556 #789106
>>789099
fitssystemwindow
>>789113
#557 #789113
>>789106
Да, я указал. Но на KitKat получается такая шляпа. На более поздних версиях всё ок.
>>789328
#558 #789328
>>789113
Только 1 вьюхе можно указать, той что в корне. Этот аттрибут немного странно вообще устроен.
#559 #789401
>>789005
бамп
>>789404
#560 #789404
>>789401

> во фриланс


Будешь с демпингующими школьниками и индусами за корку хлеба бороться?
>>789427
#561 #789427
>>789404
а то, не жизнь а сказка!
#562 #789442
>>789099
paddingTop = statusBarHeight
>>789448
#563 #789448
>>789442
Это костыль тащемта. Статусбара может не быть.
>>789449
#564 #789449
>>789448
Но эта проблема выскакивает ток с китката, а там статусбар вроде всегда есть.
Го перекатыватсья уже на 23 тред, пермишенов не будет.
>>789468>>789531
#565 #789468
>>789449
Да зачем, вроде ламповее стало.

Из дебилов с платиной остался только >>789005
Кстати >>789005 если тебе нужно авторитетное мнение мидл-android-девелопера с over4 года стажа,
по твоему вопросу "двач что делать, у меня мозгов не хватает самому решить", то лучше тебе пропутешествовать на х#й.
>>789562
sage #566 #789490
Эта новость согреет котлинофагу душу. Java EE всё

https://habrahabr.ru/post/304812/
>>789497
#567 #789497
>>789490
А при чем тут котлин? Смерть EE приведет к возмущению на рынке от которого поднимутся всякие Springи и .NETы. Что в конечно счете приведет к общему ослаблению позиций джавы, котлину это ничем не поможет, только хуже сделает.
#568 #789517
>>789099
Ну пиздец, ну просто пиздец. Гугулу не стыдно за вот это? Там ничего не слышно за "принципиально новый" Андроид, что бы все с чистого листа, что бы как у людей?
>>789521>>789789
#569 #789521
>>789517

> принципиально новый андроид


Хочешь две версии писать параллельно, ведь пока он докатится до пользователей в полном объеме пройдут года?
#570 #789531
>>789449

> Но эта проблема выскакивает ток с китката, а там статусбар вроде всегда есть.


На цигане можно скрывать, например.
#571 #789554
Как у NavigationView в бекграунд заделать имейдж?
Когда дело доходит до дизайна в Андроид приложении у меня просто руки опускаются, глаза разбегаются.
>>789561>>789565
#572 #789561
>>789554
android:background="@drawable/
#573 #789562
>>789468
Эй это же обидно! Может мне весь stackoverflow прочитать еще перед тем как приступать к работе?

Все же кто-нибудь, кто не такой неадекват как вот этот >>789468 господин, помогите мне с советом. Из прикрепленного поста я не могу понять, все ли разделы туториалов проходить с developer.android.com? Раздел Getting Started вроде как по всему прошелся, но я будучи новичком не знаю, остальные туториалы- это важные вещи которые обязательно знать уже сейчас или это второстепенные конкретные туториалы под конкретные задачи?
>>789566
#574 #789565
>>789554
Зачем тебе туда картинка? Там же элементы списка на цветном фоне, с картинкой выйдет перегруженным говном.
#575 #789566
>>789562
Читай все, там довольно мало и не раскрыто до конца.
>>789570
#576 #789570
>>789566
Спасибо, братан
#577 #789789
>>789517
Всё с чистого листа, что бы как у людей — это Windows Phone.
>>789804
#578 #789804
>>789789
Кстате да, мне нравилось писать под 7ку и 8ку. Единственное некоторые вьюхи было тяжело делать, а про аналог onDraw я не знал и сейчас не знаю.
>>789822>>789937
#579 #789822
>>789804
Единственное, что платформа мёртвая. Уже и Микрософт на неё забил.
#580 #789827
Пацаны, хелпаните. Вот есть БД в которой часть информации отображается в списке первого активити(имя, фамилия), а вторая часть отображается во втором активити(пикча). Так вот вопросы:
1)Как в ContentValues поместить несколько значения для разных строк(ну типо я пишу все значения для первой строки через .put(), а как для второй строки написать)? Была идея явно указывать айди, но как то глупо,не?
2) Для построения списка мне лучше использовать обычный адаптер или SImpleCursorAdapter? Так как данные для заполнения списка будут браться из БД.
>>789860
#581 #789860
>>789827
Ты хуйню какую-то написал, я ничего не понял.

https://developer.android.com/training/basics/data-storage/databases.html
#582 #789937
>>789804

> аналог onDraw я не знал


Ахаха, а нет его.

В Andriod есть, в iOS есть, на desktop WPF есть.
А в SilverLight и WP - нет, обмазывайся стилями/шаблонами и комбинирование др вьюхи.
#583 #790067
>>774895 (OP)
извините за офтопик, но при рассмотрении моей кандидатуры не возникнут ли подозрения что 90% проектов на гитхаб я выложил сегодня вечером?
И как это объяснить если будут спрашивать?
>>790074>>790078
sage #584 #790074
>>790067
Что значит "подозрения"? Там ведь вполне явно видно, что, где и когда.

Скажи, что специально выложил на гитхаб, чтобы могли оценить твой уровень. Код на гитхабе - это твоё конкурентное преимущество, а ты думаешь, как оправдываться..
19 Кб, 294x409
#585 #790076
Ну что, помянем ОПа?
>>790079
#586 #790078
>>790067
Кидай ссылку в тред, всё равно он утонул. Получишь код-ревью от лучших мировых разработчиков.
#587 #790079
>>790076
Нахуй вообще перекатывать, пока тред не уплыл?

Нам же не нужны залетные петушки с нулевой.
>>790080
#588 #790080
>>790079
Ну так тогда эти петушки свой тред создадут, который будет ещё хуже этого. Нет?
>>790085
#589 #790081
короче подскажите как из БД заполнять данными айтемы списка?
>>790082
#590 #790082
>>790081
ContentResolver + CursorLoader
>>790088>>790094
#591 #790085
>>790080
Н Е Л Е Г И Т И М Н О
Е
Л
Е
Г
И
Т
И
М
Н
О
#592 #790088
>>790094
#593 #790094
>>790088

> а чисто курсор лоадером


Хорошое решение, года два назад (пока не перешел на RX) тоже так делал.

>>790082

> ContentResolver


Сто раз уже говорил что он нужен ДЛЯ ПЕРЕДАЧИ ДАННЫХ МЕЖДУ ПРОЦЕССАМИ.
Использование его внутри одного процесса только порождает бойлерплейт.
>>790100>>790131
#594 #790100
>>790094
а зачем в этом примере создается класс DB? это типо класс-контракт или что то типо такого? просто я видел примеры как чисто одним классом, наследующем SQLiteOpenHelper делают БД
>>790112
#595 #790112
>>790100
Я бы сказал что DB здесь в виде паттерна Repository с CRUD методами.
Это чисто концептуальная заморочка, если проще без него - можно сделать в одном файле.
>>790154
#596 #790131
>>790094
Мамка твоя бойлерплейт.
Про абстракции, разделение ответсвеноостей ты не слышал?

Ты можешь не использовать ContentResolver на совсем простых проектах. Но с увеличением сложности тебе придётся вручения реализовать то, что уже готов в связке ContentResolver + ContentProvider.

Плюс другие компоненты системы предполагают наличие ContentProvider.

https://youtu.be/CKjFfcFelrI
>>790134
#597 #790134
>>790131
Что там реализовано, чего нельзя самому написать?

> Плюс другие компоненты системы предполагают наличие ContentProvider.


МЕЖПРОЦЕССОРНАЯ ПЕРЕДАЧА ДАННЫХ
#598 #790154
>>790112

>если проще без него - можно сделать в одном файле.


че?
>>790166>>790297
#600 #790297
>>790154

> чисто одним классом, наследующем SQLiteOpenHelper делают БД

#602 #795954
>>774895 (OP)
ищу фриланс подработку или запилюсь в проект к кому-нибудь.
lectri*&icasANUS,C=gmailPUNCTUMMI`com
>>797663
#603 #797663
>>795954

> 07/07/16 Чтв 11:24:06


> ПЕРЕКАТ


> 14/07/16 Чтв 16:32:49


> привет, какдила


убиваешь, сук)
Тред утонул или удален.
Это копия, сохраненная 27 июля 2016 года.

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

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