Мне очень нравится такой формат я новичок и учу джаву неделю и просто повторяю по видео что вы делаете и мне так удобнее всего учиться, я хочу сделать очень крутую игру с текстовым управлением, и пока не все понимаю, но ваш урок очень будет мне полезен. Благодарю!!!
Я когда-то для диплома нейронные сети обучал фильтром Калмана. Вот то был диплом. А теперь достаточно приложение для заметок написать. Где-то наше образование свернуло не туда))
Сергей, Вы упомянули о том, что обращение к базе данных ресурсозатратный процесс и что лучше спроектировать приложение так, чтобы каждое такое обращение происходило в отдельном потоке. Т.е. создание БД должно выглядеть как-то так: public static NotesDatabase getInstance(Context context) { synchronized (LOCK) { if (notesDatabase == null) { notesDatabase = Room.databaseBuilder(context, NotesDatabase.class, DB_Name).build(); } } return notesDatabase; } И должны быть созданы отдельные методы (insert, udate, delete, ...) в MainViewModel посредством AsyncTask. Например так: public void insertNote(Note note) { new InsertTask().execute(note); } private static class InsertTask extends AsyncTask { @Override protected Void doInBackground(Note... notes) { if (notes != null && notes.length > 0) { database.notesDao().insertNote(notes[0]); } return null; } } Я в верном направлении мыслю? Спасибо
Работать будет, но лучше бы подключить RxJava, как тут: @Dao public interface NotificationDao { @Insert(onConflict = REPLACE) Completable insert(SmsNotification notification); } А в месте вызова notifsDao.insert(notification) .observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()) .subscribe(); - это более читабельно. А создавать инстанс базы данных проще в Application.onCreate() и ни делать никакой синхронизации.
Спасибо! Подскажите, пожалуйста, две вещи: 1. запросы в базу данных надо направить в бэк, получается, вместо allowMainThreadQueries пишу просто build()? больше нигде ничего добавлять не надо? в сети пишут, что room по-умолчанию строит потоки асинхронно в 2. хочу сделать совместную работу в приложении нескольких пользователей (например, чтобы список можно было расшарить и (например) родители могли в реальном времени отслеживать список дел ребёнка и/или добавлять/удалять дела, делать пометки). Кажется, в каком-то приложении я видела такой функционал, но он был жутко глючный и не в реальном времени (приходилось обновляться часто, чтобы видеть, что происходит на другом устройстве). Насколько это реально реализовать? если реально, подскажите, пожалуйста, статьи/функционал для этого.
Добрый день. Хорошее видео. Нестандартный подход. Пожалуйста, покажите как добавить функцию поиска ( search) в это приложение на Java,если возможно. Спасибо.
подскажите пожалуйста в классе NoteDetailsActivity при передаче toolbar в setSuportActionBar(toolbar) 43:47 среда подчеркивает и просит создать этот метод в этом классе.
Для этого нужно, чтоб NoteDetailsActivity наследовало AppCompatActivity. github.com/Arhiser/android_todo_list/blob/master/app/src/main/java/com/arhiser/todolist/screens/details/NoteDetailsActivity.java
При сборке проекта в Android Studio может быть что угодно. Ситуация, когда более новая студия не может собрать проект сделаный на более старой без допиливания напильником - это обычное дело. Например, проблемой может быть использование устаревшей системы сборки, которая студией больше не поддерживается и т.п.
Для напоминаний надо использовать AlarmManager: developer.alexanderklimov.ru/android/alarmmanager.php Нужно устанавливать будильник в AlarmManager, ловить сигнал от него, когда наступает заданное время и показывать уведомление в панели уведомлений. Если правильно понял суть вопроса. Как вариант, можно использовать API для гугл календаря и создавать события в нем. А там уже есть возможность настроить любые напоминания.
Подскажите, пожалуйста, будет ли работать данный код, только если организовать его во фрагменте, а не в активити? С помощью видео изначально начал делать во фрагменте, но данные попросту не были выведены в список, хотя рантайм ошибок во время работы приложения не было. Реализовал в активити - все работает как по маслу! Буду очень благодарен за ответ!
Спасибо! Формат то что надо! Скажите пожалуйста, как в приложение добавить время т.е. когда наступает 12:00 показывается уведомление в шторке о том какое дело надо сделать! Спасибо!
Это сложная задача. База данных SQLite представляет собой один файл, который по умолчанию находится на внутреннем накопителе в приватной папке данных приложения. Другие приложения туда доступа не имеют, по этому просто так файловым браузером его не достать. Самый простой способ добраться до него, это указать при создании БД путь на внешний накопитель. Как это сделать написано например тут: stackoverflow.com/questions/48903918/how-to-change-the-default-database-file-location-of-room-database Ну или просто добавить в приложение код, который скопирует файл БД из внутреннего накопителя на внешний. Открыть и редактировать файл можно любым браузером для SQLite баз данных. Я пользуюсь этим: sqlitebrowser.org/
Помогите пожалуйста срочно вот такие ошибки. Прям очень срочно. Cannot resolve symbol 'Note' и другие тоже А при билде проекта выскакивает вот такая ошибка error: annotation value must be a class literal
Спасибо! Подметил для себя несколько полезных приёмов. Мне нравится такой формат, надеюсь ещё будут такие видео. Почему в классе Note поля с модификатором public, а не используются геттеры и сеттеры? Во всех умных книжках, рекомендуют этого не делать.
Спасибо за отзыв! Если в умных книжках рекомендуют, значит так и надо делать) Но вообще говоря, для POJO классов это не так строго. Поскольку геттеры/сеттеры используются для скрытия реализации, а в POJO реализация однозначна и скрывать там нечего. Кроме того, отсутствие геттеров как раз и может означать, что мы имеем дело с простым классом, состоящим только из полей и другой функциональности там нет и не будет. В общем, я считаю, что если вся функциональность класса заключается в том, чтоб содержать свои поля, то геттеры можно не использовать. В остальных случаях геттеры/сеттеры обязательно нужны.
Если поле пишется и читается прямо (без доп. логики типа арифм. действий), setter/getter не нужны и только мешают. В Kotlin от этого просто избавились.
Вы когда ошибки совершаетесь, будьте добры не вырезать их, что типо у вас их нет, потому что я потом ищу что Я сделал не так, а оказывается наоборот это вы что то не объяснили, и скачайте или купите нормальный захват видео экрана
А как сделать добавление данных в коде ? К примеру, что бы выводились после запуска приложения 3 записи, а остальные можно было добавить с помощью функционала вашей программы
В NoteDao есть функция: @Insert(onConflict = OnConflictStrategy.REPLACE) void insert(Note note); На старте приложения можно проверять, если в базе данных нет ни одной записи, то с помощью этой функции вставлять сколько надо записей.
@@arhitutorials Имя файла и класса совпадает. Пользуюсь Вашим исходником . НЕ помогает. И еще 1. в андроид студио не удается писать код - он только перетаскивается из блокнота Что делать?
У меня вот такая проблема вышла, как ее решить??? Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'com.example.bodi_men.Data.NoteDao com.example.bodi_men.App.getNoteDao()' on a null object reference
Это означает, что экземпляр App у которого вызывается метод getNoteDao() равен null в момент вызова. Если Вы для доступа к App используете метод App.getInstance(), убедитесь, что в App в методе onCreate() есть строка: instance = this; Иначе поле instance так и останется null и при вызове App.getInstance().getNoteDao() как раз произойдет эта ошибка.
Не подскажете как передавать эти списки на другое устройство То есть если у кого-то тоже установлено это приложение и мне нужно передать этот список этому устройству
Для этого нужно записать список куда-то откуда другое устройство сможет его взять. Например можно воспользоваться облачной базой данных Firestore firebase.google.com/products/firestore/ Дописать код, который при создании новой записи будет добавлять ее и в таблицу в облаке. А при обновлении списка считывать таблицу из облака и добавлять элементы, созданные на другом устройстве. В качестве ключа в таблице локальной и облачной БД придется использовать GUID, иначе будут конфликты с ключами. Короче говоря, надо кроме локальной базы данных иметь еще глобальную, доступную для нескольких устройств, которые с ней синхронизируются. Локальную базу данных, то есть Room, можно для простоты вообще выкинуть из приложения и работать только с Firestore.
@@arhitutorials нашёл как сделать так, чтобы все пользователи могли видеть одно и то же в приложении Но не могу понять как сделать так, чтобы из приложения можно было контролировать кто именно может просматривать твой список
@@НиколайФокин-п3ы , это уже сложнее, нужна отдельная таблица для пользователей. Нужна аутентификация, то есть возможность войти в приложение определенным пользователем. Нужна таблица, в которую можно будет добавлять разрешения, т.е. хранить тот факт, что пользователь A разрешает пользователю B смотреть свой список. А так же в основную таблицу нужно добавить еще одно поле, которое будет содержать id пользователя - хозяина конкретной записи. После всего этого можно будет добавить в приложение код, который будет загружать в приложение только те записи, хозяевами которых являются пользователи, которые разрешили Вам доступ к своим записям.
Я ебу откуда 300 лайков и всего 10 дизов. Может это видео уже для джунов, которые и в java и в андроид разработке шарят, но как человеку который только начал разбираться в этом всем - это видео ничем не поможет. Половина экрана обрезана, куда ты там что нажимаешь за его пределами не видно, контекстные меню которые в самой IDE - тоже скрыты и опять же не понятно что ты нажал после ПКМ или при создании файла. Куча вырезанных моментов, где вот полупустой файл и тут бац ты откуда то(из воздуха) вставил кучу строк и пошел дальше. В общем на мое мнение автору 100% будет насрать, так как 300+ человек поставили лайк. Но к 30й минуте накипело, решил оставить отзыв и уйти к другому ютуберу, который хоть как то обьясняет что он пишет. Дизлайк
Я не ютубер, я разработчик. Делать видео не умею. Снял как смог, кому-то помогло и то хорошо. Вы так возмущаетесь, как-будто вы мне денег заплатили) Теперь по сути вопроса. То, о чем тут говориться, уже нужно знать для устройства на первую работу. Архитектурные компоненты, все эти Room, ViewModel, LiveData сейчас must have и почти в каждой вакансии на джуниора требуются. Так что, с ютуберами или самостоятельно, но учить надо. Желаю удачи!
По этому есть ссылка на исходники проекта, чтоб можно было загрузить и разобраться самостоятельно. Тяжело объяснить такой объем материала, чтоб всем было понятно. Я такого уровня еще не достиг. Лучше сделать хоть что-то как получается, чем вообще ни делать ничего. Если кому-то помогло, значит оно того стоило.
Привет. Я тоже новичок, изучаю Андроид месяца три. По видео: просто запускаешь Андроид студию, смотришь видео, останавливаешь на каждой строчке кода, переписываешь вручную (пытаешься врубиться, что она делает), потом пересматриваешь комментарии автора. Получается и практика и, вроде, тебя ведут за руку по проекту. Если не всё запомнил, после проекта перематываешь в начало и делаешь что-то похожее, но другой тематики. тут, например, можно сделать расписание уроков или список покупок - идея та же, но делаешь с дополнительными фишками.- это уже будет твой проект
Спасибо! Данный формат по душе
Полтора часа прошли незаметно, но с пользой! Спасибо , продолжайте в том же духе!
Именно такой вариант хотелось бы видеть, полностью весь процесс и без урезаний со всеми пояснениями это очень удобно
Мне очень нравится такой формат я новичок и учу джаву неделю и просто повторяю по видео что вы делаете и мне так удобнее всего учиться, я хочу сделать очень крутую игру с текстовым управлением, и пока не все понимаю, но ваш урок очень будет мне полезен. Благодарю!!!
и многому ты так научился?
Чувак! И по больше! Побольше! ПОБОЛЬШЕ!
Да, очень полезный формат видео. Спасибо, очень информативно!
Это через sqlite?
Спасибо вам. Очень хорошо объесняете.
Формат видео очень информативный!!! Спасибо)
Спасибо! Отличное видео, особенно для тех, кому требуется разжеванная информация)
Спасибо! Формат то что надо.
Отличный формат с подробными пояснениями
Спасибо. Подробное видео намного лучше.
Большое спасибо за видео, все понятно
Сергей, большое спасибо за это и подобные видео! Они действительно очень полезны!
Данный формат 👍Супер!
Видео очень нравится. Можно подробнее о room, moxy, dagger 2, javaRx?
спасибо! такой формат класс!
Просто лучший, кнопка подписаться серая сразу
Да, видео очень хорошее. Стоит делать почаще.
Спасибо, Вам огромное. Очень сильно помогли
Всё классно!!!
Круто! Спасибо!
Спасибо за приложение для Диплома)
Я когда-то для диплома нейронные сети обучал фильтром Калмана. Вот то был диплом. А теперь достаточно приложение для заметок написать. Где-то наше образование свернуло не туда))
@@arhitutorials Есть такое)
Спасибо огромное)
спасибо продолжайте в том же духе
Сейчас только приступил к написанию). Почему у меня вначале при сборке нет в MainActivity указания на ActivityMain, а на какой то binding?
43:21 не могу понять, что у меня не так. Ввожу EditText, а он подсвечивается красным
каеф, лайк не глядя!)
Спасибо за видео ! Подскажите сложно реализовать, чтоб выполненные заметки (те которые перечеркнутые) появлялись в другом окне?
Здравствуйте, а вы не могли бы скинуть zip файл с ним? Что-то у меня не сладилось с этим уроком
Сергей, Вы упомянули о том, что обращение к базе данных ресурсозатратный процесс и что лучше спроектировать приложение так, чтобы каждое такое обращение происходило в отдельном потоке. Т.е. создание БД должно выглядеть как-то так:
public static NotesDatabase getInstance(Context context) {
synchronized (LOCK) {
if (notesDatabase == null) {
notesDatabase = Room.databaseBuilder(context, NotesDatabase.class, DB_Name).build();
}
}
return notesDatabase;
}
И должны быть созданы отдельные методы (insert, udate, delete, ...) в MainViewModel посредством AsyncTask. Например так:
public void insertNote(Note note) {
new InsertTask().execute(note);
}
private static class InsertTask extends AsyncTask {
@Override
protected Void doInBackground(Note... notes) {
if (notes != null && notes.length > 0) {
database.notesDao().insertNote(notes[0]);
}
return null;
}
}
Я в верном направлении мыслю? Спасибо
Работать будет, но лучше бы подключить RxJava, как тут:
@Dao
public interface NotificationDao {
@Insert(onConflict = REPLACE)
Completable insert(SmsNotification notification);
}
А в месте вызова
notifsDao.insert(notification)
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe();
- это более читабельно.
А создавать инстанс базы данных проще в Application.onCreate() и ни делать никакой синхронизации.
Спасибо. Сделайте еще видео про работу с сетью и потоками.
Спасибо! Подскажите, пожалуйста, две вещи:
1. запросы в базу данных надо направить в бэк, получается, вместо allowMainThreadQueries пишу просто build()? больше нигде ничего добавлять не надо? в сети пишут, что room по-умолчанию строит потоки асинхронно в
2. хочу сделать совместную работу в приложении нескольких пользователей (например, чтобы список можно было расшарить и (например) родители могли в реальном времени отслеживать список дел ребёнка и/или добавлять/удалять дела, делать пометки). Кажется, в каком-то приложении я видела такой функционал, но он был жутко глючный и не в реальном времени (приходилось обновляться часто, чтобы видеть, что происходит на другом устройстве).
Насколько это реально реализовать? если реально, подскажите, пожалуйста, статьи/функционал для этого.
6:25 - "Нажимаем синхронизировать", и куда мы нажимаем то? На экране этого нет...
читать умеешь?
Здравствуйте. Спасибо за видео. Подскажите, а как вы так выделили и изменили слова в нескольких местах на 14:20 ?
Про это есть отдельное видео)
ua-cam.com/video/9g6SP0JDzU4/v-deo.html
Сергей, запишите ролик как программировать экран блокировки - наполнять разнообразными виджетами
И интересно самому дополнить возможностью перемещать задачи между собой в общем списке
Добрый день. Хорошее видео. Нестандартный подход. Пожалуйста, покажите как добавить функцию поиска ( search) в это приложение на Java,если возможно. Спасибо.
Здравствуйте!
Очень хороший формат!
А можете сделать видео по работе с Git?
😔 диалоговые окна и контекстные меню не видно
подскажите пожалуйста в классе NoteDetailsActivity при передаче toolbar в setSuportActionBar(toolbar) 43:47 среда подчеркивает и просит создать этот метод в этом классе.
Для этого нужно, чтоб NoteDetailsActivity наследовало AppCompatActivity.
github.com/Arhiser/android_todo_list/blob/master/app/src/main/java/com/arhiser/todolist/screens/details/NoteDetailsActivity.java
заменить импорт import android.widget.Toolbar;
на import androidx.appcompat.widget.Toolbar;
Как сохраняют данные в /data/data/ куда без рут доступа не попасть, есть такое видео?
Здравствуйте ! Что делать , если моя версия android studio не совпадает с вашей ?
А как добавить поля для записи ?
И скажите пожалуйста от версии Android studio могут зависеть ошибки?
При сборке проекта в Android Studio может быть что угодно. Ситуация, когда более новая студия не может собрать проект сделаный на более старой без допиливания напильником - это обычное дело.
Например, проблемой может быть использование устаревшей системы сборки, которая студией больше не поддерживается и т.п.
Сергей, подскажите пожалуйста как добавить напоминание дел?
Для напоминаний надо использовать AlarmManager:
developer.alexanderklimov.ru/android/alarmmanager.php
Нужно устанавливать будильник в AlarmManager, ловить сигнал от него, когда наступает заданное время и показывать уведомление в панели уведомлений.
Если правильно понял суть вопроса.
Как вариант, можно использовать API для гугл календаря и создавать события в нем. А там уже есть возможность настроить любые напоминания.
Подскажите, пожалуйста, будет ли работать данный код, только если организовать его во фрагменте, а не в активити? С помощью видео изначально начал делать во фрагменте, но данные попросту не были выведены в список, хотя рантайм ошибок во время работы приложения не было. Реализовал в активити - все работает как по маслу! Буду очень благодарен за ответ!
Спасибо! Формат то что надо! Скажите пожалуйста, как в приложение добавить время т.е. когда наступает 12:00 показывается уведомление в шторке о том какое дело надо сделать! Спасибо!
Отличный видеоурок, но где посмотреть саму БД? Где можно увидеть сами строки, которые туда записываются и сами таблицы?
Это сложная задача. База данных SQLite представляет собой один файл, который по умолчанию находится на внутреннем накопителе в приватной папке данных приложения. Другие приложения туда доступа не имеют, по этому просто так файловым браузером его не достать. Самый простой способ добраться до него, это указать при создании БД путь на внешний накопитель.
Как это сделать написано например тут:
stackoverflow.com/questions/48903918/how-to-change-the-default-database-file-location-of-room-database
Ну или просто добавить в приложение код, который скопирует файл БД из внутреннего накопителя на внешний.
Открыть и редактировать файл можно любым браузером для SQLite баз данных. Я пользуюсь этим:
sqlitebrowser.org/
Помогите пожалуйста срочно вот такие ошибки. Прям очень срочно.
Cannot resolve symbol 'Note' и другие тоже
А при билде проекта выскакивает вот такая ошибка
error: annotation value must be a class literal
Все проблему решил правильным добавление equals и hashcode
А если полный ноль, получится сделать что-то простое и рабочее?
Здравствуйте. подскажите, как из этого приложения можно сделать многопоточное приложение?
Хорошо бы тоже самое, но на котлине)
Очень хороший и полезный урок. Подписка однозначно!) Но не могу понять, почему не видно на видео выпадающих меню?
Это через sqlite?
@@olgaulyandina440 не понял вопроса 🤔
Спасибо! Подметил для себя несколько полезных приёмов. Мне нравится такой формат, надеюсь ещё будут такие видео. Почему в классе Note поля с модификатором public, а не используются геттеры и сеттеры? Во всех умных книжках, рекомендуют этого не делать.
Спасибо за отзыв! Если в умных книжках рекомендуют, значит так и надо делать) Но вообще говоря, для POJO классов это не так строго. Поскольку геттеры/сеттеры используются для скрытия реализации, а в POJO реализация однозначна и скрывать там нечего. Кроме того, отсутствие геттеров как раз и может означать, что мы имеем дело с простым классом, состоящим только из полей и другой функциональности там нет и не будет.
В общем, я считаю, что если вся функциональность класса заключается в том, чтоб содержать свои поля, то геттеры можно не использовать. В остальных случаях геттеры/сеттеры обязательно нужны.
Если поле пишется и читается прямо (без доп. логики типа арифм. действий), setter/getter не нужны и только мешают. В Kotlin от этого просто избавились.
Получается если у меня шаблон navigation drawer, то у меня каждого меня надо все заново создавать и бд, и активити?
Вы когда ошибки совершаетесь, будьте добры не вырезать их, что типо у вас их нет, потому что я потом ищу что Я сделал не так, а оказывается наоборот это вы что то не объяснили, и скачайте или купите нормальный захват видео экрана
А как сделать добавление данных в коде ? К примеру, что бы выводились после запуска приложения 3 записи, а остальные можно было добавить с помощью функционала вашей программы
В NoteDao есть функция:
@Insert(onConflict = OnConflictStrategy.REPLACE)
void insert(Note note);
На старте приложения можно проверять, если в базе данных нет ни одной записи, то с помощью этой функции вставлять сколько надо записей.
Это же MVVM?
Class 'Note' is public, should be declared in a file named 'Note.java' - что делать?
Переименовать файл, в котором объявлен класс Note, в Note.java. Имя файла и имя класса в нем должны совпадать.
@@arhitutorials Имя файла и класса совпадает. Пользуюсь Вашим исходником . НЕ помогает.
И еще 1. в андроид студио не удается писать код - он только перетаскивается из блокнота
Что делать?
Не подключается метод getAllLiveData() Помогите пожалуйста
Что значит не подключается? Опишите по подробнее в чем проблема, а лучше залейте исходники на github и пришлите ссылку, чтоб можно было посмотреть.
Экран у вас обрезанный, не удобно понимать где и в каком файле находитесь
В левом нижнем углу пишет класс в котором он работает.
В Модели Андроид студио ругается на строку 24 ( public Note() {
}) как исправить?
А что именно пишет?
Если что вот исходник:
github.com/Arhiser/android_todo_list/blob/master/app/src/main/java/com/arhiser/todolist/model/Note.java
кто знает здесь база данных есть и как найти ?
У меня вот такая проблема вышла, как ее решить???
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'com.example.bodi_men.Data.NoteDao com.example.bodi_men.App.getNoteDao()' on a null object reference
Это означает, что экземпляр App у которого вызывается метод getNoteDao() равен null в момент вызова. Если Вы для доступа к App используете метод App.getInstance(), убедитесь, что в App в методе onCreate() есть строка:
instance = this;
Иначе поле instance так и останется null и при вызове App.getInstance().getNoteDao() как раз произойдет эта ошибка.
@@arhitutorials Спасибо, что откликнулись, проверил,
instance = this; есть в методе onCreate().
@@Ствол-п4щ скиньте мне в телеграм проект сжатый в zip, или ссылку на код, если он на гитхабе, а я посмотрю и скажу в чем дело
t.me/serarhi
@@Ствол-п4щ Дружище, подскажи что у тебя было не так, такая же ошибка вызывается при запуске приложения, плиз
Эх, жаль не ответили, а уже 3 года прошло @@БогданНедашковский-п1ч
это работает без подключения интернета?
Да, вся информация храниться на устройстве, подключение не нужно.
@@arhitutorials room это database для внутреннего хранения?
Не подскажете как передавать эти списки на другое устройство
То есть если у кого-то тоже установлено это приложение и мне нужно передать этот список этому устройству
Для этого нужно записать список куда-то откуда другое устройство сможет его взять. Например можно воспользоваться облачной базой данных Firestore
firebase.google.com/products/firestore/
Дописать код, который при создании новой записи будет добавлять ее и в таблицу в облаке. А при обновлении списка считывать таблицу из облака и добавлять элементы, созданные на другом устройстве. В качестве ключа в таблице локальной и облачной БД придется использовать GUID, иначе будут конфликты с ключами.
Короче говоря, надо кроме локальной базы данных иметь еще глобальную, доступную для нескольких устройств, которые с ней синхронизируются. Локальную базу данных, то есть Room, можно для простоты вообще выкинуть из приложения и работать только с Firestore.
@@arhitutorials нашёл как сделать так, чтобы все пользователи могли видеть одно и то же в приложении
Но не могу понять как сделать так, чтобы из приложения можно было контролировать кто именно может просматривать твой список
@@НиколайФокин-п3ы , это уже сложнее, нужна отдельная таблица для пользователей. Нужна аутентификация, то есть возможность войти в приложение определенным пользователем. Нужна таблица, в которую можно будет добавлять разрешения, т.е. хранить тот факт, что пользователь A разрешает пользователю B смотреть свой список. А так же в основную таблицу нужно добавить еще одно поле, которое будет содержать id пользователя - хозяина конкретной записи. После всего этого можно будет добавить в приложение код, который будет загружать в приложение только те записи, хозяевами которых являются пользователи, которые разрешили Вам доступ к своим записям.
Я ебу откуда 300 лайков и всего 10 дизов. Может это видео уже для джунов, которые и в java и в андроид разработке шарят, но как человеку который только начал разбираться в этом всем - это видео ничем не поможет. Половина экрана обрезана, куда ты там что нажимаешь за его пределами не видно, контекстные меню которые в самой IDE - тоже скрыты и опять же не понятно что ты нажал после ПКМ или при создании файла. Куча вырезанных моментов, где вот полупустой файл и тут бац ты откуда то(из воздуха) вставил кучу строк и пошел дальше.
В общем на мое мнение автору 100% будет насрать, так как 300+ человек поставили лайк. Но к 30й минуте накипело, решил оставить отзыв и уйти к другому ютуберу, который хоть как то обьясняет что он пишет.
Дизлайк
Я не ютубер, я разработчик. Делать видео не умею. Снял как смог, кому-то помогло и то хорошо. Вы так возмущаетесь, как-будто вы мне денег заплатили)
Теперь по сути вопроса.
То, о чем тут говориться, уже нужно знать для устройства на первую работу. Архитектурные компоненты, все эти Room, ViewModel, LiveData сейчас must have и почти в каждой вакансии на джуниора требуются. Так что, с ютуберами или самостоятельно, но учить надо. Желаю удачи!
54:06
Как же всё сложно(
не, товарищи, писать на java это ппц
Все пишут молодец а кто ни
будь пробовал сам сделать по урок , я как новичок даже в начале не все понял
По этому есть ссылка на исходники проекта, чтоб можно было загрузить и разобраться самостоятельно. Тяжело объяснить такой объем материала, чтоб всем было понятно.
Я такого уровня еще не достиг. Лучше сделать хоть что-то как получается, чем вообще ни делать ничего. Если кому-то помогло, значит оно того стоило.
Привет. Я тоже новичок, изучаю Андроид месяца три.
По видео: просто запускаешь Андроид студию, смотришь видео, останавливаешь на каждой строчке кода, переписываешь вручную (пытаешься врубиться, что она делает), потом пересматриваешь комментарии автора.
Получается и практика и, вроде, тебя ведут за руку по проекту.
Если не всё запомнил, после проекта перематываешь в начало и делаешь что-то похожее, но другой тематики. тут, например, можно сделать расписание уроков или список покупок - идея та же, но делаешь с дополнительными фишками.- это уже будет твой проект
калкулятор) простите)