[Q] Newbie wanting advice on developing - Vibrant General

I am wanting to possibly get into developing for android and learning. I have a spare pc that i put together just for this purpose. I also have a spare vibrant that i can mess around with and is not my daily driver.
I have a few questions.
1. Is windows of ubuntu better for developing because i will learn linux if need be.
2. Is there somewhere i can go to just get the basics of how to use the dev tools and make apps in the future.
I know this is pretty broad, but this forum has the best developers on the internet.
Any opinion or suggestions are welcomed. Thanks

1. Windows works fine for me. You will be programming in JAVA. Java is a universal language pretty much. Android is based on linux so learning the files system and all that jazz will be easier if you are familiar with linux, but it's not necessary. Just download Eclipse and the Android SDK and you'll be on your way.
2. http://developer.android.com/index.html is a good place to start. Also maybe check out some Java tutorials on youtube. I found thenewboston to have some pretty good tutorials.

From the king:
Some advice..

Thank you so much. I searched but didn't see that. Programming I will learn.
Sent from my SGH-T959 using XDA App

There isn't any reason to use a spare PC, nothing about Android programming will have any serious impact on your regular PC.
The cyanogen post linked above was directed at people who thought they'd just jump into ROM development from scratch. His point being, that's not a very good approach. That's like deciding you're going to open an auto repair shop without learning to drive, first. And in the same way the advice, "Learn to drive, first," isn't actually instructions about how to drive, his post isn't actually instructions about learning the basics of Android development.
What other kinds of development experience do you have?

I have absolutely no experience developing anything at the moment. Im getting my stuff together to try and learn to do this. The reason for another pc is i have more than one person in the house and my main pc can get virus filled somehow and i have to format. I dont want to lose my work.

Then I would not personally recommend a phone platform for learning purposes. (I have 30 years of dev experience using nearly everything you can imagine.)
Pick something with fewer quirks and an easier learning curve to get your feet wet. There are two parts to programming. One is the nuts-and-bolts stuff, like how your dev environment works and so on. That will change from platform to platform and language to language. The other is the conceptual stuff, how to design programs, the general concepts of looping and if statements and variables and arrays, along with object oriented concepts. These are generally transferable to all of your dev work. Each platform and language has quirks (like Android's Intents) but they usually have some abstract equivalent, and when they don't, if you have sufficient generalized experience then picking them up won't be hard.
Hell, these days I'd say create an HTML file on your desktop and start fiddling with Javascript as a starting point. That'll at least start exposing you to some of the important basic generic concepts and all the tools are still free. (Not that Javascript is a good language -- it's awful, and if you spend too much time with it you'll learn bad habits -- but it makes a super-easy and very forgiving starting point.)

Related

I want to be an Android developer when I grow up.

I want to focus on developing GUIs but I'm not sure where to start. I just read through a few pages of http://source.android.com/ to get more information and it was helpful but I'm still not sure what my skill set should be. I also went through Google's new App inventor and finished all the tutorials but it still seems like a toy.
I can: design interfaces, code javascript, implement XML (weak on C and Java but I get it), create anything using photoshop or any graphic application, color-coordinate, test and implement and write--I can write technical instructions fairly well.
So... that said, what's a typical Android designer's skill-set?
Thanks.
Patience, mellowness and a strong constitution!
The Android development platforms so far available are pretty poor if you're used to something like Visual Studio. The best option seems to be Eclipse running the Android ADT plugin. There is plenty of documentation about how to get it all up and running and it is quite easy to install and configure. The app inventor is a toy for non-developers to create simple applications and it works well for what it is but as soon as you want more complex UIs or more complex code, especially when it comes to using external libraries, you will need to get into Eclipse.
You have the right skills, in fact I would say UI and graphics design is the weakest area for many developers. It is for me. I can write beautiful functional code that does amazing things but my UIs suck unless they are simple. I always need to find someone who can help me with that. In my experience, and I have a lot of commercial code development experience, good UI design is a widely missing skill. It therefore pays well and is highly sought after. You might consider specialising in it?
Be careful going from C to Java. Java is still a pig of a language, do a little googling for "problems with Java" and be especially careful of the fact that Java passes everything by reference unless you use cloning. If you don't always write very loosely coupled methods and are good with encapsulation, this will bite you and often in very difficult to understand ways. I recommend running through each method with only this in mind before you consider the first version of the method complete.
My advice to you is to get Visual Studio Express (they're free), either VB or C#, it really doesn't matter, and become proficient with object oriented programming, proper error handling and scope of objects and variables. Do these things, and assuming that you have the right mindset to create good code, and you'll protect yourself from all the usual bugs that amateur developers introduce.
Then move back to Java. Java is a lot easier to be proficient in when moving from something like VB or C# because whilst frustrating, due to the things you'll miss, you will at least know rather than "not know what you don't know", if that makes sense.
If you are serious about doing this for a living, buy some books by Steve MacGuire.
"Writing Solid Code"
"Debugging the development process"
If every develope could do what these books teach, we would have a much more capable software world.
Good luck!
I have the same question? What do you think will be future programming? Developing web apps like Facebook or Android apps?
How is with work today?
I did banchelors from computer science, and want to try masters now, but I need to choose developing Androids apps or Webapps. I am pretty good at C#, JavaScript, XML.
There's a lot of milage in mobile apps, will be good for many years but there is no doubt that the future is web apps.
Excellent! What a great response. Source.android has a lot of information on what a developer should know but I still can't find information on Android GUI design--specifically. Any advice on this?
Thanks.
I think everyone should learn some c/c++ or other native language. Most will say im crazy for saying this but to appreciate what comes with the languages u mentioned above(which are all managed code) I think you should learn power and use behind native code.
c#, java, .net are all good places to start, i would not go with vb. If you choose to start with c/c++ you will be able to do any of the above easily. Tho others think its harder to learn...I say others bc i have always preferred c/c++ to the above.
Simonta... You rock!
Many Thanks.

[Q] future android developer

hi guys
I am an 16years old guy android lover.eddicted to Android
after using android from an year I have decided my future to be an Android devoleper
my aim is to work in Google android project or to become an devoleper like cynagon
can u(the best devolepers of xda) say me what languages to learn and all that I need to be a best android developer.
I also have the question that which operating system is good for learning languages and for Android devolepment is it
1 windows
2 mac os x
3 ubuntu
please my life is in ur answers
Really nice to see other ambitious persons wanting to develop in Android I myself have kind of the same question but I will open my own thread about that later.
Now for you.
I would say you should learn Java as I often read. and when you got a good basic of Java ( or any programming language for that matter) about variables and loops.
Also google provides several usefull starting points for android development but I wouldn't start with that before you have a good basic knowledge of programming itself.
http://developer.android.com/sdk/index.html
This link I find very usefull you learn how an android app works. Where is the data stored, what does it do when you click an app away( instead of exiting the problem)
http://developer.android.com/guide/topics/fundamentals.html
That is my 2 cents about Android Development.
For OS I myself use Mac OSX I find it alot easier to connect with adb than Windows but I can't say what is better.
Goodluck! hope to see alot of programs from you!
You need to become proficient in C/C++ and all the rest will fall into place. I recommend the linux platform (you mention ubuntu, but there are several) as the android platform is linux based. I use Gentoo myself.
Gene Poole said:
You need to become proficient in C/C++ and all the rest will fall into place. I recommend the linux platform (you mention ubuntu, but there are several) as the android platform is linux based. I use Gentoo myself.
Click to expand...
Click to collapse
agreed about c/c++, if you are proficient in c/c++ most if not all other languages will fall into place. its not about the language though but rather the theory and principles behind the languages. I suggest c/c++ because imo if you get c/c++ you get all the others.
Gene Poole said:
You need to become proficient in C/C++ and all the rest will fall into place. I recommend the linux platform (you mention ubuntu, but there are several) as the android platform is linux based. I use Gentoo myself.
Click to expand...
Click to collapse
Oh yeah, I agree here as well. In general, Linux is definitely good for learning programming on. All the tools are *free* (most of my college classes dealt with the Linux platform for this reason). Also, at least on Linux, I have not had problems getting ADB to recognize my device. On Windows, I did get my system to recognize my device, but it definitely took longer.
(Using OpenSuSE for my Android development).
Actually, unlike these spectacular developers, I recommend you learn Java. Android IS coded in JAVA and it is an object oriented programming language, which is in many ways VERY different from C/C++.... Then start going through demos of other Android applications till you can read the code and understand what it is doing.
It finally makes sense why Android developers are so far behind the rest in app development....... college degrees would help.
what happens if I learn java, c/c++
mynameisvineeth said:
what happens if I learn java, c/c++
Click to expand...
Click to collapse
I'm not sure what the question is here... Are you asking what you should do after learning those, or for more opinions about which you should start with?
Anyway, the best thing would be to take a computer science course. That way you'd learn all the fundamentals of computer programming as well as specific languages. If you can't do that, you can always just teach yourself. For example, I took a few basic programming classes (e.g. a few hours a week for 10 weeks "Introduction to C") but after that, everything I learnt was self-taught in Java using the Android SDK. I've been working at it for about a year now, and published my first app 6 months ago which has been selling slowly but steadily, so it can be done.
There are many many resources online you can find, as long as you have the patience and time to read everything. The two best places to learn things from are the official developer's guide and Stack Overflow; Stack Overflow is a question and answer site for programmers.
if I learn the three languages in the collage can i devolep apps.
my aim is to become an good android software engineer so please anyone suggest which course should I take in the university such that my future will be bright with google.
mynameisvineeth said:
if I learn the three languages in the collage can i devolep apps.
my aim is to become an good android software engineer so please anyone suggest which course should I take in the university such that my future will be bright with google.
Click to expand...
Click to collapse
You don't need to learn all three languages. I would personally learn Java first since it's excellent to learn basic programming concepts in and techniques and it is the main language used for developing Android apps. C/C++ should definitely be learned at some point if you want to work for Google, but you'll need at the very least a bachelor's degree before you get to that point. If you get to that point, I am sure you will have learned C/C++.
I do OK under Windows, but I recommend Linux if you can. USB drivers and I was good to go. Java is great, seems dauting at first. I would get java first. But once you know, you like it. At least I did. Makes it more difficult to make a mistake, IMO.
Of course, I'm just starting. Listen first to the extremely advanced people that post here.
Good luck!
is computer science good for me?
Depends I know a few Computer science schools where they teach PASCAL I don't think 4 years of PASCAL will be usefull so it kinda depends what classes are given there. Don't you have a summary of what classes you get at that computer science school? and furthermore computer science can be useful but I don't think you have to know what hardware is in a computer to create an android app.
SterAllures said:
Depends I know a few Computer science schools where they teach PASCAL I don't think 4 years of PASCAL will be usefull so it kinda depends what classes are given there. Don't you have a summary of what classes you get at that computer science school? and furthermore computer science can be useful but I don't think you have to know what hardware is in a computer to create an android app.
Click to expand...
Click to collapse
You have no idea what you're talking about. A computer science degree is not about what language you learn and how to program. It's about the concepts of computer science. It doesn't matter what language a computer science program uses. It has everything to do with the conceprd you learn to apply to programming.
Sent from my GT-I9000 using XDA App
If you wanna work on Android, start with an app instead of trying to work on the framework. You'll learn a lot more, much faster.
It sounds like your definition of a computer science degree is closer to what I'd call "computer theory".
Q: What's the difference between theory and practice?
A: In theory, there's no difference between theory and practice.
Yes, learning threading concepts (for example) in one language will carry over reasonably well to another... but you'll still need to learn a new API, and no two APIs are conceptually identical. Actually being familiar with a given language/API/OS/IDE out of the gate is a pretty big deal when it comes time to Actually Get Hired... or just doing stuff on your own with It (whatever It might be).
I was going to start a new thread with the following post, but I think my questions fit with this thread...
"I have a scientific/technical background and know some networking and Linux basics (i.e. enough to set up a very functional home server with SFTP, Samba, DLNA server, etc from Ubuntu/Deb packages), but I have very little computer programming training.
Where is the best place to start if I would eventually like to develop Android apps?
Should I focus on programming fundamentals with Java as the main programming environment or step right into the Android SDK with Eclipse?
Any links to recommended tutorials and lessons would be greatly appreciated too.
Thanks!"
It sounds to me like Java is the best language to use when learning programming fundamentals if the intent is to develop Android apps in the future. Links to recommended educational resources would really make this a valuable thread.
@ChiefNugget: Please learn first Java and then if you have understood the basics take a look at the developer.android.com site. You should buy a good Java Programmer Book Click
Couple of things to get straight here:
1. "Android" is written in C++ - This is the OS of the phone, it's not written in Java - if you want to be big like Cyanogen you'll need to know C++ very very well. *Sidenote: EXCITED FOR GINGERBREAD CODE TO DROP SOON*
2. Java is not a compiled language (why no OS is written in it) it is a "Interpreted" language meaning that there is very little change from what you type to what the JVM (Java virtual machine, in our case "Dalvik") actually interprets and runs as "Java Byte Code"
So it depends what you want your concentration to be in, if you want to write machine level code - hit up the C++ side of things, if you want to write Apps - java is where you should go.
How ever, I recommend to anyone who wants to become a developer, learn C++ before you learn anything. It's difficult for a reason - it makes you better in the end when you understand how memory is managed and why you shouldn't do things that lots of developers do.
Kcarpenter said:
Couple of things to get straight here:
1. "Android" is written in C++ - This is the OS of the phone, it's not written in Java - if you want to be big like Cyanogen you'll need to know C++ very very well. *Sidenote: EXCITED FOR GINGERBREAD CODE TO DROP SOON*
Click to expand...
Click to collapse
And linux is written in C.
Kcarpenter said:
2. Java is not a compiled language (why no OS is written in it) it is a "Interpreted" language meaning that there is very little change from what you type to what the JVM (Java virtual machine, in our case "Dalvik") actually interprets and runs as "Java Byte Code"
Click to expand...
Click to collapse
That is quite debatable. Between "javac", and JIT compilers, java code does indeed get turned into machine code. And "compiling to bytecode" is still has a valid meaning. When I think interpretted languages, I think "no code is checked until it is executed". You find out about syntax errors when you run it, not when you hit the "build it" button on your IDE.
Kcarpenter said:
How ever, I recommend to anyone who wants to become a developer, learn C++ before you learn anything. It's difficult for a reason - it makes you better in the end when you understand how memory is managed and why you shouldn't do things that lots of developers do.
Click to expand...
Click to collapse
Oh, granted. With java you ALMOST don't need to know what pointers are... but what's left will HANG YOU if you're not careful.
GC's spoil you. Kids these days! Why when I was your age... Anyway, getting into the habit of releasing memory early on means closing files and other resources is likewise well understood. Someone learning java only runs into resource management later on... "stunts their growth" as it were... like Europeans and fractions (metric vs Seemingly random combinations of units).
Get off my lawn!

[Q] Learning to Dev

I have been a member of XDA for a while and now I want to contribute. I have a basic understanding of computers and want to learn more. Obviously our greatest devs were not born devs they had to learn everything from somewhere. I'm looking for suggestions on where to start on the road to become the best dev I can be. Keep in mind I'm flat broke so I cannot hit up the local bookstore or download any paid software, but with the way the internet is today there must a free legitimate source for everything somewhere. So anyone willing to help a noob If I posted in the wrong section please kindly redirect me rather than flame me. Thanks in advance.
It all depends on what you want to contribute. I'm a beginner myself (only developing since august). It is easy to learn Java, for the most part. I would suggest heading over to http://developer.android.com/index.html for starters. There are many examples and if you want to know something specific, try using the search bar at the top right (it comes in handy). I have already published an app, a simple one, but still an application none the less. I am working on two other projects simultaneously (a live wallpaper and a home-replacement app). You can come to my website http://futurinnovations.blogspot.com/ to see what I'm working on. I am still in the process of learning, and being in college slows things down a bit. Just make sure not to give up. If your stuck, ask someone (or everyone) on forums like this.
Futur Innovations said:
It all depends on what you want to contribute. I'm a beginner myself (only developing since august). It is easy to learn Java, for the most part. I would suggest heading over to http://developer.android.com/index.html for starters. There are many examples and if you want to know something specific, try using the search bar at the top right (it comes in handy). I have already published an app, a simple one, but still an application none the less. I am working on two other projects simultaneously (a live wallpaper and a home-replacement app). You can come to my website http://futurinnovations.blogspot.com/ to see what I'm working on. I am still in the process of learning, and being in college slows things down a bit. Just make sure not to give up. If your stuck, ask someone (or everyone) on forums like this.
Click to expand...
Click to collapse
I forgot to mention I want to learn to dev for Android. I want to start out with simple apps then work my way up to building/porting roms. Also I just downloaded the Java JDK and am using Java's "Greenfoot" Tutorial to get started since I have no experience with Java. And I will be sure to check out your blog and thank you for the reply.
porting and building is something far different from app development...you have to know much more if you want to work with kernel,drivers,basically you have to know everything from hardware level to user level (if you want to be top of the class)...good luck
farukb said:
porting and building is something far different from app development...you have to know much more if you want to work with kernel,drivers,basically you have to know everything from hardware level to user level (if you want to be top of the class)...good luck
Click to expand...
Click to collapse
Well we all gotta start somewhere. Now is probably a good time for me as I'm only 18 and a senior in high school. Since I don't have a job at the moment I have plenty of free time after school and on weekends.
I'm only 18 myself. I started straight with downloading Eclipse and all of the appropriate software for developing and just dove in. I would recommend watching these tutorials: http://www.xtensivearts.com/topics/tutorials/. They helped me A LOT. I am taking a programming in C class in the spring semster, which I am looking forward to. Programming in Java for Android is different than regular programming. It's the same concepts, just different APIs and tools. I like using Eclipse because it is easy to learn and get used to. There are a lot of fancy features like a type of autocorrect (not like on the phone, but smarter). Like you said, just start from the basics, like "Hello World" (Hello Android) and practice creating different layouts using the tutorials given on the Developer site. Explore the site and look through everything because eventually you may need to know where its located for quick access. Just don't set too high of goals for yourself, other wise you might be more prone to give up (like I almost did). Good luck
Im in ths same boat as you we got to start somewhere
mit have a fantastic course in computer science online.
search for MIT open courseware then introduction to computer science.
I'm on 10 now, getting very complicated
crowstar said:
mit have a fantastic course in computer science online.
search for MIT open courseware then introduction to computer science.
I'm on 10 now, getting very complicated
Click to expand...
Click to collapse
Thanks bro I'm checking out that MIT course right now it looks really helpfull
This is a great starting point for Android development, as it deals quite well with getting the Android SDK and Eclipse IDE set up and working together.
http://www.vogella.de/articles/Android/article.html
Futur Innovations said:
I'm only 18 myself. I started straight with downloading Eclipse and all of the appropriate software for developing and just dove in. I would recommend watching these tutorials: http://www.xtensivearts.com/topics/tutorials/. They helped me A LOT. I am taking a programming in C class in the spring semster, which I am looking forward to. Programming in Java for Android is different than regular programming. It's the same concepts, just different APIs and tools. I like using Eclipse because it is easy to learn and get used to. There are a lot of fancy features like a type of autocorrect (not like on the phone, but smarter). Like you said, just start from the basics, like "Hello World" (Hello Android) and practice creating different layouts using the tutorials given on the Developer site. Explore the site and look through everything because eventually you may need to know where its located for quick access. Just don't set too high of goals for yourself, other wise you might be more prone to give up (like I almost did). Good luck
Click to expand...
Click to collapse
Hi, I'm 24. And I learn how to 'program' since 14-15.
It's easy to write apps for Android. But it's hard to write good apps.
You should take Software Engineering course (NOT Computer Science course).
If you take CS (Computer Science) course, than you will learn mainly about algorithm.
But if you enter SE (Software Engineering) course, you will learn about SDLC, software QA/testing, and planning to write programs for living
:-D
I personally don't like eclipse, it's just bloated IDE :-(
I use SciTE, apache ant, MinGW/MSYS (GCC 4.5.0), Java SDK, ActivePerl, Dev-C++ IDE. That's should be enough for development :-D
I will see if there are any software engineer classes at the college I am attending. If so, then I will sign up for it. Thanks for pointing me in the right direction. Is taking the programming class still beneficial?
Sent from my ADR6300 using XDA App
Futur Innovations said:
Is taking the programming class still beneficial?
Click to expand...
Click to collapse
I'd really recommend a class if it's a viable option. It will help you understand object oriented programming, where just working through examples won't actually teach you how to understand what you're doing. Things like classes, inheritance and polymorphism are pretty difficult principles to grasp unless you've got someone to explain them to you. Then it's pretty easy.

[Q] Where is a good place to start if I want to start developing?

I'm really interested in the Android operating system, and I feel like it is something I could turn into a passion. I've been learning my way around the system pretty quickly, it only took me 2 months of having my first Android to root and overclock. I have a Samsung Captivate on AT&T running DesignGears' Cognition v3.04 ROM and Firebird v2.05 Kernal with the JJ4 radio (for now). I'm getting addicted to learning as much as I can about the whole platform, it has insane potential and has already passed Symbian as the most popular smartphone operating system.
I have a couple books (Learn Android Development in 24 Hours, and Android Development for Beginners) and I downloaded Eclipse and all the necessary tools. I am familiar with the terminal and some basic Unix commands, I had to take a crash course to un-soft-brick my phone a couple times. I have the capacity to learn, I just don't really know where to begin. How much Java do I need to learn? I found YouTube tutorials for that, idk if there are other resources available. My friend works for an iPhone app development group and encouraged me to pursue this when he saw how interested I was. I could potentially make this into a money-making career, so any help is very much appreciated. I'd be honored to join the development ranks.
The best places to look are right under your nose! Look it up in Youtube, the Android Developer's website (developer.android.com)... Anywhere you can think of.
Location: State College
^^^^ Start here. Take a programming class.
This thread has all the lecture notes from my Software Engineering course.
They are incredibly useful. - http://forum.xda-developers.com/showthread.php?p=9471181#post9471181
By the way, don't just jump into android development. It's strongly reccomended that you get to grips with basic, universal Java first.
I used to be a PSU kid, BUT the police there don't like 420 friendly individuals too much. Nazi's. I'm not just diving in blind that's why I asked where to start. I'm gonna do basic java tutorials to begin with and read these 2 ebooks. Thanks for the lecture notes!
Sent from your girlfriend's Captivate

[Q] Getting started with developing games

Hello everybody.
Various game concepts have been springing up in my mind lately and I am starting to think that I should make them a reality: that's one of the reasons why I bought OUYA.
Problem is...
I know absolutely NOTHING about programming, but I am eager to learn. Does anybody know how should I begin (besides of course getting a good Java manual, which I plan to do ASAP)?
Thank you in advance.
Pretty much just learn as much Java as you can and then start with the tutorials on the Android website. I've done very little Android programming though...very little.
There is a couple ways you can go. You can either use java code with the sdk, or C++ using the ndk. Java will be much easier to use, but because it utilizes a garbage collector, you need a slightly higher understanding of how the code works to write fast running code. C++ is more difficult to learn, especially for a beginner, but because you manage memory manually you have complete control over how your game runs. I would recommend starting with java. There is a good book called Beginning Android Game Development which is published by APress, that covers all the basics.
timkd127 said:
There is a couple ways you can go. You can either use java code with the sdk, or C++ using the ndk. Java will be much easier to use, but because it utilizes a garbage collector, you need a slightly higher understanding of how the code works to write fast running code. C++ is more difficult to learn, especially for a beginner, but because you manage memory manually you have complete control over how your game runs. I would recommend starting with java. There is a good book called Beginning Android Game Development which is published by APress, that covers all the basics.
Click to expand...
Click to collapse
Java first. Garbage collection may be something of a crutch, but if you've never touched programming before in your life, you'll want to focus on learning how to just deal with data structures and methods before worrying about memory management.
Of course, that said, you don't want to learn terrible habits in Java either.
Rirere said:
Java first. Garbage collection may be something of a crutch, but if you've never touched programming before in your life, you'll want to focus on learning how to just deal with data structures and methods before worrying about memory management.
Of course, that said, you don't want to learn terrible habits in Java either.
Click to expand...
Click to collapse
Agreed
Thank you everybody! I'm getting the book Timkd127 suggested as soon as I have some spare time
Pkmns said:
Thank you everybody! I'm getting the book Timkd127 suggested as soon as I have some spare time
Click to expand...
Click to collapse
Glad to help. I did just remember though, that book approaches game dev assuming you already know some java. You might want to familiarize yourself with the language before you spend money on a text.
timkd127 said:
Glad to help. I did just remember though, that book approaches game dev assuming you already know some java. You might want to familiarize yourself with the language before you spend money on a text.
Click to expand...
Click to collapse
That's my concern for the OP. Most resources I've seen for learning Android development assume some Java knowledge and most Java resources assume some basic level of knowledge about programming in general. In this case the OP is claiming to have none of that.
The good news is there are many paths available, the bad news is there are many paths available
Most paths fall into one of two categories:
1) Very high level - Flash and Unity are the two best examples for Ouya that I can think of off the top of my head. While both allow you to get into the code both also provide ways to build some things without getting much into code. Great for getting up and going but a lot of times you can end up finding yourself limited by your tools when you take this kind of approach. Personally I'm not a huge fan. In general you tend to develop skills that are specific to the engine/platform you're working with rather than general skills. The low barrier to entry can be attractive - but the frustration of making your square ideas fit into the round holes provided by your tools can be an issue down the road.
2) Very low level - Grab a text editor and start coding some java is more or less what this breaks down to. But even this path there are several libraries you can use to help yourself along and you can even get lower level and dive into the NDK to write native code in C++. The steep learning curve can scare a lot of people away from this path - but you tend to build more general skills that are easy to re-apply with other tools and scenarios.
I cover my thoughts on some of this specific to Ouya better in my thread on OuyaForums where I'm following my own progress on building some simple games for Ouya: http://ouyaforum.com/showthread.php?4074-Baby-steps
Even though it's more intimidating I personally strongly suggest taking approach 2 before looking into things like Unity and GameMaker - develop your fundamentals then look into tools that can help you leverage them into bigger and bigger ideas.
Whichever path you take at some point you're going to need to know how to code. If you're starting with absolutely no knowledge about coding then it's going to be a bit harder. For example the Android Game Development book (Which I'm currently reading and finding very good - it's also written by the author of libGDX which is the library I'm using to speed development.) assumes a basic knowledge of Java and suggests "Thinking in Java" which is available free on-line (for older versions but they're just fine) to bring people up to speed with Java. I'm also reading that (actually reading that more than the android game development book right now) to brush up on my Java basics. But at the start of that book the author makes it clear that he assumes a basic background in some other programming language! Apparently the printed versions of that book come with a CD including a multimedia course covering programming basics. Phew! That's a lot of books to get through!
They aren't great but one set of tutorials that is aimed at the complete and utter noob are the Kilobolt tutorials that were actually started here on XDA before moving to the authors own site here: http://www.kilobolt.com/tutorials.html
I'm not completely in agreement with the approach those tutorials take or with all of their examples...but they are the best I've seen for someone starting with absolutely no programming knowledge looking to get into Android and by extension Ouya development.
If I was just starting out the advice I'd like someone to give me would probably be:
1) Start with the Kilobolt tutorials.
2) Once you're through Unit 1 start reading Thinking in Java
3) Once you're through TIJ or Unit 3 add in Android Game Development
4) Once you think you're ready for AGD start looking into libGDX
5) Build a SIMPLE game. Play some old atari 2600 games and try to replicate one.
6) Make that simple game fancier - add some modern touches like better graphics and sound, a high score list, achievements, power ups....
7) Let your dreams take over.
One other source you may want to look into as a total beginner is Udacity...I saw their Java course a few weeks ago and signed up for it but haven't been following it because it's more beginner oriented than I was looking for and...well it's incomplete. One of my big beefs with the Kilobolt tutorials was I started following them last year - and the update rate on them quickly dropped so low I forgot about them. Now that they're complete that isn't an issue. But I wasn't about to dive into another incomplete learning resource so when I saw that Udacity's Java intro wasn't complete I didn't even watch more than the intro video. But it's probably worth checking out here: https://www.udacity.com/course/cs046
jhitesma said:
That's my concern for the OP. Most resources I've seen for learning Android development assume some Java knowledge and most Java resources assume some basic level of knowledge about programming in general. In this case the OP is claiming to have none of that.
The good news is there are many paths available, the bad news is there are many paths available
Most paths fall into one of two categories:
1) Very high level - Flash and Unity are the two best examples for Ouya that I can think of off the top of my head. While both allow you to get into the code both also provide ways to build some things without getting much into code. Great for getting up and going but a lot of times you can end up finding yourself limited by your tools when you take this kind of approach. Personally I'm not a huge fan. In general you tend to develop skills that are specific to the engine/platform you're working with rather than general skills. The low barrier to entry can be attractive - but the frustration of making your square ideas fit into the round holes provided by your tools can be an issue down the road.
2) Very low level - Grab a text editor and start coding some java is more or less what this breaks down to. But even this path there are several libraries you can use to help yourself along and you can even get lower level and dive into the NDK to write native code in C++. The steep learning curve can scare a lot of people away from this path - but you tend to build more general skills that are easy to re-apply with other tools and scenarios.
I cover my thoughts on some of this specific to Ouya better in my thread on OuyaForums where I'm following my own progress on building some simple games for Ouya: http://ouyaforum.com/showthread.php?4074-Baby-steps
Even though it's more intimidating I personally strongly suggest taking approach 2 before looking into things like Unity and GameMaker - develop your fundamentals then look into tools that can help you leverage them into bigger and bigger ideas.
Whichever path you take at some point you're going to need to know how to code. If you're starting with absolutely no knowledge about coding then it's going to be a bit harder. For example the Android Game Development book (Which I'm currently reading and finding very good - it's also written by the author of libGDX which is the library I'm using to speed development.) assumes a basic knowledge of Java and suggests "Thinking in Java" which is available free on-line (for older versions but they're just fine) to bring people up to speed with Java. I'm also reading that (actually reading that more than the android game development book right now) to brush up on my Java basics. But at the start of that book the author makes it clear that he assumes a basic background in some other programming language! Apparently the printed versions of that book come with a CD including a multimedia course covering programming basics. Phew! That's a lot of books to get through!
They aren't great but one set of tutorials that is aimed at the complete and utter noob are the Kilobolt tutorials that were actually started here on XDA before moving to the authors own site here: http://www.kilobolt.com/tutorials.html
I'm not completely in agreement with the approach those tutorials take or with all of their examples...but they are the best I've seen for someone starting with absolutely no programming knowledge looking to get into Android and by extension Ouya development.
If I was just starting out the advice I'd like someone to give me would probably be:
1) Start with the Kilobolt tutorials.
2) Once you're through Unit 1 start reading Thinking in Java
3) Once you're through TIJ or Unit 3 add in Android Game Development
4) Once you think you're ready for AGD start looking into libGDX
5) Build a SIMPLE game. Play some old atari 2600 games and try to replicate one.
6) Make that simple game fancier - add some modern touches like better graphics and sound, a high score list, achievements, power ups....
7) Let your dreams take over.
Click to expand...
Click to collapse
Thank you for all this info! I'll probably dive in the Kilobolt tutorials as soon as I have some free time, then I'll start thinking about which way to take later (I don't know whether all this is more frightening or exciting )
jhitesma that's a very informative and helpful post. Nice.

Categories

Resources