Первое приложение в Android Studio. Часть 2 — TechCave

Оглавление В первой части мы создали простое приложение с помощью мастера. Теперь пришло время разобраться с теми каталогами и файлами, которые находятся в нашем проекте

Первое приложение в Android Studio. Часть 2

Android

Первое приложение в Android Studio. Часть 2

Оглавление

В первой части мы создали простое приложение с помощью мастера. Теперь пришло время разобраться с теми каталогами и файлами, которые находятся в нашем проекте.

Структура каталогов и файлов

Обратите внимание на левую часть среды разработки, там расположена структура вашего проекта.

Приложение, работающее под Android состоит из многих компонентов, файлов кода Java, XML, иконок, и так далее. Мы рассмотрим их поближе.

manifests

AndroidManifest.xml

Манифест — файл, который содержит информацию о приложении и о каждом из его компонентов. Он описывает компоненты приложения — операции, службы, приемники широковещательных сообщений и поставщиков контента, из которых состоит приложение.

Для получения дополнительной информации о файле манифеста можно посмотреть по ссылке.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.andrey.myapplication">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

java

В этом каталоге (или точнее в первом подкаталоге) мы будем хранить все наши файлы, содержащие Java-код. Они будут включать различные объекты, и прежде всего классы, ответственные за генерацию макетов для каждого Activity.

res

Каталог ресурсов.

Для получения более подробной информации о ресурсах приложения посмотрите тут.

drawable

Каталог предназначен для графических файлов (PNG, JPEG, GIF или) и xml для генерации графических элементов.

Для получения дополнительной информации об этих типах ресурсов посмотрите на сайте developer.android.com

layout

Каталог предназначен для файлов XML, отвечающих за пользовательский интерфейс.

Для получения дополнительной информации зайдите на сайт developer.android.com.

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context="com.example.andrey.myapplication.MainActivity"
    tools:showIn="@layout/content_main">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.PopupOverlay" />

    </android.support.design.widget.AppBarLayout>

    <include layout="@layout/content_main" />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_margin="@dimen/fab_margin"
        android:src="@android:drawable/ic_dialog_email" />

</android.support.design.widget.CoordinatorLayout>

menu

Каталог для XML-файлов, которые определяют меню в приложении.

Для получения дополнительной информации о файлах, которые генерируют меню вы найдете в руководстве developer.android.com.

menu_main.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.example.andrey.myapplication.MainActivity">
    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:title="@string/action_settings"
        app:showAsAction="never" />
</menu>

mipmap

Каталог для иконок программы.

values

colors.xml

Файл, в котором мы можем определить цвета, которые можно использовать позже в других местах приложения.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#3F51B5</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#FF4081</color>
</resources>

dimens.xml

Файл, в котором мы определяем поля, используемые в макете.

strings.xml

Очень важный файл, в котором мы определяем весь то текст, который будет в пользовательском интерфейсе. В результате, в будущем, вы легко сможете сделать поддержку для других языков.

<resources>
    <string name="app_name">My Application</string>
    <string name="action_settings">Settings</string>
</resources>

Скрипты Gradle

build.gradle

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

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

gradle.properties

Настройки «Gradle» (сценарии, которые строят приложение).

gradlew

Запуск сценария «Gradle» для Unix.

gradlew.bat

Запуск сценария «Gradle» для Windows.

settings.gradle

Он содержит информацию обо всех подпроектах, которые должны быть скомпилированы при компиляции приложения.

include ':app'

Оглавление

10:27
1446

Нет комментариев. Ваш будет первым!

Авторизация

Пользователи

naikdij88
NewEXE
Георгiй Москвитинъ
Andpyxa Tutunnik
Andrey_fox
Jane linch
genagy
Pasha Radiuk
KotikBSD

GeekBrains

Нетология

Нетология