This year has been one of most challenging year for me. I have faced more failures this year. It has been a year of realisation for me. I realised multi-tasking never works (I was overconfident about my ability and took too many projects and couldn’t deliver even a single project, had to pay the price for it).

I learned everything through video tutorials all these years, finally realised the importance of reading books. It has been a year of reading and writing for me. Read around 20 books and reviewed two books and wrote a book.

Best things happened for me:

  • 👪 Became a father.

I have seen lots of people converting their tests to Kotlin and then converting other module, But there is no such rule, pick any random file and convert it, check if everything is working as before.

Steps to Convert

Once you know basics of Kotlin

  1. Convert files, one by one, via “⌥⇧⌘K”, make sure tests still pass.
  2. Go over the Kotlin files and make them more idiomatic.
  3. Repeat step 2 until you convert all the files.

Common issues while converting Android App to Kotlin

  • TypeCasting for the sake of Interoperability.
  • Companion will add extra layer.
  • If java method starting with getX(), converter looks for property with the name X.
  • Generics are…

Today we are introducing AndroidStarters, boilerplate for your next Android project, made simple. Handcrafted starter projects from the community, optimised for simplicity and ease of use.

Why was this developed?

I used to be a freelance Android Developer where I worked on new projects every two months. I followed the same architecture for all my projects. Every time I started on a new one, it would easily take 2–4 weeks for configuring various libraries, developing, debugging and hacking.

With every project, I had to go through the same steps of setting up everything again and again. …

Overarching Principles

  • Care about quality. Care about code quality, design quality, and user experience. Strive for excellence.
  • Lets build something that we can be truly proud of. A product that gives us a great reputation.
  • Readability and maintainability are of primary importance. Don’t be clever, instead be clear. Don’t be sloppy.
  • Use source-level comments generously to document the design. Comment each class, method, and “logical steps” within methods. What you are striving to document is the “Why?” and “How?” questions.
  • Test early, test often.
  • Thou shall not make hard to use classes/modules. Pull complexity into a class, rather than pushing it onto…

Android has a very odd lifecycle for apps, activities, and fragments. Its well defined, but odd.

First Thing to Understand

  • When an activity is stopped it also stops its fragments.
  • Activities that are NOT on the top of the back-stack (invisible to the user), can be destroyed at any time. This includes the top-most activity if the app is in the background.
  • When an activity is destroyed it also destroys its fragments, including ones that were marked with setRetainInstance(true) .
  • After destruction Android will auto create an activity as needed.
  • When auto-created, an activity also auto creates and attaches all added fragments.

There is an ongoing debate about how best to design software and how to communicate it to others. Through my career I’ve taken different approaches.

  • Trying to make the best of things when the rest of the team wasn’t interested in doing good design and instead, just hack code together.
  • Designing very detailed design docs with lots of UML and details — to the point where you could write code directly from it without thinking.
  • White-boarding out the high-level design and then figuring out the details as the code is written.
  • Designing the code iteratively, rapid prototyping, and alike.
  • Other…

Ravindra Kumar

Founder @FrontierWallet, Smart Contract Developer, Full Stack Mobile Developer, Speaker, Open source junkie

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store