arsalandywriter.com

The Journey of Coding: My First Android App Experience

Written on

Chapter 1: The Beginning of My Android Adventure

My foray into Android development began in 2015 during a vacation after my first university semester. I envisioned a straightforward application that could automatically respond to messages, adapting to the moods of the recipients to provide authentic replies in real-time.

At that time, keeping track of numerous conversations was quite challenging, making the idea of such a tool immensely appealing.

"This idea was a genuine necessity for me back then."

Section 1.1: The Concept of a Personal Assistant

Android offers a feature known as a Broadcast Receiver, which functions as an event listener. Through extensive online research, I discovered how to capture incoming messages using these receivers and programmatically send replies via intents. Below is a glimpse of the code contained in the MainActivity.java file.

Conceptual representation of a personal assistant app

The logic behind my application was relatively simple, and the thrill of the challenge was exhilarating. Within a month, I had a functioning prototype that operated in the background, executing commands as intended. However, a minor bug caused the user session to revert to the MainActivity screen upon receiving a message, which took me nine months to resolve due to my return to university.

Subsection 1.1.1: Challenges Faced

Several obstacles arose during this project:

  • Rapid Code Changes: Many Android methods become obsolete quickly, necessitating knowledge of frameworks like Flutter, React Native, or Kotlin for native app development.
  • Privacy Issues: There was an insurmountable challenge in programmatically accessing WhatsApp messages. I envisioned expanding the app's capabilities to intercept WhatsApp messages, but the platform's restrictive policies on third-party bots made this impossible. The only workaround was to root my device, a solution fraught with risks and not suitable for scalability.
  • Database Management: While creating programmatic solutions was straightforward with the right logic, I recognized significant gaps in my SQLite knowledge when it came to storing intercepted messages to facilitate conversational flow.

Section 1.2: Database Solutions

I contemplated storing messages externally instead of relying on local storage, which would have posed challenges related to accessing previous messages and permissions.

At one stage, I considered using IBM Watson's dialogue builder as a no-code solution for managing these saved messages. With the emergence of transformers and large language models like ChatGPT, many of the conversational features I initially envisioned are now viable.

Chapter 2: Lessons Learned

Ultimately, I decided not to move forward with the app's only production-ready version, as it faced issues with compliance to Google Console's publishing policies regarding required permissions.

Reflecting on this experience, I learned that perseverance is crucial, especially when pursuing endeavors that can genuinely impact lives, including your own.

Never give up on your dreams; always strive to see them through.

Screenshot of the first successful run of my app

What True A.I. Research is Missing

A discussion on the methodologies in current AI research and the essential advancements needed to achieve generalizable intelligence.

In Software Development - Knowing is Blessing & Ignorance is Bliss

This video explores the complexities and benefits of understanding software development processes, emphasizing the balance between knowledge and simplicity.

From Manual to Automated Testing, Coding Bliss and More

This video delves into the transition from manual testing to automated testing, illustrating the efficiencies and improvements in coding practices.

Share the page:

Twitter Facebook Reddit LinkIn

-----------------------

Recent Post:

Potential Challenges Facing the IT Sector's Stability

This article explores reasons why the IT industry may face instability, including service dependency, employee dissatisfaction, and skill gaps.

Navigating Life's Harsh Realities: 5 Painful Truths for Balance

Discover five challenging truths that, while painful, can lead to a more balanced and fulfilling life.

Future Apple Products: My Wish List for Enhancements

A personal wishlist for future improvements in Apple products, focusing on iPads, iPhones, MacBooks, and peripherals.

Unleashing the Transformative Power of Desire

Explore the incredible impact of desire and belief in achieving your dreams, as shared through a personal journey.

Unlocking Your Running Potential: Kitchen Staples for Performance

Discover how common kitchen ingredients like caffeine, beets, and baking soda can enhance your running performance.

Exploring the Lavish Life of Saudi Arabia's Wealthiest Family

A glimpse into the opulent lifestyle of Saudi Arabia's royal family and the historical roots of their wealth.

Understanding Toxic Behaviors in Daily Life: A Deep Dive

Explore the subtle toxic behaviors that can manifest in our relationships and daily interactions.

Discovering Exceptional Medium Writers: A Weekly Spotlight

Explore three outstanding Medium writers and their impactful articles that shed light on important societal themes.