Skip to main content

2 posts tagged with "GDE"

View All Tags

Β· 5 min read
Emmanuel Muturiaβ„’

Know Your Meme πŸ€£β€‹

Alt text

Welcome & Hello! πŸ«‚β€‹

Alt text

Whoa whoa relax guys. We know that you dearly missed us and we missed you too. Winter Season may have separated us but we are here yet again to occupy your professional lives and help you achieve your goals. Do we even need to tell you how this month is different from the rest? Did you not see our poster? Well, join us in this episode as we uncover what Android254 and Kotlin Kenya have been up to this month. This is Episode #21 of The Kotlin Kenya Newsletter!

Alt text

The Kotlin Bits Challenge πŸ§ β€‹

Alt text

To supercharge our attendees' problem-solving skills, we had them attempt an easy LeetCode problem. If you are up for it, feel free to submit your solution to us and who knows, you just might win a prize...

Asynchronous Programming with Coroutines πŸŒ€β€‹

Alt text

Joining us from the city of Abuja, Michael Obi took the stage (well, screen as it was virtual but you get the idea) and made the audience understand why Asynchronous Programming was important in the first place. Using screenshots from a language that we shall not name, he demonstrated different use cases for Threads within the context (pun intended) of expensive tasks...

The Open Bar Session πŸ’¬β€‹

Alt text

To conclude the meetup, we had an Open Bar session that was kickstarted by Emmanuel Muturiaβ„’ who showed off ArtMaker to the audience and encouraged them to check it out and learn more about the Canvas API in Jetpack Compose. Next, Samuel Juma demonstrated SuperStocks which is a compose multiplatform project that gets Realtime data for the top 10 companies around the world, by market capitalization and was designed to work on Kotlin Multiplatform (KMP), and is of course the new kid in the block of Android App Development (AAD). This was followed by Oscar Karuga who made a comeback by introducing the community members to FeynmanAI which is a powerful command-line tool that leverages the Retrieval-Augmented Generation (RAG) model to interact with local documents. Whether you want to query your documents for specific information or quiz yourself on the contents, FeynmanAi offers an intuitive interface to get answers and enhance your understanding.. Lastly, the attendees were educated on Paystack as a FinTech product and did you know that they were recently acquired by Stripe?

DroidCon Kenya 2024 πŸŽŸοΈβ€‹

Alt text Alt text

Have you still not bought your tickets to the most exciting annual event in the history of Android in Kenya? πŸ€¦β€β™‚οΈ If we said that we had more goodies (and that is a big "If") for the first few buyers then would that motivate you to head over to droidcon.co.ke and get your tickets? There you go then, you sneaky developers. 😏 Head over to droidcon.co.ke and grab your tickets as you never know what awaits you from the 6th to the 8th of November this year... πŸ™ƒ

The Newset GDE in Town πŸ•Ίβ€‹

Alt text

If you have been around for a while, then you will understand that certain things were just a matter of time. What we are about to announce is certainly at the top of the list. Without wasting any time, join us in congratulating The Chief Senior Dishwasher in being officially recognised by Google as a Google Developer Expert (GDE) for Android! Thus, to mark the initiation complete, we officially declare him as The Chief Senior Dishwasher, GDE...

Feature of The Month πŸ™Œβ€‹

ArtMaker πŸŽ¨β€‹

Alt text

Are you interested in learning more about the Canvas API and Custom Drawing in Jetpack Compose? Would you like to unlock the Picasso (not the library) in you programmatically? Look no further as we would like to present to you ArtMaker by Ferdinand Bada, Caleb Langat, and Emmanuel Muturiaβ„’. ArtMaker is a flexible and customisable library that allows users to draw anything they want on screen and has been built fully with Jetpack Compose. It allows drawing through the Canvas, sharing the drawn Bitmap, or programmatically exposing the Bitmap for use in the calling application...

Before You Go... πŸƒβ€β™‚οΈβ€‹

Do you want to have your product (app, article, video, etc) featured in the next episode? Worry not for all you need to do is reach out to us at either Android254 or Kotlin Kenya and include the details of your product. What are you waiting for? Let us get to work, shall we?

Until September πŸ«‚β€‹

It is at this point that we acknowledge our new beginnings and pledge 🀚 to have a transformative 2024. We have journeyed, are journeying, and will still journey with you. Gears are about to be shifted (Tech Bros please calm down) in your favour. If you would like to level up your career in Android, then attending the monthly meetups, building cool stuff in public, and interacting with community members should be a part of your routine. We cannot wait to hear and share your stories. See you in September! πŸ‘‹

Alt text

Credits πŸŽ¬β€‹

1. Newsletter Writing, Editing, and Publishing​

2. Speakers​

3. The KotlinBits Challenge​

4. Announcements​

5. The Open Bar Session​

6. Meetup Host and Sponsor​

7. Newsletter Sponsors​


Β· 5 min read
MamboBryan
SheeWrites

Hey there Droids and Droidettes! You've heard it all, yes? AI, Bard, at this rate we might just be starring in another episode of Love, Death and Robots (Well, especially the Love bit after Jack Siro's confession 😏)

Google I/O Recap​

The Google I/O Recap featured two speakers: Theophillus Kibet and Mambo Bryan. They gave presentations detailing the fresh and new updates made in Android:

Android Highlights​

Theo started off by highlighting the well-recieved Android 14 (Beta Version) which boasts susbstantial improvements, the main one being enhanced Privacy and Security. This was backed up by the Credential Manager which is set to utilise passkeys and passwords for a more security-driven sign in experience. Theo also talked about the latest updates and improvements in Jetpack Compose:

  • Text improvements, mainly the native inclusion of Emojis 😜
  • Flow Layout improvements in both the Row and Column dimensions.
  • Tooling enhancements which has teased the release of several tools, the most notable one being Studio Bot (Take that ChatGPT!)
  • Introduction of Date and Time Pickers in Material Compose as well as Animations in Predictive Navigation.

Theo concluded by outlining and illustrating the newly released features of Google Play including the Update Prompt, Data Deletion (Privacy and Security), Ad Campaigns (Marketing), Inactive Users and Translations (Insights).

Kotlin Updates​

Mambo Bryan lit up Kotlin developers' hearts by announcing the new approach taken to build the latest Kotlin Compiler involving the full adoption of Kotlin as opposed to the 'J' word. He emphasized how Kotlin 2.0 is projected to reduce build and compilation times, thus reiterating Kotlin's agenda of having fun while coding. Mambo discussed the new Kotlin DSL features: Precise code hinting, optional version catalogs integration, more documentation and probably the most important one, real time error handling without need to sync the project (Groovy had it coming). Mambo finalised by announcing the importance of using KSP in future code generation as opposed to KAPT.

Other Business​

As if the talks weren't enough, the speakers joined by Tamre Frank, participated in a AMA (Ask Me Anything) which was moderated by Harun Wangereka who posed them juicy questions from Slido.com to which they heartily answered. BY THE WAY, the call for speakers for the monthly meetups is still on. Interested in giving a talk? Then feel free to submit an abstract of your preferred topic here

May 2023 Kotlin Challenge​

As per the usual we have this month's challenge for those who'd like to test their mettle in the Kotlin language.

info

This month we're giving away two Jetbrains licenses for the first two people to solve this month's challenge

import junit.framework.TestCase.assertEquals
import junit.framework.TestCase.assertTrue

class PrintingScope(val separator: String = "|")

context(PrintingScope)
fun <K, V> Map<K,V>.customPrint(): String = this.map { (k,v) -> "$k:$v" }.joinToString("$separator")

fun main() {
val scope = PrintingScope()
val map = mapOf("a" to 1, "b" to 2, "c" to 3)
assertEquals(
"a:1|b:2|c:3", // expected
evaluate(scope, map) // actual
)
println("Everything Passed!!!")
}

/**
* Without changing anything above
* Write an evaluate function that makes the test case pass
*/

tip

You can start by creating the evaluate function

Droidcon Kenya Updates​

The largest android developer event in Africa has finally announced it's dates. This year droidconke is happening from the 8th to 10th November 2023. Ensure you clear your calendars and also look forward for the Call For Speakers (CFS). Follow DroidconKE here for more future updates. If you'd like to sponsor πŸ’Έ πŸ’Έ this event head over to this page.

KotlinConf'23 Videos​

KotlinConf'23 happened a few months ago and we got a chance to listen to Kotlin updates along with very nice technical sessions. Incase you didn't have the opportunity to livestream it, the recorded sessions have been uploaded on YouTube and you can watch them. Click here for more.

Saving The Best For Last πŸŽ‰β€‹

And this last one is truly the best news. We'd like to congratulate πŸŽ‰ one of our community members Beatrice Kinya on becoming an Android GDE (Google Developer Expert) 🀩. We're looking forward to more amazing contributions... πŸŽ‰ You can also join us in congratulating her here. πŸ₯³πŸ₯³πŸ₯³

ARTICLES
An In-depth overview of Android's Recyclerview - with Example
Animating Content Size in Compose
Firebase in Jetpack Compose (Authentication & Adding Data To Cloud Firestore)
Android Development with Jetpack Compose: The Future of Android UI Development
Custom Theming in Jetpack Compose
Exploring Kotlin's Abstract Classes and Specialized Class Types
HTTP Requests in Android (Behind The Scenes)
REPOSITORIES
ML Kit Sample
Gamepedia
CookIt
Simple TODO List Ktor Backend
OnBoarding
VIDEOS
Migrating to Kotlin Scripts and Version Catalog
Error Handling and Unit Testing: MVI Compose Weather App
Apps
Palette Lab

You can also suggest any article, library, video or podcast for upcoming newsletters. Click here to submit!

That's it folks till next time, happy coding & HAVE A NICE KOTLIN!