diff --git a/README.md b/README.md new file mode 100644 index 0000000..8fecb3d --- /dev/null +++ b/README.md @@ -0,0 +1,36 @@ +# Практическая работа. Ежедневник + +В данном практическом задании предлагается дописать существующий проект-заготовку Android приложения, имитирующего ведение ежедневника. + +Измените код существующих классов и интерфейсов, дополните разметку, ресурсы и манифест, чтобы приложение отвечало следущим требованиям: + +1. Интерфейс приложения должен содержать элементы, перечисленные в табл. 1. +2. При запуске приложения все текстовые поля для ввода данных должны быть пустыми, в них должна отображаться подсказка. +3. По нажатии на кнопку «`Сохранить`» в случае отсутствия информации о названии события появляется *Snackbar* c текстом «`Введите название события!`» (без кавычек). +4. По нажатии на кнопку «`Сохранить`» в случае указания названия события появляется диалоговое окно с кнопкой «`OK`» и текстом, как представлено ниже. +``` +Записано! +Событие: title +Дата: date +Время: time +Заметки: notes +``` +5. Дата выводится в формате: `дд.мм.гггг`. +6. После нажатия на кнопку «`Сохранить`» все текстовые поля очищаются. + +| № | View type | id | hint | text | +| :-: | ------- | -- | ---- | ----- | +| 0 | *EditText* | `event_title_user_input` | Название события | | +| 1 | *EditText* | `event_time_user_input` | Время события | | +| 2 | *EditText* | `event_notes_user_input` | Заметки к событию | | +| 3 | *CalendarView* | произвольно | – | | +| 4 | *Button* | произвольно | – | Сохранить | + +*Таблица 1. Элементы пользовательского интерфейса* + +| № | Тест | Балл | Проверка | +| :-: | -- | -- | --- | +| 1 | mainTest | 1 | Показ AlertDialog | +| 2 | emptyTest | 1 | Очищение полей ввода | + +*Таблица 2. Критерии оценивания и тесты* \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9ee5c40..77af406 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,16 +1,22 @@ + package="ru.myitschool.work"> + android:theme="@style/Theme.Work"> + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/MainActivity.java b/app/src/main/java/ru/myitschool/work/MainActivity.java new file mode 100644 index 0000000..3b68e52 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/MainActivity.java @@ -0,0 +1,35 @@ +package ru.myitschool.work; + +import android.os.Bundle; + +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; + +import ru.myitschool.work.databinding.ActivityMainBinding; + +public class MainActivity extends AppCompatActivity { + + private ActivityMainBinding binding; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + binding = ActivityMainBinding.inflate(getLayoutInflater()); + setContentView(binding.getRoot()); + + + } +} + +/* +class MainActivity : AppCompatActivity() { + + private lateinit var binding: ActivityMainBinding + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = ActivityMainBinding.inflate(layoutInflater) + setContentView(binding.root) + } +} +*/ \ No newline at end of file diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..9bf505e --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/content_main.xml b/app/src/main/res/layout/content_main.xml new file mode 100644 index 0000000..c070823 --- /dev/null +++ b/app/src/main/res/layout/content_main.xml @@ -0,0 +1,21 @@ + + + +