3 марта 2014 г.

Структура проекта Андроид (часть 4)

Ну и кратенько по другим файликам и папочкам что остались еще не рассмотренными.

values-sw600dp и values-sw720dp-land

Эти папки так же автоматически создаются плагином ADT при создании проекта.

Предназначены они для задания тех же значений, что и в файлах в каталоге res/values, но только для планшетов 7” (600dp) и планшетов 10” (720dp)

Например, в файле res/layout/dimens.xml заданы значения отступов по вертикали и горизонтали для RelativeLayout равные 16dp.

AP00031

Запустим наше приложение на эмуляторе NexusS (экран 480x800) и обратим внимание на отступы

AP00032

Теперь отредактируем файлик dimens.xml в папочке values-sw600dp. Изначально он имеет такой вид (обратите на комментарии которые там уже есть по умолчанию, сгенерированные ADT плагином):

<resources>

    <!--
         Customize dimensions originally defined in res/values/dimens.xml (such as
         screen margins) for sw600dp devices (e.g. 7" tablets) here.
    -->

</resources>

И приведем его к виду:
<resources>

    <!--
         Customize dimensions originally defined in res/values/dimens.xml (such as
         screen margins) for sw600dp devices (e.g. 7" tablets) here.
    -->
    
    <dimen name="activity_horizontal_margin">160dp</dimen>
    <dimen name="activity_vertical_margin">160dp</dimen>
    
</resources>

Обратите внимание на строки 8 и 9 где задан отступ в 160dp

И запустим наше приложение на планшете 7”

AP00033

Как видим, на планшете вступили в силу границы по 160dp определенные нами в файле dimens.xml в папке values-sw600dp.

Более подробно можно почитать тут http://developer.android.com/guide/practices/screens_support.html и тут http://developer.alexanderklimov.ru/android/theory/tablet.php

За то какие ресурсы из папки res отображать на экране отвечает Recource Manager (Application Framework).

Теперь остались не рассмотренными только два файлика project.properties и proguard-project.txt.

В файле project.properties  есть две интересные строчки:

target=android-10 – указывает какой версией SDK компилировать ваш проект.  В мастере создания проекта это параметр Compile With.

другая строчка закомментирована

#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

Если расскоментировать  эту строчку и выполнить экспорт проекта, то проект будет собран и использованием плагина ProGuard. Этот плагин делает оптимизацию когда, уменьшает размер конечного APK и делает обфускацию когда, чтобы затруднить его  реверс инжиниринг.

Если будет время и желание как-нибудь напишу как это делается.

Подробнее можно почитать тут http://developer.android.com/tools/help/proguard.html

И собственно в файлике proguard-project.txt могут содержаться дополнительные инструкции по сборке вашего проекта с использованием ProGuard.

На этом рассмотрение структуры проекта Андроид пока можно закончить.

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

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