https://github.com/antranapp/14daysofbasicandroidkotlin
Learning basic Android development with Kotlin
https://github.com/antranapp/14daysofbasicandroidkotlin
android beginners-tutorial-series kotlin self-learning
Last synced: about 1 month ago
JSON representation
Learning basic Android development with Kotlin
- Host: GitHub
- URL: https://github.com/antranapp/14daysofbasicandroidkotlin
- Owner: antranapp
- Created: 2020-03-29T08:09:36.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-04-25T21:40:41.000Z (about 6 years ago)
- Last Synced: 2025-05-16T22:34:48.869Z (about 1 year ago)
- Topics: android, beginners-tutorial-series, kotlin, self-learning
- Language: Kotlin
- Homepage:
- Size: 486 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 14 days of Basic Android (Kotlin)
Learning Android and Kotlin by making app everything.
Guarantee you will learn new skills after your 14 days quarantine time because of COVID-19.
## Prerequisite:
- Basic programing skill.
- Basic Kotlin knowledge: [https://blog.teamtreehouse.com/absolute-beginners-guide-kotlin](https://blog.teamtreehouse.com/absolute-beginners-guide-kotlin)
- Basic Object-oriented programming knowledge: Inheritance, Polyphomism etc.
- **Patience**! This is actually very important since you can't learn new things fast and keep them stick without practicing a lot.
## Basic:
### [Day 0: Hello World](https://github.com/antranapp/14DaysOfBasicAndroidKotlin/tree/master/00-HelloWorld)
**What do you learn?**
- Android project Structure.
- Layout the UI widgets in a `ConstraintLayout` using constraint properties.
- Getting text from an `EditText` widget, listen to the click event of an `Button` and display the entered text in a `TextView`.
**How the app looks like?**
**Additional resources**
---
### [Day 1: Layout Explorer](https://github.com/antranapp/14DaysOfBasicAndroidKotlin/tree/master/01-LayoutExplorer)
**What do you learn?**
- Explore some common layout classes in Android:
- LinearLayout (Vertical)
- LinearLayout (Horizontal)
- RelativeLayout
- ConstraintLayout
- FrameLayout
- TableLayout
- Explore the effects of some common properties of the layout classes:
- layout_height, layout_width: wrap_content, match_parent
- padding, margin
- gravity
- layout_gravity
**How the app looks like?**
**Additional resources**
---
### [Day 2: Widget Explorer](https://github.com/antranapp/14DaysOfBasicAndroidKotlin/tree/master/02-WidgetExplorer)
**What do you learn?**
- Explore how to use some common widgets in Android:
- TextView
- Button
- Switch
- Checkbox
- RadioButton + RadioGroup
- ProgressBar
- Spinner
**How the app looks like?**
**Additional resources**
---
### [Day 3: CardView + ScrollView](https://github.com/antranapp/14DaysOfBasicAndroidKotlin/tree/master/03-CardViewLayout)
**What do you learn?**
- Explore `CardView` and `ScrollView` to create a common Android-styled user interface.
**How the app looks like?**
**Additional resources**
---
### [Day 4: Application Lifecycle](https://github.com/antranapp/14DaysOfBasicAndroidKotlin/tree/master/04-AppLifecycle)
**What do you learn?**
- Explore the lifecycle of an Android Application.
**How the app looks like?**
**Additional resources**
### Day 5: ListView
**What do you learn?**
- Explore the `ListView` widget to display a listing of common items, one of the most popular user interface in mobile apps (thinking of Facebook News Feed, Twitter timeline or Instagram feed).
**How the app looks like?**
**Additional resources**
---
### [Day 6: RecyclerView + RecyclerAdapter](https://github.com/antranapp/14DaysOfBasicAndroidKotlin/tree/master/06-RecycleViewRecycleAdapter)
**What do you learn?**
- Explore how to use `RecyclerView` and `RecylcerAdapter` to optimise device resources to display a long list.
**How the app looks like?**
**Additional resources**
---
### [Day 7: Data persistence](https://github.com/antranapp/14DaysOfBasicAndroidKotlin/tree/master/07-DataPersistence)
**What do you learn?**
- Explore how to use `SharedPreferences` to store simple data structures.
**How the app looks like?**
**Additional resources**
---
### [Day 8: Android Database](https://github.com/antranapp/14DaysOfBasicAndroidKotlin/tree/master/08-Database)
**What do you learn?**
- Explore how to use `SQLite` to store more complex data structures and their relationships.
**How the app looks like?**
**Additional resources**
---
### [Day 9: Networking](https://github.com/antranapp/14DaysOfBasicAndroidKotlin/tree/master/09-Networking)
**What do you learn?**
- Explore how to use pure Kotlin function to fetch remote data and display it in the app.
**How the app looks like?**
**Additional resources**
---
### [Day 10: Localization](https://github.com/antranapp/14DaysOfBasicAndroidKotlin/tree/master/10-Localization)
**What do you learn?**
**How the app looks like?**
**Additional resources**
---
### [Day 11: Fragment](https://github.com/antranapp/14DaysOfBasicAndroidKotlin/tree/master/11-FragmentNavigation)
**What do you learn?**
**How the app looks like?**
- Conditionally showing the `LoginFragment` or the `ProfileFragment` in the `MainActivity`
- Navigation from the ProfileFragment to LogoutFragment which has a logout button.
- Logged-In state is saved in SharedPreferences after logging in
- After logging out, users are redirected to the LoginFragment again.
**Additional resources**
---
### [Day 12: Navigation Drawer and Fragment](https://github.com/antranapp/14DaysOfBasicAndroidKotlin/tree/master/12-NavigationView)
**What do you learn?**
**How the app looks like?**
**Additional resources**
---
### [Day 13: Pixabay Photo Gallery](https://github.com/antranapp/14DaysOfBasicAndroidKotlin/tree/master/13-PhotoGallery)
**What do you learn?**
- Navigation Drawer: List, Favorite
- Persistent using `SharedPreferences`
- Infinite scrolling with `RecyclerView` & `RecyclerAdapter`
- Using `Volley` to make network request.
**How the app looks like?**
**Additional resources**
### [Day 14: Kotlin](https://github.com/antranapp/14DaysOfBasicAndroidKotlin/tree/master/14-Kotlin)
## What's next:
- [14 days of Android Architecture](https://github.com/antranapp/14DaysOfAndroidArchitecture)