Git Product home page Git Product logo

megaschool-practice's Introduction

Что это за репозиторий?

Это репозиторий - шаблон проекта для выполнения практической части в рамках лекции мегашколы "Технологии программной инженерии и разработки мобильных приложений". Цель данного задания - потрогать азы нативной разработки под андроид.

Задание

Необходимо реализовать простое приложение, которое будет показывать картинки уточек из открытого апи.

Само задание делится на 2 части - простой и более простой.

1 Часть

В проекте уже есть небольшая заготовка в виде реализованного сетевого слоя. В сеть приложение ходит при помощи библиотеки Retrofit. Для этого есть DucksApi - место где объявляются методы для хождения на эндпоинты и Api - оболочка, при помощи которой можно достучаться до DucksApi.

В первой части будет необходимо реализовать экран, на котором будет отображаться картинка случайной утки и кнопка, при нажатии на которую можно будет получить следующую случайную утку

Вызов DucksApi при этом должен быть неблокирующим!

Для отображения картинок можно воспользоваться средствами Android SDK (при помощи BitMap) или подключить и заиспользовать специально предназначенные для этого библиотеки - Picasso, Glide или Fresco.

Пример как можно реализовать

1.png

2 часть

Вторая часть выполняется после успешного выполнения первой. В интерфейс теперь добавляется EditText, куда мы теперь можем что-то записывать. А записывать мы будем туда различные http коды и при нажатии на кнопку получать картинку утошки, отображающую этот код.

При этом если EditText пустой, при нажатии на кнопку мы будем запрашивать случайную картинку, как это было сделано в 1 части

При этом нельзя забывать о валидации EditText. Пользователь не должен уметь отправлять невалидное значение на сервер!

Для реализации этого нужно будет в отличие от 1 части доделать сетевой слой, чтобы он смог ходить на эндпоинт GET /http/:code (см документацию)

Сам интерфейс при этом может выглядить примерно так

2.png

Как сдать задание и получить баллы?

Исходный код необходимо будет опубликовать на любом удобном или любимов хостинге, приложив туда видео работы вашего приложения (можно записать прямо с эмулятора) (при всем своем желании я не смогу спулить и запустить практики около сотни студентов)

Если в репо не будет в видном месте (желательно в корне) лежать видео, я с большой вероятностью пропущу это задание

После этого нужно будет отправить форму и я проверю задание

И напоследок, любые визуальные изыски, улучшения и усложнения (осмысленные) - welcome!

megaschool-practice's People

Contributors

burevestnik-png avatar hackmemory avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.