Translate

понедельник, 22 августа 2011 г.

Программирование под android. Программа изнутри.

   В этой статье я разъясню основы программирования под мобильную платформу Android.




   Сначала вам придется выполнить несложный квест - скачать и установить JDK, Eclipse, SDK и ADT-плагин. Не буду это объяснять, можете найти workflow, например, здесь: http://blog.dnttm.ru/content/338

                               Структура android - проекта
 
  Сначала я опишу общую структуру android - приложения. Внимательно прочитайте это, прежде чем создавать что-то самим, иначе вы рискуете потратить много времени на решение простейших вещей. Создадим проект, нажав на кнопку на скриншоте сверху.
   Теперь выберем версию SDK, с помощью которой мы будем создавать наш проект. Я выберу 1.6, она годится для создания обычных неигровых приложений. Создадим проект Test и выберем имя пакета. Запомните: имя пакета должно быть уникальным для каждого приложения, загружаемого на маркет, а также не должно быть сочетаниями: com.android, com.examples, com.google и им подобным. Поэтому выберите себе ник и называйте пакеты так: com.<ник>.<имя проекта>. Я, например, назову это com.dimiter.for_blog:

  После нажатия на кнопку Finish мы увидим справа вот такое меню:

  Это дерево, которое отображает ваш проект в иерархическом виде. Самая важная папка src - Sourse Code, которая хранит, как ясно из названия, файлы с программными кодами. Под android пишут на Java, и поэтому система сгенерировала класс TestActivity.java, содержащий код главной формы.
  Папку gen трогать не надо, в ней находится сгенерированный системой вспомогательный файл R.java, который хранит ссылки на ресурсы приложения.
  Jar - архив представляет собой java - библиотеку, с помощью которой можно пользоваться классами android как и обычными java-классами.
  Существуют 2 типа ресурсов - активы (assets) и обычные ресурсы - res. Три папки drawable хранят изображения :
  • hdpi - для экранов с большим разрешением
  • ldpi - для экранов с маленьким разрешением
  • mdpi - для экранов со средним разрешением
  Каждую картинку, которую вы используете в проекте, придется загрузить во все 3 папки, соответственно отмасштабировав (вам же не нужно, чтобы на большом экране отображалась маленькая картинка, и наоборот).
  В папке layout находятся макеты пользовательского интерфейса. Их можно создавать с помощью специального мастера. Eclipse сгенерировал макет для первой созданной деятельности.
  Папка values хранит самые разные ресурсы, и очень важные из них - строковые константы. Для каждого языка из локализационного пакета приложения нужно создать свою папку values-<код языка>. Если язык пользователя не поддерживается, ресурсы будут браться из values. Логично добавить туда данные на английском.
  Файл Манифеста - очень важный файл, и мы его значение рассмотрим позже. Ограничимся лишь тем, что в нем записана основная информация о проекте - список используемых Activity,  поддерживаемые конфигурации и др.
  В простейшем случае приложение выглядит так:

  Activity - специальный java - класс, который упрощенно можно представить собой как страницу в приложении. На самом деле, здесь есть ошибка, но ее суть я объясню позже, пока хватит и этого. Странице нужен интерфейс, поэтому она, как правило, при создании загружает из ресурсов layout, и инициализирует виджеты (енопки, текстовые поля и др.). Также она обрабатывает различные события пользователя. При этом она создает объекты, в которых должна создаваться логика приложения, и при действиях пользователя вызываются эти методы. Сама Activity служит лишь оболочкой, неправильно помещать в нее мощную логику, она должны хранится в отдельных  java - файлах ("это мозг приложения"). Этот момент я более подробно разберу позже. Activity часто обращается к ресурсам - отображает картинки. проигрывает музыку и видео, внедряет шрифты.

   Свои отзывы/пожелания/предложения/вопросы можете отправить на chief.lukjanov@yandex.ru

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

Отправить комментарий

Related Posts Plugin for WordPress, Blogger...