Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

General Discussion

Pieter-Andries van der Berg
Pieter-Andries van der Berg
7,468 Points

After sometime in coding.

Hello Community,

I started coding a year ago because I joined a bachelor of science ( Software Development). We started with Java and this program is a bit of learn on your own its not that I go to school everyday.

Well I did courses for java. But now I am stuck. When I did the courses of java ( Here at Treehouse and other websites) I thought yeah this is going the right way , I am picking this up fast.

But now we need to make applications (java) / (android) as an assignment but I really don’t know how to tackle it on my own its like I don’t understand it.

Do you guys and girls have tips for me what to do.

Greets,

A fellow Programmer

4 Answers

Shay Paustovsky
Shay Paustovsky
969 Points

Hi Pieter,

I can imagine what you're feeling at this exact moment and tell me if I'm correct or not: you feel you understand all the concepts of the Java language and you've completed Some or All Java courses on Treehouse but you don't know how to implement what you've learned since everything you've done had been in Workspaces (I'm assuming).

This feeling is completely normal and understandable, my solution for your problem would be:

  1. Begin taking the Android Development courses on Treehouse (Associated with what you've learned)
  2. On the side, in your free-time begin building/thinking of projects you would like to implement/build but! don't jump straight into the IDE, begin with outlaying your project in plain English.

For Example:

  1. I want my program to do : A , B, C (while A , B , C = Features)
  2. My program would solve problems : X, Y

And this while using only a pen & paper / note-taking app and start thinking how can you achieve these goals using Java's core concepts you've learned.

Hopefully I've helped you and solved your problem, If I didn't then I would love to hear from you on how can I help you further.

Best,

Shay Paustovskiy

Pieter-Andries van der Berg
Pieter-Andries van der Berg
7,468 Points

Hey Shay,

Thank you for your comment.

No I did indeed follow the java course on TreeHouse but I followed along in WorkSpace and IntelliJ. So I know the IDEA that is not the problem.

The thinking process is what I find hard. I have this problem how do I fix it, or I want this feature how do I built it.

Like the situation now is to complete my first year I need to create a android app that has the following functionality:

 - Camera Functionality
 - After picture has been taken you can edit it with images stickers etc (a bit like snapchat) 
 - Inserts current date with message Employee of the month : <insert date>

Currently following the android course on TreeHouse, following along I don't have problems with. But after I completed courses doing things alone makes me "frightened" sorta speak, its like that I don't know what to do.

Love coding so far but it is so darn hard.. currently it feels like I need courses to achieve something.

Greetings,

Pieter-Andries

Shay Paustovsky
Shay Paustovsky
969 Points

Hi Pieter,

Unfortunately I don't know a lot of Java as well as Android Development. But what I do know is when you have a problem you can refer to 2 resources :

  1. Treehouse Forums - With your specific problem and what goal you're trying to achieve
  2. Android Dev Documentation.

I cannot stress this enough, as a programmer the documentation is the golden book of answers. If you can read documentation and you understand the syntax of the language in which you're trying to achieve that specific goal, then your'e GOLDEN

To help you out just a bit : Android Camera API

Hope I've helped you

Best,

Shay Paustovskiy

Pieter-Andries van der Berg
Pieter-Andries van der Berg
7,468 Points

Thanks for your help and kind words much appreciated!

Hi Pieter. To add to what Shay has already said, remember that along with the Treehouse forum and the official documentation, you also have:

  • the StackOverflow community
  • Google codelabs
  • numerous tutorials (articles, such as Medium, or YouTube videos)
  • free courses from other MOOC to complete your training

There are plenty of resources out there to help you out.

As I understand, this is your end-of-year project, so don't stress now. Keep it in mind and keep learning. When you revisit it in a few weeks/months, it will make more sense. Just give yourself some time to acquire some skills and keep practicing with small projects. You can't know everything right from the start or you wouldn't be doing a course, you'd be teaching it :) Good luck!

Pieter-Andries van der Berg
Pieter-Andries van der Berg
7,468 Points

Thank you so much yeah a little stressed need to turn it in on 24/02/19 hehe xd still need to start. Luckaly its not a big ass project.

OK. So you still have a little time. Just grab a piece of paper and a pen and draw all the different screens for your app. Create each layout that way on paper (placing the TextViews, ImageViews, Buttons and so on) and also mention the action associated with clicking on a specific view or button. Make note of any intent or data being fetched anywhere. That way you'll have a better vision of your project. Then you can start by building the UI (roughly) and code in java to add features, step by step.

Eric M
Eric M
11,546 Points

Hi Pieter-Andries,

The situation you're in is not uncommon. You've learnt some language skills and tackled very specific problems. I would imagine, that if I asked you to write me a class (or classes) to model a car and its passengers you would be able to produce something. What if I asked you to add a method for adding and removing passengers from the car? We'll need some rules around this of course - how many seats does the car have, can people be added to the trunk, can anyone sit in the driver's seat?

I suspect you could produce me a console app that did all of this.

Often in programming we are faced with challenges we have never seen before. There is a trick to it - you break the problem down into small tasks, then you break those tasks down again into smaller components, and you use the skills you've used to solve other problems previously (and probably learn one or two along the way).

So the car was easy, right? The camera example is not so different.

We need to connect to the andriod API for the camera or gallery and get something back, we need to then add things to what we display to the user, so we need to model those things - stickers and dates.

Start off with placeholders for everything, and write little programs that just solve a simple problem and then stictch them all back together into your solution.

Here's a quick breakdown of one of your requirements into tasks, you might break it down differently and that's fine, this is just how I would approach it:

After a picture is taken, add some stickers

  • Store a picture somewhere (we don't actually have to store a real image, we can just create a dummy class that returns dimensions for the next dotpoint)
  • Get the dimensions of the screen and/or the stored picture - determine the working space for adding stickers
  • What is a sticker? It's probably another image right?
  • Build a dummy library of three "sticker" images, a square, a circle, and a triangle
  • Display a blank screen to the user
  • Add a "sticker" menu to the screen
  • Add our stickers to the sticker menu
  • Allow a sticker to be tapped, making it the active sticker
  • Allow the screen to be tapped, adding a sticker to the working space we determined earlier
  • Allow us to "deselect" the current sticker by tapping on an X or cancel button

There's probably more things you can think of and each of those tasks needs to be broken down further into how you're actually going to build them in code. The next level of breakdown tends to be the instructions you get in a treehouse course. The treehouse exercises don't say "add a menu" they say "We are going to build a menu, create an empty class called "newMenu", now add three menu items" they worry about displaying the menu later on, you need to start somewhere and you need to know where you're going.

I hope I have understood the part you are struggling with and that this helps. Moving from small coding exercises to full blown projects is quite hard the first time, you need to do a different type of problem solving. Feel free to ask any further questions.

Good luck!

Pieter-Andries van der Berg
Pieter-Andries van der Berg
7,468 Points

Thanks this reply makes a lot of sense. Your helping me in a good direction.

To get your understanding of the project:

Stickers are just other images you can lay-over your picture that you have taking like a red nose you can put on or a Hat When you open the app a image of company with a button take a picture. After a picture is taken you see the picture with the text above it Employee of the Month "date" with ability to add stickers. The picture needs to be saved on phone/sdcard after saving a list of all pictures taken previously is shown. This would be a global definition of the app.

Thanks for you help so far ill try my best the thing is i dont know how to start haha and where to start.

Eric M
Eric M
11,546 Points

Start by writing a class for one small thing. Maybe a sticker or whatever is going to generate the date text. Then just keep adding to the project - one tiny piece at a time.