2010-08-16 4 views
26

Должен ли я изучать Java перед изучением Android, или я могу делать обе вещи параллельно? Каков наилучший подход?Должен ли я изучать Java перед обучением Android

+0

Что это значит? – Eugene

+0

Если вы зайдете на свои старые вопросы, вы можете «пометить» ответ, который наиболее полезен. Некоторые люди недовольны тем, кто этого не беспокоит. Лично я не нахожу ничего, о чем можно подумать, но там мы идем ... –

+3

Похожие вопросы: http://stackoverflow.com/questions/2981495/how-much-java-should-i-have-learnt -before-try-android-programming и http://stackoverflow.com/questions/2915410/is-deep-java-knowledge-needed-for-android – Jesper

ответ

72

Я бы сначала научился Java. Не беспокоить обучения вещи, как сервлеты, качели и т.д. - но узнать:

  • Ядро языка
  • Коллекции
  • IO
  • Строка обработки

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

Обратите внимание, что это не относится к Android. Я всегда предлагаю разработчикам изучить «ядро» новой платформы, прежде чем изучать «периферийные» технологии, такие как собственные пользовательские интерфейсы или веб-фреймворки.

Я видел, как люди пытаются это сделать раньше - буквально задают сложные вопросы о расширенных сценариях, не понимая основы языка. Иногда проблема, с которой они столкнулись, связана с сложным API, который они использовали, а иногда из-за основных недоразумений - , но проблемы выглядят точно так же, как и у них. Они не могут отличить не понимание того, как передаются аргументы метода, и трудности с перекрестными потоками операций пользовательского интерфейса. Насколько они обеспокоены, «что-то пошло не так». Каждый шаг болезнен, когда у вас нет прочного фундамента.

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

+2

Согласен - я разработчик, который уже много программировал на C# и Java.Не сложно было войти и сделать код за работой для первого приложения для Android, которое я делаю. Поэтому большая часть моего обучения теперь будет взаимодействием с пользовательским интерфейсом и конкретным телефоном. Но без знания Java я был бы потерян. – theJerm

+0

@JonSkeet, и что, если я эксперт разработчика C#, могу ли я погрузиться в разработку Android? –

+0

@AliIssa: Я бы по-прежнему потратил немного времени на эксперимент с настольной Java-машиной сначала, просто чтобы найти ваши ноги. Проведите неделю, исследуя язык и основные API таким образом, * затем * запустите Android. –

9

Обучение всегда легче, когда у вас есть цели для работы. Если ваша цель - в первую очередь программировать на Android, сосредоточьтесь на этом, и вы поймете Java по пути.

+15

И для ваш следующий акт, вы можете написать книгу на китайском языке. Не утруждайте себя изучением в первую очередь - я уверен, что вы поймете это на этом пути. Серьезно, это будет * намного легче освоить Java в среде, которая позволяет легко играть, писать консольные приложения и т. Д. Когда OP сталкивается с проблемой при написании приложения для Android, это будет действительно * трудно диагностировать, что происходит, если он заранее не знает язык. –

+2

Я думаю, что сравнение обучения конкретному использованию языка программирования для написания книги на разговорном языке является немного суровым. В прошлый раз, когда я проверил, что Android использует Java, поэтому я понял, что мое значение заключается в том, чтобы одновременно изучить Java и Android, а не фокусироваться на Java на 100%, а затем перейти к Android. – Robert

+0

@ Robert: Но обучение платформе в мобильной среде (или, действительно, изучение практически любой * передовой клиентской пользовательской пользовательской технологии), когда вы не знаете, язык намного сложнее, чем изучение ядра языка в более простой среде, а затем перейдя к более сложной версии платформы. Я бы настоятельно советовал * против * стараться одновременно изучать две важные вещи. –

2

Урок, приведенный на веб-сайте разработчика Android, трудно понять, если вы ничего не знаете о java. Я бы рекомендовал начать с основ Java, а затем продолжить работу с Android. Это лучший способ лучше понять все.

В Java вы также должны будете сосредоточиться на том, чтобы делать что-то эффективно, потому что мобильная батарея должна учитываться в мобильных приложениях.

1

, если вы знаете, C#, вы можете начать прямо сейчас андроид

+0

Не совсем так. Вы можете начать Xamarin в настоящее время –

2

Да, я хотел бы узнать, по крайней мере основы Java перед запуском на Android.

Начиная с Android, вы будете учиться подводному плаванию, прежде чем научиться плавать, уверен, что, возможно, вы, возможно, будете бороться с ним, но вы будете делать процесс излишне сложным для себя.

1

Java first Если вы знаете C#, то его достаточно близко, где вы можете сделать это так, как хотите. иначе, определенно java.

Научитесь открыть файл, иметь дело с пользовательским вводом особенно строк, узнать все основные ключевые слова

если ваш новый устр вообще, узнать зацикливание, ветвление, встраивание принятия решений. «Ваш длинный путь от андроида в этом случае я бы сказал« ». Хорошая книга поможет намного больше, чем бесплатное дерьмо, которое вы найдете в Интернете. Я отправился в интернет-маршрут в течение нескольких месяцев и запряг. схватил хорошую книгу и был переехал на андроид в 2 недели. если вы знаете, где искать, хорошие книги также бесплатны;)

Смежные вопросы