This repository contains the source code for the sample apps in Kotlin , published by the Google Developer Training Team. These apps are also built in codelabs. See Android Training.
- New to Programming Track- https://developer.android.com/courses/android-basics-kotlin/course
- Prior Programming Experience Track - https://developer.android.com/courses/kotlin-fundamentals/course
Practice Kotlin :
- Kotlin Playground - https://play.kotlinlang.org/
- Kotlin Koans - https://play.kotlinlang.org/koans/overview
Documentation
- Official Android Developers Site: developer.android.com
- Learn Kotlin By Example
- Kotlin Vocabulary series
- Subscribe to the Android Developer Newsletter
The samples, along with the course, assume basic competence in software design and development, as well as some background in computer science.
Specifically, to get started you need:
- Familiarity with the general software development process for object-oriented applications using an IDE (Integrated Development Environment).
- Familiarity with the Kotlin programming language.
Android Studio download page for details.
- Install Android Studio, if you don't already have it. (If you are just starting the course, you will be guided through this process.)
- Download the sample app.
- Open the sample into Android Studio.
- Build and run the sample. You may need to update gradle and library versions. Follow the guidance provided by Android Studio.
- Open Local Disk (C:) --> Open User Folder --> Open Folder with name as current user --> Open Folder named "AndroidStudioProjects"
- Paste the extracted folder in it.
DiceRollerFinal -- Android Kotlin Fundamentals: 01.2 Basic app anatomy
DiceRollerFinal-challenge -- Android Kotlin Fundamentals: 01.3 Image resources and compatibility
AboutMeInteractive -- Android Kotlin Fundamentals: 02.2 Add user interactivity
AboutMeDataBinding -- Android Kotlin Fundamentals: 02.4 Data binding basics
AndroidTriviaFragment -- Android Kotlin Fundamentals: 03.1 Create a fragment
AndroidTriviaNavigation -- Android Kotlin Fundamentals: 03.2 Define navigation paths
AndroidTrivia -- Android Kotlin Fundamentals: 03.3 Start an external Activity
DessertClickerLogs -- Android Kotlin Fundamentals: 04.1 Lifecycles and logging
DessertClickerFinal -- Android Kotlin Fundamentals: 04.2 Complex Lifecycle Situations
GuessTheWordDataBinding -- Android Kotlin Fundamentals: 05.1 Data binding with ViewModel and LiveData
GuessTheWordLiveData -- Android Kotlin Fundamentals: 05.2 LiveData and LiveData observers
GuessTheWordLiveData -- Android Kotlin Fundamentals: 05.3 ViewModel
GuessTheWordTransformation -- Android Kotlin Fundamentals: 5.4 LiveData transformations
TrackMySleepQualityRoomAndTesting -- Android Kotlin Fundamentals: 06.1 Create a Room Database
TrackMySleepQualityCoroutines -- Android Kotlin Fundamentals: 06.2 Coroutines and Room
TrackMySleepQualityFinal -- Android Kotlin Fundamentals: 06.3 Use LiveData to control button states
RecyclerViewFundamentals -- Android Kotlin Fundamentals: 07.1 RecyclerView fundamentals
RecyclerViewDiffUtilDataBinding-- Android Kotlin Fundamentals: 07.2 DiffUtil and data binding with RecyclerView
RecyclerViewGridLayout -- Android Kotlin Fundamentals: 07.3 GridLayout with RecyclerView
RecyclerViewClickHandler -- Android Kotlin Fundamentals: 07.4 Interacting with RecyclerView items
RecyclerViewHeaders -- Android Kotlin Fundamentals: 07.5 Headers in RecyclerView
MarsRealEstateNetwork -- Android Kotlin Fundamentals: 08.1 & 08.2 Loading and displaying images from the internet
MarsRealEstateFinal -- Android Kotlin Fundamentals: 08.3 Filtering and detail views with internet data
DevBytesRepository -- Android Kotlin Fundamentals: 09.1 Repository
DevBytesWorkManager -- Android Kotlin Fundamentals: 09.2 WorkManager
GDGFinderStyles -- Kotlin Android Fundamentals: 10.1 Styles and themes
GDGFinderMaterial -- Kotlin Android Fundamentals: 10.2 Material Design, dimens, and colors
GDGFinderFinal -- Kotlin Android Fundamentals: 10.3 Design for everyone
Copyright 2018 Google, Inc.
All image and audio files (including *.png, *.jpg, *.svg, *.mp3, *.wav and *.ogg) are licensed under the CC BY 4.0 license. All other files are licensed under the Apache 2 license.
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the LICENSE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.