How to Publish Applications Into Huawei AppGallery

Applications for operation system Android are most often distributed through Google Play Store which probably every user of some Android device knows. Even though Play Store is by far the most common app store with the widest range of applications, it is not the only one. Phones and tablets from Samsung include Galaxy Store, Amazon is running its Appstore, for the enthusiasts of open-source technologies, there is F-Droid and there are also other app stores. Lately, more and more applications are being distributed via the Huawei AppGallery which we got acquainted with recently in Ackee. (more…)

blog cover Android

Enforcing Dependency Rule With Custom Detekt Rules

Clean Architecture is a much-discussed topic in recent years not only in the Android community. You can find many articles about it and most of them are devoted to an explanation and implementation of the Dependency Rule, which is the basis of the Clean Architecture. Implementing the Dependency Rule is quite easy but it is also really easy to violate it and it can be really hard to uncover that on the code review. It would be possible to control it better using `package private` visibility or divide app layers properly to separate modules. The problem is that we do not have `package private` visibility in Kotlin and layer modularization does not have to be a good or preferred architecture for our app. But don’t worry! We can use help from the static code analysis tool called detekt and I am going to show you how in this article. I expect that you already know and understand Clean Architecture including the Dependency Rule. If you don’t, I recommend this great article from Mario Sanoguera de Lorenzo. (more…)

Jan Mottl

Jan Mottl

Android Developer

Ackee blog cover: Android High Performance Audio APIs

Android High Performance Audio APIs ?

Performance matters. It is especially true for audio performance, where you want the audio to be as smooth as possible. In this article I will have a look at various available options you can use in your high performance audio app on Android. But first, we need to understand the motivation behind high performance audio. Why is it important? What problems are we trying to solve? What apps are we actually talking about?

(more…)

Petr Kubáč

Petr Kubáč

Android Developer

Android Blog - Error handling @Ackee

Error Handling: Make Your Exceptions Nicer

Error handling is hard and every developer I know doesn’t like to do it. It’s almost always the last thing to be done in a new project. You have to handle different kinds of errors – from no network connectivity, to servers  being down, to user-made validation errors (either local or server-side) all of which lead to a cumbersome correcting process for all parts of the app. I would like to show you our approach to this. (more…)

David Bilík

David Bilík

Lead Android Developer

Reactive programming

Reactive programming has become essential for the way we make apps. Most companies today use some sort of a reactive framework, ranging from μFrameworks that implement the most basic Actor model, through hundreds of Future/Promise frameworks with different levels of API richness, all the way up to massive FRP frameworks that introduce a new programming paradigm and shape our application architecture in the process. (more…)

Petr Šíma

Petr Šíma

iOS Developer

Ackee publishes cookbook

What? Ackee and cooking? Well, not entirely, even though we did show we knew our way around the kitchen at the #dnesnekodim event. However, considering we feel better behind the keyboard, our cookbook will not be about food but about programming. Read about how we prepare the best applications on the Czech scene, what tools we use, as well as all of our secret procedures. (more…)

Avatar

Dominik Veselý

Software Analyst & Architect