Это копия, сохраненная 19 июля 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
> Хочу вкатиться в разработку под Android! С чего начать?
Большинство приложений написано на Java, выучить её на хорошем уровне — это первое, что необходимо сделать. Рекомендуемую литературу см. в Java-треде.
После этого можно установить Android Studio, открыть официальную документацию http://developer.android.com/training/index.html и попробовать создать по туториалам своё первое приложение.
В дальнейшем потребуется базовое знание SQL, понимание XML и JSON.
> Мануалы?
- Официальная документация: http://developer.android.com/
- Полезный гайд для начинающих и продвинутых: http://guides.thecodepath.com/android
- Бесплатный видеокурс от Google для новичков: https://www.udacity.com/course/android-development-for-beginners--ud837
- Два ресурса, единственный плюс которых — русский язык: http://startandroid.ru/ и http://developer.alexanderklimov.ru/android/
- Классика, способная дать ответ на почти любой вопрос "Как сделать xyz?": http://stackoverflow.com/
> Не хочу писать на Java!
- Kotlin — JVM-совместимый язык от JetBrains. Есть лямбды, стримы и делегаты. С 17 мая поддерживается официально.
> Есть что-то кроме нативных приложений на Java/Kotlin?
- Qt — кросс-платформенный фреймворк на C++. Используется в основном для игры и для приложений с высокими требованиями к производительности (обработка изображений, звука, ГИС-системы). Спрашивать в C++ треде.
- Xamarin — кросс-платформенный фреймворк на C#. Представляет из себя обёртку над Android API. Куплено Microsoft. Теперь есть бесплатная версия. Спрашивать в C#-треде.
- PhoneGap/Ionic/Titanium/ReactNative — имя им javascript, принципы у них разные, первые три попытка в кроссплатформенность одного кода, ReactNative проповедует другой подход, а именно написание разного кода но на одном языке. Популярность у них разная как и размер комьюнити. Вопросы по ним — в js-тред.
- BugVM — кросс-платформенный фреймворк, написанный на Java. Форк невинно убиенного RoboVM.
> Хочу писать игры!
LibGDX или Unity. Спрашивать в /gd/.
> Что нужно, чтобы взяли джуниором? Что учить в первую очередь?
Нужно хорошее знание Java, понимание базовых принципов Android (жизненный цикл activity/fragment, что такое Context, intents, services, UI thread, support library, shared preferences, SQLite), знание популярных библиотек типа Retrofit + Glide/Picasso. И хотя бы оно готовое приложение.
Предыдущий тред: https://2ch.hk/pr/res/974849.html (М)
Начнем с новостей: Kotlin on Android. Now official
https://blog.jetbrains.com/kotlin/2017/05/kotlin-on-android-now-official/
И на сайте Гугла: https://android-developers.googleblog.com/2017/05/android-announces-support-for-kotlin.html
Браво, гугол!
Двачую, первая пикча должна ассоциироваться с технологией, иначе в каталоге не найдешь тред.
Трейчую, мне уже давно от этой стремной телки бонбит.
Насколько сосет, или это преальфа?
+:
Есть подержка rxJava2 без ссаного интеропа;
Тайп конверторы;
Миграции;
-:
Сикель ручками в квери без подстановки параметров, какого блять хуя? Сделают как в ретрофите тогда можно сказать малаца.
Ну никто не запретит тебе спрятать их дао-хуяо внутри твоего репозитория.
Не лезь блядь.
Скачиваешь новейшую студию с canary chanel'а. А дальше с помощью New->Project выставив галочки.
> таки просто добавили котлин плагин в студию, ничего более
> РЯЯЯЯ КОТЛИНОПЕРЕМОГА
Как вы заебали, просто пиздец. Хотя журнашлюхи еще больший пиздец высирают, уже чуть ли не лично сколачивая гроб джаве.
Когда саппорт либо перепишут на котлин, тогда и приходите.
Зачем переписывать-то? Просто новый код можно писать на нём, легаси на джаве никому не мешает.
Олсо, не понимаю ослоёбов, которые мучают себя пейсанием на жаве. Это же как смазывать ослу жопу маслом вместо вазелина — нагревается, быстро растекается и просто воняет.
> таки просто добавили котлин плагин в студию, ничего более
> РЯЯЯЯ КОТЛИНОПЕРЕМОГА
Смысл в том что с поддержкой гугла(даже если там по факту просто встроенный плагин) не бояться и использовать котлин будут намного охотнее.
>Когда саппорт либо перепишут на котлин, тогда и приходите.
Вот тут щас пояснил резко свой вскукарек.
AOSP
PS сам из харькова
Я вот только не понял, теперь поддержка котлина там официально, а поддержки golang нет (плагинами, неофициальна)??
Ты, мой боевой друг, не понял. Я к тому что гугл прикрутил котлин, а на го болт ложит?
Это ты, все знающий друг, не понял. Котлин прикручивать был смысл. Для го в андройде юзкейсов вообще нет. Ну и хуле что го язык гугла и они его пиарят? Они там еще не настолько ебанаты чтобы пилить поддержку языка, который там нахуй не всрался. Хотя дело скорее в деньгах, если бы им это почти ничего не стоило то навернаяка бы прикрутили, специально для долбоебов, которым ЛИШЬ БЫ МОЙ ЛЮБИМЫЙ ЯЗЫЧОК БЫЛ. [spoilerИ это я не на тебя намекаю, на случай если захочешь триггернуться[/spoiler]
https://habrahabr.ru/post/328888/
Вот тут неплохо расписано про требования к джуну. Не обращай внимание на название статьи.
Что это вообще под собой подразумевает? Что значит first-class citizen? Это чисто политическое решение типа барин даёт добро?
Там же написано всё. Тулкиты запилят, сдк обняшат, будут учавствовать в жизни языка (собираются создать комитет по развитию как в жаве) и тд.
Вообще, они давно испытывают симпатии к продуктам жб (тот же переход с эллипса на хуитку основанную на идеи как б намекает) и просто пугают в край ахуевший от хорошей жизни оракл. В любом случае для нас это зрелище и ништяки с барского стола.
А нагую гуглу прикручивать го? Абсолютно несовместимый я жявой язык (вот представь, как ты там жабье сдк хотя бы будешь прикручивать на структурки и функции), с абсолютно другой целью (утилизировать ядра процессоров), которому сначала надо ещё хотя бы компилятор в жвм байт-код запилить, после чего перехуячить половину вм чтобы запилить корутины (которые прям супер лайтовые и с динамическим резайсом стёков и прочей хуитой), потом портировать его сборщик (который, напомню, жрёт цпу как не в себя ради низкого латенси в расчете на серверное железо) и... заставить кого-то на этой хунте писать. Ну рили, местные аборигены даже котлина боятся. Я таких только в своём пту видел, только там они как пять лет сидели на седьмом вб так и седят
view.onButtonXPressed()
.flatmap((Object o) -> loadData())
.subcribe(..)
Или я не прав, и принято хуярить на Rx всю логику?
Бамп
Да в курсе я что мой пост слишком сложен для местной фауны аборигенов.
>принято
Принято хуярить везде где есть асинхронное говнецо. Может быть со скролом лучше обойтись subjectои или relayем, что бы не городить flowable для блока.
Есть идея сделать небольшой проектик в качестве практики. До этого ничего сам не создавал и поэтому хочу попросить помочь разобраться со структурой. Будет одно активити с VideoView и Button. Сразу возникает вопрос по поводу по поводу макета. Какой макет выбрать (RelativeLayout/LinearLayout?) и как сохранить нормальный внешний вид при повороте экрана? Кнопка выходит за границы экрана, скролл в таком положении не уместен. Так же интересно, как закастомить контроллер видео (как на YouTube, например)?
>>RelativeLayout/LinearLayout
какой удобней
>>как сохранить нормальный внешний вид при повороте экрана
отдельно сверстать для лэндскейпа
>>как закастомить контроллер видео
а от это хуй знает, ни когда не работал с этим. Если с ютубика будешь видео крутить, то у гугла есть библиотека со своим плеером
> мультиоконностью
Лейауты думаю резать не будет.
> сменой dpi
Ты можешь только xxxhdpi ресурсы добавлять в апк, ведроид тебе в рантайме сам отскейлит под нужный dpi.
Хуево он отскейлит, но я послушал внимательней, лэйауты резаться не будут, а для всего остального есть svg и webp
>Какой макет выбрать (RelativeLayout/LinearLayout?)
PercentRelative, PercentFrame, ConstraintLayout.
Не нужно будет верстать 70% экранов.
Я не шибко уверен, что до таких масштабов проект дорастет. Мне бы на свой телефон макет сверстать и уже хорошо. Про первые два не знал, чем от мною указанных отличаются?
очевидно, названием и тем что там можно задавать высоту/ширину в процентах
бамп
https://www.youtube.com/watch?v=FrteWKKVyzI
ЧЕ ТЕБЕ НЕПОНЯТНО, ПЫНЯ? МНЕ СКИНУЛИ СЫРЦЫ ЦЕЛИКОМ, ВМЕСТЕ С УЖЕ НАГЕНЕРИРОВАННОЙ ДО МЕНЯ ДРИСНЕЙ
> СКИНУЛИ СЫРЦЫ ЦЕЛИКОМ, ВМЕСТЕ С УЖЕ НАГЕНЕРИРОВАННОЙ ДО МЕНЯ ДРИСНЕЙ
Ну так а хуле ты хотел? В приличном обществе за такое убивают сразу нахуй.
Ну и сам ты явно ванек-долбоебок, если не знаеш какие файлы относятся конкретно к проекту, а какие генерирует градл, сам андройд, студия и т.д. Для таких валенков специально есть gitignore файлы, в которые добавлено все то, чем ты не должен срать в репозиторий. Ах да, ты навреное просто взял и папку с проектом с чужого компа скопировал.
Естественно. Тогда и выбор вакансий побольше будет.
А что ты собрался им показывать todolist? Приложение заметок или прогноз погоды? Поржем потом с тебя в "мы вам перезвоним" треде.
Поэтому я и спрашиваю, что написать. У меня то работа есть и я получаю 50к, мне норм в плане денег. Андроид разработкой хочу заниматься для души и перспективы роста зп.
Почему бы и нет. Если твоя цель написать именно для резюме, накидать этот тудулист на чистой архитектуре и в хуй не дуть.
Ну а хули, действительно не плохо и можно даже без фреймворков и кучи либ делать нормально. Они же про Instant Apps затирают, а там все должно быть супер мелко.
>>994339
Годный коммент с Хабра:
Попробовать то обязательно стоит, может взлетит. Но если посмотреть их мастер-классы и доклады на предыдущих I/O, то можно заметить примерно такое:
— ребята, используйте AsyncTask
— а не, удобнее использовать пустой Fragment с setRetainInstance(true)
— короче, используйте фоновый сервис и ServiceConnection/ResultReceiver
— погодите, мы вам Loader и LoaderManager запилили
— всё фигня, теперь у вас есть JobScheduler!
Хотя, возможно, я утрирую. В любом случае «MVVM» + Data Binding должны хорошо дополнить друг друга.
Да, видел, но мне кажется с Room все будет норм, там просто нечему особенно портится, ну кроме быстродействия.
>Build an Android App faster than you can FAP w/ CodeBabes!
Чёт привстал. Перекатываюсь на андроид/;жаву
Мимо_жс_пограмист
Бля, я серьезно. Я вообще по фортрану и не хочу андроида. Неужто ваш оп дальше первого урока не ходил?
Тому что если ты не целишь в кровавый интерпрайз то менять вебпарашу на андроид - "шило на мыло.".
Я не вкатывальщик после уроков.
Умею в андройд, лол, щетаю на хорошом уровне. Пользовался и знаю все йоба либы, упоминавшиеся в треде. Есть 3 самолично написанных приложения, среднего уровня. Одно юзает opengl и opencv. Остальные без выебонов, в рамках фреймворка.
>а хотелка не обсрется
Неа, я с рубипараши и 300-500 бачей могу получать хиккуя дома и макакируя по ночам 4-5 часов. Если на 600-700 бачей в Мск джунов в принципе никто не берет, то оно мне и нахуй не нужно.
Ебёт же кто-то.
gradle clean
Как сделать ограничение доступа(отключение Wi-Fi,интернета,связи) под пароль?
Заранее спасибо.
ФП более-менее знаю.
Никак. Только заливать с новым айди
В чем смысл?
тоже ща на этом этапе. Дальше, полагаю, обёртки-хуёртки типа Realm, stor io, итд. Гугл вот недавно выкатил Room, но у гугла обычно все игрушки деревянные и прибитые к полу.
сап чатик, тут это js макака не может avd запустить, вроде выхлоп консоли в гугл писал, но ниче дельного не нашел
порядок действий:
cd ~/Android/Sdk/tools
./emulator
=> zsh: exec format error: ./emulator
знаю что не очень информативно, только хз откуда логи брать шоб показать
по-моему, юзать реальный девайс даже лучше.
file emulator и разрядность твоей системы.
Куда не гляну, у всех какая-нибудь хуйня под ведро написана. Только у IOS-господ ещё бывают рассказы про вкатившихся студентов на 80-100к.
На рынке нехватка квалификацированных кадров. Среди ничего не умеющих джунов большая конкуренция. Чем больше таких вкатывальщиков, тем сложнее будет найти место или стажировку.
Да ну нахуй, ты хочешь сказать что джуну с приложением в маркете с вторым рексом, ретрофитом, гсоном, тестами и MVP/Clean вместо мешанины во фрагменте надо идти на стажировку?
Где же мой ламповый 2013, когда мне сами предложили джуна за кривой хеллоуворлд из активити со списочком. Почему я тогда зассал и остался учиться в шараге?
Да никто в рашке-дегенерашке ничего не пишет под Андроид, весь софт иностранный, а банк-клиенты давно написаны. Добро пожаловать, это глобальный рынок.
> вторым рексом, ретрофитом, гсоном, тестами и MVP/Clean вместо мешанины во фрагменте
> джун
Ты просто ссыкло и не пытаешься в нормальную вакансию.
да, можно, как я
Поясните нахуй вообще тестировать презентеры/вью (MVP view)?
Смотрел какую-то ебалу от гугл где они тестрируют используя мокито, хуито итд.
Натурально, вызывают showHuy в презентере и проверяют вызвал ли он showHuy на своей вью.
Нахуя это тестировать, скажите мне? Може у меня просто laba1 говноподелки без сложной логики? Приведите тогда пример сложной логики в презентере, которую есть смысл тестировать.
Бро, не все приложения это хеллоу ворды. Порой на один экран приходится делать по несколько презентеров на несколько разные фрагменты. Тестирование это хорошо и это выпрямляет руки. Но зависит опять же от приложения и ваших возможностей. Тестирование это не строгая политика которой надо придерживаться - это просто удобный инструмент в умелых руках.
блять ну почему амриканки такие охуенные сууууууууууука эх почему я не всша родился
бро, как я тебя понимаю. когда с эклипса год назад перешёл (ибо не поддерживают больше, а совсем извращаться заебало), до сих пор кровь из глаз от студии.
ещё jack-n-jill ссаный ввели для совместимости с 8й. охуеть просто. proguard'а + gradle мало же, нужно больше костылей.
ещё нихуя и не обновляется корректно и ворнинги и рекомендации по любой ссаке банальной, которые заебёшься сначала все отключать чтобы норм было.
не, студия неок хотя бы потому что генерирует каждый раз .iml-файлы с мусором на 5к строк для каждого модуля проекта.
а вообще можно перечислять долго даже что с ходу в голову приходит.
gitignore это конечно норм костыль, но зачем мне к примеру, ЗАЧЕМ?!, два параллельно проекта вести - gradle и iml?
зачем мне почти каждый раз вручную ребилдить всё при каждом движении, чтобы конфликтов не было с исходниками и xml'ами?
(у меня же автоматика, студия ведь 'за меня' всё понимать должна, онаж intelligent дофига)
про интерфейс самой ide тут конечно вне конкуренции если у тебя экран 3,5 дюйма, чтобы всё уместить.
для больших мониторов (не дай бог нескольких) вообще не приспособлена. почему я не могу одновременно показать список проектов и projects и android и gradle?
а нипочему, потому что пошёл отсюда, вот почему
нафига мне грейдл спамит одновременно в три окна примерно одно и то же при сборке?
как , мать его, log-cat можно было сделать с настолько убогим интерфейсом даже на фоне э-клипса?
я же не могу даже свой символ таба вместо ссаной стрелкидля окна редактора текста поставить - он жёстко в бинарниках вшит.
единственное что норм сделали - нормальный UI-дизайнер. остальное всё - люто тормозящая некондиция (неспроста рекомендуют только на ssd гонять).
про грейдл вообще молчу - стойкое ощущение - что он мне напихивает в первом значении перевода из urban dictionary.
я (был молодым и глупым) раньше думал, что у меня в эклипсе проекты долго собираются. (10 секунд на 20+ проектный воркспейс) студия теперь греет процессор на четыре ядра две минуты для полной сборки этого же списка.
и это ещё не развиваю тему, что студия как и идея не может в нормальные многомодульные воркспейсы.
но выбора-то нет, яж андроид девелопер теперь.
>Ну и сам ты явно ванек-долбоебок, если не знаеш какие файлы относятся конкретно к проекту, а какие генерирует градл
напоследок скажи, вот нафига мне постоянно заниматься тем чтобы чистить то что студия с грейдлами-хуейдлами срёт?
онижеж еще в ProgramData срут активно индексами всех файлов и подобным г
не сомневаюсь, что есть инструменты ещё хуёвее чем студия. но тут не в этом вопрос. от ide, которая позиционирует себя как ОФИГЕТЬ КАК СУПЕР ЙЕЕ удобная и умная - ожиданий больше, хотя бы по кастомизации под себя.
я не хочу работать как 'дядя сказал будет хорошо, я всё', я знаю про каждое говно, которым она срёт на мой диск, я настроил всё до чего смог добраться. но всё что осталось (и \того дофига) меня всё равно очень печалит. особенно при отсуствии альтернатив.
>У андроида самые приятные инструменты для разработки
Давно так не смеялся.
Эти инструменты приятные и удобные ровно до того момента пока ты пишешь хелловорлды в два клика точно по гайду.
>Вы два дегенерата просто, которые не могут освоить инструменты, которыми пользуетесь.
Ты как раз путаешь целевую аудиторию гугла и его ide.
Всё удобство в ней заточено на тех кто НЕ УМЕЕТ ей пользоваться, взаимозаменимых кодомакак, хуярящих MVP, MVVP, MVC и подобное с интерфейсиками на автомате и без мозгов признай это.
Эти инструменты, конечно, скрывают, сложность, причём часто необоснованную, и делают за тебя что-то. пока тебе похуй на это - всё норм.
Но в какой-то момент они начинают делать не то, что тебе нужно, или ты хочешь чего-то ОСОБЕННОГО, да хотя бы не особенного. И тогда всё, пизда. Студия может только по-прямой.
>Ну и сам ты явно ванек-долбоебок, если не знаеш какие файлы относятся конкретно к проекту, а какие генерирует градл, сам андройд, студия и т.д. Для таких валенков специально есть gitignore файлы, в которые добавлено все то, чем ты не должен срать в репозиторий. Ах да, ты навреное просто взял и папку с проектом с чужого компа скопировал.
Кстати, собеседовал недавно на мидла по андроиду. На основании того что они мне напиздели, что дофига все знают и умеют, отправил примерно двадцати тестовое задание и смотрел на результаты.
Угадай, сколько из них прислали мне проект без дрысни с бинарниками и .iml и дистрибутива грейдла, включенным в сборку?
Answer: ОДИН НАХУЙ. И ты думаешь, что кто-то из них знает, что нужно, а не нужно. Да им же всем удобно, радугой ссут просто от студии, не иначе.
Голод только на мидлов и выше.
Джунов, вкатывающихся в айти в 16 лет, бывших автослесарей, решивших поклепать окошечки на фрилансе и прочего скама хоть жопой жри.
Тащемта, если ты закончил вузик по IT-специальности и хуи там не пинал, в андроид на норм уровень вкатиться можно примерно за полгода дрочева гайдов (если норм на Java - ещё быстрее) и ваяния приложений. Во всех остальных случаях у меня для тебя плохие новости.
>>996261
Ога, ты не смог освоить самые простые вещи в инструментах, которыми пользуешься, но это оказывается просто мы тупые макаки, а ты неебацо умный и творческий, студия не подходит к твоим высоким стандартам.
Тут, понимаешь ли есть некоторый разрыв inb4: жопы:
Джунов, готовых работать даже за 300 бачей даже в ДС охуеть как много. Если в конторе овер9к бабла течет и есть человеческие ресурсы их обучать - возьмут их, тк дешевле, а шансов что не съебут после обучения - мало. От фрилансеров больше пользы.
А мидлов охуеть как мало, и они все при делах давно. Соответственно мидл андроида может рассчитывать при одинаковой конкуренции уровень зарплаты сеньёра интерпрайзной java. И либо ты качаешься сразу на мидла, либо ты нахуй никому не сдался.
Сеньёрам андроида, по-видимому, дают сразу инвайт в гугл, и 300кк/сек, как приз за то что со всем этим смогли разобраться.
>ты не смог освоить самые простые вещи в инструментах, которыми пользуешься
Я-то как-раз это говно освоил и второй год на нём работаю почти еверидей, в отличие от >>994142
Попизди мне ещё про простые вещи. Грейдл это же так просто. Ко-ко-конвеншн овер конфигурейшн - раздался пронзительный голос со стороны параши. Но пацаны, как всегда, не обратили внимания на это визгливое кукареканье. Пусть кукарекает, что с него взять?
>но это оказывается просто мы тупые макаки
Обобщаешь, я говорил только о тех, кто ссытся радугой от 'удобств' студии. Не уверен, что здесь все такие.
>, а ты неебацо умный и творческий
А-то
цвета одни*
Цветопрофили, страдай, на каждом экране по разному, в версии 26 завезут менеджмент, но до этого только забивать.
Какой бы вы хотели увидеть проект на гитхабе от джуна?
Чтобы не лепить очередной прогноз погоды
Эти автослесари сливаются после десятой ошибки компилятора через три дня обучения. Это если они победят установку анроид студиои пердолинг с переменными в java7 и
Структура базового фреймворка, общее представление о Dalvik VM, понимание как код превращается в apk (т.е. пояснить за каждый файл проекта, в т.ч. в билде), инструменты сборки и анализа из SDK (хотя бы знать какие зачем нужны и используются), аналогично про базовые классы (сходу мочь перечислить возможные решения под задачу).
Проекты - аргумент только когда они долго поддерживаются, а не за пару вечеров на коленке. Также по чистоте кода исходников и пониманию ООП почти всегда адекватно видно уровень (если не по Android, то точно по Java).
Да похуй же что там будет в целом (или проект, подходящий под текущую хотелку конторы - но это не угадаешь). Если тебе не захочется скачать и начать этим пользоваться самому, то и всем остальным, очевидно, тоже. А если захочется, то наверное догадаешься заморочиться про способы монетизации и распространения.
Для проекта в резюме главное - как. Чистый код, только необходимые библиотеки, продуманный UI, если ты претендуешь пилить фронтенд.
И собственно вопрос - какой файл надо запустить чтобы посмотреть прогу в действии? Я не понимать
В каком виде у тебя ключ? Файл это и есть ключ.
>>996976
Нужно собрать апкашку, потом установить ее на телефон (просто в файлы засунуть и руками установить с телефона или через консольку). Потом опять же руками запустить либо через консольку.
>>996673
Ищи include, он там есть.
>Что делать, если я хочу переключать пункты в моем боковом меню?
Почитать гайды епт, все расписано.
Да будешь менять фрагменты в контейнере. Вызывать новое активити бессмысленно и противоестественно в некотором роде если ты решил делать боковое меню.
Ключ выдает в Google play,когда загружаю с другим ключом и мне выдает старый (ошибка о том,что данный ключ не совпадает со старым)
нет, нельзя.
т.к. это нужно для защиты что злоумышленники взломают аккаунт разработчика и будут туда вирусню заливать в виде новых версий.
Мне очень нужен Ваш совет. Собираюсь ноут прикупить, да вот не знаю хватит ли его для студии. Dell на i3 5005u, с ддр 4 памятью, фулл хд и 920м. В этом конфиге меня смущает только i3. Есть ли у кого-то опыт работы на таком железе и советуете ли вы его к покупке ? Буду очень благодарен за ответ.
Это уже позже докину. Да и проц бы свапнул, но он впаян
Ноут 2013 года, стоит ССД, без дискретной видеокарты. Студия + эмулятор работают, но наблюдаются фризы во время сборки. Оперативка забивается под 100%. Собираюсь докупить еще 4ГБ планку и юзать дальше.
Получается с помощью него смогу не только загрузку контента организовать, так еще и внешний вид кастомный сделать?
Сможешь. И кеширование сможешь.
Призываю знатоков Kotlin. Что это такое? То есть он исполняется JVM или какой-то надстройкой? Просаживается ли производительность из-за оверхеда? Поддерживаются ли из коробки старые версии SDK?
Это мультипарадигменный язык программирования, позиционирует себя как прагматичный язык для JVM. Сейчас есть реализации для JVM, JS и вот потихоньку пилят нативный LLVM.
В случае JVM все те же самые байткод инструкции что и в джаве/скале/груви/цейлоне и тд. Никакого особенного оверхеда нет, просто иногда генерируются больше байткода так как этого требует более красивый код.
Конечно, котлин не зависит от ведра никак, изначально он только в 6 версию джавы компилился, так что все версии ведра поддерживались, вроде бы сделали компиляцию в байткод 8 джавы, что конечно повысит его эффективность, но это не про ведро, ну только если ты конечно не только 24+ апи поддерживаешь.
Только один момент уточнить по поводу процессора нужно. Возможно мой ай3 2330М более производительный, чем 5005u, т.к. второй более урезанный, для экономии энергии. 2330М сильно греется.
Спасибо! А самая модная и молодёжная версия всё так же поддерживает компиляцию в Java 6?
Конечно, зачем ее убирать? Ну точнее поддержку джавы 6-й могут теоретически убрать, но сейас это очень важно для котлина, так как ведро.
Окей, спасибо. Отлично, значит стоит в него вкатываться, потому что кода предстоит генерировать действительно меньше.
Как миддлы и синьоры, очевидно же
request.executeWithListener(new VKRequest.VKRequestListener() {
@Override
public void onComplete(VKResponse response) {
super.onComplete(response);
VKApiUserFull user = ((VKList<VKApiUserFull>)response.parsedModel).g;
}
});
Ещё 4 гига - эмулятор.
мне тут пишут что надо android studio ставить только ради эмулятора/sdk а что отдельно оно не поставляется ? Ибо лишних 400 мб для моего ссд стресс
> только ради эмулятора/sdk
а нафига тебе студия без sdk?
если 400мб для твоего SSD стресс - то ты не туда зашёл
да не, sdk то я поставил, я о том, что мне эмулятор нужен, т.к. хочу react-native потестить, а android-studio мне вообще не пригодится
Тебе не приходило в голову, что вот у этого VkApiUserFull есть там поля, методыи т.д.? Охуеть у вас тут уровень, конечно
дак и норм sdk без студии. это студия без sdk не нужна, а наоборот ок, и качается отдельно.
https://developer.android.com/studio/index.html
в самом низу по ссылке же архивы. а внутри образы для конкретных версий ей самой докачиваешь.
Если экран слишком сложный, то можно сделать несколько презентеров, но сам презентер всегда связывается только с одной-единственной view.
Анон выручай, как рутировать android sdk via adb? уже перепробывал всё что мог не рутирует и всё
спасибо анон
Нет. Презентер управляет вьюхой через интерфейс, ему можно подсунуть любую и сколько угодно реализаций. А вот вьюха, как правило, управляется лишь одним презентером, поэтому его и не нужно выделять в интерфейс.
Есть один удаленный трек с саунклауда. Аппликуха андроида может его проигрывать из закладки History. В браузере там его нет. Как достать этот трекич из кэша апликухи? В папке
>\Android\data\com.soundcloud.android\files
Пусто. Где он может хранится?
Это же какая-то хуита, аффилированная с geekbrains. Надо смотреть с осторожностью
по первому методу дошел до "плз, скачайте убунту" толком и не понял, что он хочет? Чтобы я скачал убунту и через его консольку дальше что делал?
по второму методу при исполнении ./psneuter получил ответ:
./psneuter
sh: ./psneuter: not executable: magic 7F45
Половина анрут апк тупо не работает =(
> Т.е., если я, например, передам и сохраню контект в адаптере, то утечки не будет, потому что адаптер создаётся из активити.
Да.
> то лучше его там хранить в WeakPtr
Нет, лучше использовать getApplicationContext, который живет всегда.
нет, в постах выше было об этом, поищи.
Ок, спасибо.
Эти ретурны вложенные просто пиздец. И тип после имени тоже пиздец. Еще и ебля с вложенными it охуенная. А документацию к языку писал какой то шизик, по которой описание фичи языка разбита по нескольким фрагментам в вообще разных пунктах.
В рот ебал этот котлин.
А мне норм.
Почему? Если коротко - то я делаю функцию которая будет отправлять запрос на сервер, получать ответ и если в ответе сказано, что сессия умерла - делать релогин, после чего повторно отсылать реквест с новым айди сессии.
>почему
Потому что тело колбека пиздецки огромное. А релогин лучше бы где-нибудь внутри фабрики запросов сделать (ну если у тебя ретрофит), или вообще не делать и выкидывать юзера на логин-скрин, как тот же пейсбук.
Если ты не понимаешь, что требуется от сеньиора, значит тебе еще далеко до него.
Ну а про мидла епт.
Как заставить ведроид открывать её во внешнем видеоплеере и проигрывать, как сетевой поток?
гугли device admin
Подскажите как решить следующую задачу:
В идеале, чтобы пользователь мог запускать на устройстве только одну программу.
Или закрыть доступ в интернет всем, кроме этой программы, и удалить все развлечение, и запретить их ставить.
Или дать ограниченные права учетной записи и дать пользоваться только ей.
В общем, чтобы устройство использовали только для работы с этой одной единственной программой.
10/10 ПОПРАГРАМИРАВАЛ
>сбросил апк на телефон
>вылетает при запуске с ошибкой
Какая религия запрещает использовать отладку по usb ?
Видишь ли, ты мог собрать апкашку которая нормально запустится только с проводом, какая-нибудь хуйня из под инстант рана. Бывала так что у меня через провод норм стало, а после пересылки файла хуйня и главный класс не найден, так что пеняй на себя.
>пеняй на себя
Я создал апк по гайду отсюда https://stackoverflow.com/a/16709979/8022879
Что-то я не вижу здесь упоминаний провода и отадки по USB.
Может ты попробуешь начать с офф. гайдов а не кусочков раскиданных по интернету? Особенно учитывая что такие детали как функционал ИДЕ там не раскрыты. Если хочешь можешь на хабре найти статью посвященную собиранию через консольку.
>Может ты попробуешь начать с офф. гайдов
>>1001550
>Какая религия запрещает использовать отладку по usb ?
Ок, подключил по юсб, поставил ADB драйвера, выбираю при запуске свой телефон (кстати, гугловский нексус) и вот результат. Мне начинает казаться, что андроид разработка это не программирование, а правильная расстановка костылей и тогда возможно всё заработает. А ведь это всего-лишь чистый проект из темплейтов.
> андроид разработка это не программирование, а правильная расстановка костылей
Очень интересно слушать мнение эксперта, собирающего хэлоуворлд.
Я-то сумел его приготовить. Но читать офгайд после этого западло, пускай для начала ошибки исправят, а не путают нуфагов.
кто может подсказать как в action bar добавить несколько спиннеров и как с ними потом работать?
ну чтобы ты понимал всю глубину - так оно и есть. особенно если дойдёшь до support-библиотек.
андроид - не для энтрилевела. андроид - это калека на костылях, которого постоянно подклеивают пластырями чтобы он не сломался. а тебе нужно знать дохуя, чтобы толкать этого калеку туда куда тебе нужно.
с хэлоуворлдами у них ещё со времён плагина для эклипса такая беда. но альтернатив на нативный андроид - нет.
>- Qt — кросс-платформенный фреймворк на C++. Используется в основном для игры и для приложений с высокими требованиями к производительности (обработка изображений, звука, ГИС-системы).
Есть у кого примеры реальных приложений на куте?
Нет, андроид - это вполне себе программирование. Просто тут работает один из принципов на выбор:
1) читаешь выбранный гайд, делаешь по нему.
2) понимаешь глубокие процессы, делаешь самостоятельные движения.
Иного не дано
На его сайте была галерея с примерами. Ссылку не кину, но нагуглить легко.
Активити 1(Ф1 -> Ф2 -> Ф3 -> Ф4, после бекпреса вдруг на 1 фрагменте оказывается)
Вторая ситуация:
Активити 1 (Ф1 -> Ф2) со второго фрагмента переходим на новое активити, без очистки стека активитей, после финиша оказываемся на Ф1 вместо Ф2.
Пробовал включить уничтожений активитей в режиме разработчика, не повторяется.
Может ли вообще такое быть? Мне казалось саппортные фрагменты нормально работают. ( В бекстек я все добавляю, даже с тегами, делаю реплейс)
Смотри внимательно код. Возможно, ты где-то заюзал не тот фрагментменеджер (там есть баги, и для определенных версий во вложенных кривые child и support) Алсо, гугли баг на 4.2 с вложенными фрагментами.
Ты же чекаешь saveInstance перед работой с фрагментами? Проверь через dont keep activities.
savedState чекаю, короче этот пидоран под главной понимал экран где есть дровер.
А вот с фрагментами я думаю в другом залупа была, я нашел в приложении кнопку которую давно надо было выпилить, но она дает похожий эффект.
Вротебал эту контору сука.
Пока писал десктопную хуитку на swing и на gtk, эти библиотеки воспринимались как что-то единое, посвященное единой цели. Андроидовский же апи воспринимается скорее как swt - неведомая ебаная неудобная непродуманная хуйня.
Потому что легаси хуегаси. Обмазанное тонной хотелок и метаний гугла и опенсоса. Может быть андромеда приде - порядок наведе, но я уже ни на что не надеюсь.
бамп
Нет, уже менее 30% по оценкам гугла <21
дак да, пиздато, могут ведь спустя 3 года после первой стабильной версии.
бесил тоже этот гуттер давно тем что сантиметр экрана жрал пустотой, спасибо тебе.
1) Учишь линукс, как работает система, где крутятся контексты, и куда нельзя лезть чтобч не ёбнуло
2) Разбираешься с тем что навертели поверх - далвик, зигота, контексты, хуё-моё
3) Ссышь на всех кто говорит что андроид это стильно-модно-молодёжно.
...
SON YOU ARE DEVELOPER NOW
>как что-то единое, посвященное единой цели
Дак это цель гугла поддержать свою почти монополию на мобильных устройствах ну и не только, хром жи.
Поэтому и хуяк-хуяк продакшен (особенно на саппорт либах) с непроверенными решениями с кучей багов, пока конкуренты не опередили.
Как это делается?
*не нужен
Её тоже пидорнут, не беспокойся. Это лишь вопрос времени.
Есть ли возможность дождаться завершения bindService, и только после успешного байнда продолжить выполнение?
GUI, если что, вообще нет.
Интриги добавляет я хочу подождать байнда в сервисе, который создаёт ОС и ОС вызывает колбеками все выполняемые методы (HostApduService). Поэтому ждать там через sleep и wait - не вариант, ибо всё встанет.
-----------------
И вообще, какого хуя bindService не синхронный?
уже пробовал запихнуть bindService в onCreate, всёравно он дохуя медленный и не успевает подключиться к нужному моменту.
>>1003144
Эммм, а почему не использовать ServiceConnection? он специально для этого существует.
Ты не понял, я и так вызываю bindService( intent, serviceConnection ... ).
Так смотри что у меня происходит по шагам:
1. Андроид дёргает onCreate, в котором я вызываю bindService().
2. Андроид дёргает processCommandApdu, в котором мне уже нужен готовый сервис, а его ещё нихуя не подконнектилось.
3. Где-то после андроид дёргает наконец колбек onServiceConnected и у меня подключается.
Всё это он дёргает из одного потока последовательно, поэтому любой wait в том же processCommandApdu не даёт андроиду дернуть onServiceConnected.
-------------------
Короче, не прокатит так, написал в итоге синглтон, к которому оба мои сервиса будут долбиться вместо того чтобы один подключался к другому.
Cпасибо, Анон.
Есть ли возможность программно выводить Linear Progress Activity indicator вверху экрана, не добавляя при этом progressbar на каждую activity?
В идеале было бы иметь какой-нибудь глоабльный статический класс, с функцией show hide, который будет просто выводить на экране полосу с загрузкой,
> не добавляя при этом progressbar на каждую activity
Нельзя.
Но зато можно добавлять ее грязно прямо в DecorView.
Первый пункт можно раздобыть в книге Таненбаума по ОС? Если нет, то где можно?
Твой выход - сохранять значение в ApduService, до бинда.
Либо пихать его в Behaviour/ReplaySubject, а сам биндинг обернуть в Observable. Потом каким-нибудь флетмапом подписывешь сабжект на обсервабл, а после флетмапа вызываешь свой метод со значением с сабжекта и готовым сервисом
модуль
Да, других вариантов-то и нет чтоб начать.
Сука... извините, не хочу метариаться.
Б-же, какие же американки красивые, АААААА!!!!!!!!!!!!!!!!!!!!!!!!!!
Короче, сделал так:
Создал класс BaseActivity с наследованием от Activity.
Переопределил setcontentview, чтобы всё пропихивалось в framelayout, которые содержит вверху intermediate progress bar, в невидимом состоянии и определил 2 метода showloading и hideloading.
Всё, в ходе работы программы, когда надо показывать активность, вызываю showloading, после выполнения hideloading.
как отобразить время со своего часового пояса
на других версиях работает
На каких других версиях? Добавь сам недостающее время.
Используй Calendar/Date. А то ты взял время в UTC и удивляешься почему без часового пояса.
Можешь вывести под прозрачную строку.
Можешь насрать уведомлениями с генерируемой иконкой уведомления в букву.
Никогда не используй time api из джавы ниже 8. Есть threetenabp - бэкпорт, порезанный для андроида, вроде даже календарь саппортит.
Зачем мне что бы показать текущее время/отформатировать дату тащить целую зависимость?
Че ебаться, вписал в билдскрипт и добавил зависимость, все.
>>1004132
Ведроидовский бекпорт ужат же. А так, я не представляю ситуации без мультидекса в 2к17.
Стандартный стек теперь включает RxJava, Retrofit, OkHttp, GSON, даггер, роболектрики-хуектрики для тестов, AutoFactory (которая тянет гуаву(!)). Плюс всякие моки сервера, плагины для рхведроида, всякие MaterialDrawer и FastAdapter частенько юзаются, мосби я уже начинаю видеть в вакансиях. Да что уж там, если гуаву многие юзают и отдельно (вместо маленьковго Apache Commons).
С чего это вдруг стандартный стек? Сам придумал?
бамп же
Я имел в виду организационную часть. Допустим, у меня есть адреса объектов, которые я должен отобразить на карте, но нет координат. Как удобнее получить координаты, чтобы потом записать их в базу и хранить там?
> Как удобнее получить координаты
Надежнее всего самому загнать все координаты.
Можно использовать GeoCoder, можно гугловое апи.
А айдишников в PlacesAPI у этих мест нет?
Хочу как-то проверять что приложение потенциально не хакают.
Наткнулся на SafetyNet Attestation API (https://developer.android.com/training/safetynet/attestation.html). Кажется лучшим вариантом чем всё проверять вручную.
Вроде обещает кучу защит, но тока минус что чето гоняется в интернеты.
Кто-нибудь использовал/пытался обмануть? Насколько годно проверяет?
проставь Log.d везде и разберись что после чего запускается (и не запускается).
очевидно, что твой stopService скорее всего не отрабатывает, т.к. доделывает какую-то задачу.
unrelated вопрос: Хамарина хватит для фриланса, чтоб на еду хватало?
Ты же в иконку битмапу суешь, что хочешь, то и рисуй на ней.
Так давно кажись было, onError всегда был терминальной стадией. Ответ прост НЕ КИДАТЬ ошибки, это же какой-то изврат, возвращай значение позволяющие узнать что произошла ожидаемая ошибка. Например в том же ретрофите можешь использовать Response<T>(не http ошибки свалятся в error) или Result<T> (в error по-хорошему ты не попадешь вообще, содержит либо Response<T>, либо Throwable). Ну или вообще свой Try<T> используй.
Да, про null я уже заметил.
>Так давно кажись было, onError всегда был терминальной стадией.
Только что проверил и да, оказывается так было с первой rxJava. Странно, а мне всегда казалось, что это не так.
А зачем?
Joda Time стал частью Java 8 time api. Библиотека выше - оно же, но оптимизированное для ведра.
Што простите?
Берешь код текущего приложения, меняешь функционал, устанавливаешь поверх старого.
наркоман штоле? что ты затеял?
Нет, его как раз и нужно использовать в и делать. Но оно доступно только начиная с sdk 24.
Поэтому вместо него можно использовать thee ten abp.
Потому что
> оно доступно только начиная с sdk 24.
Если ты ставишь в проекте minSdkVersion = 24, то всё хорошо. Ели меньше - приложение будет падать на устройствах со старым ведром с Class not found exception
А, понял, о чем ты.
Потому, что оно идиотское и неудобное. Поэтому все использовали joda Time, а в Java 8 его добавили в JDK.
То есть использовать-то ты его конечно можешь, но это будет как AsyncTask, евпочя.
Окей, понял.
> То есть использовать-то ты его конечно можешь, но это будет как AsyncTask, евпочя.
Не будет. Нехуй тащить целую зависимость, если тебе не нужны какие то сложные расчеты дат. Календарь хоть и не очень удобен, но если нужно посчитать сколько осталось до полудня или какая дата будет через 7 дней, то смысла в джоде нет.
К тому же джода тащит свои часовые пояса с собой, а не использует те, что зашиты в андроиде. На старых девайсах это может вызвать проблемы, когда показания джоды расходятся со временем в статус баре из-за смены поясов или летнего/зимнего времени.
Я же писал, что нужно не йоду использовать, а three ten, она инициализируется от поясов системы.
Конечно, ради одной операции во всем приложении тащить библиотеку не нужно, но это и так очевидно.
Тащемта, есть йодовский бекпорт под ведро.
У йоды плюс в том, что есть возможность вычислять пересечения интервалов. Но она и сама больше по размерам, особенно в сравнении с abp
> есть йодовский бекпорт под ведро.
Который крайне неэффективно использует память
http://blog.danlew.net/2013/08/20/joda_time_s_memory_issue_in_android/
Поэтому ThreeTenABP и появилась.
Анон, нужна твоя помощь.
Я пилю меню настроек. Унаследовал свою Activity от PreferenceActivity, написал ее, а дальше ступор. Я почитал гуглодоки но так и не понял пару моментов:
1) PreferenceActivity сам сохраняет выбранные настройки в свой SharedPreferences или это надо ручками прописывать?
2) Если он все-таки сохраняет в них, то как мне передать сохраненные настройки в другой SharedPreferences?
/gd
Меня и по частям туторы устроят. Даже просто тупо примеры на гитхабе. Разобраться не проблема, проблема найти.
Могу только по ведру подсобить.
Регистрация:
https://developers.google.com/identity/sign-in/android/start-integrating
https://vk.com/dev/android_sdk
https://developers.facebook.com/docs/android/
хм, где же быть офф семплам хммм
Для работы запросов: http://square.github.io/retrofit/ (семплы на гитхабе). Но если у тебя нулевые знания ведра, то это все как мертвому припарка, начни с офф гайда.
Благодарю, поручик.
Суть в следующем есть StaggeredGridLayoutManager для RecyclerView, адаптер для которого заполняется урлами гифок с giphy, из этих урлов скачиваются гифки и получается главная страница. Ширина всех гифок одинаковая, разная высота.
Так вот: при первоначальной загрузке - грид заполняется в рандомном порядке. Если после загрузки пару раз вверх-вниз поскролить - все становится нормально, кроме того, что последние 3 гифки периодически меняются местами. До этого я дохуя часов ебался с тем, чтобы ВСЕ гифки рандомно не перемешивались. Как заставить эту адовую хуйню работать по-человечески? 3 года назад забил на андроид именно из-за этой анальной ебли с костылями, очень печально, что до сих пор всякая залупа осталась.
Текущий код адаптера https://pastebin.com/fV8Z8mky
Активити https://pastebin.com/nb5mumUD
Остальное, думаю, не так важно.
Потому что ты сам пытаешься динамически считать высоту и изменять высоту вьюхи, и очевидно делаешь это неправильно.
Почему этим вообще занимается адаптер? Зачем он хранит мапу с их размерами? Это вообще не его ответсвенность. Что за херня к тебя в onCreateViewHolder и createView творится? Ты вообще понимаешь, зачем ViewHolder нужен?
эти костыли появились потом, после часов разборок. Про холдер я рили не понимаю. Везде это тупо холдер - хранилка вьюхи и всё. У меня так же. Чего я не понял?
> До этого я дохуя часов ебался с тем, чтобы ВСЕ гифки рандомно не перемешивались.
Ничего ты с этим не сделаешь. Проблема вроде бы лежит в корне, что LayoutManager не запоминает позиции проскроленных элементов и из-за этого начинается перемешивание на ходу.
https://github.com/csdodd/GiphyTest
тут перемешиваний нет, я даже клонировал и поменял простой грид на Staggered - нихуя не поменялось. Делал всё аналогично - нихуя не работает. Я не понимаю, какую магическую залупу нужно сделать, чтобы это работало по-человечески. В нормальных приложениях же работает. Или андроид это всё еще лес из костылей?
> GridLayoutManager
Так у него этой проблемы нет, ему же не надо пустые участки заполнять. Перемешивание именно на Staggered.
Можешь сделать свой Staggered, который будет запоминать, как он слейаутил предыдущие элементы, но боюсь ты не осилишь.
так я на Staggered менял, говорю же. И после смена на Staggered там все равно все стабильно.
https://github.com/csdodd/GiphyTest/blob/master/app/src/main/res/layout/single_item_image.xml#L5
Потому что высота жестко зашита.
В целом для ведройд разработки оно годится? вроде студия под мак есть, хз, что там еще нужно
Никаких подводных, так еще и в придачу получаешь нормальную поддержку скетча, а не костылем в виде зепелина.
> sketch
Проприетарное говно не нужно. Если дизайнер его использует, то пожалуйста. Но экспортировать он его должен в удобный для разработчика формат (разные dpi и т д)
> Проприетарное говно не нужно
У тебя дизайнер пользуется гимпом?
> Но экспортировать он его должен в удобный для разработчика формат
Ты хочешь получать готовые ассеты от дизайнера? А если твоя реализация компоновки не будет совпадать с его? Размеры текста на пнгшках будешь высматривать?
Я не знаю, чем он пользуется и не хочу знать.
https://m.habrahabr.ru/company/e-Legion/blog/263303/
К тебе пришли иконки с отступом, тебе нужны без (или наоборот). Вместо того, чтобы в скетче/фотошопе/любом говне нажать 1 кнопку экспорта ты пишешь своему дизайнеру перерезать и ждешь, когда он это сделает. Что-то такое себе.
Вангую, что второй параметр должен быть обозначен как nullabale, т.е:
fun onCreateLoader(id: Int, args: Bundle?)
Хм, спасибо бро, завтра попробую.
Ну вот уж нахуй
Ебал этот эклипс куда можно и нельзя
Этот ебучий кусок ебанины по два раз в день проебывал зависимости из проекта и отказывался хоть как то работать.
Слава студии
Ты был прав. Но при этом сразу следующа трабла:
Было
Cursor previousUpdatedOne = (Cursor) view.getTag(R.id.updated_cursor);
if (previousUpdatedOne != null)
previousUpdatedOne.close();
Стало
val previousUpdatedOne = view.getTag(R.id.updated_cursor) as Cursor
previousUpdatedOne?.close()
Ругается
kotlin.TypeCastException: null cannot be cast to non-null type android.database.Cursor
Я хз че ему надо, помогач.
или просто запись звука и передача на другой телефон?
1) Записываешь звук микрофоном в сервис
2) Сбрасываешь записи на сервер
Или тебе разговоры записывать?
Задаю:
> Qt, Xamarin, PhoneGap/Ionic/Titanium/ReactNativ, BugVM, LibGDX
На этом всем можно писать полноценные годные проги, игры, етц, ничем не хуже жабных/котлиновых или это все квадратноколесные велосипеды? При отсутствии у фреймворка требуемой возможности, можно ли из него обратиться к родному API ведра?
И еще: как у ведра обстоят дела с работой с фингерпринт-сканерами? Можно получить "фотку" отпечатка или хотя бы инфу о том, что "степень совпадения отпечатка А и отпечатка В равна С процентов"? Есть какой-нибудь гайд по хеллоуворлду с фингерпринтом (например, локскрин)?
На Xamarin под Android никаких проблем, есть все что в стандартном SDK под Java. Про iOS не знаю, никогда не писал и не тестил.
> полноценные годные
Нет. Работающие - да.
> Можно получить "фотку" отпечатка или хотя бы инфу о том, что "степень совпадения отпечатка А и отпечатка В равна С процентов"?
Нет.
>Нет. Работающие - да.
ФонеГап, Титаниум, ксамарин и кьют чем неполноценны?
>Нет.
А что можно тогда, и как это работает?
Что ж ты так сразу-то порвался
Собственно и от callback hell оно не спасает.
Заглянул сейчас на их гитхаб. Субъективное ощущение - хипстота пытается сделать, чтобы можно было легко и непринужденно ебошить ту же асинхронную колбэковую лапшу, что и в любимом жс.
А главное - в жс лямбда это просто функция, а не ебаный анонимный класс, который обходится в дохуиллиард раз дороже. Но хипстоте похуй, ведь память - не ресурс.
Б.а.м.п
Кучу раз уже обсуждали. Писать можно, но будет кривое, лагающее и трудноподдерживаемое говно. Попробуй найти в google play приложение, написанное на этой параше, у которого будет больше 10к установок и рейтинг выше 4.
Единственное исключение — Qt, но смысл на нем писать есть только для сложных приложений, где нужна работа с 3D, обработка звука/видео, гис-системы и т.д.
> ведь память - не ресурс
80% твоего потребления памяти будет все равно приходится на byte[], а не ссаные лябды/колбэки.
>>1009405
> Попробуй найти в google play приложение, написанное на этой параше, у которого будет больше 10к установок и рейтинг выше 4.
Твиттер на реактнативе.
>80% твоего потребления памяти будет все равно приходится на byte[], а не ссаные лябды/колбэки.
Дело не в этом, а в том, что новый анонимный класс на каждую лямбду - это же пиздец, товарищи. А эти пидоры из rx предлагают их хуярить буквально на каждый чих.
Вообще, люди, которые проектировали жабу, тоже так думали - а похуй, все равно 80% памяти будет занято полезной нагрузкой, ну и их любимое "RAM is so cheap nowadays". И что мы получили в итоге? Вопрос риторический.
там вывод uname еще, если есть еще какие то логи где-то, то скажите как найти, пробовал это
https://stackoverflow.com/questions/43648473/android-emulator-throws-error-cannot-execute-binary-file-exec-format-error
ноль реакции
сам спросил, сам ответил, двач хули...
Android/Sdk/emulator => Android/Sdk/tools/emulator
-forse-32bit => force-32bit
алсо так и не получилось эмулятор запустить нормально, дебажу на реальном девайсе
ути-пути, ну могу на арче запустить, так он тоже 32 битный что за снобизм ?
По разному пытался, и просто гитом из консоли:
>cd mokrayapiska
>echo "# My project's README" >> README.md
>git add README.md
>git commit -m "Initial commit"
>git push -u origin master
Потом в этой директории пытаюсь студией новый проект создать, она, какого-то хуя делает проект в папке mokrayapiska\mokrayapiska
Всё снёс, заново пытался сделать при создании проекта clone projecе from version control system, создаётся тупо пустой проект, с одним ридми файлом.
Жопа бля полная, какого хуя так сложно всё?
А зачем ты создаешь новый проект, если ты уже скопировал готовый проект?
Уже скачал андройд студию!
Держи в курсе
https://www.youtube.com/watch?v=DpUCfG1UdoI
Т.е. лист с которым можно взаимодействовать, увеличивать его как фотографию растягивая двумя пальцами, перемещать и тд.
Как же не гуглится, когда:
document.getElementById('cell-a-4').innerHTML = '...';
Выдаёт сотни линков. Так оно и работает, и ничего сложного там нет.
Я знаю, как делать таблички, лмфао. И спрашивал о совсем другом. Надеюсь кто-то знающий ответит на мой вопрос >>1012172
Приблуда с игровым движком? Ну или кастомная вьюха в которой хендлятся все эти тачи.
Точно, про игровой движок я чёт и не подумал. А ведь я могу немного в Unity, попробую создать нечто в нём. Спасибо, но вопрос объявляю пока открытым, может кто ещё подскажет.
того что KeyStore.getInstance( "AndroidKeyStore" )
Чет в гугле забанен, нихуя найти не могу, хочу с рутом их достать.
То есть чтобы адекватно писать в Android studio программы хуеграммы, нужны высокие знания жабы? или все же можно попутно и то и то дрочить или слишком много стульев и я сяду на хуй и лучше сперва на жабе сфокусироваться?
Поделись,пожалуйста
слишком много стульев. два языка считай учить будешь.
жава как язык и так не особо юзер-френдли для начинающих.
андроид с его эксемелями в разных папках еще менее.
по опыту могу сказать что без жавы вообще лучше в андроид одному не лезть, и лучше лезть уже с опытом любого UI-фреймворка жавы, хоть того же свинга.
но если твоя цель хуяк-хуяк две кнопки и копипаст со стековерфлоу или 100уроковандроид, то впринципе можно, но понимать будешь примерно нихуя что происходит.
ты прав, может есть какой-то более практичный путь, чем просто долбить жаву, а как-то по особенному чтобы побыстрее к Студии Ведер перейти?
>но понимать будешь примерно нихуя что происходит.
Да блять все равно нипонятно нихуя будет. Более менее понятно, в легких ферймворках под винду, ну там getmessage, по хендлу екземляр класса нашли, передали, хуяк вот и нажатие кнопки случилось, или отрисовать нужно что-то. А в адроиде этом пиздос просто, ад наворотили, эксемельки блять какие-то, нихуя непонятно. Мне проще было с шаблонами на С++ в WTL пердолится, чем с этой хуйней разбираться.
> Мне проще было с шаблонами на С++ в WTL пердолится, чем с этой хуйней разбираться.
Всё верно говоришь.
>>1013018
Так смотря что ты хочешь. Если на бекенде сосредотачиваться - жава мастхев на уровне чтобы даже не задумываться. Конкретно андроидовские фичи бекенда помимо базовой жавы осваиваются за пару месяцев на хорошем уровне, короче тут всё более-менее и жить можно. Помимо тебе понадобятся алгоритмы и байтоёбство, тут без жавы никак.
Отдельная тема - качаться в UI глубже чем хелловорлд - пиздос. Тут у тебя два основных пути:
1. ебёшься с фреймворками.
2. ебёшься с кривой Support-библиотекой, которая суть тот же фреймворк на костылях.
А потом всё равно придётся ебаться и с тем и с другим одновременно.
На базовых концептах типа вью, лайаут, лиснеры-хуиснеры итп далеко не уедешь, чтобы выдавать что-то сложнее хеллоуворлда на паре кнопок - быстрее долетишь до марса на жопной тяге и утонешь в спагетти-коде. Чтобы вышло что-то годное - надо начинать думать не столько в жаве, сколько в ООП.
В процессе освоения - за каждым вопросом чуть глубже базовой разметки лайаута будешь лезть в гугол и охуевать, и охуевать, и охуевать насколько всё неочевидно и оверархитектура.
Даже когда освоишься, особенно ничего не изменится - будешь примерно вспоминать по каким ключевым словам искать решение проблемы, и всё равно лезть в гугол. Разве что добавишь очередной фреймворкнейм себе в резюме, и будешь рассказывать на какие его грабли натыкался на собеседованиях.
Без жавы будешь понимать, верно говорит анон - ещё меньше чем нихуя.
Неспроста вилка зарплат такая-то.
долбишь сначала хед-фёрст книжку по жаве, потом хед-фёрст книжку по андроиду.
чето в голове после останется - начинаешь долбить самые популярные фреймворки (смотришь по вакансиям)
и счастье. или нет, джуны по андроиду ща никому нахуй не всрались
а может шаришь, просто из любопытства, почему джуны по андроиду не нужны сейчас? алсо, вообще до 4ого числа мне нужно сделать задание тестовое на джуна, лол и оно ни разу сложным мне не кажется, как минимум хочу его сделать, просто потому чтобы сделать, вернее почему бы и нет. я понял за книги, спасибо всем кто помог и ответил, буду стараться вкатиться, вот.
и да, есть не большая законченная прога написанная для универа, но все равно думаю жабу подзадротить и параллельно просто делать какие-то маленькие проги, чтобы просто руку набивать, такой вот план, короче спасибо анон
Джуны вообще никому не нужны.
Банальный пример - допустим нужно быстро закрывать проект, в котором уже дохуя всего есть, и надо ещё допиливать, а рук чтобы имеющимися силами всё сделать не хватает.
Представим варианты (утрирую):
1) Взять 4х джунов скажем за 40к каждого, и въёбывать время и силы на то чтобы их доучивать фреймворку/ооп/токостям жавы или андроида, да и вообще программированию
2) Взять одного сеньёра-помидора за 160к+, с опытом андроида год-два который сразу начнет приносить результат. тут тоже кстати поискать ещё придётся, т.к. все при делах давно
Подучившиеся джуны могут съебать без всяких гарантий чуть ли не через пару месяцев на зарплату в два раза больше в другую контору, и т.д. по нарастающей.
Джуны ок в больших фирмах, где много свбодных ресурсов на обучение и удержание типа яндекса, это по сути долгосрочный актив. В таких местах тебя будут отбирать из десятка потенциальных кандидатов, ибо на программирование сейчас хайп, особенно на андроид - т.к. у любого школьника телефон, поэтому тех кто хочет вкатиться в программирование - овер9к.
Курсы/уроки/гайды по программированию за 24 минуты, которые проходят вчерашние школьники по сути дают мало, а на чистом энтузиазме далеко не уедешь. Да и кто гарантирует, что у джуна через 2 месяца работы даже этот энтузиазм не перегорит (особенно поебавшись с андроидами)?
Короче риски - пиздец, затраты - пиздец, а гарантий - никаких.
Есть один путь короче. Качаешь с гитхаба исходники софтинки, которая ближе всего к тому, что собираешься запилить. Далее конвертишь в котлин, правишь косяки после конвертации, заодно разбираешь как что работает. Я к тому моменту как все на котлин переведу планирую уже осовить его на уровне запиливания собтвенных фитч. Ну дальше на маркет сразу.
мне нужно запилить кнопку которая будет находить 4 картинки относительно гео локации пользователя и чет я на этом моменте туплю, да-да я знаю за гугловский API для поиска по местности, но все равно как грамотно связть с кнопкой туплю.
нажатие кнопки==>показывает картинки рядом с геолокацией где ты сейчас и берет 4 штуки и из них делает коллаж, вот.
тестовое задание на джуна дали. а я ебаклак сделал только поиск геолокации и все.
Desktop работает только на пека же?
да, в жаве есть, т.к. java.awt.Desktop, в андроиде иначе -
подразумевается что ты через интенты будешь делать.
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
startActivity(browserIntent);
Что если делать все презентеры синглтонами, а вьюшки к ним подключать по мере надобности? Если какая-то наркоманская архитектура, когда в один момент времени существует куча разных вьюшек, связанная с одним и тем же типом презентера, то в этом случае можно так же сделать презентер-синглтон и крепить к нему все эти вьюшки в виде листа и одновременно их обновлять.
> Что если делать все презентеры синглтонами, а вьюшки к ним подключать по мере надобности?
В Moxy примерно это и реализовали. Презентер живет в статик мапе, пока вьюха окончательно не закроется.
перешь такой аппбар, пизхаешь в него эдитТекст/серчВью и таблэйаут. А дальше вилкой.
Вот создам я их, даже буду спрашивать - пользователь мне даст из моего доверенного приложения. Также пользователь его даст и приложению злоумышленника inb4: не даст 0.003% пользователей, которые поймут что происходит.
Априори если человек установил что-то сомнительное - то проебался. Как в такой ситуации спасут пермишшны? Ответственность за принятие пермишшна волшебно перенесётся с разработчика на пользователя? Но ведь всёравно по сути нет, т.к. это задача разработчика защищать пользователя.
Короче, объясните плес, нужно ли мне вообще это говно, и зачем?
Чтобы пользователь мог знать уже на шаге установки приложения, какие именно действия будет совершать приложение.
Позволяет задать взаимодействие с твоим приложением другим приложениям. А защитить ты можешь по подписи например.
Это не вариант для меня
ну хуй знает, если игоры делать хочешь юнити, если дрочить клиент сервер из приложения в приложение то андройд
>>1015927
Игоры, конечно, интересно, но можно ли на них так же поднимать как и на андроиде? У юньки вакансий мало, срезняя зп ниже. Короче очкую я ей заниматься
В Джаву умеюв котлин нет. Сам пишу на сях/крестах и пистоне.
С какого курса из шапки лучше начинать? Udacity или Codepath? Не хочется читать много воды. Спасибо.
у меня ощущение, что всему нативному ios/android говну не долго осталось, жаваскрипткросплатформенные всех заменят
Гугли режим киоска на андроид.
Пробовал через прокси с подменой сертификата, браузер работает, а приложение нет. Там наверное какая-то своя проверка сертификата я так думаю. Я в этом не силен.
Ну так вот, можно ли в принципе как-то посмотреть этот трафик? Ну там, например, пропатчить где-нибудь, подключится дебагером, все дела
Рутнутый девайс надо. https://www.google.com.ua/amp/s/serializethoughts.com/2016/08/18/bypassing-ssl-pinning-in-android-applications/amp/
Fiddler.
Взял сегодня книгу Ретабоуил С., Android NDK: разработка приложений под Android на C/C++. Сильно ли я проебался с выбором первой литературы и актуальна ли информация из книги?
C
https://developer.android.com/training/index.html
Зачем тебе мусорные курсачи для домохозяек?
Да, это сильно не то. Если ты не делаешь очередную накладывалку рожи собаки на свою, или супер-охуенный плеер, то это тебе ни к чему.
>Ретабоуил С., Android NDK: разработка приложений под Android на C/C++
Если игоры писать собрался разве что и ОПТИМИЗИРОВАТЬ. И надеюсь, что ты уже бог С++, иначе ты делаешь что-то сильно не так.
По андроиду впринципе проёб с книгами с актуальной информацией, т.к. слишком быстро новое выкатывают, тем более на русском языке (+полгода на перевод). Такчто актуальными могут быть (и то не всегда) только гайды от гугла.
Спасибо за ссылку, анон! Все получилось через xposed-модуль на genymotion.
Даже приятно, что вот так помог. А то у меня уже опустились руки. Написал в треде так на всякий случай
>и крепить к нему все эти вьюшки в виде листа и одновременно их обновлять.
Я примерно так делаю. Но у меня презентер инжектится через даггер
Зато как гейосники!
Есть же анко, с которым делать это довольно удобно но все равно так не надо.
Ну расскажи почему xml для уебков.
>Зато как гейосники!
Что гейосники? У них два варианта:
1) Таскать мышкой
2) Хуярить кодом
В ведре есть промежуточный вариант (можно не мышкой) щедрая душа.
File -> Open... -> выбираешь папку samples -> OK
Android нассыт на твой синглтон и пересоздаст фрагмент(с вызовом конструктора без параметров) когда ему будет нужно при рестарте/повороте экрана etc.
>>1020242
вдогонку, такой штукой делай, будет православно:
Fragments are meant to be reusable components of applications. You should not be using them as singletons, instead you should implement Fragment.SavedState or onSavedInstanceState.
public class YourFragment extends Fragment {
// Blah blah blah you have a lot of other code in this fragment
// but here is how to save state
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("curChoice", mCurCheckPosition);
}
@Override
public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// savedInstanceState will have whatever you left in the outState bundle above
}
}
Проблема в том что гуглокарта ебет мозг. Ее проблема в том что у меня есть, скажем несколько фрагментов, которые открываются, которые открываются по порядку сваливаясь в бэкстек. Так вот каждый такой фрагмент с картой заново грузит эту ебучую карту, заполняя память и в итоге вызывая ООМ. Синглтон фрагмента же я могу деттачить в онСтоп и аттачить в каком нибудь онРезюм фрагмента контейнера.
Помимо этого у меня там маркеры с фоточками, которые генерятся в рантайме. У меня в данном вопросе не стоит вопрос о сохранении стейта фрагмента и данных в нем, ибо данные у меня в бессмертном интеракторе/презентере живут.
Так вот основная проблема это ебучая гуглокарта.
>OOM
Прозреваю что ты чето с данными проёбываешь, так что из-за оставшихся ссылок GC что-то не может почистить. И смотреть тебе нужно именно в сторону утечек и их причин.
>Бессметный интерактор/презентер
Ещё гипотеза что проблемы могут быть от того что он у тебя может быть в static-переменных.
Проверься по списку.
http://blog.nimbledroid.com/2016/05/23/memory-leaks.html
>Ещё гипотеза что проблемы могут быть от того что он у тебя может быть в static-переменных.
Презентер и интерактор живут в компоненте даггера, который обернут в WeakReference и живет столько сколько ему нужно. Они собственно тут не причем.
Ну и проблема почему то на реальном физическом девайсе. На эмуляторе всё норм.
так говоришь, будто и в даггере утечек не может быть. сходу в гугле найдёшь несколько репортов на утечки с даггером.
>>1020409
потому что на эмуляторе одна реализация андроида (от индусов), а на девайсе другая (от китайцев), и что там каждый из них на своих форках навертел никому не известно.
плюс на эмуляторе у тебя меньше случайного говна из-за левых программ также жрущих память на физическом устройстве.
профилируй, хуле ты, очевидно же что утечка есть.
Я хуй знает с чем это связано. На физическом планшете сасунге 19 апи память так не кушает.
На моём физическом 21 апи валится. На эмульгаторах все норм.
Виноват был mapview, у которого не вызывался onDestroy что приводило к утечке внутри самого mapview. Теперь же я onDestroy переместил в onStop фрагмента своего и все заработало как часы.
батя грит малаца.
Они в курсе, сами пишут что он вообще не гарантированно вызывается. Не один раз рассасывали тут.
Нет и не будет. Пошёл нахуй со своим говном.
Вопрос по бизнесовой составляющей. Мне предлагают поддерживать и при необходимости переписать проект, который представляет из себя просто адскую концентрацию говнокода и костылей, в котором блеать асинхронность сделана через new Thread(...).start() и сделать это нужно за два месяца. Масштабы проблемы - около десяти экранов с видео, биллингом, сложным UI, загрузкой и проигрыванием левой медиа, поворотами экрана и прочими сменами конфига и прилагающимся. Чтобы вы понимали - те, кого я учил делать приложеньки "для души" и кто знал до этого дай боже паскаль, писали более читаемый код.
В этом пиздеце есть венгерка, js_нижние_ебаные_подчеркивания, ЯШарпПропертиНотация и прочая параша, контексты везде пошли по пиздец и прочее подобное.
Сколько мне стоит запросить за этот пиздец, и стоит ли вообще руки марать? Оцените по меркам ДС
Я бы такую хуйню только с нуля переписывать согласился.
Берешь, оцениваешь стоимость работы для написания с нуля - тз же перед тобой. И просишь. А будешь ты писать с нуля или дописывать, уже тебе решать. Что проще, построить дом с нуля, или постоянно ремонтировать и достраивать развалившуюся избу.
300 кк/секунду.
Чего ты ожидаешь услышать, если объём проекта ты не написал (хотя бы примерно в тысячах строк), не написал используемые фреймворки и вообще нихуя конкретного кроме того что всё плохо.
Проси многа)))) И анон >>1024092
про с-нуля прав, конечно же.
6 экранов нагруженных по самое нехочу
пока что предложил полностью переписать, вроде их устроило
А что плохого в new Thread().start() с точки зрения асинхронности?
Просто я постоянно делаю такое, если нужно что-то в бэкграунде сделать, а если в ui-треде, то new Handler(Looper.getMainLooper()).post().
Ты подумаешь тред, которому потом умереть вместо того что бы реюзать их, ещё и выглядит как говно.
Так какие альтернативы?
>тред, которому потом умереть вместо того что бы реюзать их
Ты о чём? В джаве нельзя реюзать один и тот же тред.
> It is never legal to start a thread more than once. In particular, a thread may not be restarted once it has completed execution.
Есть listview с rows разного типа контентом(сообщения в чате, могут быть картинки, вложения и т д).
Как приоритетнее делать adapter в плане производительности:
создавать разные layouts под свой тип и возвращать разные в зависимости от типа сообщения или создавать один layout со всеми возможными данными и убирать ненужное с помощью visibility.gone?
В гугле смотрел делают и так и так
сажа приклеилась
Тоже сажа приклеилась
Да хоть асинктаск. А вообще ExecutorService, а дальше CompleteableFuture или rx. Можно ещё корутины в котшине.
Ладно, проччитал про отличия, у меня имплементирован реюз элементов, так что по перфомансу должно быть норм. Но в будущем буду recyclerview юзать
В ресайклере ещё удобно как раз создавать разные ViewHolder для разных элементов, что является ответом на твой первоначальный вопрос. Там есть в RecyclerView.Adapter метод getItemViewType, по которому можно вычислять необходимый тип элемента, а возвращает он int'овое значение, которое потом используется при создании элемента листа в onCreateHolder. И по этому значению можно делать разные лэйауты, а потом в onBindViewHolder делать нисходящее преобразование типа и присваивать необходимые значения.
Хочу пробенчать Relative/ConstraintLayout xml/code/anko против этих штук. Хоть узнаю какие спички крутятся.
Есть старый комп. Ввиду неподдержки последними версиями android-ndk 32-битных ядер линукс (в смысле запуска) поставил арм тулчейн из пакетов и, пообщавшись немного с разработчиком и мейнтейнером ndk, последовал его совету: взять из сдк папку /sysroot и использовать clang из пакетов. Получаю invalid instruction. Если же я собираю древней 10й версией (последней для 32битных линуксов) - то получаю сигсегв. Срочно нужна помощь. Уже неделю ебусь.
Вопрос вот в чем: стоит ли пытаться еще и в ios или лучше не распыляться и таки долбить андроид? Тем более из отзывов на эти стажировки понял, что туда даже без опыта кодинга на платформе берут и даже без знания языка, знай только си да ооп с алгоритмами.
Я бы взял что есть и не выебывался, существует устойчивое мнение что з айось получаюь больше, а еботни меньше. Но это не верифицированная информация.
на будущей неделе, если время будет, планировал на гейось что нибудь запилить хелоу ворлдовское. Если запилю отпишусь по поводу еботни
мимо другой анон 2года в андройде
Не совсем понятно что ты хочешь сделать. Гугли CustomTabs или берешь WebView и хуяришь вокруг него все что тебе надо.
Очень странное решение. У тебя игра или что? Пробовал анимируемым вьюхам хадр. ускорение включить?
я только вкатываюсь, но у меня там эффекты будут и много элементов, тут явно ускорение железа нужно.
это просто альтернативный гуи к браузеру
http://apptractor.ru/develop/google-dal-vozmozhnost-razrabotchikam-ispolzovat-chrome-custom-tabs.html
Кастом Табс работает быстрее самого браузера, спс, а как либгдх припилить, ня? ^^
>а как либгдх припилить
Берешь либждкк, там есть мастер создания новых придожений со своей "другой" струткурой грейдла. Создаешь там проект, всю андроидовскую часть переносишь в андроидовский модуль, а хуевую делаешь внутри чисто-либджксовского модуля. По сути у тебя будет либждксовский активити, но можно фрагментом сделать.
Что делать по пунктам для смены ГУИ?
так у меня вот эта хуйня и не работала. вообще, сейчас проверил в файрфоксе, там все норм, потом немного поебался с куками в хроме и теперь все работает. спасибо, анон.
Это копия, сохраненная 19 июля 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.