Подводные камни и советы начинающему разработчику под Android на Eclipse

6 Июл
2012

Недавно завершили и выложили свое первое приложения для Android.
Довольно успешный старт, почти сразу заняли первое место среди новых платных в своей категории,
и 10-е в топе новых бесплатных.
Если кому будет интересно, можем раскрыть детали реализации самого проекта.
А пока хотим поделиться опытом с новичками.
Так как именно на старте теряли кучу времени «не зная броду».



1. Выбор платформы.
Каждый разработчик (а тем более заказчик) мечтает о том чтобы его приложение было кросс платформенным, ну хотя бы под Android и iOS.
Мы тоже об этом мечтали, к тому же не были спецами по Java, поэтому выбрали платформу Titanium (он же Appcelerator). По началу дело шло.
Но со временем находилось все больше и больше моментов требовавших подключения нативных модулей для реализации.
Это вело к усложнению проекта, поэтому мы в конце концов отказались от Titanium-а.
Возможно эта платформа развивается и имеет свои плюсы, но на конец 2011 года она годилась только для простеньких проектов. В общем мы решили —
«Хватить биться головой о различные стены, пора входить через главный вход».
А главный вход — это Eclipse и Java.

2. Литература, изучение Android и Java.
Сейчас наверное меня закидают тухлыми помидорами, но я не советую начинать с чтения книг.
Лучше начать с Hello World, и сразу приступить к разработке.

Первое желания новичка, обложиться толстыми томами, прочитать их полностью, а потому уже приступать.
Изучать программирование в теории вообще бессмысленно, а особенно под Android.
Даже если вы не знали Java, но программировали на других языках,
приступайте сразу. (сейчас точно полетят тухлые яйца:)))

Языком Java нужно просто пользоваться, изучая непонятные моменты по ходу.
И совсем не обязательно знать все наизусть, становиться гуру и последователем философии.

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

site:stackoverflow.com android {ваш вопрос}

Единственная книга которую я всем советую — «Чистый код» Роберт Мартин

В начале желательно изучить только Жизненный Цикл Приложений и XML-layout-ы

3. Что нужно изучить детально, так это XML-layout-ы.
Программирование на Eclipse — одно удовольствие, подсказки, автодополнения, Ctrl+1 может почти все, среда вообще не дает вам ошибаться.
Если уж вы нажимаете на «плей», то проект точно скомпилится и почти наверняка заработает.

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

Применительно к лейаутам, забудьте пункт 2, изучайте их как угодно.

4. Старайтесь чаше отдавать предпочтение RelativeLayout-ам, будет меньше проблем.

5. Изучите как можно больше «волшебных» сочетаний клавиш и возможностей Eclipse.
hidden-features-of-eclipse
Eclipse Tips and Tricks

6. Разберитесь и настройте под себя LogCat DDMS для отладки.
Я например использую такой класс

   final public class Out {

	public static void v(Object args) {
		Log.v("myLog", args.toString());
	}
	

}


когда хочу что-то проверить вызывают просто Out.v(myValue);

а в LogCat добавлен фильтр с тэгом «myLog», чтобы легко найти свои сообщения

7. Нужен реальный девайс.
Если вы надеетесь тестировать на эмуляторе, то зря.
Он ужасно тормозной даже на самых мощных компьютерах.
Нормальная работа возможна только с живым девайсом подключенным через USB.

8. Часто возникают мелкие проблемы с не очевидными причинами, на которых можно застрять надолго.
Проект перестает компилиться, файл ресурсов — R не создается, повсюду красные значки ошибок.
А причина какая-нибудь, ну совершенно глупая, например,
— в названии файла картинки присутствует заглавная буква,
— в названии параметра для настроек имеется символ подчеркивания — «_»,
— есть какое-то мелкое несоответствие в XML или манифесте,
Всего не перечислишь, главное не тратить больше 10 минут на самостоятельные поиски, скорее найдете ответ в интернете.
Опять же stackoverflow.com вам в помощь.

Надеюсь мои советы будут кому-то полезны.
По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх