ABSTRACT:
While enthusiasm for testing and TDD on Android has grown, many still struggle to apply it effectively, to create clear readable tests that are easily maintainable. This leads to brittle, time-consuming tests, and eventual disillusionment.
This talk will go over tools and techniques for writing tests that are a pleasure to read, easy to maintain, give you maximum return on the time you invest into them, and will prove their worth time and time again.
We’ll take a look at some common issues with testing on Android, such as:
– where to start!
– tests that are flaky and unreliable
– slow tests
– tests that are hard to read and maintain
– brittle tests, that break every time the implementation is changed
– tests that don’t clearly indicate what’s wrong when they fail
We’ll tackle these issues with a variety of approaches, from library use to code structure and clean code patterns. As we go we’ll talk about the various tools available and give examples demonstrating how best to use them.
Whether you’re struggling to introduce your first tests, or have hundreds that are just taking too darn long to be useful, you should find something useful here. This talk aims to level-up every Android developer’s testing know-how and arm them with the tools required to write effective tests.
Videos of the talk will be uploaded after droidcon.
ABSTRACT:
Building awesome Android apps is a really really hard work that takes tons of time and dedication and also money. The worst thing that can happen to developers is that their apps get pirated and the developers that worked so hard to create them do not get honored for their hard work.
This talk will show the problems that arise from pirated apps as well as which countermeasures you, as a developer, can take to make it as difficult as possible to pirate your apps.
Videos of the talk will be uploaded after droidcon.
ABSTRACT:
Code quality is a very important aspect on every project, especially in large projects with a lot of team members. In this session we will cover the importance of high code quality and what the basic concepts are for achieving code quality through unit testing in general. We will emphasize on unit testing for the Android platform demonstrating some of the most well-known tools and libraries, namely Robolectric and Mockito. We will get in depth of those tools usage by providing code examples.
Videos of the talk will be uploaded after droidcon.
ABSTRACT:
Android Tutorials mostly come in two flavours. Basic, that means one activity, HttpClient and Asynctask, or Rocket science which means Dagger, RxJava and everything already fully integrated. There is little in between these two extremes that guides new developers how to structure an app. I want to help beginners to move from one activity apps to bigger, well structured Android applications.
The first part of this talk covers the basic architecture of all Kupferwerk apps. We are a leading German app agency, responsible for apps like Wetter.com, 7TV and the c’t Tablet app. Our experiences gained by these developments are brought back into a scaffold app that now is the basis for all new Android projects. This app integrates all our used libraries and gives every team a common working ground. I will present this basic app and a template that gives Android developers a head start for their new Android Applications.
In the second part of the talk I will focus on architecture problems on Android and the best practices used by Kupferwerk. How we apply common software architecture patterns to our apps, how we structure our UI-Code and how our architecture helps us to construct apps that can be easily maintained and tested.
Videos of the talk will be uploaded after droidcon.
ABSTRACT:
The talk is about the “Best Practices” after the mistakes we made.
This is a series of the most interesting “epic fails” we did and hard lessons we learnt. In this session, we will share some stories on how the most unexpected tiny error had the biggest impact.
Here is the list :
– Google Play Store release that went wrong because of database update. Before a long week end.
– the wrong country of the user . Most apps use the system local.
– Wrong app title. A library overrides your app title in a language not covered by your app.
– the big refactoring that went wrong. Learn how to scope a refactoring.
– more to come
Thanks to the bi-weekly retrospective , we adjusted ourselves.
Videos of the talk will be uploaded after droidcon.
ABSTRACT:
Memory dumps can be a very powerful tool for application developers because it provides detailed information about the current application state at when an error has just occurred.
I’m sure most of us have experience working with memory dumps to solve one very specific type of problem: finding the cause of OutOfMemoryErrors.
Why then, if memory dumps are doing such a good job at helping us fix memory issues, are they not used to analyze and fix other issues?
The answer to this is twofold. Firstly, the available tools are largely geared towards solving Out of Memory situations.
Secondly, most memory dumps are so big it only makes sense to collect them from a device that you have physical access to.
It’s the second of these two problems I’m offering a solution for. By making memory dumps small enough to be uploaded from a device, they can become viable tools for debugging more types of issue. The first step towards the goal was to understand the strengths and weaknesses of the commonly used HPROF format. For me this process started while implementing a HPROF library used in a project to deobfuscate ProGuard obfuscated dumps.
My starting point was to extend the existing HPROF format with new functionality but I soon came to the conclusion that if I wanted to create something better I needed to start from the ground up, discarding legacy compatibility.
When designing the format my main inspiration came from binary protocol buffers (https://developers.google.com/protocol-buffers/). A format that is both efficient and flexible. Still, I did not want to use a complete protocol buffer implementation but rather cherry-pick the best concepts from the format:
– Variable length encoding for integers and floating point values
– Repeated fields without the need to specify the length of the vector
At the same time, I also wanted to avoid some of the complexities of using protocol buffers, such as:
– Record size encoded into the header
– Support for handling unknown records
The end result of applying these and other improvements, is a file format which achieves a size reduction of up to 97% compared to standard HPROF files. Nonetheless, it still contains plenty of relevant data for a developer to analyze.
This improvement brings memory dumps down to a size where they can evolve from being a one trick pony into an indispensable tool for analyzing many types of issues.
Videos of the talk will be uploaded after droidcon.
ABSTRACT:
Apple has introduced “a better language” for iOS developers. But what options do we have for Android? Surely Kotlin should be under consideration! Android Studio is now based on Intellij Idea, the “native” environment for Kotlin.
Kotlin is a modern language for industry. It can help you reduce the amount of code you write for Android applications and at the same time make it readable and more maintainable.
In this session we are going to talk a bit why JetBrains sees the potential in Kotlin comparing to other JVM languages. Then we’ll see how certain language constructs can be used to make Android more enjoyable. Also we’ll look at a DSL for type-safe dynamic layouts and a simple extension plugin that helps to avoid writing ‘findViewById()’ all the time.
Videos of the talk will be uploaded after droidcon.
ABSTRACT:
Reverse Engineering (RE) is the art of taking an application apart and try to understand the internal mechanisms.
There’s a positive side and a negative side to this approach. The positive side is the fact that RE gives us a means to research and understand malware.
The negative side is that distributed binaries can be torn apart to look at intellectual property or to inject it with malicious code.
The talk will guide you through the Android app build process and learn some countermeasures to make it harder for hackers to reverse engineer your Android code. Further more the talk will cover opensource tools that you can use to reverse engineer Android applications to inspect it for malware.
All this only for educational purposes of course. 😉
Videos of the talk will be uploaded after droidcon.
ABSTRACT:
You’ve spent a lot of time in building an app that provides a better experience for users accessing your content from their android smartphones, but what if target users fail to discover your awesome app? This talk will discuss some of the latest trends and results of experiments that will help app developers to gain more visibility of their app.
[ Talk Coverage: ]
# Optimize Your Google Play Store App Listing
# App Indexing: The effective connection between Your Website and App
# Did you localize? { speaking on how developers should strategize in building target global audience and prepare their app to reach new users.}
#Leveraging Deep Links for Discoverability( covering how deep linking could assist developers to connect people with content deep inside their apps)
Videos of the talk will be uploaded after droidcon.
ABSTRACT:
The remarkable evolution that the world of smartphones has allowed the development of mobile operating systems and even the creation of a few, however, this has also had repercussions on developers who are now forced to develop the same application into multiple programming languages if they want to operate on different OS.
Hence the need to have a tool that allow developers to convert their applications and adapt to different OS in order to remedy the issue of diversity of language to master.
The solution we propose; is to develop an Eclipse plugin that allows Android developers to convert their applications into a Natives Windows Phone applications and this by converting the Java and XML code in C # and XAML without passing through any porting software. Android developers will therefore be able to execute and deploy their Android project on a Windows Phone 8 smartphones using their Eclipse IDE.
Our solution also allows you to generate a complete Visual Studio project from an Android project in a rather simple way.
Videos of the talk will be uploaded after droidcon.
You can add any HTML here (admin -> Theme Options -> Promo Popup).
We suggest you create a static block and put it here using shortcode