🧠Objective: Learn Kotlin by creating apps
🤓Help: Android App Development Masterclass using Kotlin
📚Technologies: Kotlin, MaterialUI (& Github)
💻Editor: Android Studio
⌛️Duration: About 4 weeks
► In this post you'll find 4 apps.
► To create these apps I followed the tutorial "Android App Development Masterclass using Kotlin" from Udemy, instructed by Tim Buchalka and Jean-Paul Roberts.
► In every application, I tried to learn and create something different. These apps are far from perfect, but it's a sample of my work and learning progress.
► In the future, better apps are going to be added.
1. Calculator App
About the calculator: It is a very basic calculator where you enter numbers using the apps buttons. It performs the calculation when any of the operation keys are pressed (plus, minus, multiple and divide). It works both in landscape and in portrait view.
I worked with:
Group widgets, to see how I can do things like constraining them to be positioned as a group, as well as common properties for multiple widgets at the same time.
OnClickListener: so that the same method can be used by multiple buttons
2. Top 10 Downloader
About the To 10 Calculator app: You can find the top 10 most famous apps currently on app store! Or you can see the same list with 25 results and even change it to show songs, paid, or free apps.
I worked with:
Downloading data over the internet, running task in the background using AsyncTask (which although in java works well in kotlin it is not recommended)
Parsing XML to extract data from a download feed
The list ListView widget for displaying a scrollable list of items (which is not a very modern method, but for simple projects, it works fine)
Adapters for providing data to ListViews
Creating a menu/sub-menu for the app
3. Simple YouTube Player
About the simple youtube player: With this app you can see a particular video or a playlist from youtube. There are also small hints while the actions that are being performed, such as "video paused" or "video stopped".
I worked with:
- Youtube android player API and Google API key
- Adding widgets dynamically
- Intents
4. Flickr Browser
About the Flickr browser: It allows us to query and download a list of recent photos from the hugely popular Flickr website.
I worked with:
- Material Design: Google introduced material design in android5, Lillipop (API 21) to encourage good design and allow a consistent user experience across different platforms and device sizes
- Making an app compatible with previous versions
- Downloading JSON data from the web (using AsuncTask)
- Callback functions and interfaces
- RecyclerView and RecyclerViewAdapter (which like a younger brother of the ListView)
- Listening for taps on a RecyclerView, and the purpose of a GestureDetector
- Themes and styles, and a look at how they work for different versions of Android
- Searching with multiple tags
Thank you for reading, feel free to comment :)
👋Hello, I' m Eleftheria, an app developer, master student, freelancer, public speaker, and chocolate lover.
🍩Would you care about buying me a coffee? You can do it here: paypal.me/eleftheriabatsou but If you can't that's ok too!
Top comments (6)
Hi Pavel,
I don't use virtualization at all.
I connect a physical device (a.k.a my phone) and test only with that.
I think if you want to use the visualization you could go to BIOS and enable the virtualization from there. It will make your machine more powerful but yet again not "strong" enough... (at least that works for Windows)
Hey! Great job starting with Kotlin. Here are some actual topics you may be interested:
Also if you want to learn about testing with Kotlin you can check my blog post about it here. dev.to/codingpizza/what-is-a-unit-...
Here are some resources from youtube:
youtube.com/channel/UCVysWoMPvvHQM...
youtube.com/channel/UCoNZZLhPuuRte...
If you have any question feel free to ask! :D
That s amazing, thanks! I ll definitely check your tips and suggestions 😊
I also need to learn Kotlin!!
Nice work.
How about giving Flutter a try?
I m learning Kotlin because I'll need it for my work...
(If I had more free time maybe I'd go with Flutter as well)