Коротко о главном: 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. Привет клиент-серверка.
Является ли нормой навигация по папкам при помощи помещения фрагмента, который отображает список папок и их содержимое в backstack? Т.к. внутри фрагмента нельзя переопределить onBackPressed.
>>775047 ВРЕТИ 1.6, на 90% 1.7, а с помощью ретролямбды можно и немношко восьмерки. >>775042 В целом обычная джава очень важна, но у андроида слишком много своих фишек.
Всем привет, ребя. Джава-кодер с 2мя годами enterprise разработки вещает: что почитать, где буудт обучать не яве, а именно работе ОС андроид, её API и т.д.?
>>775154 Из шапки пора пидорнуть всякую шелупонь в стиле js. Алсо в шапке сразу отправлять игроделов в /gd, а "хочу писать на питоне/хаскеле/другое говно" нахуй.
Поэтапный гайд тоже какой то странный, сделать ссылку на dev.android.com более заметной, а то ее не осиливают найти.
>>775215 > кложур, скала, тайпскрипт Если они есть, это не значит, что на них нужно писать. Кому он будет нужен на рынке со своей скалой вместо джавы и котлина.
Господа, в ближайшее время мне выпадет возможность делать клиент такси для водителей и пассажиров. Единственное что меня смущает это то, что для водил предусмотрены специальные мобилки, со своей прошивкой, соответсвенно вопрос - есть ли где готовые образы, которые настроены на работу так, что можно звонить, получать смски, но жестко задан список допустимых пакетов (возможно с хешем)? Причем должны работать гугл плей сервисы. Если готовых штук нет, где можно почитаь как такое замутить?
>>775250 Можно замутить лаунчер с системными/root-привилегиями.
Я не уверен что ты осилишь собирать андроид из сорцов (это 50гб под одну сборку и собирается он минут 30 + установка на телефон). А ведь нужно будет еще найти сорцы всех драйверов, конкретно под твою модель телефона и встроить их в сборку.
>>775271 Лаунчер сделать это самое простое http://stackoverflow.com/a/8250581 А вот что-бы с него нельзя было уйти это уже хаки и многие из них не работают без системных привилегий.
>>775205 кароч, запили апп, который мониторит у кого в округе установлен такой же апп и стоит статут готов попиздеть. Захотелось тебе попиздеть, запустил апп, в радиусе км поискал чуваков, кинул им стикер yo, beer. ну или придумай там приминение, например где сейчас барыга находится
Конечно, порядком ахуел я от этого вашего андроид студио. Поддержку амд не завезли, класс, придется юзать костыли. Так эти костыли еще и недоступны: http://www.genymotion.com/ Что делать-то? Комп новый покупать? Ну не пиздец ли?
>>774895 (OP) запилите легитимный набор костылей для Kotlin. Я уже пересаживаюсь потихоньку. За 2 дня еле как все подключил и замутил пару активити. В общем работает:
Realm + stetho dagger 2 KotterKnife (лол)
пока все. На джаве я охуевал с прикольного плагина Android PostFixCompletion но щас не могу найти. Lombok потерял необходимость.
Ну а так все уже зинатулин и его немецкий дружбан вроде пишут на них - думается можно уже перекатываться по полной (или я слоупок?)
>>775670 Какой в пизду фулстек? Люди которые 5 лет хуярят могут идти в фулстек, а не долбоебы с хуйней опыта. Особенно для бекенда на джаве, там вообще пизда. Нет, на иос не хуярю, но в планах на будущее когда сделаю для себя золотую середину архитектуры под ведро. Еще в планах научится клепать вьюхи с крытми анимациями и тд. Все остальное и так приходит с опытом.
>>775701 Пощади, нахуй тебе все версии ведра? Размеры тоже нахуй, если не долбоеб то и так все резиновым будет верстаться. А если учишься то проще купить бомжеведроид в довесок, заодно увидишь насколько он медленнее.
>>775710 Все равно без эмуля можно даже не приступать. Ну вот как они могли так проебаться с этим. Неужели амд настолько не распространенный проц, что на него всем так насрать. Мечту мне сломали, пидоры, я приложения хотел делать.
>>775736 А это и нинужно, больше экран = больше контента. Нестандартными: 1. sdp 2. PercentRelativeLayout с собственной TextView, которая подгоняет textSize под высоту.
>>775635 > KotterKnife (лол) Им дали язык который можно расширять как угодно и при этом юзать стандартные java библиотеку, нет они продолжают тащить говно из прошлой жизни.
Всем привет. Такой ко всем вопрос: Хочу сделать веб-приложение для андроида. Точнее, приложение, внутри которого просто открывается сайт. Да, это не круто, но тем не менее. Пытался установить intel xdk - но мне пишет, что ХР не поддерживается. Я сделал через эппгейзер - получилось 4 мегабайта. И я думаю, 4 мегабайта за что? За ссылку? Или там внутри браузер?
Короче вопрос в том, стоит ли заморачиваться с этой хренью для моей задачи? И может есть еще сервисы, где могут такое вытворить без добавления рекламы и прочего говна? Если привлечь ПРОФЕССИОНАЛА для этой задачи, во сколько мне это обойдется?
>>775720 В андроиде моджет нет, ноу меня знакомый сейчас переводит с мейвена на грейдл сборку проекта где часть на джаве, часть на дотнете и часть на плюсах. Ну и котлин удобней груви.
>>775696 тогда ещё вопрос. Поток порожденный во фрагменте создает ещё одну ссылку на объект фрагмента? А то просто у меня нет объяснения тому что после онДестроя в потоке можно взаимодействовать с объектом фрагмента
>>775886 > Поток порожденный во фрагменте создает ещё одну ссылку на объект фрагмента? Если есть замыкания, то да.
> нет объяснения тому что после онДестроя в потоке можно взаимодействовать с объектом фрагмента Где связь, какое "взаимодействие"? onDestroy это просто метод в фрагменте, вызов его никак не влияет на GC. С объетом ты не можешь взаимодействовать после вызова у него finalize()
>>775951 В примерах и нескольких открытых приложениях в каждый метод работы с базой передавали эту самую базу. Когда начал писать мне это показалось излишним.
Я одним глазком смотрел на имплементацию, и вроде как это понял. Но подумал, что полагаться не стоит.
Ну что, ребят. смог я сделать парс заголовков для ListView. Теперь вопрос в другом. Парсятся-то они с одной страницы. А на сайте внизу есть кнопочки и далее 1 2 3 4. Как сделать так, чтобы мой листвью, когда дойдёт до конца, подгружал с других страниц? Есть какой совет/мануал, мож кто стакливался?
Сап котанам, вопрос такой: дома по вафле приложение на эмуляторе спокойненько так использует методы работающие с нашим api, при том в одной из кафешек ( по крайней мере одной ) где я восседаю в ответ на все обращения к апишке кидается через пару секунд java.net.UnknownHostException: Unable to resolve host URL_NAME : No address associated with hostname. И собсна в чем причина то может быть ?
Много раз видел прямоугольный треугольник под хэдером к профиле скажем ( т.e. скошенную нижнюю границу ). Это без векторной графики можно сделать так чтобы пикселе не было видно ?
Аноны, у меня есть фрагмент и в нем MapFragment, и при перевороте не сохраняется состояние карты, т.е. все infowindow закрываются и карта становиться на своё положение, на котором должна стартовать. Как быть?
Кто-нибудь сталкивался с проблемой обращения к SharedPreferences из другого процесса (например, из процесса AbstractThreadedSyncAdapter-а) после непосредственного изменения этих преференсов в основном процессе?
>>776214 Да нет, просто в логи кинуть до и после записи в одном процессе и в другом, т.о понять есть ли одновременные запросы на запись проблема или нет. А так лучше может использовать какой-нибудь велосипед который сам в очередь кинет ?
>>776220 Не, запись не асинхронная, главный процесс сохраняет что-то в SP, другой процесс после этого читает, но читает старые данные (до произведенных изменений главным процессом). Если перезапустить приложение, то тот второй процесс уже будет читать данные, оставшиеся после предыдущего запуска, а новые опять до перезапуска не прочитает.
Аноны, а как свое приложение-то запустить с помощью Genymotion? При нажатии на зеленую стрелку "Run" пытается запуститься встроенный эмуль, а не Genymotion.
>>776066 Попробуй просто в браузере поработать. У меня такая ошибка, когда требуется браузерная авторизация для доступа в Интернет и поэтому нет нормального DNS-сервера.
Могу ли я быть уверен, что после того как тред вышел, объект который он присвоил в до того не инициализированное поле будет доступен в основном/другом треде? Java.
>>776235 скорее всего на сервере, но пхпшник-имбицил не признает своих ошибок даже если ткнуть его в них носом, а чтобы носом не тыкали - просто не даст смотреть свой код
>>776402 >что после того как тред вышел Всмысле завершил свою работу? >объект который он присвоил в до того не инициализированное поле будет доступен в основном/другом треде? Не всегда, читай про volatile.
>>776374 Ну я межпроцессорщину не копал, но мне кажется инстансы шаред префов не синхронизируются в твоем случае даже после commit. Попробуй каждый раз создавать инстанс префов заново, чтобы он считывал с диска.
>>776296 в том то все и дело что в браузере оно пашет на ура, даже запросы из браузера успешно работают через онлайн сервисы для отправки пост-запросов
>>776410 Ну блин, эта ошибка говорит, что приложение просто не может найти сервер. Так какая тут сервер-сайд ошибка может присутствовать, если с ним вообще никакого контакта нет? Сохраняй запросы из кафешки и смотри, в чём там отличие.
>>776407 > Всмысле завершил свою работу? Да. Про volatile читал. В memory model джавы плохо смыслю, подумал, если она синхронизирует данные после завершения, нет смысла volatile ставить.
>>776406 Попробуй из приложения достучаться к чему-то другому, если получится то или на сервере хуйня. Хотя я вот помню когда женимоушином пользовался - он после гибернейта нормально не восстанавливался, и нерезолвил вообще все.
>>776421 >В memory model джавы плохо смыслю Это уже высшая материя. Я не уверен что в разработке под ведро она нужна. >если она синхронизирует данные после завершения, нет смысла volatile ставить Преждевременная оптимизация зло. Старый добрый и понятный volatile не замедлит работу твоей апликухи настолько чтоб это было заметно.
>>776453 >>776456 Вы же дегенераты. Плохо когда информации мало, когда ее нет. Тут же страна вам блджад дала - бери, читай, смотри, изучай. Не хотят. Хотят двачевать капчу и задавать друг другу одни и те же вопросы, и по кругу.
>>776427 Та я клал на скорость. Мне просто боязно, что кто мой код увидит, будет про себя ехидничать. >>776429 Ууу, серьезное дерьмо. Как-нибудь может руки дойдут на досуге.
Аноны, сделал простенький веб апп для скалирования изображений под разные dpi, так как заебало это всё вручную делать. Может кому ещё пригодится. https://github.com/Destiner/Dense
Я хочу на api10 чтобы после нажатия на кнопку появилось окошко с edittext'ом, чтобы ввёл туда число, нажал на ОК, и чтобы в мейн активити, откуда вызвалось это окошко, я смог получить это число.
Псевдокодом я представляю себе это так:
DialogFragment dialog = new DialogFragment; inflate(dialog.layout); int i = dialog.getresult();
Или всё же блядское шаманство с миллиардом строчек кода, для того чтобы блядь число ввести, - это норма?
В последнее время часто пишут, что джава тонет и скоро будет на дне. Подумываю перекатиться в андроид, но уже читаю, что js и тут лезет. НАсколько это все может быть плохо в ближайший год? junior-кун
>>777588 Правду пишут. Си уже утонул. Джава вот-вот утонет. JS - единственный современный язык программирования. Крупные компании его даже для разработки драйверов и встраиваемых систем используют. Так что, тут лишь вопрос времени. Пока еще много старого говнокада написанного на древних языках. Но не за горами время, когда Товальдс перепишет ядро на JS'е.
>>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
>>777631 > JS - единственный современный язык программирования. Sad but true. К сожалению, скоро всем придется кушать слаботипизированный хлебушек, и гадать, что же вернет t[0], если t определена как var t = {0: 'A', '0': 'B', '': 'C'}?
>>777849 В PHP аналогично. С перлом не работал. Но вроде там строки почему-то считаются примитивным типом, и нет разделения на целые и вещественные числа. Единственный пригодный для скриптинга язык - Python с его строгой типизацией.
>>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).
>>777944 >принципиального различия между строкой и числом Только питонист не может не понимать что это удобно когда язык понимает в зависимости от контекста - нужно ли здесь взять из переменной и использовать число 5 или слово "пять".
>>777949 Ну и какой смысл был придумывать какой-то "скаляр", если очевидно, что 0.0, 0 и "0" (не говоря уже о ссылочном типе) совершенно разные вещи, не имеющие ничего общего.
А вот массив и строка очевидно являются вариациями одного и того же типа данных (списка).
>>777955 > К сожалению, скоро всем придется кушать слаботипизированный хлебушек, и гадать, что же вернет t[0], если t определена как var t = {0: 'A', '0': 'B', '': 'C'}?
Суп. Переделываю приложку под MVP. Первый раз использую этот шаблон. Назрел вопрос: какое положение занимают сервисы? Как обеспечивать взаимодействие вьюхи и сервиса: напрямую или через презентер?
>>778044 > какое положение занимают сервисы? Это часть модели. Модель - источник данных и логика для их обработки (алгоритмы). > Как обеспечивать взаимодействие вьюхи и сервиса: напрямую или через презентер? Модель работает с сервисом, получая и отправляя данные. Презентер обрабатывает ввод пользователя, связывая интерфейс (вид) и данные (модель).
Насколько зашкварно использовать эклипс в 2016? Сколько раз пробовал перейти на студию — всегда плевался с этого говна. И с градла плевался, что он пиздец как долго собирает, хотя сам по себе градл очень нравится. Смириться и продолжать использовать эклипс?
У меня есть вьюпейджер с фрагмент адаптером, во всех фрагментах ресайклвью с разными данными. При перевороте не сохраняется состояние фрагмента, ресайклвью скроллится наверх, что делать?
Как у поля ввода текста убрать подчеркивание при обычном режиме и оставить при фокусе? Я знаю, что платина, просто я только начал делать порт приложения с веба на NativeScript.
Можно как-то через ContentResolver узнать количество элементов в определённой таблице БД? Кроме очевидного "получить курсор со всеми элементами и посчитать их количество"
>>778253 > планирую полностью посвятить языкам. Выбираю между джавой ee и андройдом Начни с английского. > почему порог вхождения в андройде считается ниже Кем считается? Ниже чем что?
>>778278 Проблема в том, что ты банально не можешь изучить материалы в интернете по твоему вопросы. На quor'e не раз уже выкладывали алгоритм обучения, что и сколько учат. На Хабре было. Я молчу про треды-да, потерялись. Но ты банально не можешь в поиск.
>>778283 Я спросил, что мне выбрать. А не как мне учить то или иное направление. Вместо того, чтобы дать совет или пройти мимо, ты начинаешь агриться, а теперь еще и выясняется, что ты читаешь жопой. Я не знаю, из-за чего вы все такие злые. Начальник выебал или сроки горят? Мамка гонит на работу? Или у вас чсв просто до предела само по себе.
>>778253 потому что среднестатистический пакистанец может позволить себе больше андроидов на свою зп, чем айфонов (+ мак компов на которых разрабатывать). + в ios - это си, а осилить указатель не каждый китаец сможет бляцкий свифт
>>778125 То есть мне надо сделать класс который хранит позицию, там ещё у меня расскрывающиеся вьюшки в ресайклере, то есть плюс массив в тот класс и сделать его parcelable? И это норм или хуйня?
Господа, добрый вечер. Прошу вашего совета. Работаю не в области программирования (sql во все поля), но тут подвернулась одна стажировка в формате очно-заочно, джава. Учил ее год назад немного. Так вот, годная ли эта идея? На стажировке весь будет курс до девелопера java se. Я понимаю, что она мне нужна. Но так к чему я. Засесть за эту стажировку, а затем дропнуть на моменте 1.7-хороший план? Спасибо ^^
>>778441 Для себя начал учить пыху, как план Б, но что-то мне подсказывает джава/андроид-план А+, лол. Слегка смущает разговоры про утопию джавы. Хотя, знаомый синьор из mailru говорят, что это временно, хайп на жс пройдет.
>>778442 Я не прогал на пхп, но слышал, что джава лучше пхп в плане того, что имеет больше отношения к непосредственно программированию. >>778442 >Слегка смущает разговоры про утопию джавы. Что за разговоры? Я ничего подобного не слышал и мне похуй. Вон, андроид выпускает новые версии, поддерживают популярные фреймворки на джаве, какая ещё утопия джавы, лол?
Андроиданы, я знаю вы все тут дрочили VK SDK хоть раз. Нет ли какой-то возможности прятать от ВК статус того что юзер сейчас пользуется сервисами ВК, а то некоторые пидоры хотят слушать музыку, но при этом не быть в онлайне. Я лично подозреваю что нет, так как ВК тупо ставит статус в зависимости от запроса на свой сервер, и вряд ли они предусматривали "скрытый" режим.
>>774895 (OP) пачиму в андраеде все так не систематизированно????? у меня бамбит. Нет, ну серьезно. Куча разных файлов для описания слоев-хуев. Синтаксис постоянно меняется в новых версиях. Нуеманорот
Уже 2 дня ебусь с тем чтобы вызвать окошко для ввода числа и получить его в мейнактивити. Насколько я приблизился к решению? Ни на шаг. Весь стаковерфлоу перерыл - везде нерабочая хуйня.
>>778491 Причём тут программирование? Дело в том что непонятно нихуя как это делать и инфы как это сделать нигде нету. В шарпе блядь одной строчкой вызываешь примитивную хуйню для ввода, двумя уже делаешь хуйню для ввода со своим интерфейсом. А тут блядь чтобы число ввести нужно написать ёбаный миллиард строчек кода причём шанс сделать миллиард косяков в этой куче кода стремится к 100%
>>778493 ВО! >>778488 - вот о чем я говорю. это просто пиздец. да, я конечно уже староват, мне 30. но не думаю что проблема сильно во мне. слишком, СЛИШКОМ дохуя воды. нет лаконичности
>>778493 > В шарпе А, с этого и надо было начинать. Ты прав, программирование действительно ни при чем. Просто ты тупой. Пиши под xamarin тогда, хули. А еще лучше, уйди в js или php тред. Там всё будет просто и понятно.
Почему эта ебаная блядина не находит Edittext? Вот какого хуя блядь? getDialog? имякласса.this? ещё 20 вариантов получить ссылку на этот блядский диалог? нихуя не работает блядь? создал блядь диалог а он сам себя не видит блядь, просто пиздец блядь.
Посоветуйте готовые решения для трех фич на видео. Первая - свайп-меню карточек в рецайклере, вторая - свайп вверх-вниз всей области видимости, третья - возврат в предыдущую область (это наверное просто вьюпейджер?).
Решил вкатиться в эту вашу мобильную разработку: скачал Андроид Студио, джаву, накатил на не столь древний ноут (i3-2100mhz, 3GB RAM, GF410M) и что я вижу? Мало того, что подлагивает текстовый редактор, когда просто пишешь название функции или класса, но даже полагивают пункты верхнего меню при раскрытии. WTF? Как пофиксить? Неужели это джава-машина все ресурсы ноута сжирает?
вообще у меня больше проблема в эмуляторе андроида, писать на идее могу и при 2гб (на самом деле писал в идее только джава и скала проги,в связи с появлением вакансии дроид джуна хочу научится в андроид)
>>778555 Лол странное чувство. Синтаксис один и тот же по сути. Но прочел про то, ка включать файл, пр опространство имено, да и просто настройку БЛЯЯЯЯЯЯЯЯЯЯТЬ
launchMode=singleTask/Instance - эти флаги при запуске различают активити только по, собственно, классу или по интенту тоже? Например, у меня есть активити для которой логичен singleTop, но она может стартовать разными вариантами (<data> в интенте) и эти варианты должны существовать независимо друг от друга, но не должны дублироваться.
Скажем, по ярлычку на файл -> открыть паинтом, стартует mspaint, по ярлычку на другой файл стартует второй отдельный mspaint, а опять по ярлычку на первый файл первый mspaint просто переходит на первый план.
>>778782 singleTask,Instance привязываются к классу, а не к интенту. У них будет вызван onNewIntent. Сделать как хочешь ты будет проще всего фрагментами.
>>778809 > 3) айосовская навигация свайпа на ведре нахуй не нужна Не пользовался айосью. Два предыдущих приложения для редита, которые я юзал, переход в тред и обратно делали обычным методом туда-обратно активити. Свайп как здесь показался гораздо удобнее. Для связных действий, мне кажется, ок.
>>778853 Хуй тебе. Я не хотел кодить, но надо ведь Ставить на место тех, кто хотел бы на горло надавить. Твой трэш что в коде позорный go on, holla bitch Я для тебя не Страуструп, а Бьёрн Иванович.
Если я запускаю активити с флагом NEW_TASK, но такой таск уже есть и активити на нем просто переходит на первый план, то интент теряется? Можно как-то этот интент перехватить?
>>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.
Я пытаюсь освоить андроид-студию на нетбуке Intel Atom с 2GB RAM. Так что у тебя еще не очень-то и много проблем. Алсо, легко гуглятся способы небольшого увеличения производительности типа как не индексировать файлы Thumbs.db, строго оффлайновая сборка грэдлом и т.д.
Есть Эклипс (бери версию 4.0 и выше) с плагином ADT. Местные обитатели закидают говном, но обучиться программированию можно и в Эклипсе, если у тебя катастрофические проблемы с железом (и нет денег на новое). За неимением гербовой бумаги пишут на простой, как говорится
>>778587 >1 А что, если лисиитеиы сделать контейнерами для фрагментов, фрагменты инициализировать в onbindviewholder, а по клику делать фрагмент реплейс с анимацией? Сильно лагать будет?
>>779357 Когда его нет? Ты спрашиваешь зачем нужен вообще патч или локальная история идеи? Если первое, то мягкое с холодным, если второе, то иногда лень во время прототипирования заводить vcs. >>779362 Думаю, лагать особо не будет, но идея адова. Там наверное просто пейджер с двумя вьюхами.
>>777008 >Чет ты опоздал малясь. >Тут начинается переход на svg потихоньку Ну когда перейдём до конца, тогда можно смело будет выкидывать. Думаю, ближайшие пару лет доминировать будут растровые драваблы (особенно в случае сложных картинок).
Сап. Помогите разрешить проблему с ActionBarDrawerToggle-ом. Суть в чём - на главном экране есть Toolbar с ним. Кроме того, в этом экране хранится фрагмент с контентом. При переключении на другой фрагмент, ActionBarDrawerToggle выключается и уступает место андроидовской кнопке "назад" на всё том же Toolbar-е (так надо). Суть в том, что иконки у кнопки назад DrawerToggle-а и у дефолтной кнопки назад несколько отличаются. Пик 1 - вверху с DrawerToggle-ом, внизу - дефолт. Пик 2 - стили приложения.
>>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) рекурсивно по всем вьюгруппам или если знаешь схему, то конкретно.
Для такого небось есть чего-нибудь поудобнее, но я не в курсе.
Необходимо удалить не до конца загруженные файлы (сохраняю не в кэш), в случае если пользователь в настройках остановил приложение (только в этом случае не вызывается onDestroy в сервисе). Удобней всего это делать в классе Application в методе onCreate. Это приемлемый вариант?
>>779764 был альтернативный вариант: при формировании списка файлов проверять статус сервиса загрузки. Запущен не надо удалть, не запущен надо (название загружаемых файлов помечаю по особому)
>>779768 Короче, пихай туда, где это логичнее всего смотрится. Поставь TODO с примечанием "а адекватно ли это здесь выглядит (проверить через неделю/месяц)". Через неделю/месяц переоцениваешь и понимаешь какой ты мудак.
Поясните по хардкору Вот я нубас-программиствонаби У меня есть идея игрульки под ведроид, где в основном в коде нужно обрабатывать логику, интерфейс текстовый, связей клиент-сервер нет Посмотрел синтакстис явы, не понравилось, нравится яваскрипт Я могу как-то написать свое приложение на яваскрипте или мне все равно придется освоить яву? Советовали React.js, но как я понял он для разработки Front End'a. Нид хелп, короче
>>780064 Можешь освоить минимум джавы для написания обертки в виде WebView (в таком случае ты либо пишешь хтмли/джсы вставляя их в вебвью, либо вебвью указываешь свой где-то фронтенд). Есть еще Cordova / PhoneGap.
А какая ОРМка лучше всего подходит для сохранения текущих данных на экране и ОЧЕНЬ быстрого их восстановления ( читай - какая быстрее отальных ). Я пользуюсь realm-ом, но мало ли есть что-нибудь побыстрее
А какая ОРМка лучше всего подходит для сохранения текущих данных на экране и ОЧЕНЬ быстрого их восстановления ( читай - какая быстрее отальных ). Я пользуюсь realm-ом, но мало ли есть что-нибудь побыстрее
А какая ОРМка лучше всего подходит для сохранения текущих данных на экране и ОЧЕНЬ быстрого их восстановления ( читай - какая быстрее отальных ). Я пользуюсь realm-ом, но мало ли есть что-нибудь побыстрее
>>780355 За линк спасибо, но в этом примере есть сервер. А по моему ТЗ сервера быть не должно. Клиент вводит локальный айпишник и текст сообщения, а клиент (тоже андроид) получает его.
Привет, котаны. Для тех, у кого на работе заблокирован двощ, или хочется что-то обсудить в реальном времени давным давно был создан [email protected] - это антипод чата в телеграмме, здесь только адекватное общение адекватных людей. Такова особенность jabber - там собираются гики, школота отсвеивается засчет высокого порога вхождения
>>780497 Я думаю это заебись решение. Просто перепосылай через каждые 250 мс, чтобы не жрать проц, пока не придет ответ от другого собеседника, что Я ПОЛУЧИЛ. И няшный индикатор о получении сообщения прикрути.
Аноны, как добавить юнит-тесты к проекту? Те, которые 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.
>>780606 Вроде нашел ошибку. Получается что при отрисовке итемов используется не дефолтная разметка, где всё gone по умолчанию, а текущее её состояние. Те сделали в одном итеме visible, при дальнейшей отрисовке в остальных тоже будет visible
Приветы! Появилась идея реализовать библиотеку для просмотра БД прямо в приложении. Будет представлять собой отдельную активити, которую можно запустить из любого места в приложении. При её открытии можно будет просматривать и редактировать таблицы, создавать кастомные запросы. Пригодится при отладке приложения, избавит от необходимости скачивать базу с эмулятора или телефона, чтобы ее просмотреть. Полезная штука, стоит ли делать?
Привет, котаны, вопрос: как с помощью rx выполнить определенные действия по выполнению условия ? Ну т.е. скажем когда переменная x перестает быть null вывести ее значение ?
Норм ли идея запилить MVVM поверх BehaviourSubject'ов? Заодно сделать единый weakreference пул объектов, зеркалируемый в базу данных? Из плюсов, если мы меняем что-то в объекте, то меняются только определенные вьюхи, а не целиком все как при notifyItemChanged или при ресете курсора.
Пытаюсь сделать что-то типа паззл-игры. Допустим, у меня есть игровое поле с объектами. Мне нужно чтобы по ним можно было кликать и перемещать. Если сделать свой CustomView для всей игры, тогда получается что нужно самому реализовывать интерактивность объектов внутри. Можно ли сделать рендеринг всей игры сабклассом AbsoluteLayout, а каждый объект сабклассом View? Можно ли будет рисовать прямо на AbsoluteLayout, или нужно будет для каждого видимого элемента создавать View и засовывать внутрь? Короче, как сделать правильно с минимумом пердола?
>>782686 Вот здесь уже я меньше уверен, но flatmap распараллеливает обработку, за максимальную параллелизацию как раз и отвечает второй параметр. Выдаст то он тебе их последовательно, но обработаться они могут и не последовательно.
Почему могут не приходить пуш-сообщения с GCM на бродкастресивер? Причём они успешно приходят на устройство с 19 апи, на эмулятор с 23 апи, но на устройство с 21 апи не приходят. При этом, если приложение запущено, то сообщение придёт на соответствующий сервис , как и ожидается (то есть, девайс зарегестрирован). И единственная проблема, что сообщение не приходит на бродкастресивер этого девайса с 21 апи, если приложение закрыто.
>>783517 Нет, если приложение закрыто, то они приходят по бродкастресиверу и передаются на листенер. У меня так работает на девайсе с 19 версией и на эмуляторе с 23. com.google.android.gms.gcm.GcmReceiver - вот так называется, но можно и свой сделать.
>>781937 Ссылку не кинешь? Знаю только неудобно подключающийся говнокод какого-то индуса. >>781963 Не понятно, что ты хочешь, слишком сложно. Может что-нибудь попроще?
анон, в детстве хотел сделать игру типа тамагочи, был по "Ну, Погоди!" на телефоне, вот примерно такого типа. да, может звучит пиздец тупо но все же. в общем могу ли я не зная нихуя , кроме институтского курса информатики, запилить это гавно на ведро. сколько времени потребуется на изучение Java, только для этой цели. понятное дело, что я не хочу на этом заработать или на что-то надеюсь, просто вспомнил и как то загорелся. зы. рисую хорошо, в этом проблемы нет. готов потратить неопределенное количество свободного времени.
анон, хочу менять жизнь в лучшую сторону. почитав что и как, понравилось направление программирования именно под андройд. скажите, гайд из оп актуален? или что то поменялось? тоесть учить пошагово что там, паралельно искать в инете задачки и пробовать их решать, чтоб на практике закреплять знания?
Хочу взять realm. У меня есть sql база с one-to-many, скажем, статья->комментарии. Организованно это указанием articleId в модели комментария. Как правильно в релме это делать, стоит ли в модели статьи сделать поле RealmList<Comments> comments?
>>784318 У меня сейчас самописная дура, которая мапит pojo в и из базы, без нее я бы писал кучу дополнительного кода. Хочу от того и другого избавиться. SQL_TO_SE_PIATOE_DESYATOE тоже надоели.
>>784351 - С realm ты теряешь с кросплатформенности (там весь код в .so либах) - У тебя разрастается бинарник - Он не дает координального прироста скорости - Там такой-же убогий синтаксис запросов как и во всяких sqlite ORM - Его нельзя портировать на iOS через Intel MOE или BugVM (а sqlite-ORM можно)
Выгружаю большое количество инфы с сервера частями по очереди и пишу в базу. Если по пути один из запросов к серверу не удался откатываю транзакцию. Можно до того как транзакция завершиться читать базу из других тредов? Гугл говорит сделать enableWriteAheadLogging. C этим чтение всегда будет на состояние базы до начала транзакции?
>>784351 Описываешь Article extend RealmObject, пихаешь в нее RealmList<Comments> и радуешься жизни. Но это если комментарии прилетают вместе со статьей. Если отдельно, то при повторном получении тебе нужно будет вытащить все нужные комментарии и запихнуть в обновленную модель, иначе они затрутся, т.к. в обновляемой модели будет comments = null. Либо положить хуй, и хранить комменты отдельно с указанием номера статьи.
как наработать портфолио если нет опыта и только вошел в тему (еще не увереный професионал который разрулит любые задачи)? какие то сайтики с самыми простыми задачками найти и решать или на фрилансе попробовать за бесплатно чето взять типа вышло красава не вышло похуй?
Андроиданы, есть такой возможный заказ - приложение которое проигрывает 3d анимации (в оригинале fbx видео, но могут предоставить любой нужный формат). Соответсвенно можно ускорять и крутить. И вот я тут думаю стоит ли тащить Unity 3d, или есть что-то по легче? Но что бы и не на голом OpenGl писать.
>>785169 в мелкую фирму, даже на минимальную плату трудно найти джуновское место по знаниям джуна. обычно они ищут более продвинутого чувака за более низкую плату или я не прав? листал вакансии джуном там или требования что видно ребятам надо не чувак которого стоит подучить/подстраховать а просто они ебали платить. или я проебываю какой то важный момент?
Господа, привет. Джава джун в треде. Хочу задать платиновый вопрос. Читал и в гугле, конечно, но хочется из первых уст, так сказать. Так вот, многие из вас занимаются фрилансом? Маленько заебался от тырыпрайза, хочу поднимать деньги на берегу моря (манямир), чтобы хватало на сромную жизнь.
Аноны, у меня есть лоадер, в котором я с помощью rxjava отправляю данные на сервер, они должны быть отправлены ровно один раза. Использую оператор cache, т.е. при сворачивание приложения или при перевороте экрана работает всё как надо, но если свернуть приложение и сразу же убить его, то при возвращение в него запрос опять отправиться, это и понятно, т.к. лоадер переживает только переворот экрана. Как лучше это все сделать, чтобы работало как надо? Заводить таблицу для одной записи и складывать туда последний результат? Но когда тогда чистить эту табличку?
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" }
>>786215 ну я уже врое в принцып jre вьехал и рулю байтовыми смещениями и асм вставками. Но почему понимая что нативный код быстрее java оставлять в 2016ом java основой андройда? просто выпилить нативную либу по типу gtk и рулить из-за неё всем происходящим.
Котаны, заметил такую ебань: VK SDK методы листенера attemptFailed и onError вызываются не в UI потоке. При этом метод onComplete вызывается в UI потоке.
Так вот. Эта ебань портит мне всю малину. Т.к. я запихнул это в Loader, который решает, когда грузить из кеша, когда грузить из инета и когда обновлять кеш, то deliverResult вызывается не в UI потоке и следовательно приложуха падает при обновлении гуя.
Как теперь быть:
1) Из-за этой поебени в onLoadFinished обновление гуя обвернуть в runOnUiThread(new Runnable() { } )...? 2) Обвернуть deliverResult во что-то, чтобы он, сцуко, вызывался в UI потоке? Но как это сделать?
PS: Обмазаться rxjava, ретролямбдами, ретрофитом и еще какой-то хипстерской поебенью не предлагать
>>786217 > нативный код быстрее java оставлять в 2016ом java основой андройда? Так хватает же производительности за глаза. Игры как пилили на плюсах, так и пилят.
>>786237 хотя да.. ты прав. железа и для рендеринга на js хватает. что это я. но просто внутренний перфекционист хочет дать пиздов дивелоперам которые заныкали натив ппц как
>>786314 > Три года дерутся с фрагментами уже Потому что там есть почва для споров, связанная с их жизненным циклом. > АрИкс пока далеко до стандарта Все топовые студии разработки в России его используют. > синтаксический сахар Это хороший сахар, или любишь в 10 строк описывать простейший листенер?
Блять, блять, блять. Мы скоро начинаем учить разработку под андроид. ЭТО ПИЗДЕЦ. Мало того что этим говном невозможно пользоваться в реальной жизни, так еще теперь и писать под него надо. Эх, придется с закрытыми глазами тестить, потому что от одних анимаций уже воротит.
Кто-нибудь работал с арабскими шрифтами? Пикрелейтед Activity, отображающая данные, полученные из Интернет. Как видно, здесь присутствует две проблемы: 1. Если в TextView присутствует текст, написанный подобным шрифтом, выравнивание текста автоматически изменяется на правое 2. Если посмотреть на поле с электронным адресом, видно, что домен и имя ящика поменялись местами. То же самое в строке с именем - сначала должно идти имя, а затем национальность в скобочках, на скрине все наоборот. Такое впечатление, что андроид автоматически выводит строки с подобным шрифтом справа налево. Можно как-то отменить такое поведение?
>>786694 Ты что, сука, ты чо? Арабы, индусы, евреи читают справа на лево, у них такая письменность, андроид все верно делает, а ты должен еще картинки на право поставить. Вообще почитай про rtl.
>>786343 >Все топовые студии разработки в России его используют. Еще не показатель на самом деле, вот когда 51% разрабов перекатится, тогда станет стандартом.
>>788352 Ну что можно написать в принципе на любом серверном это понятно, а где более удобная интеграция не совсем понятно. К примеру т.к. опыт написания не под мобилки не богатый я не могу решить куда совать нос, в джаву, котлин, го?
>>788397 Не нужна. Все нормальные кодеры давно перекатились на котлин + на нём сейчас пишут большинство современных проектов, на работе от тебя будут требовать знание котлина, а с джавой ты будешь сосать писос.
Гайсики, хелпаните советом. Где почитать про то, какие допустимые значения я могу хранить в БД и их идентификаторы. Ну типо вот что бы занести айди и имя, то надо писать так [code lang=java] @Override public void onCreate(SQLiteDatabase db) { db.execSQL("create table mytable (" + "id integer primary key autoincrement," + "name text");"); } [/code] А мне надо занести вебвью с картинкой и текстом. Что писать в таком случае?
>>788512 я конечно хуй с горы, но рав даты всякие и картинке в бд лучше не хранить. генери для них имена, храни в какой-то папочке, а в бд только ссылку на них
>>788510 >писать на жабке в 2016 - себя не уважать В чем проблема? Просто, надежно, все работает. Думать надо над приложением, его архитектурой, дизайном, связью с бэкендами, перформанс боттлнеками - а не тем как 3 простых понятных и надежных строки кода превратить в 2 сложных, непонятных и с багами имплементации котлина.
>>788520 > Думать надо над приложением Это правильно, только вот в Java ты больше озабочен написание бойлепрлейта и скролом многостраничных getter/setter это я утрирую конечно.
> превратить в 2 сложных непонятных Kotlin на порядок проще Scala, проще в использование/привычние Clojure, а это те языки на которые укатилось все прогрессивное сообщество JVM бэкендеров. По сложности он на уровне Swift, который становится основным языком iOS.
Подытоживая: 1. Java == бойлерплейт + NPE + лишняя мутабильность + слабая расширяемость 2. Время уговоров прошло. Кто хочет уплывают в светло будущие миноносце "Kotlin" нарабатывать опыт. Остальные могут оставаться на острове Java - по вам скучать не будем.
>>788548 За пределами рашки кто-нибудь вообще пишет на Kotlin? Очередной мертворожденный язык типа Ceylon от RedHat'а. Для борщехлебов есть Scala и Clojure, а тупым макакам достаточно обычной жабы.
>>788548 >только вот в Java ты больше озабочен написание бойлепрлейта Ты допускаешь принципиальную ошибку здесь. Ты исходишь из двух неявных предположений, оба из которых неверны 1. Скорость разработки существенно зависит от скорости ввода символов с клавиатуры 2. Экономия размера кода кому-то что-то дает полезного
Я же говорю о том что экономить надо затраты мыслительной активности, они ограничены в течение рабочего дня и восполняются только отдыхом и сном. Простой, понятный, привычный код читается просто и легко, на уровне рефлексов, какой бы бойлерплейт он не был, мыслительной активности на сеттеры не тратится, ну так же как ты не тратишь ее на мысленное слова "бойлерплейт" из букв, из которых он оно состоит - это происходит у тебя рефлекторно, правым полушарием, с того момента как ты научился читать. А вот если я сейчас тебе влеплю с десяток сложноподчиненных предложений на три абзаца каждое, да еще состоящих из слова типа "эпистемиологическая герменевтика" - ты после них резко захочешь сходить перекурить, выпить чаю, и прогуляться полчасика, а то и пораньше домой пойти.
С помощью какой-то еба магии абстрактных и анонимных классов получилось сделать обновление ui из асинхронного потока, без использования runOnUiThread. Кто может пояснить?
Начинаю новый проект с боковой навигацией. Есть рут активити, а как ораганизовать грамотно переходы по фрагментам, хранить бекстек где то? Как выставлять правильный тайтл на акшенбаре при переходах туда-обратно? Может есть у кого устоявшиеся правила для такой организации.
>>788635 Экшонбар ебашь прямо во фрагменте тулбаром в лейауте, все равно дровер будешь делать наезжающим на экшонбар, зато от гемороя лишнего избавишься.
>>788688 Получается если через Editor делать то можно в стек пихать действия и коммиттить где-то в конце, а без едитора нужно в одну строчку делать. Пиздос. Могли хотябы хинт сделать, мол допиши в конце коммит, ибо иначе нихуя не будет. Как например подсказка что в Toast'е надо в конце написать .show() чтобы он появился.
>>788701 >Могли хотябы хинт сделать, мол допиши в конце коммит, ибо иначе нихуя не будет. Как например подсказка что в Toast'е надо в конце написать .show() чтобы он появился У меня такая есть.
>>788711 Ищи сертификат дурашка. И нахуя ты от нас хеши прячешь, думаешь мы их подбирать будем блять? Подозреваю что ты подписывал дев сертификатом, а он имеет свойство обновляться. Ищи бекапы системы например, может если вы в команде работали у кого-то может быть такой же дев сертфикат, я свой шарю что бы не записывать в гугл/пейсбук/вк дополниттельные. Но если не найдешь, то пизда тебе - новая приложуха в маркете.
>>788762 Открываешь build.gradle своего модуля (app/build.gradle по дефолту) и начинаешь выкупать что там написано. В блоке android {...} будет блок signingConfigs {...}, короче будет что-то примерно такое: http://pastebin.com/q0Da1xVF c некоторыми отклонениями разумеется. Обрати вниманеи на signinConfigs, по существует дефолтный который там не написан, который используется для всех buildType'ов в которых явно не указан (release signingConfig указан в release buildType'е). Вот этот самый дефолтный и использует сертификат который лежит в ~/.android, который в свою очередь иногда обновляется. Вот возможно ты выкладывал в маркет приложуху подписанную дефолтной конфигурацией. Как избежать? Правильно сделанная схема деплоя, по четкому нужен билд сервер с CI, но если ты в какой-то говно конторе, как я, нужно просто не делать хуйни и делать бекапы.
Используя в корне DrawerLayout, реально ли сделать так, что бы за каждый итем в навигации отвечал отдельный активити и они переключались между собой? Далее у этого активити уже свой стек фрагментов.
>>788850 Если по клику на элементы drawer'а ты будешь запускать новые activity, то у них уже не будет отображаться navigation drawer. Или нужно будет его в каждой activity вручную добавлять. Так что, это плохая идея.
>>774895 (OP) ОП и успешные аноны, к вам вопросы! Я вкатываюсь в андроид разработку, сделал пару своих приложений в студии, ничего особенного, плюс аналоги наверняка есть в маркете. Но думаю что на базовом уровне я шарю и что-то сделать могу. Как мне найти работу, если официального опыта у меня нет, раньше шабашил веб фрилансом и питон подработками? Пишу в компании, а меня вежливо посылают нахуй.( Ваши советы пожалуйста.
Посоны, прошел полностью раздел "Getting Started" on developer.android.com Стоит ли проходить остальные разделы, коих там дохуя прямо сейчас? Или лучше уже начать клепать говно и пропускать в продакшн и по ходу дела проходить остальные туториалы по мере необходимости?
К слову о себе, программировать на джаве я умею- я сейчас где-то на уровне Middle Java Developer на работе в офисе. А цель- изучить андроид и уйти во фриланс под музыку из Джанго Освобожденного.
>>778380 Какого хуя бля, у меня бомбануло! Ничего что в 8 джаве можно так же в одну строску написать: List<Product> products = orders.flatMap(o -> o.getProducts.stream());
>>789057 Да, я на работе при любой возможности использую стримы, потому что почти всегда они в тему и код более читабелен. Возможностей уже было овердохуя и на всех код ревью все всегда были довольны. А если ты не кодишь в стиле который близок к функциональному программированию то ты лох и целка.
>>789072 это касается только гуманитарных предметов. в точных науках я был отличником. теперь работаю в средненькой фирме и меня все устраивает. ошибочки за меня компуктер подчеркивает. вообще недавно обнаружил что я на англе допускаю меньше ошибок чем на русском. пора съебывать
Из дебилов с платиной остался только >>789005 Кстати >>789005 если тебе нужно авторитетное мнение мидл-android-девелопера с over4 года стажа, по твоему вопросу "двач что делать, у меня мозгов не хватает самому решить", то лучше тебе пропутешествовать на х#й.
>>789490 А при чем тут котлин? Смерть EE приведет к возмущению на рынке от которого поднимутся всякие Springи и .NETы. Что в конечно счете приведет к общему ослаблению позиций джавы, котлину это ничем не поможет, только хуже сделает.
>>789099 Ну пиздец, ну просто пиздец. Гугулу не стыдно за вот это? Там ничего не слышно за "принципиально новый" Андроид, что бы все с чистого листа, что бы как у людей?
>>789468 Эй это же обидно! Может мне весь stackoverflow прочитать еще перед тем как приступать к работе?
Все же кто-нибудь, кто не такой неадекват как вот этот >>789468 господин, помогите мне с советом. Из прикрепленного поста я не могу понять, все ли разделы туториалов проходить с developer.android.com? Раздел Getting Started вроде как по всему прошелся, но я будучи новичком не знаю, остальные туториалы- это важные вещи которые обязательно знать уже сейчас или это второстепенные конкретные туториалы под конкретные задачи?
>>789789 Кстате да, мне нравилось писать под 7ку и 8ку. Единственное некоторые вьюхи было тяжело делать, а про аналог onDraw я не знал и сейчас не знаю.
Пацаны, хелпаните. Вот есть БД в которой часть информации отображается в списке первого активити(имя, фамилия), а вторая часть отображается во втором активити(пикча). Так вот вопросы: 1)Как в ContentValues поместить несколько значения для разных строк(ну типо я пишу все значения для первой строки через .put(), а как для второй строки написать)? Была идея явно указывать айди, но как то глупо,не? 2) Для построения списка мне лучше использовать обычный адаптер или SImpleCursorAdapter? Так как данные для заполнения списка будут браться из БД.
>>774895 (OP) извините за офтопик, но при рассмотрении моей кандидатуры не возникнут ли подозрения что 90% проектов на гитхаб я выложил сегодня вечером? И как это объяснить если будут спрашивать?
>>790067 Что значит "подозрения"? Там ведь вполне явно видно, что, где и когда.
Скажи, что специально выложил на гитхаб, чтобы могли оценить твой уровень. Код на гитхабе - это твоё конкурентное преимущество, а ты думаешь, как оправдываться..
>>790088 > а чисто курсор лоадером Хорошое решение, года два назад (пока не перешел на RX) тоже так делал.
>>790082 > ContentResolver Сто раз уже говорил что он нужен ДЛЯ ПЕРЕДАЧИ ДАННЫХ МЕЖДУ ПРОЦЕССАМИ. Использование его внутри одного процесса только порождает бойлерплейт.
>>790094 а зачем в этом примере создается класс DB? это типо класс-контракт или что то типо такого? просто я видел примеры как чисто одним классом, наследующем SQLiteOpenHelper делают БД
>>790100 Я бы сказал что DB здесь в виде паттерна Repository с CRUD методами. Это чисто концептуальная заморочка, если проще без него - можно сделать в одном файле.
>>790094 Мамка твоя бойлерплейт. Про абстракции, разделение ответсвеноостей ты не слышал?
Ты можешь не использовать ContentResolver на совсем простых проектах. Но с увеличением сложности тебе придётся вручения реализовать то, что уже готов в связке ContentResolver + ContentProvider.
Плюс другие компоненты системы предполагают наличие ContentProvider.
Предыдущий тред тут:
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.
Привет клиент-серверка.
Пишите в треде что добавить