Канал преподавателя Высшей ИТ Школы Томского государственного университета Лидии Ивановой. Здесь я выкладываю лекции для студентов и всех желающих по дисциплинам: Разработка мобильных приложений (iOS и Android) Рефакторинг программного обеспечения
Как я понял, этот курс является продолжением какого-то другого (базового) курса. Подскажите, плиз, как называется базовый курс, который нужно посмотреть, чтобы понимать, что такое activity, view и др.
Более "базового" курса у меня нет, но про активити подробно рассказано тут ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-14INNt1ewNw.html начиная с 15й минуты
Можно почитать вот тут developer.android.com/guide/components/activities/process-lifecycle или вот здесь www.vogella.com/tutorials/AndroidLifeCycle/article.html
Да, вариант хороший. Но от основной проблемы (проект тащил за собой библиотеку, которой даже в репозиториях уже нет, стандартными средствами она не подключается) не спасет. Так что... не используйте, дети, старые версии React Native
Я искал вас полтора часа и, в итоге, нашел по 'uml'. Оказалось, мог сразу зайти в аккаунт и пролистать подписки. Но представляете, как впечатлён был? Кажется, при просмотре "Рефакторинг программного обеспечения 2023. Недостатки кода 1"))
Да, касаемо того, что нужно и можно разобраться -- очень полезно. Мне нравится SwiftUI. Простой и красивый. Сейчас делаю (пока в заморозке) пару петроектов + те лабы, что у нас были осенью. Всё получается, всё красиво. Но понимаю, что с UIKit у меня туго и нужно его подтягивать сильно. Прям нужно. Но боялся, что сейчас меня не хватить просто напросто. Ибо я мобильщик в двух командах + на 1C нужно акцент сейчас сделать. Так же не хочу писать на SwiftUI просто потому что проще будет сдать так лабораторную.
Спасибо. Ошибок нет все компелиться. private lateinit var pamyat: SharedPreferences // для сохранения настроек pamyat = getSharedPreferences("TABLITSA", MODE_PRIVATE) // таблица normaZerna = pamyat.getFloat("norma", 0.0f) ошибки при компиле нет но если запустить на планшете или эмуляторе нижняя строка дает вылет приложения normaZerna = pamyat.getInt("norma", 0) работает
@@NIKOLAY_PSHONIA когда приложение вылетает, в LogCat пишется причина. normaZerna какой тип имеет? Значение с ключом "norma" какого типа было записано в память?
Лисков тоже мой любимый принцип преподаю Технологию разработки ПО уже 4 года, 2 года назад меняла в учебной программе темы аж на 48 часов в сумме, туда вошли принципы SOLID и парочка шаблонов проектирования (модулем лекции+лабы) материал собирался по своим знаниям с универа, по каким-то методичкам и в целом со статей хабра и пободных площадок порой даже получалось допросить каких-то друзей или знакомых разработчиков, как у них в коммерческих проектах работает тот солид и нужен ли вообще тот рефакторинг, который я так яро пытаюсь ещё впихнуть в ТРПО (на данный момент моё учреждение образования дало мне вести предмет по выбору УО на 36 часов, куда я засунула мой любимый рефакторинг с полным погружением в легаси код, но это на 3м курсе, а этих знаний не хвататет уже на 2м) за солид и шаблончики я прям топлю и очень люблю поспортить со студентами и даже прятно удивлялась когда приходили и говорили спасибо за этот душнейший предмет, ведь на собеседовании буквально были мои вопросы экзамена либо банальные контрольные вопросы для защиты лабы ваши видео прям подарок от боженьки для меня, нравится ваша подача материала и то что о каких-то ньюнасиках я сама не знала
Благодарю за фидбек, от коллеги вдвойне приятно) Здорово, что есть люди, которые продвигают такие важные темы в учебную программу. Курс по рефакторингу я тоже читаю, все лекции есть тут: ru-vid.com/group/PLC8N_Pqn_K3Y6q7ChnY3G6MFDddGWNkzu
Привет у меня такой вопрос касается Андроид Студио. Хотелось бы чтобы вы показали на примере, у меня все не как не получается где то делаю ошибку. Я создал программу которая содержит нормативные документы. Учитывая текучесть кадров, мне надо сделать так чтобы по истечению определеной даты, при заходе в программу открывалась активити которая давала информацию что время работы программы завершено, просим вас обратится к разработчику для новой версии. А в новой версии уже буду указывать новый срок. Можете наглядно обьяснить это? я думаю такая функция многим нужна.
Добрый день. Если нет никакой серверной части, можно просто при открытии главной активити проверять текущую дату на устройстве (не самый надежный источник, легко обмануть, но без сервера других вариантов немного). В случае, если дата позже "даты устаревания" - показывать блокирующий экран. Либо сделать умнее: при запуске приложения проверять, какая актуальная версия опубликована в магазине. Если она новее установленной на устройстве - показывать блокирующий экран и отправлять пользователя обновиться.
Лидия Сергеевна, прошёл весь Ваш курс по рефакторингу. Огромное спасибо, что выкладываете лекции в открытый доступ. Вашим студентам очень повезло с таким преподавателем. Удачи Вам и здоровья!
Если нужна только Android-разработка, можно пройти один из курсов от компании (Яндекс и др.). Если нужен полноценное образование в области IT - нужно искать ХОРОШИЙ вуз. Я сама закончила Томский государственный университет по специальности "прикладная информатика", а Android изучала самостоятельно по документации.
Много интересных недостатков, спасибо! Насчёт неявного языка/дерева: в лучшем языке программирования Kotlin одна из главных фишек - это поддержка DSL, в которой такие структуры можно очень красиво сделать в функциональном стиле и всё супер-вау. Считаю, что про это можно отдельно сказать в следующем году!!
Вы сказали, что по соображениям безопасности существует некий набор ограничений взаимодействия p2p между устройствами. Впервые об этом слышу, можете, пожалуйста, развернуть мысль? Есть какие-то ограничения на уровне сетевых интерфейсов?
Для мобильных устройств доступны p2p соединения в рамках одной Wifi-сети: developer.android.com/guide/topics/connectivity/wifip2p Такая же возможность есть у iOS устройств. Но я не нашла никакого подтверждения возможности создания глобального peer-to-peer соединения. Единственное - сокетное соединение. В теории, его можно создать между двумя мобильными устройствами. Только посредством сервера всё это будет гораздо проще)