Что нужно разработчику под Android?

Всем здравствуйте!

Есть пару вопросов, надеюсь на ответы знающих людей.

Хочу научиться писать приложения под андроид. Поскольку в основе лежит java, то начал с нее: Java SE8, полное руководство, Шилдт

Итак сейчас имею 2 вопроса:

1. В каком объеме мне нужно штудировать эту книгу? В полном, или же для создания приложений под андроид достаточно усеченной версии?
2. Какой купить ноут для таких задач, конфигурация, чтобы все нужные проги работали без тормозов?

Заранее спасибо за ответы!

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

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

Ноут рекомендую брать с монитором от 1600*900 (такие на 17.3 ставят) и выше.
На мониторе с разрешением 1366*768, которые стоят на большинстве ноутбуков, работать в студии неудобно.
Ну и, ОЗУ не менее 8 гиг и, желательно, SSD.

Ноут рекомендую брать с монитором от 1600*900 (такие на 17.3 ставят) и выше.

Уже давно есть фуллхд и выше даже на 13″.
Только на винде далеко не весь софт нормально работает с DPI scale. В принципе, это довод за то, чтобы взять мак.

На самом деле обычно можно работать с внешним монитором. Это вполне может быть решением и тогда 1366*768 хватает.

Да. И с клавиатурой. И с мышью. И чем это тогда не десктоп, непонятно.

Кэп говорт, что десктоп не может работать от батарейки. А еще весь внешний тюнинг можно отлючить, и взять комп с собой. Очень удобно.

Тем, что можно работать и без монитора и без клавиатуры и без мыши. И можно легко таскать и подключать это куда угодно. Не, вообще как по мне у мужика дома должна быть чёткая пацанская тачка, а не (только) отетивот макбуки «не только для геев». И если её нет, то покупать надо её!

Як тобі ще це не скинули? Це просто розкішний ютуб канал, присвячений андроїду. Якщо хочеш щось відразу робити, то якраз. Адже просто робитимеш за принципом «проблема/задача — відео котре дає відповідь». Або ж дивись від початку, там все з нуля розжують.
www.youtube.com/user/vitaxafication

Большое спасибо всем кто отписался, в принципе понятно куда смотеть. Еще один вопрос по железу. Сегодня ездил смотрел. 2 Варианта, ноут — 8 ОЗУ, core i7 и lenovo моноблок но там core i3. Кто что посоветует? Ноут, это конечно мобильность, но насколько он удобен в работе?

core i7 и lenovo моноблок но там core i3
Здесь вообще без вариантов — core i7.

Сегодня показывали lenovo моноблок на core i7, с цены прифигел без малого 60000 грн, немногим дешевле iMac

За эти деньги можно купить macbook pro (i7, 16RAM) + отличный монитор. Вообще, лично для меня связка ноут + монитор — идеальный вариант. По крайней мере он (ноут) не привязывает меня к одному месту.

Да собери себе чёткий пацанский комп сам! Модный системник уже сколько лет стабильно стоит штукубаксаф. Я за столько купил свой лет 5 назад (на i7) и разве что видюху есть смысл прогрейдить.

Чем больше рабочая площадь — тем лучше, итого моноблок > ноут.

В первую очередь в компьютере важен объём памяти, в зависимости от того, сколько вкладок в браузере открывать и виртуалок запускать. Во вторую — наличие SSD. Проц только в третью очередь. Это я говорю как будет восприниматься скорость его работы невооружённым глазом, а не по бенчмаркам.

А из прочих обстоятельств — качество экрана/матрицы и клавиатуры.

Ноут, это конечно мобильность, но насколько он удобен в работе?

Против десктопа с двумя дисплеями 24″ — неудобен вообще, никак, абсолютно.
Если тебе не нужна мобильность — не связывайся с ноутом. Я серьёзно.

там явно с ценами охренели
Сейчас везут кучу бу ноутов корпоративных моделей с европы/штатов. Продаются по 300-500 баксов (первый попавшийся пример www.facebook.com/...rmalink/1672841522971122 ) доставляеш туда ссд (а лучше сразу с ссд брать) 3-4 поколение i5 хватит выще крыши. Нет необходимости брать і7.
А для обучения вообще и3 хватит, память с ссд тут явно важней проца

Коллекции и ревертнуть стрингу — єто классика, знать нужно. Еще нужно 1) жизненный цикл Активити, Фрагмента, Сервиса. Особенно Фрагмент в Активити, чей жизненный цикл вызовется раньше, а при таких условиях, а при вот таких. 2) Активити, Бродкаст ресивер, Сервис, Контент провайдер: єто столпы, тут чем больше про них знаешь, тем лучше. 3) Кастомные вьюхи: редко сейчас встритишь апп написанную на нативных вьюхах Андроида. 4) REST: все идет в облако и оттуда же берется, так что если апп не хелловорд или конвертер величин/калькулятор — REST is a must. 5) Cache и SQLite 6) Инфраструктура: VCS, CI, IDE, testing и прочее. У меня на собеседованиях спрашивали чем Идея лучше Еклипса^^ 7) ноут вообще любой, лишь бы a) хватало мозгов на IDE+browser b) IPS матрица, матовая с) SSD. Удачи!

Кастомные вьюхи: редко сейчас встритишь апп написанную на нативных вьюхах Андроида

Кстати, а можно подробнее — т.е. какие вопросы могут задать про кастомные вьюхи и где почитать/посмотреть?

Спросить могут что угодно, предел — фантазия и опыт вашего визави. Первое что приходит на ум: жизненный цикл View, что происходит в каждом методе, чем View отличается от ViewGroup, с какими конструкторами нужно создавать View, почему. Почитайте Android Developers или чтот из Vogella. Еще про Canvas и SurfaceView бывает, как повезет и смотря что на проекте требуется

ноут вообще любой, лишь бы a) хватало мозгов на IDE+browser b) IPS матрица, матовая с) SSD.
ноут вообще любой, но чем дороже, тем лучше

Вот не всегда. Возьмите MacBook Air и PC ноут за ту же цену. Сколько студий и вкладок в хроме вы запустите на Air и сколько на PC под линуксом?

Продолжай читать Шилдта, он очень доходчиво пишет. Что касается Java 8, то здесь тоже нет проблем, в его книге он явно разделяет контент на то что до 8й версии и после. Поддержка функционального программирования будет и на андроиде, вопрос времени. А так ты хотя бы бодешь уже знаком с этой парадигмой.
И кто говорит, что Java это так, прилагается, «почитывай параллельно» и т.д. — не слушай. Без знаний Java Core тебя никто никуда и никогда не возьмет. И да, на собеседованиях спрашивают по Java не меньше, чем по андроид API.

startandroid.ru/...ki/vse-uroki-spiskom.html
Вот этим ресурсом пользовался и пока советую знакомым которые хотят научится. Главное не прыгать по частям сначала, а просто ознакомительно пройтись по каждому уроку. Потому что можно изначально начать городить костыли, а это не есть хорошо. Отдельно обратить внимание на работу с фрагментами.
По java конечно хорошо знать коллекции(как пишут ниже, но для начала до мелочей задрачивать не стоит). Хорошо разберитесь с интерфейсами. Можно и нужно пошуршать на гитхабе, посмотреть структуры проектов(например пакеты и доступ к ним), различные патерны. Не в коем случае не лезьте сторонние библиотеки по началу, они имеют свойство умирать, а вот знания того как они работают под капотом, помогут в будущем их использовать и мигрировать с них.
По ноуту, субьективно, был/есть макбук 2009 года(Core 2 duo, 4GB озу, ssd) вполне достаточно. Проект с кучей депенденси(достаточно увесистый) с нуля собирался за 3-4 минуты. С кеша минута максимум(при открытом браузере, скайпе, слаке, консоле). Рабочая машина с i5, 16gb, ssd собирет в 2-3 раза быстрее(то есть машина в 4 раза дороже дает буст в 2-3 раза).

Я советую сразу приступать к делу) Придумать маленький проектик, буквально «Менять текст по нажатию на кнопку» и пробовать реализовывать его, попутно добавляя новых возможностей. Информации по Андроиду на российском языке предостаточно, что уж говорить об английском. Твоими главными сайтами должны стать — документация адроида и stackoverflow =) Такой подход ускорит изучение и даст реальную практику.

Книгу по Java 8 тебе не нужно изучать всю. В андроиде используется версия Java 7. А в версии 8 много чего добавили, что не будет работать на седьмой. Да и вообще для начального уровня более тонкое понимание этого языка не нужно. Но по ходу развития, Java будет важна.

Удачи =)

Читать Шилдта по Java 8 немного не айс, ибо андроид до сих пор работает на Java 7, а в скором будущем перейдёт на OpenJdk
Если хотите серьёзно подтянуть джаву, то я бы советовал видосики на ютубе от Ткача (Джава для тестеров). Он очень классно и компактно объясняет все аспекты.
Как ни странно, но для изучения создания приложений нужно создавать эти самые приложения)
В идеале требуется небольшая база (Java), а дальше только гугл)
По поводу ноута: мне i3 и 4-6 гб ОЗУ хватало с головой, потому не стоит думать, что для кода нужна какая-то ракета. По ОСьке я бы смотрел в сторону винды, многие девайсы не дружат с линуксом (HTC центр для линукса нет).
Если метите на собеседование и дальнейшее трудоустройство, тот тут теория > практика, если хотите творить и создавать Уберы и твиттеры — то максимум практики.
Удачи)

вы ошибаетесь, в linux подключить любое устройство и китайский шлак в том числе проще простого, при работе с NDK тоже скорее всего понадобится linux, попробуйте VLC скомпилировать под виндой)

В каком объеме мне нужно штудировать эту книгу? В полном, или же для создания приложений под андроид достаточно усеченной версии?
во первых это книжка по 8 джаве а на андроиде не все из 7 поддерживается
во вторых смотри по оглавлению — если я правильно помню то там куча всего по J2EE а для андроида актуальна только SE

Android Studio нужна.
Книга — не нужна. Учи сразу андроид, core по ходу будешь подтягивать.
Ноут — мощный. Студия — прожорлива(объективно). Убунта — твоё все(субъективно). Винда — не нравится(субъективно).
Мой ноут: 6 ОЗУ, 120 гб ссд, убунта, пентиум 2.4 Ггц. Вполне позволительно открыть 3 студии, хром — более 20 вкладок и остальные программы по мелочи.

Спасибо за ответ. А можете что то стоящее из литературы посоветовать по java core?

Не поверишь, но я начинал с этой книги — myflex.org/...​a4kids/JavaKid8×11_ru.pdf
Потом — www.headfirstlabs.com/books/hfjava
Если бы я сейчас с нуля начинал учить (так как ты, судя по всему) то учил бы сразу андроид сдк, а кору по ходу уже подтягивал бы

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

а вот под виндой 3 студии и 20 вкладок не откроешь даже с 8гб памяти). верней открыть то можно, да и только(

Ноут — мощный
Мой ноут: 6 ОЗУ, 120 гб ссд, убунта, пентиум 2.4 Ггц.
щось тут не то

а ткни носом, пожалуйста, что именно

не то

Нипаиграть? Так и не зачем.
ОЗУ по дефолту была 4гб.
Винт по дефолту был hdd.
Ну и убунту ко всему прочему тащит очень.

пентиум 2.4 Ггц
в калькулятор собі постав

Ты прямиком из 2000-х чтоб производительность процессоров по гигагерцам считать?

якщо не виходити за рамки ’хелло ворлд’ - то таки да, вистачить

Есть еще *советы* что еще куда себе поставить?

Для программирования под андроид в первую очередь важно задрачивание знание API и архитектуры андроида. Просто погугли «вопросы собеседование Android». Вряд ли тебя будут спрашивать про нюансы реализации java-коллекций, но скорее всего спросят про жизненный цикл Activity, про интенты, про AsyncTask, про лейауты, стили и манифест.

Ещё любят спрашивать про мультитред и предлагать каверзные вопросы про «как отработает этот кусок кода», ну это везде обычно спрашивают, где что-то связано с java.

Даже на джуниора спрашивают коллекции

Но не «нюансы». Джуна не попросят перебалансировать дерево вручную. А заучить O(1), O(n) и O(n*log(n)) для определённых случаев — много ума не надо. Во всяком случае, API надо грызть на порядок больше времени.

Да лаааааааааааааадно.

Вряд ли тебя будут спрашивать про нюансы реализации java-коллекций

Вопросы о коллекциях — это же классика жанра.
На каждом собеседовании рассказывал об этом.

Спасибо. Но сейчас хочу выучить больше для себя, а уж дальше видно будет.

Підписатись на коментарі