Всем салют, друзья!
Продолжаем курс по Android:
Темы:
- Введение в программирование под Android
- Архитектура Android
- Установка Android Studio и настройка среды
- Пример Hello World - создание первого приложения для Android
- Базовый обзор приложения для Android
- Жизненный цикл деятельности
- Макеты
- LinearLayout
- Кнопка
- Кнопка переключения
- Пользовательский тост
- Снэк-бар
- Вид сетки
- WebView
- Выбор даты
- RatingBar
- Пример PopupWindow
- Проверьте подключение к Интернету
- SharedPreferences
- Управление сеансом с использованием SharedPreferences
- База данных SQLite
- База данных Realm
- Учебник по залпу
- Учебник Пикассо
- Библиотека изображений Glide
- Войти и зарегистрироваться с помощью Restful Web Services (Java + MySQL)
- Загрузить изображение на сервер с помощью Volley
- Push-уведомление с использованием Firebase Cloud Messaging (FCM)
- Преобразование изображения в строку Base64 или строку Base64 в изображение
- Приложение для чата в реальном времени с использованием Firebase
- 4 способа узнать текущую дату в Android
- Руководство по AdMob
- Потяните или проведите вниз, чтобы обновить, используя SwipeRefreshLayout
- Воспроизведение видео с URL-адреса с помощью VideoView
- Пример клиента SOAP с использованием ksoap2
- Как передавать данные из одного действия в другое
- Разбор XML с использованием XMLPullParser
- Как получить текущее местоположение с помощью диспетчера местоположения
- Учебное пособие по Google Maps API - Начало работы
- Разбор JSON из URL
- Загрузить изображение в хранилище Firebase
- Руководство по интеграции Google Analytics
- Учебник по фреске
- Панель навигации
Вступайте в группу - vk.com/mrsisadm - там больше интересного!!!
В этом руководстве я дам вам базовый обзор и объясню основы, связанные с приложением для Android.
Деятельность
Теперь я расскажу о различных файлах и папках, используемых в приложении для Android.
На изображении ниже показана структура проекта приложения в Android Studio.
app
Это корневая папка, которая содержит все остальные подпапки.
manifests
Он содержит файл AndroidManifest.xml, который предоставляет информацию о приложении для ОС Android.
java
Эта папка содержит пакеты и исходные файлы Java. По умолчанию он содержит MainActivity.java, позже мы можем создать больше исходных файлов в соответствии с нашими потребностями.
res
Эта папка содержит все дополнительные ресурсы, необходимые для нашего приложения.
res / drawable
В эту папку помещаются все изображения разного разрешения.
res / layout
Он содержит файлы макета xml, которые определяют дизайн или пользовательский интерфейс. По умолчанию он содержит activity_main.xml, позже мы можем создать дополнительные файлы макета в соответствии с нашими потребностями.
res/values
dimens.xml: он содержит файлы размеров, которые определяют различные размеры, такие как поля, отступы и т. д.
strings.xml: в этом файле мы можем определять различные тексты или строки, которые мы используем в приложении. Например, название действий, кнопок, ярлыков и т. Д.
styles.xml: здесь мы определяем разные стили для компонентов, которые мы используем в нашем дизайне. Например, размер и цвет кнопок, надписей, изображений и т. Д.
Ниже я поделился кодом примера Hello World, который вы научились создавать в прошлом уроке. Сейчас я объясню это вкратце.
MainActivity.java
package com.thecrazyprogrammer.helloworld;
import android.app.Activity;
import android.os.Bundle;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
Это исходный файл java, связанный с созданным нами действием.
Метод onCreate () - это первый метод, вызываемый при создании действия.
setContentView () предоставляет информацию о том, какой файл ресурсов макета использовать в действии . В этом примере я использовал activity_main.xml.
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<TextView android:text="@string/hello_world" android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
Это XML-файл, связанный с действием. Он содержит код, связанный с дизайном. Вы можете видеть в приведенном выше коде, что <RelativeLayout> - самый внешний тег. Это тег макета, который определяет, как компоненты пользовательского интерфейса, такие как кнопки, метки и т. Д., Расположены в активности. Мы подробно обсудим все макеты в следующих уроках.
RelativeLayout содержит тег <TextView> . TextView - это компонент пользовательского интерфейса, используемый для добавления метки или текста в действие.
Каждый тег имеет различные атрибуты, такие как android: layout_width и android: layout_height, чтобы указать ширину и высоту.
@ string / hello_world относится к строке Hello World, определенной в файле strings.xml .
dimens.xml:
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
</resources>
Различные размеры определены в файле sizes.xml.
strings.xml
<resources>
<string name="app_name">Hello World</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
</resources>
Здесь мы определяем разные тексты или строки, которые мы используем в app.
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.thecrazyprogrammer.helloworld" >
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<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>
</application>
</manifest>
Каждое приложение должно иметь файл AndroidManifest.xml . Он предоставляет основную информацию о приложении для ОС Android.
R.java
Это автоматически созданный файл, и нам не следует изменять его содержимое. Он содержит идентификаторы всех ресурсов, имеющихся в папке res. Каждый раз, когда мы добавляем новый компонент в наш XML-файл макета, его идентификатор автоматически создается в файле R.java. Мы используем эти идентификаторы в нашем исходном файле Java для выполнения любых действий с компонентами.
Вроде бы все объяснил. Если у вас остались вопросы, вы можете задать их, оставив комментарий ниже.