This document discusses various ORM libraries and compares their performance. It introduces ORMlite, GreenDAO, Realm, and native SQLite as options for interacting with databases in Android. GreenDAO is highlighted as significantly faster than ORMlite for write and read operations. Performance tests show GreenDAO inserting over 100k records around 7 seconds on average, while ORMlite took over 40 seconds. Realm was also faster than ORMlite but slower than GreenDAO. The document encourages using more performant options like GreenDAO and Realm over ORMlite for database work in Android.
This document discusses custom views in Android, including using RecyclerView with Palette, flat button animation, and generating palettes from bitmaps. It explains the parameters for GridLayoutAnimationController, including count, index, columns count, rows count, column, and row. It also covers the different methods for generating palettes from bitmaps asynchronously or synchronously, and defines the enum types for swatch types and colors.
Andy introduces ORMLite, an ORM library for Android. He demonstrates how to define data models with annotations, create database helpers to manage the underlying SQLite database, and implement DAO classes to perform CRUD operations and transactions on the data models. The code examples show how to define one-to-many relationships between User and Group data tables, and use the ORMLite API to easily insert, query, update, and delete records while handling transactions and relationships between the tables.
This document discusses JSON parsing with GSON in Android. It introduces JSON and XML data formats, JSON objects and arrays, and different JSON data types. It then explains how to parse JSON with a JSONObject parser or use GSON for parsing. GSON allows parsing JSON into POJO models using annotations and parsing JSON arrays into collections. It also supports features like date formatting. The document ends by providing a GitHub link for a GSON demo project.
This document discusses using RxJava and Retrolambda together on Android. It introduces RxJava and some of its benefits like handling asynchronous operations and callbacks. Retrolambda allows using lambda expressions on older Android versions by compiling code to Java 6/7 style. The document shows how to set up Retrolambda in Android Studio projects and provides examples of converting callback code to use RxJava and lambda expressions. It also demonstrates basic RxJava concepts like Observables, Subscribers, and Schedulers. Sample code links are provided at the end.
This document summarizes how to use Firebase Cloud Messaging (FCM) to send messages between Android devices directly. It covers obtaining the FCM registration token, using the Firebase database and RemoteConfig, constructing the request headers, server key authentication, and message formats. Code examples are provided in a GitHub repository for sending and receiving messages via FCM in an Android app.
This document discusses various ORM libraries and compares their performance. It introduces ORMlite, GreenDAO, Realm, and native SQLite as options for interacting with databases in Android. GreenDAO is highlighted as significantly faster than ORMlite for write and read operations. Performance tests show GreenDAO inserting over 100k records around 7 seconds on average, while ORMlite took over 40 seconds. Realm was also faster than ORMlite but slower than GreenDAO. The document encourages using more performant options like GreenDAO and Realm over ORMlite for database work in Android.
This document discusses custom views in Android, including using RecyclerView with Palette, flat button animation, and generating palettes from bitmaps. It explains the parameters for GridLayoutAnimationController, including count, index, columns count, rows count, column, and row. It also covers the different methods for generating palettes from bitmaps asynchronously or synchronously, and defines the enum types for swatch types and colors.
Andy introduces ORMLite, an ORM library for Android. He demonstrates how to define data models with annotations, create database helpers to manage the underlying SQLite database, and implement DAO classes to perform CRUD operations and transactions on the data models. The code examples show how to define one-to-many relationships between User and Group data tables, and use the ORMLite API to easily insert, query, update, and delete records while handling transactions and relationships between the tables.
This document discusses JSON parsing with GSON in Android. It introduces JSON and XML data formats, JSON objects and arrays, and different JSON data types. It then explains how to parse JSON with a JSONObject parser or use GSON for parsing. GSON allows parsing JSON into POJO models using annotations and parsing JSON arrays into collections. It also supports features like date formatting. The document ends by providing a GitHub link for a GSON demo project.
This document discusses using RxJava and Retrolambda together on Android. It introduces RxJava and some of its benefits like handling asynchronous operations and callbacks. Retrolambda allows using lambda expressions on older Android versions by compiling code to Java 6/7 style. The document shows how to set up Retrolambda in Android Studio projects and provides examples of converting callback code to use RxJava and lambda expressions. It also demonstrates basic RxJava concepts like Observables, Subscribers, and Schedulers. Sample code links are provided at the end.
This document summarizes how to use Firebase Cloud Messaging (FCM) to send messages between Android devices directly. It covers obtaining the FCM registration token, using the Firebase database and RemoteConfig, constructing the request headers, server key authentication, and message formats. Code examples are provided in a GitHub repository for sending and receiving messages via FCM in an Android app.
Spek is a Kotlin library for specification testing that provides DSLs for BDD and specification styles of testing. It allows developers to describe tests contexts and assertions without using an assertion library. Spek supports Android and JVM and provides DSLs to write tests in a specification or Gherkin style. To get started, developers extend Spek and describe test contexts and assertions. Spek also supports additional features like grouping tests, setting up and tearing down contexts, and ensuring test instances are unique.
This document discusses how to generate changelogs by following the Angular git commit convention and using conventional-changelog. It recommends using the git commit template plugin in Android Studio or the cz-cli command line tool to help format commit messages according to the convention of having a type, scope, subject, body and footer. Changelogs can then be generated from the commit history using conventional-changelog by parsing for conventions like types, scopes and footers mentioning breaking changes.
This document discusses techniques for speeding up adding custom markers to Google Maps. It begins with background on markers and why adding them can be slow. It then presents four levels of optimization: 1) Using custom icons but blocking the UI thread; 2) Reusing bitmaps for the same data; 3) Caching both markers and bitmaps in an LRUCache and generating them on a background thread; 4) Further optimizing by limiting markers on the map and distributing data loading across the UI thread. Live demo source code is provided and there is a recap and Q&A section at the end.
This document describes Spek, a specification testing DSL library for Kotlin that allows writing tests in a specification or Gherkin style. Spek provides keywords like describe, context, it, and skipping keywords like xdescribe to define test suites and cases. It also supports the Gherkin syntax with keywords like Feature, Scenario, Given, When, Then, and And. The document provides instructions on how to start using Spek by extending it and defining test descriptions and assertions. It also outlines additional features like common DSL functions and memoization capabilities. An example Todo list project implemented with Spek is linked.
This document discusses how to set up and use Jenkins for continuous integration and continuous delivery of Android applications. It covers installing Jenkins, setting up the first job, integrating with source control like Git, configuring Android tools, running tests, building and deploying to internal and production environments, reporting, notifications, and using Jenkins pipelines. The goal is to illustrate how Jenkins can be used to automate and simplify the mobile development process.
This document discusses using Jenkins for continuous integration and continuous delivery of Android applications. It covers installing and configuring Jenkins, setting up jobs to build Android apps with Gradle, running tests, deploying to internal and production environments, and notifying teams through Slack. The document also introduces Jenkins pipelines and how they can be used to automate and standardize the mobile app deployment process.
The document introduces Kotlin, a programming language developed by JetBrains that runs on the JVM. It highlights several Kotlin features like null safety, smart casts, lambda expressions, method extensions, and dependency injection. It then provides examples of how to use multiple classes in one file, data classes, properties, null safety checks, smart casts with when expressions, method extensions, lambda expressions, operator overloading, companion objects, and property delegates in Kotlin. It also discusses how to set up an Android project with Kotlin and convert existing Java files to Kotlin.
This document summarizes Andy's introduction to Kotlin, including information about himself and his experience with Kotlin. It discusses some key features of Kotlin like null safety, smart casts, properties, method extensions, lambda expressions, and dependency injection. The document provides code examples for converting Java code to Kotlin and demonstrates multiple class definitions, data classes, property types, null handling, and other Kotlin syntax. It encourages learning Kotlin by using it directly in projects rather than just reading about it.
This document discusses different types of testing for Android apps including unit tests, integration tests, and UI tests. Unit tests are described as fast, independent, and repeatable but should account for only 10-20% of total tests. Cucumber is introduced as a tool that uses a natural language syntax to write automated tests and documentation for UI tests. The document provides an overview of setting up unit tests with JUnit and UI tests with Cucumber using the Android Studio plugin and Espresso. Sample code and resources are linked for live demos and further information.
Spek is a Kotlin library for specification testing that provides DSLs for BDD and specification styles of testing. It allows developers to describe tests contexts and assertions without using an assertion library. Spek supports Android and JVM and provides DSLs to write tests in a specification or Gherkin style. To get started, developers extend Spek and describe test contexts and assertions. Spek also supports additional features like grouping tests, setting up and tearing down contexts, and ensuring test instances are unique.
This document discusses how to generate changelogs by following the Angular git commit convention and using conventional-changelog. It recommends using the git commit template plugin in Android Studio or the cz-cli command line tool to help format commit messages according to the convention of having a type, scope, subject, body and footer. Changelogs can then be generated from the commit history using conventional-changelog by parsing for conventions like types, scopes and footers mentioning breaking changes.
This document discusses techniques for speeding up adding custom markers to Google Maps. It begins with background on markers and why adding them can be slow. It then presents four levels of optimization: 1) Using custom icons but blocking the UI thread; 2) Reusing bitmaps for the same data; 3) Caching both markers and bitmaps in an LRUCache and generating them on a background thread; 4) Further optimizing by limiting markers on the map and distributing data loading across the UI thread. Live demo source code is provided and there is a recap and Q&A section at the end.
This document describes Spek, a specification testing DSL library for Kotlin that allows writing tests in a specification or Gherkin style. Spek provides keywords like describe, context, it, and skipping keywords like xdescribe to define test suites and cases. It also supports the Gherkin syntax with keywords like Feature, Scenario, Given, When, Then, and And. The document provides instructions on how to start using Spek by extending it and defining test descriptions and assertions. It also outlines additional features like common DSL functions and memoization capabilities. An example Todo list project implemented with Spek is linked.
This document discusses how to set up and use Jenkins for continuous integration and continuous delivery of Android applications. It covers installing Jenkins, setting up the first job, integrating with source control like Git, configuring Android tools, running tests, building and deploying to internal and production environments, reporting, notifications, and using Jenkins pipelines. The goal is to illustrate how Jenkins can be used to automate and simplify the mobile development process.
This document discusses using Jenkins for continuous integration and continuous delivery of Android applications. It covers installing and configuring Jenkins, setting up jobs to build Android apps with Gradle, running tests, deploying to internal and production environments, and notifying teams through Slack. The document also introduces Jenkins pipelines and how they can be used to automate and standardize the mobile app deployment process.
The document introduces Kotlin, a programming language developed by JetBrains that runs on the JVM. It highlights several Kotlin features like null safety, smart casts, lambda expressions, method extensions, and dependency injection. It then provides examples of how to use multiple classes in one file, data classes, properties, null safety checks, smart casts with when expressions, method extensions, lambda expressions, operator overloading, companion objects, and property delegates in Kotlin. It also discusses how to set up an Android project with Kotlin and convert existing Java files to Kotlin.
This document summarizes Andy's introduction to Kotlin, including information about himself and his experience with Kotlin. It discusses some key features of Kotlin like null safety, smart casts, properties, method extensions, lambda expressions, and dependency injection. The document provides code examples for converting Java code to Kotlin and demonstrates multiple class definitions, data classes, property types, null handling, and other Kotlin syntax. It encourages learning Kotlin by using it directly in projects rather than just reading about it.
This document discusses different types of testing for Android apps including unit tests, integration tests, and UI tests. Unit tests are described as fast, independent, and repeatable but should account for only 10-20% of total tests. Cucumber is introduced as a tool that uses a natural language syntax to write automated tests and documentation for UI tests. The document provides an overview of setting up unit tests with JUnit and UI tests with Cucumber using the Android Studio plugin and Espresso. Sample code and resources are linked for live demos and further information.