I start by listing the data I will need to track, wire-frame sketch some screens for entry and management. This will get me a picture of what data I will need, I want to do with it, and what tools I need to look for. (Since you are aiming for mobile, it might be good to imagine with a phone in your hand and think how would I get X entered on this device and then do Y?)
Next, I would get an initial database up and running sorting out my data elements into relatable tables as needed, then get a few sample records input as a test (maybe even straight from the DB command line - if the entry is going to be complex, at least you will have something to work with as you jump around getting stuff figured out.)
Next start work on better entry (if entry is cumbersome), also reporting, etc...
That's the start, you know what you want as the result... how to get the data where you need it and how to make value from it, one bit at a time, don't be afraid to re-do/refactor as you get things figured out.
Here is a list of android codelabs https://codelabs.developers.google.com/?cat=Android
You can start with android fundamentals which will give you the necessary knowledge in building a shopping list app.
https://codelabs.developers.google.com/codelabs/android-trai...
For shopping list app, you probably need a database, so you could try this code lab
https://codelabs.developers.google.com/codelabs/android-room... (Link for Java, they've a Kotlin version as well)
If you are looking for cross platform development, you may want to try out flutter. https://flutter.dev/
There is a tutorial on using flutter on HN frontpage, I haven't tried it though. https://news.ycombinator.com/item?id=22454115
As for are there better tools, I don't know what your needs are. Is this for fun? Do you have a budget? Are you doing this for resume building? It's not a question of what's "best", but rather what's best for your needs.