Related
im a noob to programming and since school is now over i would like to get started with some android dev. But first want to learn a Computer language, which one would be ideal for Android Dev?
It's not hard at all I don't know any languages and I made my own rom I have advanced knowledge in cmd though, but I guess if you had to pick on I see a lot of XML documents so try that.
c++ hands down.
EDIT:
Wait didn't read all of your post.
Android apps are written in Java...end of story.
There is a MonoDev thingy somewhere that lets you write in C# and convert...but I am not sure how well that will work.
To get started in programming and actually have a comprehension of what you are doing. c++ and console apps.
You can't do GUI until you understand what is going on in the background.
EDIT #2:
Beers are getting to me, and I am gettin lng winded.:
Google Dev site has a VERY good tutorial on setting up Eclipse (The prefered Android Dev IDE) and also some decent tutorials on writing an app.
Hello World doesn;t count in Android, Elcipse write the whole dam program for you by detalt.
english ftw
Kcarpenter said:
c++ hands down.
EDIT:
Wait didn't read all of your post.
Android apps are written in Java...end of story.
There is a MonoDev thingy somewhere that lets you write in C# and convert...but I am not sure how well that will work.
To get started in programming and actually have a comprehension of what you are doing. c++ and console apps.
You can't do GUI until you understand what is going on in the background.
EDIT #2:
Beers are getting to me, and I am gettin lng winded.:
Google Dev site has a VERY good tutorial on setting up Eclipse (The prefered Android Dev IDE) and also some decent tutorials on writing an app.
Hello World doesn;t count in Android, Elcipse write the whole dam program for you by detalt.
Click to expand...
Click to collapse
ok so java is the way to go, then from there learn c++ ??
did not know that google mobile apps where created using JAVA.
cool...
Kcarpenter said:
c++ hands down.
EDIT:
Wait didn't read all of your post.
Android apps are written in Java...end of story.
There is a MonoDev thingy somewhere that lets you write in C# and convert...but I am not sure how well that will work.
To get started in programming and actually have a comprehension of what you are doing. c++ and console apps.
You can't do GUI until you understand what is going on in the background.
EDIT #2:
Beers are getting to me, and I am gettin lng winded.:
Google Dev site has a VERY good tutorial on setting up Eclipse (The prefered Android Dev IDE) and also some decent tutorials on writing an app.
Hello World doesn;t count in Android, Elcipse write the whole dam program for you by detalt.
Click to expand...
Click to collapse
Julianmgn said:
ok so java is the way to go, then from there learn c++ ??
Click to expand...
Click to collapse
C++ should be anyones first language. It forces you to use your head and the compiler does very litte for you.
If you don't have any care to do any other type of programming your life..or make a career out of it...sure just learn Java...
Theory works the same for all languages...but C++ forces you to be a [email protected] Very unforgiving...more forgiving than plain C...but still.
Kcarpenter said:
C++ should be anyones first language. It forces you to use your head and the compiler does very litte for you.
If you don't have any care to do any other type of programming your life..or make a career out of it...sure just learn Java...
Theory works the same for all languages...but C++ forces you to be a [email protected] Very unforgiving...more forgiving than plain C...but still.
Click to expand...
Click to collapse
thank you sir you've been most helpful and i do plan on making a career out of this...i just wanted to know what i should start with to put my foot through the door...thanks
Kcarpenter said:
C++ should be anyones first language. It forces you to use your head and the compiler does very litte for you.
If you don't have any care to do any other type of programming your life..or make a career out of it...sure just learn Java...
Theory works the same for all languages...but C++ forces you to be a [email protected] Very unforgiving...more forgiving than plain C...but still.
Click to expand...
Click to collapse
Completely agree. My first formal language was C, then C++. Do object oriented C++ first, because it will make you appreciate Java. I am a Java/J2EE dev, but my data structures class was in OO C++ and I am thankful for every day I can write Java and not have to worry about pointers, memory allocation and segmentation faults. I have done some embedded C, which is the other end of the spectrum cause you are doing everything by direct addressing of memory, which is also kinda fun.
If you want to go straight into Android development, than yes you can make the jump to Java, and the SDK does allow for both XML based UI design, and Swing-like. Just make sure you read up on garbage collection within the JRE(Make sure you understand what weak and soft referances are) and also there are some talks from Google IO in the past years that touch on some good practices.
BTW, XML is not a programming language, it is a markup language. It is most commonly used in serializing data, mostly because it too is object oriented. One alternative to XML that is becoming more popular due to the increasing amount of AJAX applications is JSON. Also, if you do any XML parsing, make sure you know the difference between a DOM based parser(JDOM) and an event-based parser(SAX), using the right one can drastically increase performance.
lineman78 said:
Completely agree. My first formal language was C, then C++. Do object oriented C++ first, because it will make you appreciate Java. I am a Java/J2EE dev, but my data structures class was in OO C++ and I am thankful for every day I can write Java and not have to worry about pointers, memory allocation and segmentation faults. I have done some embedded C, which is the other end of the spectrum cause you are doing everything by direct addressing of memory, which is also kinda fun.
If you want to go straight into Android development, than yes you can make the jump to Java, and the SDK does allow for both XML based UI design, and Swing-like. Just make sure you read up on garbage collection within the JRE(Make sure you understand what weak and soft referances are) and also there are some talks from Google IO in the past years that touch on some good practices.
BTW, XML is not a programming language, it is a markup language. It is most commonly used in serializing data, mostly because it too is object oriented. One alternative to XML that is becoming more popular due to the increasing amount of AJAX applications is JSON. Also, if you do any XML parsing, make sure you know the difference between a DOM based parser(JDOM) and an event-based parser(SAX), using the right one can drastically increase performance.
Click to expand...
Click to collapse
thank you sir's, i will then start on c++ right away lol...well tomorrow haha
yeah cuz this is my career path of choice and i now know how to get started thank u lol
If you wanted to get started in programming apps for Android then you might as well start with Java since that is what it uses and will get you going the quickest.
If programming is something you would like to pursue then I would recommend a slightly different longer route.
First and foremost is stay away from doing anything visual. You want to just program console apps. The visual GUIs come later after you have an understanding of programing and it will only confuse you this early on.
For a complete newbie I would recommend playing around with some form of BASIC. You don't really need to but I feel it helps to start understand the ideas of programming.
From there I would highly recommend regular old C. C code will actually work in C++ but I recommend C so that you stay away from some of the stuff in C++. Mainly the Object Oriented parts of C++.
First you need to learn about data types, variables, arrays, loops, and functions.
After that then I would recommend jumping into C++ for a little bit to program some classes. Just to understand classes a little bit. Then I think move over to Java to start to fully understand object oriented programing and learn more about problem solving, algorithms, recursion.
And then after that... well, by that point you probably will know where you should be headed but it will probably involve going back to c/c++ for some more advanced programing, optimization, a better understanding of how everything works down to the compiler and OS level interprocess communications.
centran said:
If you wanted to get started in programming apps for Android then you might as well start with Java since that is what it uses and will get you going the quickest.
If programming is something you would like to pursue then I would recommend a slightly different longer route.
First and foremost is stay away from doing anything visual. You want to just program console apps. The visual GUIs come later after you have an understanding of programing and it will only confuse you this early on.
For a complete newbie I would recommend playing around with some form of BASIC. You don't really need to but I feel it helps to start understand the ideas of programming.
From there I would highly recommend regular old C. C code will actually work in C++ but I recommend C so that you stay away from some of the stuff in C++. Mainly the Object Oriented parts of C++.
First you need to learn about data types, variables, arrays, loops, and functions.
After that then I would recommend jumping into C++ for a little bit to program some classes. Just to understand classes a little bit. Then I think move over to Java to start to fully understand object oriented programing and learn more about problem solving, algorithms, recursion.
And then after that... well, by that point you probably will know where you should be headed but it will probably involve going back to c/c++ for some more advanced programing, optimization, a better understanding of how everything works down to the compiler and OS level interprocess communications.
Click to expand...
Click to collapse
that makes sense...thank you sir very helpful but do u think it would be ok if i just jump into C then C++
Julianmgn said:
thank you sir's, i will then start on c++ right away lol...well tomorrow haha
yeah cuz this is my career path of choice and i now know how to get started thank u lol
Click to expand...
Click to collapse
Don't bother trying to figure out any of the C++ graphics languages, just do some programs with command line interfaces. I would also suggest that once you figure out the basics that you concentrate on object oriented C++ as it will make for an easier transition to Java, but you should also learn the difference in pass by reference and pass by value, which also involves learning about pointers. Also, learn make early on as it will make compilation easier. The Java equivalent to make is Ant when you get there.
This seems to be an okay book to get you started.
I wouldnt suggest working on all data structures, concentrate on some of the more common ones like linked lists and b-trees. In Java, a lot of these are already implemented, but it is good to know how they work. If you want a real challenge try and do a skip list. It is very difficult, but if implemented correctly you should be able to take a file filled with millions of data points of randomized data, read it in and index it for instantaneous search in under a minute.
Julianmgn said:
that makes sense...thank you sir very helpful but do u think it would be ok if i just jump into C then C++
Click to expand...
Click to collapse
That should be fine. Stick to C to learn the basic stuff and then you can then learn some of the object oriented stuff in C++ like classes. That will help you when you move over to Java. You can then start to learn the more complicated stuff.
Like lineman78 said, Java implements some complicated data structures like stacks and linked lists and a bunch of others. Do not use those! When you are making the leap from C++ to Java you are doing so to learn to code those things for yourself.
Oh, and don't let people put you off to C. If you are sticking to the very basics I feel it is a good way to start. Then after you learn a bunch of stuff you can come back to C to learn some of the harder stuff.
centran said:
That should be fine. Stick to C to learn the basic stuff and then you can then learn some of the object oriented stuff in C++ like classes. That will help you when you move over to Java. You can then start to learn the more complicated stuff.
Like lineman78 said, Java implements some complicated data structures like stacks and linked lists and a bunch of others. Do not use those! When you are making the leap from C++ to Java you are doing so to learn to code those things for yourself.
Oh, and don't let people put you off to C. If you are sticking to the very basics I feel it is a good way to start. Then after you learn a bunch of stuff you can come back to C to learn some of the harder stuff.
Click to expand...
Click to collapse
thank you and to all of u for ur help...C it is then C++ then java lol
These are my sole opinions and no one else's, take this as you will.
With programming, you shouldn't be bound to a specific language when you first begin; rather you want to learn the semantics and syntax of programming. Whether you start with C++, C, or Java shouldn't make too much of a difference, especially since all three languages are essentially all derivatives of each other.
Java is the highest level language and as such is considered to be a standard language all CS/MIS students have to take nowadays. When I was freshmen in college, I started with C++, but the very next semester -- the CS/MIS department said that C++ would stop being offered and that Java would take its place as a beginner level course.
I'm not saying C++ isn't still used to, because that's not even remotely true; however almost all Universities now teach Java as a beginner CS course for new students, mainly because it's a high level language and it allows for students to learn OOP (Object Oriented programming).
Since your end goal is to develop applications for Android, it's probably best you learn Java, since all the Android apps are built using Java and XML.
Your best resource is the Internet.
You can find University Lectures all over the web. The OpenCourseWare project has grown a lot and allows for the entire world to get an education. For FREE. If you don't know it is, you can go HERE to read more. Basically though, it's a collaboration of the top Universities (MIT, Standard, CIT, Harvard, etc) to provide there coursework and almost all classes they offer to the world. These universities record all there lectures and host them either on their sites or on Youtube. They also provide all the materials you'll need to learn alongside everyone else, as if you were in the classroom yourself. You can go at your own pace; stop, rewind, pause the video if you're stuck, and take as long as you want on the assignments. It's a great way to self-teach yourself programming; plus the Internet will most definitely give you the answer to any questions you get stuck on.
I'm currently doing the Beginner Java course that Stanford is offering (as a refresher). The professor that teaches the course is exceptional and you'll see that my sentiment is echoed in the comments section on Youtube. Stanford's way of teaching Java and especially OOP allows new students to slowly, but surely grasp the OOP concepts (as they can be a little difficult to understand at times). You should benefit from this, just make sure you follow through and do it.
Stanford Java Course
Here's a list of other helpful resouces:
Cosmolearning - Intro to CS
All of MIT's CS Lectures
Google Books -- You'll find endless amounts of books, just search the language you want to learn and have a go.
Good luck.
I was a computer science major for one semester. lol. We started with Java.
the CS/MIS department said that C++ would stop being offered and that Java would take its place as a beginner level course.
Click to expand...
Click to collapse
My university started allowing students to use Java, but still taught in Contrast++ after I finished. It is 2 different teaching styles, and I prefer low level first because it makes you think about things that when you go to a high level language like Java become trivial but useful in optimization. Granted, it is a steeper learning curve this way and I can see why someone would argue that starting with a higher level language is a better approach. But there are things a lot of people do wrong in Java because they don't understand the basics. The most common result is a memory leak or concurrent modification exceptions. Personally, my path was TI-83 programming, BASIC, C, PHP, OO C++, Perl, Java, Javascript.
-------------------------------------
Sent via the XDA Tapatalk App
my progrmmaing path was:
C -> C++ -> Java
also learned
vb,Vb.net and C#.net ,Java Script,PHP
I would recommend starting with C++ (with atleast basics )and then switch over to Java.
go to EDUmobile.org. They offer an Android development program for about 200 bucks with certification ath the end. They also offer iphone.
I've come up with an idea for a mobile app that I think people would find useful. Since I have an android phone, I'm going to start there. I'm a C# developer in mostly windows forms and ASP.Net applications. I haven't done much in Java other than what I did in college about 5 years ago. So.. Anyone have an tutorials that can bring a lowly C# developer up to speed in Java / Android development? I did a search on the googlez but I kept getting links for MonoDroid and I don't want to go that route.
http://developer.android.com/resources/tutorials/views/index.html
________________________________
Unrevoked forever
SkyRaider Sense 3.5
Radio 2.15.00.09.01
Thanks. Not quite what I was looking for, but helpful none the less.
java syntax is so similar to c# that you really shouldn't have much problem..
As you're learning the ins and outs of android, I'm sure you'll pick up on the differences between the two languages
As for actually learning the android specific stuff... I don't know
I really prefer learning from videos as opposed to reading
I tried to find some good video tutorials but I couldn't find anyway
there were a few that had one video that was good but that was it(doesn't get you too far)
you might want to check out this site though
http://www.codinggreenrobots.com/
they're going to be broadcasting live workshops on android every other week starting today
I have no idea if they're any good but it looks promising
if you don't mind reading though, there's tons of good books
I read part of "Pro Android" because my work had a copy
it was decent
Hey thanks for that link. I'm going to check them out tonight.
I'm in the same posion as you are, working for webdevleoper for over 10 years. Just did all my stuff in C# but wanted to create an Android app.
The best way to learn is to just mess around. There is no tutorial or page wich compares java syntax to c#. Just start with the same old Hello World, create some click events etc. Start to develop small parts of you applications as practice. Don't start with the complete app design because it will be frustrating.
I've created an app and love building apps in Eclipse because it's quite similar to c#. Although there are some really strange thing happening in Java. For example, there is no Switch for a String value, only int and enum values. From c# point of view you will bump into other strange stuff like that. Accept it, search and learn.
Again, it's not that hard. I think it's harder to understand how Android really works with Intents etc. That's quite hard to learn(for me;-))
Good luck!
Hey, I'll trade you some Android stuff for some .Net stuff. I'm an unemployed programmer and all I see these days is "Wanted...ASP, PHP, .NET, C#, VB, AJAX, SOAP" etc. for jobs. (What the HELL is AJAX and SOAP? rofl )
And I'm old and broke and can't afford to go back to college for even 2 years to get schooled in the "latest and greatest"
Yeah, I know, buy some books and learn it! LOL
Yea, as others have said developer.android.com has really all you need.
Hello. I was wondering how the developers here managed to learn how to code in Java? Im studying a book and trying to get a couple of my friends to learn how to do it also, and was thinking it would be awesome to have the perspective of current developers.
Perhaps a skilled developer could compile a guide as well? I think that might be a bit too much, but I am, too, curious on how to really get started. How about some guidelines on what we should learn and some easy examples to copy for practice?
i would like to learn also... im dying on making my own rom for my sensation
I'm starting to learn to develop apps for android too.
Any ideas for 'simple' apps to write as a starting point. Not after 'original' apps, just something with a use to get started. I'm currently thinking of doing a to-do list kinda app, don't think it would be too complicated and hopefully it'll get me going. Any other ideas? (Purely for my benefit - wouldn't release them or anything)
About 130 hours of college should do it...at least to start with
Sorry, I'm just one of those that believe in formal training. Sure, I can read a book on plumbing and do some tasks around the house. Does that make me a plumber?
It's just not that easy to learn how to write good and I"m talking clean, efficient, bug-free, well documented, easy to maintain (by me or others) code.
Now, don't get your panties in a bunch; it CAN be done. Be prepared for a lot of hours of reading, writing code, debugging code (getting massively frustrated) and then doing it again.
I have 2 degrees in CS, been a professional programmer for 15 years and I'm still learning.
Ok, now that I'm off my soapbox , back to OP. Learn about your variable types: int, float, the String class. Write short, simple programs (enter 2 numbers, add them and display results etc.)
Learn about program flow: sequential statements, if/else, do/while, while/do, for/next constructs.
Learn about your data structures as a program is only as good as how you can store, manipulate, display and save data. Stacks, queues, arrays, vectors, maps, sets, trees, linked lists (single and double). I can not stress enough how important these are
Learn how to get information into a program (user input, database, files) and how to save it...a payroll program isn't much good if you can't save John's last paycheck's data!
Learn by Doing. Thats the best way.
From something awesome
killersnowman said:
Learn by Doing. Thats the best way.
From something awesome
Click to expand...
Click to collapse
This. Doing actual coding on a high level is the best way to get started. Go to the Android SDK site and browse the tutorials. Make small apps that do very basic stuff. Study code, learn what the methods do. As you progress you will better understand how to put stuff together in your head, or on paper and then actually code it.
Look up tutorials for things that you are interested in doing. There is a wealth of knowledge just from Googling basic things. Learning keywords and technical terms (queue, array, etc.) is also helpful when searching for tutorials or help.
Most importantly as killersnowman pointed out, just keep coding when ever you can and you will slowly build up your skills. Taking courses is always a plus.
I am presently looking into courses in my area as well. It has been too long since I have played with code and I really need to start working on my own apps.
I've tried App Inventor, and also I am playing with Basic4Android. My goal is to be able to be able to interface my phone or tablet with robots. Then from there I want to move onto useful apps.
These two places are enough to master app-development on Android:
http://developer.android.com/index.html
And
http://download.oracle.com/javase/tutorial/reallybigindex.html
Please note that there are a lot of concepts in the Java tutorial that aren't applicable for Android. So the chapter "Trail: Learning the Java Language"
is probably enough
But in addition to these places you really should have some kind of fun learning project that really motivates you to learn all this. It is more fun and easier to learn what you actually need for your app.
The best way is to have an idea of what you want to make. Start doing the tutorials and eventually move towards actually implementing your idea. It will act as a good motivator for learning.
Hey guys,
I'm considering taking some classes and reading some books to begin to learn how to program in java. I was trying to think of a metaphor that would allow me to understand how complicated it is... This is the best I came up with
Right now, I feel like a two year old learning english... I can say some words, and I kind of know what they mean.
But what do I have ahead of me.
Is writing a basic program comparable to a two year old writing a 100 page book? 1000 pages?
thanks.
I wouldn't say its comparable to learning to write or speak a new language. Its learning logic, the words we use to describe the logic is really irrelevant to the program. It may enable some functions or make it so our brain can easily recognize patterns but the java language in the end is irrelevant, its the ideas of object oriented programming and logic that our far more important. Java is more of a brush in which you paint with.
It really isn't that hard, just start with the basics.
From something awesome
All I can say is it's similar to any other skills. It will be easy when you always practice.
Sent from my SGH-T959 using XDA App
Its learning logic, the words we use to describe the logic is really irrelevant to the program.
Click to expand...
Click to collapse
I'm not sure how college CS classes are now, but before we ever coded, we took logic, flowcharting, desk-checking, program flow, pseudo code, hierarchy charts and modular programming.
As I've progressed in my career, I've learned probably 7 other languages on top of the C/C++ I first learned. Learning the syntax of a language is somewhat trivial compared to what I stated above and what killer wrote.
For me, it's seeing the program in my head; where I want to go and how to get there.
Rootstonian said:
I'm not sure how college CS classes are now, but before we ever coded, we took logic, flowcharting, desk-checking, program flow, pseudo code, hierarchy charts and modular programming.
As I've progressed in my career, I've learned probably 7 other languages on top of the C/C++ I first learned. Learning the syntax of a language is somewhat trivial compared to what I stated above and what killer wrote.
For me, it's seeing the program in my head; where I want to go and how to get there.
Click to expand...
Click to collapse
I had to take program design, logic, and methodology classes before taking any programming class. Even before HTML. But it really helped. Learning programming logic and learning how a program is developed without being overwhelmed with learning the language as well was quite helpful. Once I got to programming real code, I understood logic(a lot more than I did) and terms. It allowed me to focus on just learning how the language worked. I don't recommend learning Java as your first language. But it was my first. Well, if you don't count HTML/XHTML. I don't. But if you are dedicated and looking to challenge yourself , you can pick it up. Good luck.
-Ken
Sent from my iPhone with the bigger GeeBees.
Ok guys, im currently learning Java and I'm still learning the basics. I'll say I know about 80% of the basics things in Java. I am really desperate to create my own app and then I stumbled upon the 'MIT App Inventor' (MIT AI). Its basically a simiplified way on creating a android app. Just drag and drop things etc. I reckon I can build my app using the MIT AI since a guy controlled his robot using the MIT AI so I see no reason why I wont be able to build my app using the MIT AI.
But if I use the MIT AI, I feel as if I'm going to to the cowards way. Like I'm not going to build my app using Java but just by dragging and dropping things into place. So what do you guys think?
I'll still be learning Java but as of right now, I leaning towards using MIT AI for now but i'll probably have a guilty feeling about it
Yeah, I recommend learning Java. You cannot do everything with the App Inventor. Basic things can be done with the App Inventor, but very complex things cannot.
nikwen said:
Yeah, I recommend learning Java. You cannot do everything with the App Inventor. Basic things can be done with the App Inventor, but very complex things cannot.
Click to expand...
Click to collapse
I guess for the time being I'll use MIT AI since the app I want to create is not that advanced. But there is a feature that I would like to put in my app later on when I learn Java since that feature is WAY TO COMPLICATED for me to put into my app for now...
How long did it take you to learn Java?
EDIT = Damn, just realized that I won't be able to implement the feature to my app later on since I wont be getting the source code for my app...
TwilightLoz said:
I guess for the time being I'll use MIT AI since the app I want to create is not that advanced. But there is a feature that I would like to put in my app later on when I learn Java since that feature is WAY TO COMPLICATED for me to put into my app for now...
How long did it take you to learn Java?
EDIT = Damn, just realized that I won't be able to implement the feature to my app later on since I wont be getting the source code for my app...
Click to expand...
Click to collapse
You've pretty much answered your own question Through my few years in programming, I've come to realize this: the easiest solution is not always the best.
The drag-and-drop programming environments look good on the surface, however as soon as you start implementing and experimenting with complex ideas, they becoming limiting. These type of environments are ideal for those just beginning and with little desire to advance their skills. You, on the other hand, already seem to know a bit about Java and have expressed a desire to learn more - a simple environment will just limit you.
My recommendation? Stick with Java. Start out with a small project like a calculator, and follow some tutorials. After you've grasped the basics, try jumping into a complex project, where you're forced to learn. I can vouch for this, because it's exactly what I did. I started with a few simple Android app and then worked on a bigger project. I googled, used StackOverflow and followed tutorials and learned a lot along the way.
Hope this helped, please feel free to ask anything else!
Yeah, im just self teaching myself Java. I know a basic C++. I dont really want to study computer science in college/university since the fee of the course is so overpriced for the course and to be honest, I see no point in studying it since you can learn off from the internet. Thats just my opinion. I dont really have a problem with people going to university to learn CS but I personally wouldn't.
I'm really just self teaching myself computer science. I know decent knowledge about hardwares in computers. I built my own computer back in '09 and still is running like a pro
The thing that is putting me off from learning any type of computer language is the time it takes to learn... I guess I just gotta be patient and keep learning.
So have you published any apps on the play store?
TwilightLoz said:
Yeah, im just self teaching myself Java. I know a basic C++. I dont really want to study computer science in college/university since the fee of the course is so overpriced for the course and to be honest, I see no point in studying it since you can learn off from the internet. Thats just my opinion. I dont really have a problem with people going to university to learn CS but I personally wouldn't.
I'm really just self teaching myself computer science. I know decent knowledge about hardwares in computers. I built my own computer back in '09 and still is running like a pro
The thing that is putting me off from learning any type of computer language is the time it takes to learn... I guess I just gotta be patient and keep learning.
So have you published any apps on the play store?
Click to expand...
Click to collapse
No, I have got no apps out there, but I want to release one soon.
I learned Java by reading (without testing) the book Head First Java. However, I had some Delphi and Python programming knowledge.
This book is really great. And it is fun to read it.
Learn, that's what it is all about , and it's going to be great fun too
Sent from my HTC Explorer A310e using Tapatalk 2
yep, im just currently following the bucky tutorials (thenewboston.org) right now. Ive actually got that book and read a few chapters. Its a good book but I didn't understand some parts of it. Thats why im going through all the bucky Java tutorials and then going to read the book so I have a full understanding of Java.
TwilightLoz said:
yep, im just currently following the bucky tutorials (thenewboston.org) right now. Ive actually got that book and read a few chapters. Its a good book but I didn't understand some parts of it. Thats why im going through all the bucky Java tutorials and then going to read the book so I have a full understanding of Java.
Click to expand...
Click to collapse
Sounds like a good plan.
Happy coding!
hey there. Im currently having difficulty learning about event handlers. I know what they do but im just confused on how to use them.
This is the framework of a typical '.addItemListener(){}' method:
.addItemListener(
new ItemListener(){
public void itemStateChanged(ItemEvent event){
}
}
);
I dont know what those keywords mean or when to use them. Could someone shine some light on this?
TwilightLoz said:
hey there. Im currently having difficulty learning about event handlers. I know what they do but im just confused on how to use them.
This is the framework of a typical '.addItemListener(){}' method:
.addItemListener(
new ItemListener(){
public void itemStateChanged(ItemEvent event){
}
}
);
I dont know what those keywords mean or when to use them. Could someone shine some light on this?
Click to expand...
Click to collapse
When you programm for computers, you need ItemListeners to get informed when the selected item of a JComboBox changed.
That means that the itemStateChanged method is invoked when the user selects an item.
However, you do not need them when you learn Java for Android. You do not need Swing and AWT at all!
Skip everything related to the UI as it is different for Android.
Ive been spending most of my time recently learning about GUI in Java... I feel wasted.
Thanks for the help though. Much appreciated.
I'll probably still finish the bucky vids and then move onto the head first Java book. Does that book contain everything I need to know in order to build a successful app?
I also came across this website. Seems much better and more easier to understand than the book I have:
http://mobile.tutsplus.com/series/learn-java-android-development/
Your thoughts?
TwilightLoz said:
Ive been spending most of my time recently learning about GUI in Java... I feel wasted.
Thanks for the help though. Much appreciated.
I'll probably still finish the bucky vids and then move onto the head first Java book. Does that book contain everything I need to know in order to build a successful app?
I also came across this website. Seems much better and more easier to understand than the book I have:
http://mobile.tutsplus.com/series/learn-java-android-development/
Your thoughts?
Click to expand...
Click to collapse
The head first book explains Java. It explains object-oriented programming very well and tells you everything you will need to get started with Android programming.
As soon as you have got Java knowledge, you can start with Android programming. You need Java for Android programming, that is what the book (and your link) explains, but it does not explain Android programming. I recommend this site for Android Tutorials: http://www.vogella.com/android.html It is great.
In a short form: Java knowledge are the basics, Android related things require Java knowledge and are related to the special conditions on the device. Therefore they have another API for the UI, background services and other things.
Btw, I needed to learn the Java UI things later when I wrote a desktop application. You did not waste your time. Your knowledge will be helpful later.
nikwen said:
The head first book explains Java. It explains object-oriented programming very well and tells you everything you will need to get started with Android programming.
As soon as you have got Java knowledge, you can start with Android programming. You need Java for Android programming, that is what the book (and your link) explains, but it does not explain Android programming. I recommend this site for Android Tutorials: http://www.vogella.com/android.html It is great.
In a short form: Java knowledge are the basics, Android related things require Java knowledge and are related to the special conditions on the device. Therefore they have another API for the UI, background services and other things.
Btw, I needed to learn the Java UI things later when I wrote a desktop application. You did not waste your time. Your knowledge will be helpful later.
Click to expand...
Click to collapse
Ahh okay. Thanks. So yeah, i'll probably finish with the bucky vids, then go the link I posted to reinforce my Java skills then go to the head first book. Then I'll probably go to the link you sent me although the link you sent me seems a bit too 'intimidating'... so I'm thinking of referring to this:
http://developer.android.com/training/index.html
for Android programming.
TwilightLoz said:
Ahh okay. Thanks. So yeah, i'll probably finish with the bucky vids, then go the link I posted to reinforce my Java skills then go to the head first book. Then I'll probably go to the link you sent me although the link you sent me seems a bit too 'intimidating'... so I'm thinking of referring to this:
http://developer.android.com/training/index.html
for Android programming.
Click to expand...
Click to collapse
Ok, the vogella tutorials might not be the right tutorials for you.
However, I do not like the official training sites. They are too difficult for beginners in my opinion. I would not start with these.
Some like the new boston videos: http://thenewboston.org/list.php?cat=6
(They are many. I do not want to intimidate you, but I thought that I should mention them as you like video tutorials. Don't worry, you will not need to watch even the half of them. I would recommend to watch the first ones and then watch the other ones if you need their content. SQL or WebView operations are unimportant for a beginner. )
nikwen said:
Ok, the vogella tutorials might not be the right tutorials for you.
However, I do not like the official training sites. They are too difficult for beginners in my opinion. I would not start with these.
Some like the new boston videos: http://thenewboston.org/list.php?cat=6
(They are many. I do not want to intimidate you, but I thought that I should mention them as you like video tutorials. Don't worry, you will not need to watch even the half of them. I would recommend to watch the first ones and then watch the other ones if you need their content. SQL or WebView operations are unimportant for a beginner. )
Click to expand...
Click to collapse
Yeah, I gotta admit, when I looked at the android sections I felt as if I wont even have the chance to build an android app since theres over 200 vids and theres too much to learn but then you said I wouldnt even have to watch nearly more than half of them so that lifted up my spirit
But im just wondering, how long does it actually take for a person to learn 'enough' Java to start making a android app?
TwilightLoz said:
Yeah, I gotta admit, when I looked at the android sections I felt as if I wont even have the chance to build an android app since theres over 200 vids and theres too much to learn but then you said I wouldnt even have to watch nearly more than half of them so that lifted up my spirit
But im just wondering, how long does it actually take for a person to learn 'enough' Java to start making a android app?
Click to expand...
Click to collapse
That really depends on his experience. I had some experience and I read the head first book and started. Of course, I learned afterwards, too. And of course, I am still learning. You do not need the UI things and stuff like this. You should understand Collections, inner classes and interfaces, though.
In case of doubt, start with the Android part and if you do not know something related to Java, search what it is. Learning by doing.
However, I cannot understand the order of some of the videos. I think that ToggleButtons (23) are not as important as RelativeLayouts (44).
Just finished watching the beginner section of Java from his vids. Probably going to watch the 'intermediate' vids tomorrow or probably forget about watching the vids and just read the book...
TwilightLoz said:
Just finished watching the beginner section of Java from his vids. Probably going to watch the 'intermediate' vids tomorrow or probably forget about watching the vids and just read the book...
Click to expand...
Click to collapse
I must say, stick it out the hard way. Automated-app builders will not teach you anything.
I say this because I myself have been developing Android apps for ~2 years. I had NO prior experience or knowledge in how any programming language was used or written. Now, through determination, I have 3 (still learning, so still basic) apps on the market.
I have self-taught myself Android(java) with the help of a few YouTube videos. I also learned some SQLite which will be used for all android databases, XML, and HTML. All which I have implemented into my apps.
So what I guess I'm trying to say is, if I can learn all of this in ~2 years by myself (albeit you'll run into many educational mistakes) then nothing is impossible. I didn't even make it through high school shamefully.
Regardless, knowledge is power. An auto-app will not do any justice IMO. Android is not the best starting point, but if you already understand programming logic, you should be alright.
Sent from my SPH-D710 using Tapatalk 2
Learn my friend! That's what XDA is about.
I'd say definetly get familiar with the general activity lifecycle, learn some basic things like intents and such, then think about something simple you want to try, and find out how other people are doing it. (Look for guides, or study open source apps etc.)
i've been teaching myself over most of the last year and am super impressed by what I;ve managed to figure out how to do. I still got years to go before I'd call myself a "good" developer, but just keep pluggin away.
It all depends on how you like to learn too. I read tons, and tried watchign videos, but I do much better by just jumping in and fixing errors as I go. then before you know it, you'll be able to do a lot of things. For me I found it became a lot easier when I started breaking stuff up into single parts. like If I want some app with a listview that goes to a webview, I'd make a simple Main Activiy with a list view, then make a new project with just the webview, then worry about linking a couple things together.
Every body learns different though.
Good luck!
(plus I think MIT, even though it's a neat idea, just helps to clog the playstore with junky apps.)