IDK: Eclipse or Gamemaker Studio - Java for Android App Development

Ok, im new in android development, used gamemaker studio for couple of hours, used eclipse for very short time, and basic4android little bit more than the eclipse.
so what are the differences in these programs. could i make a game in eclipse alone (no need gamemaker studio and basic4android)?

Yes you can make a game, or any app for that matter, in eclipse.
Eclipse is an IDE (Integrated Development Environment) which helps the user during coding sessions with auto-assist features, corrections, color-highlighting, auto-formatting, amongst many many more features.
What Game maker is (from my understanding anyhow) is a more graphically oriented IDE. It does more "coding" for you behind the scenes, whereas in eclipse, you're basically writing in a very sophisticated version of notepad.
I develop using eclipse, and have been since I started almost 4 years ago. Since Android Studio has emerged, I tend to play around with that a bit.
My suggestion for you if you are looking to develop strictly for android is Android Studio here : http://developer.android.com/sdk/installing/studio.html
The android developers website has plenty of useful tutorials, guides, references, and troubleshooting.
Hope this gets you started in the right direction. Good luck, and happy coding!
Noted to self thrice via tapatalk

thanks for recommending me the android studio, since i will be ONLY making apps for android.

hell911 said:
thanks for recommending me the android studio, since i will be ONLY making apps for android.
Click to expand...
Click to collapse
Yeah, Android Studio is highly recommended but may be a little more complicated when getting into advanced projects (external libraries, gradle, etc...). But if you are just starting out, it has a lot of helpful features and tooltips that may help your understanding a bit. Another downfall is that Android Studio is still in fairly early development, which may present bugs from time to time.
Eclipse is also highly recommended, as it is a very solid build. It is not designed strictly for Android, so it is not as helpful with all of it's features.
Either way, stay motivated and believe you can do it. That's what really matters.
Noted to self thrice via tapatalk

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.

to develop or not to develop?

hiya there, im a complete noob to the developing software, well android for that matter. i see post after post of people developing and i just want to learn how to do it myself. you always appreciate things more if you know how they developed and the hard work gone in to them.
so please share the developing love and share your knowledge.
also are there any books available that may help?
many thanks
If you don't know java, you need to learn that first. There's always a dozen or so threads here every week with someone wanting to know where to start. So look at one of those for suggestions on websites and java books.
If you already know java, then go to the link below and read everything and work thru the tutorials.
http://developer.android.com/guide/practices/compatibility.html
Most people use Eclipse as the development tool. You can find some information on setting up Eclipse in my blog.
________________________________
http://ron-droid.blogspot.com
thank you buddy just wanting to contribute to the android world
If eclipse isnt your cup of tea then try Intellij. I find it much better than eclipse. The code completion, generation and analysis is top notch
From something awesome
Cheers I will try that out
Sent from my Desire HD using XDA App
I would recommend starting with Android App Inventor.
It's a relatively simple way for non devs to get started developing for Android.
I have decades of dev experience but a few months ago I was new to Android, and pretty new to Java,
AI allowed me to quickly jump into Android dev.
Unfortunately it's difficult to make a professional app using AI, so now I use the SDK and NDK, but much of what I learned in AI was transferable to the SDK/NDK environment.
Also, look at Droid Draw. It lets you drag and drop objects to create relatively simple apps. The advantage is that you can then review the java and xml files (the code behind what you created) that Droid Draw generates. There are different ways to learn...I like the "by example" way.

[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.

C# programming - anyone use Xamarin?

Has anyone used Xamarin to build their android apps? I have been programming using C# for sometime now but have never used it to build anything for android.
They have tons of free libraries, but as for licensing, I am skeptical in purchasing. Anyone like or dislike Xamarin? If you do or do not, can you explain why? Thanks a bundle!
Haven't used it but you have to think whether it's worth the price. The advantage is you can write in C# and share code between Android/iOS. However the UI is still platform-specific, so it has to be implemented twice. A free alternative is to use C++ for shared code (Android: via NDK, iOS: compiles directly), but that definitely needs more initial setup effort than buying Xamarin's product.
Here is an informed opinion
There is a gaming studio that used Xamarin to port their WP stuff to Android and iOS, and they're quite happy with how it turned out.
Do a search for "FourBros Studios, Cross-Platform Game Development with Xamarin and MonoGame". I can't post a direct link because of forum rules here.
Of course games are entirely different beasts than regular apps (for example, UI-wise), so not everything may apply to your situation.
I've plaid with Xamarin... and its a good system.. but Is it worth $300 to not learn java?
Cross platform development tools have their place, but IMHO unless you have a large project and NEED a cross platform development tool you are hurting yourself by not going native.
Just my .000002c
Java is so similar to C# I would think you'd be fine just going native - in terms of syntax they're virtually identical. I do kind of miss the var keyword though lol
I agree with LostByte - there's no real point to going cross platform unless you really need it. Don't stay with C# just because it's what you know! Use what's most appropriate for the app

What would you improve in Android dev tooling?

I'm a senior engineer on the Visual Studio team at Microsoft. I'm not a marketing guy or recruiter.
I’m looking to talk to Android native app developers like yourself to understand experiences and pain points. That would help us figure out potential tools/features we could build to make your life easier. Would you be willing to spend 30 minutes on the phone with me?
Since I build development tools for building Android and iOS apps, I'll be also looking forward to answering questions you may have.
Help shape the future of Android dev tooling! PM me if you're up for chatting and I'll setup a call.
Thanks very much,
Bret
Can't help with a phone call, but the number one pain point in Android development is the build tool chain. Working together with Gradle Inc. and the Android folks to improve this would go a long way to eleviate the pain. The worst part atm are build times and the lack of proper incremental tooling.
Another pain point is Java 8 compatibility. There's retrolambda giving us lambdas (and limited default methods), but all the Java 8 APIs are missing. I understand if MS doesn't want to touch that topic though
You already did quite a nice job on emulator performance with your custom emu in Visual Studio
I also can't help with a phone call. If you want info/ideas, do it online in this or other forums.
I use Android NDK low level C code a lot.
NDK integration with Android Studio still sucks.
If you have something like NDK/NativeDevKit integrate it well.

Categories

Resources