English French German Spain Italian Dutch Russian Portuguese Japanese Korean Arabic Chinese Simplified

23 сент. 2010 г.

Обзор структуры проекта под Android

   Всем привет!!! В этой статье я расскажу об основных файлах проекта под Android и их назначении.




Основные файлы: 
  • AndroidManifest.xml - главный конфигурационный файл приложения;
  • /src - каталог в котором хранятся все исходные коды приложения;
  • /src/com.alukardev.hellowworld/MainActivity.java - точка входа в приложение (объявляется в Android Manifest).
  • /res - здесь хранятся все все внешние ресурсы, такие как анимация, картинки, видео, строковые переменные и прочее.
  • /res/drawable - здесь хранятся графические ресурсы. При создании нового проекта, можно видеть, что создается три папки drawable - hdpi, ldpi и mdpi, это нужно чтобы хранить в каждой из них одинаковые рисунки, но с различным качеством. На первых парах, можно удалить все эти папки и создать одну папку drawable и в нее помещать графические объекты.
  • /res/layout/main.xml - данный файл содержит описание интерфейса вашего Activity. В этом файле вы создаете внешний вид Activity. Делать это можно как в ручную, в xml файле, так и в графическом редакторе.
 
  • /res/values/strings.xml - здесь хранятся строковые значения.

    Подробнее об AndroidManifest:

       Кликните два раза по файлу AndroidManifest.xml вашего проекта и откроется редактор.


       Вся информация файла Manifest расположена на 5 вкладках:
    • Manifest - на этой вкладке хранится информация о пространстве имен (Pakage),  версии проекта, версии кода, и минимальной используемой SDK.
    • Application - содержит такую информацию, как имя проекта, используемая иконка, и т.д. Особое внимание здесь стоит обратить на раздел Application Nodes, именно здесь определяются Activity (классы которые имеют интерфейс и должны  отображаться как окно). 
       Приведу пример чтобы стало все понятно:
       И так у вас создан новый проект, с главным файлом Activity (в моем случае он называется MainActivity). Теперь создайте новый класс, для этого щёлкните правой кнопкой мыши по вашему пространству имен (в моем случае это com.alukardev.helloworld), и выберете New->Class, должно появиться вот такое окно:


        В поле Name введите, скажем TwoActivity, а в поле Superclass нажмите Browse и введите android.app.Activity, тем самым мы указываем, что наш класс наследуется от класса Activity, и нажмите кнопку Finish. Можно сделать проще скопировав файл MainActivity и переименовав его.

         Класс создан теперь нужно создать файл с описанием интерфейса. Перейдите в директорию /res/layout и сделайте копию файла main, и переименуйте эту копию в two.xml например.
         
         Теперь нужно связать класс с интерфейсом. Если посмотреть на класс MainActivity, то можно увидеть, что там переопределяться метод onCreate и в нем связывается класс с layout: setContentView(R.layout.main). Сделаем тоже самое и для вновь созданного класса. 
         Выберете класс TwoActivity, на вкладке Outline щелкните правой кнопкой мыши по TwoActivity и выберете Source->Override/Implement Methods...


         В появившемся окне найдите метод onCreate, поставьте напротив него галочку и нажмите OK. Теперь добавьте в данный метод следующий код: setContentView(R.layout.two); 
         Новый Activity создан, теперь нужно объявить его в Manifest файле. Откройте AndroidManifest.xml, перейдите на вкладку Application, в Application Nodes нажмите Add... Если в появившемся окне у вас выбрано Create a new element in the selected element, то выберете Create a new element at the top level, in Application. Выберете Activity и нажмите ОК. Теперь на вкладке Attributes for Activity нажмите Browse... напротив Name, в появившемся окне введите свое пространство имен сверху (в моем случае это com.alukardev) и в нижнем окне выберете TwoActivity, нажмите ОК и Ctrl-S. Всё новый Activity создан.
      • Permissions - на этой вкладке определяются права доступа вашего приложения к различным функциям. Например если вашему приложению требуется считать список контактов из телефона, тогда ваш нужно зарегистрировать Uses-Permissions с именем android.permission.READ_CONTACTS. Для этого на вкладке Permissions нажмите кнопку Add..., выберете Uses_Permissions и на вкладке Atributes for Uses Permissions выберете android.permission.READ_CONTACTS.
      • AndroidManifest.xml - на этой вкладке можно редактировать Manifest файл вручную в xml разметке.

      <?xml version="1.0" encoding="utf-8"?>
      <manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.alukardev.helloworld"
      android:versionCode="1"
      android:versionName="1.0">
      <application android:icon="@drawable/icon" android:label="@string/app_name">
      <activity android:name=".MainActivity"
      android:label="@string/app_name">
      <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
      </activity>
      <activity android:name="TwoActivity"></activity>
      </application>
      <uses-sdk android:minSdkVersion="7" />
      <uses-permission android:name="android.permission.BLUETOOTH"></uses-permission>
      <uses-permission></uses-permission>
      <instrumentation></instrumentation>
      </manifest> 
      
         Обратите внимание на тег <intent-fliter>, эти тегом помечается Activity, который является точкой входа в приложение.
         Ну вот пожалуй и всё что я хотел написать в этой статье, надеюсь она вам оказалась полезной, и до встречи в следующих постах:)

      1 комментарий:

      1. Интересные посты – читаются на одном дыхании. Пишите больше.

        ОтветитьУдалить