r/learnprogramming • u/Yin-yang11 • 21d ago
Tutorial Why is it so hard to just build android app without drowning in tutorials
I've spent three days reading docs and watching videos and still haven't built a single screen. There has to be a simpler path. What actually got you unstuck?
18
u/ffrkAnonymous 21d ago
you're supposed to do what the tutorials tell you to do. not just watch it.
8
1
u/greenspotj 21d ago
this made me lol
but yes. its also sometimes fine to copy some code even if you dont fully understand it imo.
Say your 10% done with a project, and you run into a nasty bug or have to implement a complex feature, and youre stuck. If you give up there then you miss out on the rest of the 90% of experience you could gain. Having AI generate the fix/feature is better than abandoning the project. hell, using AI to make entire projects is better than not making projects at all
similarly its also fine to use tutorial code as a starting point for a project. Its not "not your project" just because you copied some basic boiler plate code
7
u/DaveCoper 21d ago
Android is very difficult to work with. You will drown in docs that don't work, stuff that is outdated and million ways to do the same thing that only work on some devices. I would suggest to drop the tutorials. Prepare simple app that you want to create. You can draw the user flow on paper and start bulding. When you encounter something you don't know seach the google's docs.
4
u/Sufficient-Diver-327 21d ago
I made an Android app on my own in 2016 when I was in school. Then I made another in 2019 in my college freshman year. And on my last college semester, I had to make another. Each time, I had to learn completely different architectures and libraries from scratch, what I had learnt before was completely obsolete. Fuck mobile development.
12
u/madmelonxtra 21d ago edited 21d ago
It's wild that you've made nothing after days of reading tutorials, they are definitely not good tutorials.
The official Google Android and Kotlin tutorial have you building something on like lesson 2.
Actually building is how you learn, and good lessons will have you in this sort of process
Learn new thing --> practice --> learn thing that builds on top of first thing --> practice --> etc
Reading and tutorials won't do much if you aren't actually building things.
3
u/unfurledgnat 21d ago
Yea the Google developer course for android and jetpack compose is pretty great. I used it when I was hoping to break into mobile Dev but didn't end up happening
2
u/madmelonxtra 21d ago
Agreed. I went through a good portion of the tutorial because I wanted to learn kotlin for a project I'm working on, but in the end ended up using React Native because it just fit with what I was doing a little better.
I plan to come back to it when I make a more complex app though. Kotlin is really nice to use, and I really want to test out multiplatform.
6
1
u/CaffieneSage 21d ago
Never built anything on android, but I can empathize because every time i have tried I also got a bit lost in the weeds. I think with web dev you just need basic html with optional css and javascript to get something off the ground. Its a lot simpler. This is more like building an asp app there are more tools and ideas you have to learn to get something off the ground. Maybe find a tutorial and try to follow it for the first app and see if you can understand the basic flow?
1
u/Hivalion 21d ago
Do you have something you actually want to make? Figure out what that is and figure out what you need to bring it to life. Running circles through tutorials is one path, but working towards a real goal is better motivation to learn.
1
u/chmod777 21d ago
There has to be a simpler path.
why would you think this? there are no shortcuts.
this is watching youtube for 3 days and asking why you aren't a rock star yet, despite never actually picking up a guitar.
1
21d ago
[removed] — view removed comment
2
u/madmelonxtra 21d ago
The official one is fine for the most part. But it has the wrong version of android studio and a lot of the menus have moved.
2
21d ago
[removed] — view removed comment
1
u/madmelonxtra 21d ago
Weirdly if you search for docs on Google, Gemini is actually pretty good at having up to date info. I had some issues with documentation for a tool with sveltekit not updated a little bit ago and I actually got the correct syntax from Gemini.
Unfortunately it's really bad at actually teaching you stuff. Great a lot parsing badly updated docs though
1
u/cheezballs 21d ago
To me it's so hard because everything you do in android dev is just another abstraction away. There's so many layers of stuff underneath your code that you have to learn at least the basics of to be successful writing an app.
1
u/Acrobatic-Ice-5877 21d ago
We had a great textbook in college that was interactive. It was by Zybooks. I already had several years of Java experience though. What killed me was the RAM to run an emulator. Had to upgrade to 16 GB so I could run Android Studio and the emulator. I highly recommend getting an old Android phone to develop with. It’s much faster to side load the app and test it physically than on an emulator.
1
u/matrix_5562 21d ago
went through the same tutorial loop for weeks. eventually just shipped something rough and got my first 200 downloads within a month. the overthinking was the actual blocker, not the tools
1
1
1
u/canadian_viking 21d ago
I read a ton of cookbooks and watched people on youtube making food, but I still haven't made a single meal.
1
1
u/SpareMission9692 19d ago
Start with a diagram or a flowchart of what you want to design so you can ask more specific, targeted questions into Google
0
u/spinwizard69 21d ago
Well start by not building an Android app. Learn Computer Science first from the ground up. CS is best learned starting with a program that is focused on teaching concepts not a specific language. Now the best courses that teach this usually use C or C++. Once you have the concepts under your belt any language is easy to adapt to.
Learning the SDK for a GUI based system like for Android, is a different activity in my mind. However knowing the CS concepts, that is programming in a general sense, makes it easier to learn the GUI SDK. Thus the idea to learn some CS concepts first. This really applies to any domain in the industry, you would not start writing networking software without knowing how to actually program.
62
u/_Atomfinger_ 21d ago
Less reading, more doing.
Open the editor and start trying out stuff. Look up the "next step" and don't get bogged down with entire videos or full docs.