• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Should I give up? :(

Just a screenshot of the To-do list app. Please, give me feedback. If it's ugly, tell me. Explain to me what you don't like/do like. Again, this is my first serious app. I'm not a UI expert. In fact, I suck at it. Just want to see what other people see from their perspective. The app is fully functional. This isn't just the design. It has notification features etc.

I appreciate everyone for giving me advice and being uplifting. Really means a lot.

qBzqnsE.png


I apologize about the size. Not sure why it's so big...

Overall it looks good to me. I agree with LV426 that a good design is a minimal design. Which is the challenge. It's always easier to add to much.

What I usually do is try to find an app similar to what I'm trying to do that I like the design of to get inspiration. You can use uiautomatorviewer to see the layout of any app running on your phone, so you can see the structure of the UI in another app.

Sorry for recommending yet another tool but it's actually really good to know about. ;) Not only for seeing the UI of other apps but also when it doesn't behave as you would expect in your own.
 
Edit: Was meant a repl to "What do you mean by "cleanly"? Just interested.", clicked the wrong button.

I mean things like:
  • Everything requires a Context, which makes it very easy to leak memory. Also there are several types of Context with different scope, if you use an Application Context when you're supposed to use an Activity Context you might hold to a reference indefinitely, but it's hard to know because they're both just exposed as Contexts
  • When you start out you usually put too much code in your Activity and mix all sorts of layers which makes it very hard to test your app and it easily becomes very hard to maintain
  • Regarding the above point Google didn't use to do enough, in my opinion, to promote what a good architecture should look like. So there are now multitudes of competing architectures, MVP (done in a number of ways), MVVM, VIPER, clean architecture and so on. If you work as an Android developer you might have to learn them all as the project you're working on changes and so does the tech stack it was built with (in my experience, especially for older projects, none of the above)
  • When you later on start using Fragments you'll run into the very complex lifecycle of Fragments, with weird crashes when the app enters an invalid state. So you need to add all kinds of checks to stop it, which creates noise in your code. A better approach might be to not use Fragments, but how is a new developer supposed to know this?
  • Another problem when you start out is that it's hard to know all the implied knowledge you need to know to create clean code. If you don't know about Retrofit for example you might write your own network logic from scratch, which is sure to be a train wreck. Yet Retrofit is not a Google product so it's understandable if some misses it when they start out and do this

    Just some of the things that came to mind, sorry for the long post.

All good points. Yes I'm surprised that Google didn't come up with more guidance on how to create a good architecture for Android applications. It's very easy to end up with a dog's dinner. The templates do go some way to providing a basic architectural skeleton.
I've seen it all too often in software systems - people start out with a poor architecture, and things don't really improve once a significant amount of code's added. It's almost impossible to retrofit a better architecture on to an established software system, and it certainly makes things difficult when it comes to testing.
Even many professional developers don't think about writing code from a testing point of view. That's why I'm a keen advocate of test driven development. It makes a lot of sense to me.
 
Overall it looks good to me. I agree with LV426 that a good design is a minimal design. Which is the challenge. It's always easier to add to much.

What I usually do is try to find an app similar to what I'm trying to do that I like the design of to get inspiration. You can use uiautomatorviewer to see the layout of any app running on your phone, so you can see the structure of the UI in another app.

Sorry for recommending yet another tool but it's actually really good to know about. ;) Not only for seeing the UI of other apps but also when it doesn't behave as you would expect in your own.
Thanks a lot! And no, keep giving me recommendations! I like them :)
 
Hey mate! Thanks a lot!

I've used Python in the past. I've created some little GUI applications with it. I've also looked into creating an App before using Kivy. Then, I did a bit of research and found out that if I ever wanted to use things like advertisements, it's not as easy to do so (that's what I've heard. Correct me if I'm wrong). So, I decided to learn Java so I can get the full benefits for android.

Do you use any kind of Python framework? How do you use it in your projects?

Bro I mostly run python in scripts on linux to do things to programs for android LoL

If you want to build real Kool looking stuff, I agree Java is the way to go, tho I'm probably greener in that dept. than U . LoL

of course I believe you can use C++ in android applications also, but I could be Wrong LoL.

Most of my work is devoted to Cracking and exploiting security Measures on android devices, From what I can tell @LV426
Is quite knowledgeable on the subject tho and A nice enough guy He'd help you along I'm sure.

hope this finds you in better spirits My friend

Astr4y4L
 
As an advice you should google minimal app images then you figma and draw what you think you would like as a user then you think of animations and make it with after effects the you almost done just grab images from figma and grab json animation files and open android studio change all svg to xml and compile lottie animations and just position the item inject the data and you have a good looking application as easy as possible for free.
Here is my app that i used these steps in have a look
https://play.google.com/store/apps/details?id=com.qren&hl=en
 
Back
Top Bottom