Android Development with Kotlin
Learn Android application development with the extensive features of Kotlin
Marcin Moskala
Igor Wojda
BIRMINGHAM - MUMBAI
Android Development with Kotlin
Copyright 2017 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: August 2017
Production reference: 3081117
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.
ISBN 978-1-78712-368-7
www.packtpub.com
Credits
Authors Marcin Moskala Igor Wojda | Copy Editor Safis Editing |
Reviewers Mikhail Glukhikh Stepan Goncharov | Project Coordinator Vaidehi Sawant |
Commissioning Editor Aaron Lazar | Proofreader Safis Editing |
Acquisition Editor Chaitanya Nair | Indexer Francy Puthiry |
ContentDevelopmentEditor Rohit Kumar Singh | Graphics Abhinash Sahu |
Technical Editor Pavan Ramchandani | Production Coordinator Nilesh Mohite |
About the Authors
Marcin Moskala is an experienced Android developer who is always looking for ways to improve. He has been passionate about Kotlin since its early beta release. He writes articles for trade press and speaks at programming conferences.
Marcin is quite active in the programming and open source community, and is also passionate about cognitive and data science. You can visit his website (marcinmoskala.com), or follow him on GitHub (MarcinMoskala) and on Twitter (@marcinmoskala).
I would like to thank my co-workers in Gamekit, Docplanner, and Apreel. I especially want to thank my supervisors, who were not only supportive, but who are also a constant source of knowledge and inspiration: Mateusz Mikulski, Krzyysztof Wolniak, Bartek Wilczynski, and Rafal Trzeciak.
I would like to thank Marek Kaminski, Gleb Smirnov, Jacek Jablonski, and Maciej Gorski for the corrections, and Dariusz Bacinski and James Shvarts for reviewing the code of the example application.
I would like to thank my family and my girlfriend - Maja Markiewicz - for their support and help. I especially want to thank them for making an environment that supports passion and self-realization.
Igor Wojda is an experienced engineer with over 11 years of experience in software development. His adventure with Android started a few years ago, and he is currently working as a senior Android developer in the healthcare industry. Igor has been deeply interested in Kotlin development since long before the 1.0 version was officially released, and he is an active member of the Kotlin community. He enjoys sharing his passion for coding with developers.
To learn more about him, you can visit him on Medium (@igorwojda) and follow him on Twitter ( @igorwojda).
I would like to thank the amazing team at Babylon, who are not only professionals but also inspiring and very helpful people, especially Mikolaj Leszczynski, Sakis Kaliakoudas, Simon Attard, Balachandar Kolathur Mani, Sergio Carabantes, Joao Alves, Tomas Navickas, Mario Sanoguera, and Sebastien Rouif.
I offer thanks to all the reviewers, especially technical reviewer Stepan Goncharov, Mikhail Glukhikh, and my colleagues who gave us feedback on the drafts, especially Micha Jankowski.
I am also thankful to my family for all of their love and support. I'd like to thank my parents for allowing me to follow my ambitions throughout my childhood and for my education.
Thanks also go to JetBrains for creating this awesome language and to the Kotlin community for sharing knowledge and being helpful, open, and inspiring. This book could not have been written without you!
I offer special thanks to my friends, especially Konrad Hamela, Marcin Sobolski, Maciej Gierasimiuk, Rafal Cupial, Michal Mazur, and Edyta Skiba for their friendship, inspiration, and continuous support. I value your advice immensely.
About the Reviewers
Mikhail Glukhikh graduated from Ioffe Physical Technical School in 1995 and from Saint Petersburg State Polytechnical University in 2001 with a masters degree in information technologies. During 2001-2004, he was PhD student in the same university, and then he defended his PhD thesis in 2007. The title of his thesis is Synthesis method development of special-purpose informational and control systems with structural redundancy.
Mikhail worked in Kodeks Software Development Center during 1999-2000, and in Efremov Research Institute of Electrophysical Apparatus during 2001-2002. Since 2002, he has been a lead developer at Digitek Labs, in the computer system and software engineering department. He was a senior lecturer at the department from 2004 to 2007; from 2007 he has been an associate professor. In 2013, he had one-year stay at Clausthal University of Technology as an invited researcher. In 2014, he worked at SPb office of Intel corporation, since March 2015, he participates in Kotlin language development at JetBrains.
Mikhail is one of Digitek Aegis defect detection tool authors. He is also one of the Digitek RA tool's authors. Nowadays, his primary R&D areas include code analysis, code verification, code refactoring, and code reliability estimation methods. Before he had also interests in fault-tolerant system design and analysis, and also in high-productive digital signal processing complex development.
Stepan Goncharov is currently working at Grab as the engineering lead of the Driver Android app. He is an organizer of Kotlin User Group Singapore and has developed apps and games for Android since 2008. He is a Kotlin and RxJava addict, and obsessed with elegant and functional code. He mainly focus on mobile app architecture.
Stepan makes a difference by spending more and more time contributing to open source projects. He is the reviewer of Learning RxJava, by Thomas Nield, published by Packt.
Next page