Just starting Android Studio, I need guidance - android

I just decided today that I wanted to make a gallery app for my phone, pretty much just combine several features I like from different apps I've tried into one, perfect app, for me. The problem however is that although I know some java, took Programming 1 & 2 and currently taking AP Computer Science in high school, I have no idea where to begin. I roughly know and even less so understand the layout of Android Studio, but I can get by. I need help finding useful resources online to help me learn or even someone who is able to answer the probably many questions I have. I've watched some youtube videos and tried reading some tutorials but I haven't found anything that clears things up for me. I will ask a few questions now:
1.) I have no idea where to start or what to use to get the app to show images from device storage and micro sd card in a grid view. I have read things about using the RecyclerView to not use as much resources, and also something about Glide for better performance(I think thats what both those do, if I understand correctly) but I have no idea what to do with either or even how to use either.
2.) In the xml design portion I'm not good at navigating everything and understanding what I should use for what. I can make a good design in photoshop or other programs but I'm not sure how to actually take that vision and translate it into working pieces.
3.) Pretty much I just need help and will probably think of more questions as someone tries to answer those.
Thanks!

There are lots of good, free tutorials on the net. For example on the official Android Developer site: https://developer.android.com/training/index.html
- where you can find a lot of useful example code snippets, but there are other sites also - https://www.tutorialspoint.com/android/index.htm . It starts with the very basics and has lots of examples too.
Other non-free tutorials can be found at
udacity.com - Android Developer Nanodegree by Google
udemy.com
To reach data from your device storage or from your micro SD card you have to understand the principle working of content providers.
I do not recommend Recycle View, when you are a beginner, because it is a more complex thing than a List View (or Grid View). Start with these and then upgrade.
Glide is cool thing, because it saves you from a lot of useless coding and easy to use. On their GitHub page you find detailed instructions how to import it to your project - I recommend Gradle - and how to use it.
In my point of view, start reading one of the free sites patiently and than you are going to get answer for your questions, but it is very important to understand the basics.
I hope I helped! Sorry for my bad English, I used it a long time ago.

Related

Flutter / App development beginner seeking wisdom, general direction

I am a student working on a senior project. It will be a very simple android app to organize karaoke. We are using Flutter for the front-end work.
My education has been in Java, but this is my first time working with Dart/Flutter, let alone on a smartphone app. I have gone through Get Started (https://flutter.io/get-started/), as well as 2-3 step-by-step youtube tutorials that help you build very simple apps from scratch. These have been helpful, but I'm still having trouble wrapping my head around the organization of a Flutter app. All tutorials say "everything is a widget", as if that should make things simple. And maybe it does in the end. But I end up with so many widgets, and I am getting confused about what widget should be inside what other widget and why.
Take a look at this picture (in the middle of the picture I have the widget-tree on display). I have a stack, two columns, scaffold, container, etc. Do I really need all of those? Is this normal for a simple login page?
What helped you get a grip on Flutter? Or maybe it is app development, rather, that I am having trouble understanding. Regardless, I am getting a bit discouraged. Any advice? Maybe there is a particular tutorial that helped you a lot?
Thank you for any help.
I like to learn by downloading and running examples from the developers (like these ones in their GitHub repo).
One thing I struggled with at first too from the whole "everything is a widget" idea was figuring out how to handle state / data changes appropriately. If you're struggling with that, this Google I/O video does a great job showing how you can better architect an app in regard to handling state in a reactive way. A bit more advanced, but from beginning to end they go from their opinion on the worst way to handle state changes to their recommended way(s).

Modeling a mobile app: How to go from the idea and design to classes and objects

I'm trying to develop my own application, I'm not too bad with code (Java, Objectif C...) nor design (Photoshop, illustrator... ).
But I always have the same problem, I never know how to go from my app Sketch and Storyboard to defining my objects and classes in code. It just makes a huge mess in my head.
I tried looking around but all the sites I can find describe the processus as Having an idea, creating a design, a storyboard, coding your app, publishing and marketing. But none explain how to go from the said storybord to the code or architectures of your code, thus not solving my problem.
As time passes it gets more annoying, I feel stuck :/.
Can you help me with any leads ?
Pretty please with the sugar on top :)
Much insight and understanding can be gained from Apple Worldwide Developers Conference (WWDC) videos.
Designing Great Apps highlights some videos and guides that may be helpful.
Designing Intuitive User Experiences. Learn about the key concepts and principles that will enable you to make your app more intuitive and approachable.
While one specific video may not cover all the practices you're looking to understand, the principles and recommendations that they present will set you on the right path, and bring you closer to your goal.
If you're not sure what videos to watch, try ASCIIwwdc to search session content.

Starting point for app creating, where to start

I am looking to start writing apps for mobile devices. I know a little about this subjec, and I am proficient in both java and python. However, before jumping into creating apps I wanted to get the community's input on a question I have not yet found the answer to:
How/Where should I begin?
I understand this question is fairly general/basic for a community that focuses on solving/debugging complex programs, but if there is a recommended tutorial (or specific platform) that will help a beginner(such as myself), it would greatly reduce the frustration and amount of monotonous questions asked on this forum and others.
Regards
Coursera is offering 3 courses all using android development which started last week. That would be an excellent starting point for anyone:
https://www.coursera.org/specialization/mobilecloudcomputing/2
How/Where should I begin?
I don't know about you, but I often learn by example more than reading. You mentioned that you're proficient in java so thats a great start. After you understand the Android SDK it's really only the UI good practices you need to learn. So here's my suggestion.
Start off with something super simple. Let's say, create your own version of a calculator. Something that can add, subtract, multiply, and divide. This should be dirty, ugly, but works correctly.
After doing this, take a look at some other android calculators on the play store. Check out Simple Loan Calculator. I use this example because it offers a lot of android UI components. ViewPager, ActionBar, etc. Download this app, take a look at it, and try to mimic it. This should provide an idea on how to work with the android UI components.
What's next? After you have done these two apps you should be relatively ready to tackle your own project.
HTML apps are easy to port across multiple mobile platforms. I have set up an Android HTML template as a starting point. You can just import this project into Eclipse and take a look at that.
https://github.com/jakewp11/HTML5_Android_Template
Here is my experience for ios,
There are three things that I consider as pillars
Objective C
Memory managment
Design patterns
The first one looks obvious but I'd stress on learning concepts like protocols, categories, extensions. As a beginner I thought that learning the syntax was enough, but time and again I had to jump back to the language concepts to understand what's going.
The memory managment , the most talked and confusing subject and now since we have automatic referenc counting to make things simpler and often new Dev skips learning memory concepts (I did it). So I suggest you to have an idea what actually happens under the hood of arc " the manual memory managment"
The design patters,
When I started off , to pass data and control , what I used to do was achieve every thing through the only design patten I knew (target action) . I lack the knowledge of design patters didn't how easily I could achive better results with less code.
Some resources:
Dev.apple.com
http://www.raywenderlich.com (one of my best tutorials are here, you can find one on design patterns)
http://rypress.com/tutorials/objective-c/
And yes , the sample projects at Dev.apple are the best tutors.

Where to find Android Development Homework Problems

Ok so I am starting off with android development and I have found a bunch of useful tutorials so I am set there. What I am looking for is a resource that provides homework style problems to do and has the answers downloadable so I can check my solution against the "official" solution.
So for example instead of the notepad tutorial it would be: "Build an application that you can create, edit, delete notes, ...etc.". Ideally the "official" solution would have some explanation as to why they built it the way they did. (so a tutorial at the tail end)
Anyone know of any resources that provide their tutorials in this format?
Thanks.
Okay, here's one: build me an app that allows the user to make, modify, and store notes. The 'official' answer is the Notepad app in the 9th level of the api. (Note that this is different from the notepad tutorial).
The point is that asking questions is easy, the harder part is actually making a program that does the job. And #Roflecoptr is right, at this level it can be implemented very differently. But if you want that mindset, you can write your own 'homework' easily. Just think up a few things you want that are simple, build it, does it do what you want well? Then you pass.
Despite for very trivial problems I dont think this is possible, because there are way to much possible implementation possibilites so that you can't compare your solution to the "official" solution.
But why do you need something like that? If you want to learn to program on Android, you can just follow some tutorials you've already found and then modify them, adapt them to your needs. When you get more used to the development of Android apps you can just get some ideas on tutorials/android development sites and then implement your own solution. There is plenty of help available here on SO and on other development sites, which will help you if you really get stuck.
You could always go to the Android Samples page, and without looking at their implementations, do your own and compare. The samples page is here:
http://developer.android.com/resources/samples/index.html

Quick access to Android for a third person

Recently I was asked if I could help someone to get quick-started to android programming.
What would you suggest to tell this person?
Would you explain everything by hand or just refer to external links?
Which ressources would you recommend?
This whole issue should not take too much time...assuming 2-3 hours
Once my access to this issue was "Professional android application development".
Java basics are already preconditioned, so there's no need to explain ANYTHING.
For avoiding any misconceptions: This shall be just a quick start, no reference or something like this, so I just need some keywords and a hint how deeply go through it.
In my opinion, everything you really need is here: http://developer.android.com/index.html
All the downloads are easily accessible, the API reference is there, and the Dev guide is pretty well done.
This page has a getting started "Hello World" type tutorial that should work for your quick start: http://developer.android.com/guide/tutorials/hello-world.html
As far as your 2-3 hours goes. I would walk them through the hello world tutorial first as it gives a quick and dirty overview of the most important basics such as getting a project created and a virtual device up and running to test with. It will also start getting into installing and debugging.
That shouldn't take up all of your time so you may want to go into some basics of building a UI and concepts like Activities and Intents. Pointing out the API reference would be great at this point as well. I suspect that most of that 2-3 hours would be up if you get into any sort of detail on these.
Well you already mentioned a book in your question, so I would like to throw out http://commonsware.com/Android/ .
I've been working on an Android project for school, and I still have A LOT to learn, I dont think you can cover much in 2-3 hours. But anyway, with the above book, you can find an example that is similar to what your trying to accomplish(or go over), then look through the source code and what-not.
Aside from the Android Dev. website, the $40 collection of ebooks is the single best resource I have found to date other than Google searched or examples specific to my project.
Sorry if this doesnt really help your cause, but I figured it was worth pointing out.

Categories

Resources