Пример приложения с GreenDAO. Зеленый помощник в работе с БД.

Если вы читаете эти строки, то, скорее всего, вам захотелось чего-то нового в отношениях с вашей базой данных. Вам надоел курсор, SQL запросы вы пишете каждый день и ощущение обыденности остудило те чувства, с которыми вы впервые сохраняли данные в БД.  Что же, GreenDAO внесёт свежий поток в процесс разработки!

Библиотека от немецкой компании Greenrobot позиционируется как инструмент для объектно-реляционного отображения  (ORM) данных в приложениях на Android, являясь прослойкой, реализующей шаблон проектирования DAO(Data Access Object). Если вы не знаете что это за шаблон, то многое в статье будет не понятно и лучше для начала прочитать эту статью.  На момент написания статьи ребята выпустили уже версию 3.2.0, в которой побороли многие детские болячки и прихлопнули горсть багов.  С помощью аннотаций происходит разметка сущности, требующей сохранения, создание DAO классов, таблиц и всю рутинную работу с ними библиотека взваливает на себя. Читать далее Пример приложения с GreenDAO. Зеленый помощник в работе с БД.

Пример использования Retrofit 2 в приложениях Android

Привет! В этой статье мы будем разбираться как работать с библиотекой Retrofit, которая призвана значительно сократить трудозатраты при работе с API веб-сервисов, а также напишем простой пример использования Retrofit 2 в тестовом приложении.


1.Retrofit. Что это?

Retrofit – это REST клиент для android и Java от компании Square. Он может относительно легко получать и разбирать JSON (или другие структуированные данные) через вебсервисы, использующие REST. В Retrofit для (де)сериализации данных используются конверторы, которые необходимо указывать вручную. Типичным  конвертором для JSON формата является библиотека GSon, но вы можете воспользоваться кастомным конвертером для обработки XML или прочих протоколов. Для HTTP запросов Retrofit использует OkHttp библиотеку.

Вы можете создать Java объекты основанные на JSON через сервис по ссылке http://www.jsonschema2pojo.org/ Читать далее Пример использования Retrofit 2 в приложениях Android

Что такое TabLayout в Android и как с ним работать?

Когда занимаешься в одиночку проектированием своего приложения, то на свои плечи приходится взгромождать обязанности сразу нескольких людей. Ты в одном лице и архитектор и дизайнер и программист и сеошник…

В начале, когда мир Android разработки кажется особо огромным и ты не знаешь что лучше применить в своих первых «Hello world», то можно верстать хоть в одном активити весь интерфейс. Позже, с опытом приходит понимание, что дизайн в сфере мобильной разработки всё таки стоит продумывать заранее, перед открытием Android Studio. В первую очередь он должен быть максимально удобным и приятным для пользователя, а уже потом стоит задуматься о расширяемости и актуальности инструментов. Читать далее Что такое TabLayout в Android и как с ним работать?

Приложение Beauty Master

Я просто screenshot_1480603606хотел написать что нибудь полезное для помощи в работе любимой супруге… и тут понеслось. А может цвета к дням? А может смс рассылку? А может поиск по базе данных? В общем прошу строго не ругать, знакомьтесь — Beauty Master.

Приложение, которое поможет beauty-мастерам вести учет своих записей. Приложение работает с базой данных, которую можно своевременно очищать, умеет отправлять смски за день до записи. В календаре дни, на которые назначены записи меняют цвет пропорционально количеству клиентов. Таким образом мастеру сразу понятно на какой день можно записать нового клиента без заглядывания в каждый день для поиска свободных мест. Читать далее Приложение Beauty Master

Многопоточность в Android. Looper, Handler, HandlerThread. Часть 1.

Что вы знаете о многопоточности в андроид? Вы скажете:  «Я могу использовать AsynchTask для выполнения задач в бэкграунде». Отлично, это популярный ответ, но что ещё? «О, я слышал что-то о Handler’ах, и даже как то приходилось их использовать для вывода Toast’ов или для выполнения задач с задержкой…» — добавите Вы. Это уже гораздо лучше, и в этой статье мы рассмотрим как и для чего используют многопоточность в Android.

Для начала давайте взглянем на хорошо известный нам класс AsyncTask, я уверен что каждый андроид-разработчик использовал его. Прежде всего, стоит заметить, что есть отличное описание этого класса в официальной документации. Это хороший и Читать далее Многопоточность в Android. Looper, Handler, HandlerThread. Часть 1.

Как использовать список в Android с помощью RecyclerView?

Если Вы начали изучение программирование под платформу Android, очень скоро от «Hello World!» Вы приступите к созданию более разумных приложений. Почти что в каждом приложении под Android Вы будете встречаться с использованием списков, их реализация не такая уж и тривиальная, как это можно себе представить на первых порах, особенно для новичков! Очень важно сразу разобраться в концепции и набить руку, иначе после придётся часто возвращаться к старым наработкам для выдёргивания кусков рабочего кода.RecyclerView
Я расскажу как реализован список с помощью виджета RecyclerView, любезно предоставленного нам корпорацией Google. Виджет развивается и есть смысл хорошенько познакомится с его реализацией и предоставляемым API. На скришоте пример того, как должен выглядеть в итоге наш список.

Наше приложение будет состоять из фабрики клонов, которая будет генерировать 100 объектов, и одного активити, внутри которого опишем необходимые классы, для работы с RecyclerView.

Также нам будет необходимо создать 2 файла-макета. Один activity_main.xml для RecycleView, в нём будет описан только сам виджет. Второй list_item_person.xml для Читать далее Как использовать список в Android с помощью RecyclerView?

Какие есть модификаторы доступа у методов в Java?

Для использования с методами мы можем пользоваться все модификаторы доступа, access_3которыми располагает Java: public, protected, default, private.

public: когда метод объявлен как публичный, он доступен в:
1) В том же классе, в котором описан;
2) В том же пакете, дочерний класс;
3) В том же пакете, но для другого класса;
4) Из других пакетов и подклассы и прочие классы;
Публичные методы доступны для всего окружающего мира.
default. Или по умолчанию. Или доступ в пределах пакета(package-private). Если у метода не указать никакого модификатора, то он получает именно этот.  В таком случае к методу могут иметь доступ:
1) В том же классе, в котором описан;
2) В том же пакете, дочерние классы;
3) В том же пакете, из другого класса.
К методу с модификатор доступа по умолчанию нельзя обращаться из:
1) Другого пакета, дочерних классов
2) Другого пакета, любых классов
protected: если метод имеет модификатор protected, к нему имеют доступ:
1) В том же классе;
2) В том же пакете дочерние классы;
3) В том же пакете прочие классы;
4) Из другого пакета дочерние классы
protected методы недоступны из других пакетов, если нет вызываются не из классов-наследников.
private: самый закрытый модификатор доступа. Его обладатель доступен только image002внутри класса, в котором объявлен.
Метод недоступен в :
1) В том же пакете дочерним классам;
2) В том же пакете прочим классам;
3) В других пакетах подклассам;
4) В любых других классах

Надеюсь что вы нашли для себя ответ на вопрос «Какие есть модификаторы доступа у методов в Java?»

Что такое переопределение (overriding) метода в Java?

Если мы в нашем классе определяем метод с такой же сигнатурой, именем и возвращаемыми параметрами, что и в супер-классе — значит мы используем переопределение метода.  Никаких специальных слов добавлять не нужно, механизм работает автоматически при вызове метода.

Допустим у нас есть три класса: Dog,fox_size_comp Cat, Fox. Они наследуются от одного родителя с
названием Animal. В классе Animal есть метод say(), а классы-потомки переопределяют его. Затем мы садим животных в клетки и накрываем чёрной тканью. После этого мы можем подойти к любой клетке, качнуть её(не сильно) и попросить say(), зная лишь то, что внутри какое-то животное, но не зная какое точно. Мы получим именно тот звук, который переопределили в классе-потомке. Читать далее Что такое переопределение (overriding) метода в Java?

Как вызвать один конструктор из другого?

При необходимости вызова одного конструктора из другого мы можем сделать это используя this() и передав те параметры, которые нужны вызываемому конструктору. Есть условия, которые необходимо соблюдать в таком случае, а именно:

  1. вызов this() должен быть первой операцией;
  2. второй раз вызывать в конструкторе this() запрещено.

Читать далее Как вызвать один конструктор из другого?

Что такое статический блок и статическая инициализация в Java?

Статические блоки и статическая инициализация используются для инициализации статических полей в Java. Мы объявляем статический блок в тот момент, когда хотим проинициализировать статические поля в классе.

Статический блок выполняется только один раз, при загрузке класса загрузчиком.

Статический блок выполняется до вызова конструктора.

Также можно сказать что статические поля и методы принадлежат классу, нестатические — объекту.

Пример синтаксиса ниже: Читать далее Что такое статический блок и статическая инициализация в Java?