Pull to refresh
13
0
Юрий Кучанов @kuchanov

Разработчик под Android

Send message

Встраиваем карты от Huawei в Android приложение

Reading time19 min
Views3.8K

image


В предыдущих статьях мы создавали аккаунт разработчика для использования Huawei Mobile Services и подготавливали проект к их использованию. Потом использовали аналитику от Huawei вместо аналога от Google. Также поступили и с определением геолокации. В этой же статье мы будем использовать карты от Huawei вместо карт от Google.


Вот полный список статей из цикла:


  1. Создаём аккаунт разработчика, подключаем зависимости, подготавливаем код к внедрению. тык
  2. Встраиваем Huawei Analytics. тык
  3. Используем геолокацию от Huawei. тык
  4. Huawei maps. Используем вместо Google maps для AppGallery. ← вы тут

В чём сложность


К сожалению, с картами не получится так просто, как было с аналитикой и геолокацией. Что и неудивительно, т.к. это гораздо более сложная система сама по себе. И очень часто в приложениях карты и взаимодействие с ними кастомизируется. Например, отображают маркеры, кластеризуют их. Поэтому кода будет много, т.к. надо всё это заабстрагировать, имея в виду некоторые отличия в API карт разных реализаций.

Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments4

Встраиваем геолокацию от Huawei в Android приложение

Reading time5 min
Views3.9K

image


В предыдущих статьях мы создавали аккаунт разработчика для использования Huawei Mobile Services и подготавливали проект к их использованию. И использовали аналитику от Huawei вместо аналога от Google. В этой статье мы будем встраивать определение геолокации от Huawei.


Вот полный список статей из цикла:


  1. Создаём аккаунт разработчика, подключаем зависимости, подготавливаем код к внедрению. тык
  2. Встраиваем Huawei Analytics. тык
  3. Используем геолокацию от Huawei. ← вы тут
  4. Huawei maps. Используем вместо Google maps для AppGallery.
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments4

Встраиваем аналитику от Huawei в Android приложение

Reading time3 min
Views4.6K

image


В прошлой статье мы создавали аккаунт разработчика для использования Huawei Mobile Services и подготавливали проект к их использованию. Теперь пора приступить к встраиванию конкретных сервисов.


Вот полный список статей из цикла:


  1. Создаём аккаунт разработчика, подключаем зависимости, подготавливаем код к внедрению. тык
  2. Встраиваем Huawei Analytics. ← вы тут
  3. Используем геолокацию от Huawei.
  4. Huawei maps. Используем вместо Google maps для AppGallery.
Читать дальше →
Total votes 19: ↑15 and ↓4+11
Comments10

Знакомство с App Gallery. Создаем аккаунт разработчика

Reading time4 min
Views18K


Что происходит, кто виноват и что делать


Недавно Google прекратил сотрудничество с Huawei. Это привело к тому, что Huawei на своих новых девайсах уже не может использовать сервисы Google (магазин приложений, геолокация, карты, пуши, аналитика etc), что для пользователя превращает девайс в кирпич. Если бы это не была китайская компания, то, скорее всего, на этом её бизнес, связанный с Android, просто бы прекратился. Но компания китайская, большая и они пошли по пути импортозамещения, в кратчайшие сроки реализовав функционал, аналогичный Google сервисам.


В этой серии статей мы хотим поделиться своим опытом использования Huawei Mobile Services в уже готовом приложении, использующем Google Mobile Services для аналитики (Firebase Analytics), карт и геолокации. Текста получилось довольно много и о сильно разных сервисах, засим статей будет несколько. Начнём мы с основ — регистрации аккаунта разработчика и базовых вещей в коде.


  1. Создаём аккаунт разработчика, подключаем зависимости, подготавливаем код к внедрению. ← вы тут
  2. Встраиваем Huawei Analytics. тык
  3. Используем геолокацию от Huawei.
  4. Huawei maps. Используем вместо Google maps для AppGallery.

Если вам интересно узнать технических подробностей, посмотреть код и узнать про подводные камни — добро пожаловать под кат!

Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments2

Android, Google and free content licenses. Who is to blame and what can be done?

Reading time23 min
Views743

The story of another ban.


Have you heard about bans on apps and developers in Google Play? This is just such a story. It’s also an attempt to collect similar cases into one place and offer some kind of plan of action to prevent Google’s unpredictable actions. It isn’t fair to be banned for the legal use of free material. Personally, I like the idea of content licenses such as CC BY-SA, which permits any use, including commercial. Thanks to such licenses, we developers have websites like StackOverflow, where I’ve been elected to be the moderator. Unfortunately, companies like Google don’t respect the ideas behind these licenses. Here's my story.

Read more →
Total votes 2: ↑1 and ↓10
Comments0

Android, Google и свободные лицензии на контент. Кто виноват и что делать

Reading time25 min
Views12K

История ещё одного бана.


Всем привет! Слышали ли вы когда-то про баны приложений и разработчиков в Google Play? Вот вам ещё одна такая история. Плюс попытка собрать в одном месте похожие случаи и предложить какой-то план действий по предотвращению произвола Google в этой области. Ибо нехорошо, когда тебя банят за легальное использование свободного материала. А мне лично нравится идея лицензий на контент типа CC BY-SA, которые разрешают любое оного использование, включая коммерческое. В частности, в том числе из-за такой лицензии, мы, разработчики, имеем такие прекрасные сайты как StackOverflow, где я даже модератором избран. К сожалению, такие компании как Google не уважают идеи, лежащие в основе таких лицензий. Вот вам моя история.

Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments51

Используем RxJava и Retrofit на Android, учитывая поворот экрана

Reading time11 min
Views55K

Решил я однажды таки попробовать дико популярный нынче Rx. А заодно и Retrofit. И посмотреть, как с их помощью реализовать стандартную задачу: получить с сервера набор данных, отобразить их и при этом ничего не терять при поворотах экрана и не делать лишних запросов. Первый вариант у меня получился сразу почти — просто взял и вызвал cache() на Observable, получаемый из синглтона, но он меня не устраивал — для принудительного обновления приходилось, по какой-то причине, пересоздавать экземпляры классов Retrofit и его же реализации моего интерфейса для API. Пересоздание же самого Observable эффекта не давало — всегда возвращались старые данные вместо запуска нового сетевого запроса и получения новых данных.


После долгих мучений с новой для себя технологией выяснил, что во всём был виновен cache() (точнее, наверное, моё неправильное оного понимание). В итоге сделал так: фрагмент запускает метод, подписывающий Subscriber синглтона на Observable retrofit-a, коий запускает onNext и onError BehaviorSubject-a, на который подписывается уже Subscriber фрагмента. Код на GitHub тут, подробности — под катом.

Читать без регистрации и СМС
Total votes 9: ↑8 and ↓1+7
Comments35

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity