Hello there,
I am an experienced programmer. I can do C/C++/Rust/assembly/Ruby/Perl/Python/ etc… The language itself is not a barrier.
The barrier to me is that I have never coded a single web or android application. I guess it must be surprising but I am more of a low-level programmer in my job (I develop a compiler backend) and I never really had the opportunity or idea to work on an app.
What would be a good starting point for making an android application?
A quick search got me this: https://google-developer-training.github.io/android-developer-fundamentals-course-concepts-v2/unit-1-get-started/lesson-1-build-your-first-app/1-1-c-your-first-android-app/1-1-c-your-first-android-app.html
Would it be a good starting point?
Side note: my app will not have to interact with any service. If I were to code it as a command-line program, it would not take me more than a day or two. The actual app would involve (for now) no more than a text field, a button, some logic attached to it - the hard part for me being to choose a framework to build it, “upload it” to my phone and use it.
I’m old ahem experienced too and I went from no app development to having a basic native app on my Android phone in a few days with Flutter/dart. The language is easy to pick up, there’s plenty of documentation and it’s pretty polyvalent since it can build for mobile, desktop or web.
First sit down and cry. Then pick yourself up and start following some of the advice here.
Depending upon what you are trying to do, a Progressive Web App (PWA) might be a solution if you don’t mind JavaScript. Avoids a lot of platform learning curve. (But you do end up having to learn HTML and CSS too)
If it’s just for personal use, why not just use Tasker? Judging by what you’ve written, it could be easily done without needing any Android coding experience.
Last android app I created for a personal project I did using Kivy which is a python application framework. I found it nice to be able to develop the app on the desktop and then run on Android. There were enough multi-platform python libraries for things like bluetooth that I was able to even develop that side of things on my desktop development environment as well. This would be the framework I recommend.
Web Apps are also a good choice. I have a couple apps running off my homelab that are just webpages accessible from inside the network and they work well enough on mobile. If you really want to package it there are a couple ways. Not the best use case for you, but might be of interest to the others, I really love Tauri. It is an alternative to electron that focuses on binary size and security. Tauri 1.4 is great for desktop applications. The alpha version of 2.0 supports mobile, however I have yet to write anything for the 2.0 version that hasn’t involved creating a pull request to fix something so… you’ll be in for a treat if you go this route.
As mentioned in thread, several game engines do mobile packaging fairly well. Godot’s android functionality works pretty well. Bevy has limited android support, but the web version functions well enough. I see this as more of a “If you already know a game engine, you might secretly know how to make a mobile app. Don’t learn a game engine just to make a mobile app.”