|
|
@@ -529,7 +529,7 @@ Email проверяется на удовлетворение шаблону и
|
|
|
Реализован выбор источника фотографии | 0.2
|
|
|
**Итого** | 3.2
|
|
|
|
|
|
-## Запрос данных пользователя
|
|
|
+### Запрос данных пользователя
|
|
|
|
|
|

|
|
|
|
|
|
@@ -563,9 +563,9 @@ Http.call(
|
|
|
|
|
|

|
|
|
|
|
|
-## Изменение аватарки пользователя
|
|
|
+### Изменение аватарки пользователя
|
|
|
|
|
|
-### Выбор источника (камера или галерея) с помощью диалогового окна
|
|
|
+#### Выбор источника (камера или галерея) с помощью диалогового окна
|
|
|
|
|
|
С диалоговыми окнами мы уже знакомы (мы их используем для вывода текста ошибок). У класса **AlertDialog** есть метод, позволяющий сделать выбор из массива:
|
|
|
|
|
|
@@ -594,7 +594,7 @@ AlertDialog.Builder(this)
|
|
|
|
|
|
Я в примере выше просто вывожу на экран номер выбранного элемента и закрываю диалог (*dialog.dismiss()*). Вам нужно в зависимости от выбранного элемента либо показать Галерею, либо открыть приложение Камера (можно прямо тут, но можно и выделить в отдельную лямбда функцию).
|
|
|
|
|
|
-### Открытие Галереи
|
|
|
+#### Открытие Галереи
|
|
|
|
|
|
Открытие внешних программ (активностей) осуществляется тем же вызовом класса **Intent**. Только в параметрах мы должны передавать не контекст (*this*), а тип нужной нам активности.
|
|
|
|
|
|
@@ -635,7 +635,7 @@ override fun onActivityResult(
|
|
|
}
|
|
|
```
|
|
|
|
|
|
-### Отправка MultiPart запроса
|
|
|
+#### Отправка MultiPart запроса
|
|
|
|
|
|
>Класс **StreamHelper**, используемый при получении файла, лежит в [шпаргалках](../shpora/StreamHelper.kt)
|
|
|
|
|
|
@@ -717,10 +717,8 @@ private fun sendFile(fileUri: Uri) {
|
|
|
---------|:----:
|
|
|
Реализован запрос списка чатов пользователя | 0.5
|
|
|
Реализован запрос сообщений чата | 0.5
|
|
|
-Ячейка таблицы соответствует макету (оценивается верстка).Корректно реализованы 3 элемента: изображение, название, подзаголовок (минус 0,1 за каждый отсутствующий или
|
|
|
-некорректный элемент). | 0.3
|
|
|
-В подзаголовке отображается последнее сообщение
|
|
|
-для данного чата | 0.2
|
|
|
+Ячейка таблицы соответствует макету (оценивается верстка).Корректно реализованы 3 элемента: изображение, название, подзаголовок (минус 0,1 за каждый отсутствующий или некорректный элемент). | 0.3
|
|
|
+В подзаголовке отображается последнее сообщение для данного чата | 0.2
|
|
|
Текст сообщения обрезается до двух строк | 0.2
|
|
|
Реализовано отображение аббревиатуры согласно Заданию | 0.3
|
|
|
**Итого** | 2
|
|
|
@@ -741,7 +739,39 @@ private fun sendFile(fileUri: Uri) {
|
|
|
|
|
|
Для вывода постера нужно иметь список фильмов. Можно запросить его ещё раз, а можно в главном окне хранение фильмов сделать не в свойствах класса активности, а в свойствах класса приложения (там, где вы храните токен)
|
|
|
|
|
|
-<!-- TODO сделать аббревиатуру названия фильма -->
|
|
|
+Для переключения типа аватарки фото/аббревиатура можно применить такую вёрстку:
|
|
|
+
|
|
|
+```xml
|
|
|
+<androidx.cardview.widget.CardView
|
|
|
+ android:layout_width="100dp"
|
|
|
+ android:layout_height="match_parent"
|
|
|
+ app:cardCornerRadius="50dp"
|
|
|
+ >
|
|
|
+ <FrameLayout
|
|
|
+ android:layout_width="match_parent"
|
|
|
+ android:layout_height="match_parent">
|
|
|
+ <TextView
|
|
|
+ android:layout_width="match_parent"
|
|
|
+ android:layout_height="match_parent"
|
|
|
+ android:background="#fee"
|
|
|
+ android:textSize="50dp"
|
|
|
+ android:gravity="center"
|
|
|
+ android:text="НФ"
|
|
|
+ android:visibility="visible"
|
|
|
+ />
|
|
|
+ <ImageView
|
|
|
+ android:layout_width="match_parent"
|
|
|
+ android:layout_height="match_parent"
|
|
|
+ android:src="@drawable/videocamera2"
|
|
|
+ android:visibility="gone"
|
|
|
+ />
|
|
|
+ </FrameLayout>
|
|
|
+</androidx.cardview.widget.CardView>
|
|
|
+```
|
|
|
+
|
|
|
+**CardView** задаёт форму и размер, **FrameLayout** позволит выводить и текст и изображение в одном месте, а атрибутом *visibility* включается/выключается нужный элемент.
|
|
|
+
|
|
|
+Текст в **TextView**, надеюсь, напишете сами
|
|
|
|
|
|
### Вывод двух строк в TextView
|
|
|
|