Tuesday, October 25, 2016

Android: проверяем наличие обновления приложения

Решил сегодня озадачиться вопросом алгоритмом обновления приложения, если новая версия есть, то показывать пользователю об этом уведомление. Как ни странно, но готового функционала не оказалось, даже сам Market не предоставляет никакого API для проверки обновлений. Начал искать на просторах всемирной сети -решения, конечно, меня не порадовали - парсить json'ы, бэграунд службы, и еще более нудные и тугие пути. Я тоже пошел сначала по пути парсинья json'a, но потом отказался от этого. Если нет апи, и проверять наличие некоторого отдельного файла, то пусть этим фалом окажется Firabase!
Создал простую структуру:
---Root
    ---SystemInfo
        ---Version : 5
Получаем это значение с помощью:
dataService.getSystemInfo()
При загрузке буду проверять данную ветку и значение текущей версии из градла(Gradle), на основе полученных данных будет вызываться диалог с предложением обновить версию приложения.

Успехов!

Wednesday, October 19, 2016

Android Studio: обновление 2.2.2.0

После последнего обновления студии, а именно 2.2.1 при билдинге программы "градле" зависал так, что "мама не горюй", порой доходило до 5 минут ожидать при сборке (иногда даже возникали мысли: "А не откатиться ли обратно?") А что делать? Приходилось ждать! С выходом новой версии нам обещают сладкую жизнь =)
1. Изменения к Instant Run - добавляя новые изменения в код и ресусные файлы можно увидеть сразу же изменения в запущенной программе на эмуляторе или телефоне.
2. Обновился так называемый интеллектуальный редактор кода (Intelligent code editor). Как по мне он и так был не плох, а теперь основные изменения коснулись редактирование ресурсных файлов, там где он был и нужен.
3. Fast and feature-rich emulator. Обновления коснулись и эмулятора. Сейчас запуская на одном компе и студию и эмулятор появляются иногда тормоза, не критично, но порой раздражает. Теперь же мы должны насладиться небывалой скоростью, от того как работает эмулятор - заявлено, что работает он быстрее чем физическое устройство и эмуляторов целая куча: от телефонов, таблеток до ТВ-устройств.
4. Robust and flexible build system. Изменения коснулись и градла - скрещиваем пальчики и ждем первого билда. В проекте стало просто использовать несколько вариантов сборки, даже с разными наборами включенных библиотек. Gradle(градл) - продвинутый набор инструментов, позволяющий управлять процессом сборки приложения, и создавать гибкие пользовательские конфигурации построения. Плагин gradle в android предназначен для работы с инструментами построения процессов и настраиваемых параметров, которые являются специфическими для разработки и тестирования Android-приложений. Более детально про градл.
5.Code templates and GitHub integration - а вот и что-то новенькое. Интеграция с ГитХабом. Добавилось возможно импортировать примеры кода с Гитхаба и вести свои собственные шаблоны, что немаловажно!
Все изменения описаны в статье, ну а нам только предстоит протестировать данный функционал.

Успехов!






Tuesday, October 18, 2016

Android: переименование приложения

В случае, когда вам понадобилось переименовать приложение, а такое обычно бывает, когда вы при создании приложения оставили все по умолчанию (имя пакета будет в формате
com.example.something), а потом решили опубликовать его в GooglePlay,
то такой вариант не пройдет! Придется возвращатсья к истокам и переименовывать весь пакет. Самый удобный способ - это создать новый модуль и в него отрефакторить все ваши наработки:
Теперь выделяете все: активити, классы, фрагменты, все-все и говорите перенести в новый модуль. У нового модуля новое имя, конечно же! Далее нужно переименовать вручную все значения в манифесте и в градле.

Плюс, ко всему у меня не поменялись некоторые файлы в проекте, пришлось вручную поправить! А именно пришлось менять
import com.example.name.lalala.R
на 
import com.lalala.R
 
Успехов!  

Friday, October 14, 2016

Linux: добавление локального репозитория

В случае если у вас сервер не имеет выхода в интернет, то можно и нужно добавлять локальные репозитории для установки и обновления пакетов. По умолчанию, нет установленных репозиториев:
#yum repolist
Добавим один. Создадим в папке /etc/yum.repos.d/ файл с названием serv.repo
Его содержимое:
Обновим
#yum repolist 

Теперь можно приступать к обновлению и установке=)
#yum install pam-devel.i686 0:1.1.8-12.el7_1.1

Успехов!