Hello, everyone. Can someone please direct me, an absolute beginner with no experience in programming at all, where to begin learning. I would like to ultimately develop for Android.
I'm running Ubuntu 13.04; how can I set up an environment to learn programming, and what are some resources that I can use?
Install jdk on the comp then on your phone download the app learn java in 24 hours it walks you thru making your first program so you get the basics
Hello, I'm pretty much in the same boot as the OP.
I'm working in the medical field and get bored of not having the app I need to ease up paperwork, so I decided to make them myself.
However, exept a hangman game in high school I never coded. So yesterday i took my old laptop, put some Ubuntu on it, the sdk and created the famous "hello word" app.
The problem is, even in the tutorials, some thing were to complicated, so I called upon my cousin (a german develloper) and he gave me some advices.
Especially, he told me that java was maybe not the easiest way to learn to code with 0 background and suggest me to try python and other things.
Do you have advices for me, since I want to build simple app (somes textfields, somes checkboxes to get scores and the ability to export a result sheet in pdf) at first, but i do not want to use app inventor or similar tools since I ultimately want to fiddle with the AOSP agenda (get the contact list to pop up like the invite list when i click "description field" , change default duration of appointements etc...).
Any ideas, suggestions, or tutorial are welcome, just keep in mind that I know nothing (Jon Snow like).
http://forum.xda-developers.com/showthread.php?t=2388486
Jus go here
.........................................
visit www.fb.com/softcrush
If you want to become a professional android developer then it is advisable to learn Java and XML a bit better,,and there are bunch of resources available on How to build android apps !
If you really want to become a Programmer then it is advisable to start from the beginning i.e C and then Java
Thats how everybody starts learning coding !
Go through video tutorials for understanding how the coding works !
Happy to help !
Sanjay said:
http://forum.xda-developers.com/showthread.php?t=2388486
Jus go here
.........................................
visit www.fb.com/softcrush
Click to expand...
Click to collapse
This is a great list. I love to see my boy Derek Banas on there
alfredmuffin said:
Hello, everyone. Can someone please direct me, an absolute beginner with no experience in programming at all, where to begin learning. I would like to ultimately develop for Android.
I'm running Ubuntu 13.04; how can I set up an environment to learn programming, and what are some resources that I can use?
Click to expand...
Click to collapse
google it man you will thousands of website which will teach u programming for free. I would have put the links but dont wanna be treated as spammer
For now don't worry about making an app with the Android SDK or anything big like that. Just start simple with some little programs that print stuff into the terminal. It's a good thing that you have Ubuntu because Linux OS's are always great to learn programming on!
I'm also a noon and I found it easy to start with Batch on Windows and I have just been getting better and better!
Well I understand it's not easy to get started. One thing you will have to recognize that there's a lot of things involved getting prepared for Android programming. For example, while developing for Android you will need to be able to write a bit of XML as well, you will need to set up your IDE, get the necessary Java dependencies, get a little bit familiar with Maven to be able to use 3rd party libraries and so on. It's most definitely intimidating. So what I would recommend is to...
- Try to allocate time every day for learning this, even if it just means half an hour or less a day.
- Always take notes and don't be afraid to ask; nobody should assume you know the answer.
- Once you've learned something, help others to get ahead - seniors will probably recognize your efforts so you will be able to get help more easily.
- Try to talk about programming in person with people who are more proficient in it. Nothing helps as much as having a pro sitting in the same room, ready to help you.
- Try to join related communities as well, it can really speed things up.
- Baby steps. Many people get started in programming with having crazy big ideas only to meet failure later. It's not a good thing to frustrate yourself, so choose small goals first.
I can't emphasize the last point enough. Whenever you start learning new stuff - no matter whether you're a novice or an expert - you will need to focus on this, because the initial steps are always problematic. For example, when you start learning a new programming language: the syntax is new, the way for getting the app run is new, the IDE might be new, if the tool is web related then probably it uses a different kind of server than the one you're used to etc. etc. etc. so barriers all around. You must get comfortable with this first, then you will be able to speed things up.
How to start coding
How I started:
Basic Stuff:
1. Java, I used Java Complete Reference
2. Data Structures (most commonly used- Stacks, Queues, Linked list, HashMap, List) [Basic Understanding]
3. Algorithms (will help you to write efficient code) [Basic Understanding]
4. XML, just basic understanding is required, use internet to learn
Android Specific Resources:
1. The Busy Coder's Guide to Android Development [Very useful]
2. New Boston Videos
3. Android Cookbook, if you want a solution to a particular problem
Spend more time learning Java and other basic stuff, once your basics are clear, then you can easily adjust yourself on any platform.
Recommendations for Aspiring App Developers
Hi,
I was in your same shoes about 3 years ago so I can tell you what steps I took to start coding. I took the longer route but it was the correct route. Key suggestion is to learn the lower levels of coding first. (lower levels meaning base languages, binary being the lowest). Start with the C language as this is the core programming language which most other higher levels are based on. If you have the money take a structured online course on Udemy or CodeAcademy. If you're short on money and need to learn on your own don't worry there's plenty of resources out there to learn. That's how I did it. Start out with videos on youtube, try to find a complete structured course here's one with over 130 videos. Sorry, can't post links cause I'm new but just go to Youtube and type in "C Programming Complete Tutorial" to get the course with the structured 130+ videos.
The best way to learn any programming language is to find some free source codes in the designated languages and start tinkering, breaking and fixing the code. Once you learn this core language you will be able to programm\ desktop apps, simple software and mobile apps in other higher level programming languages.
Hope this helps.
-Jeff
alfredmuffin said:
Hello, everyone. Can someone please direct me, an absolute beginner with no experience in programming at all, where to begin learning. I would like to ultimately develop for Android.
I'm running Ubuntu 13.04; how can I set up an environment to learn programming, and what are some resources that I can use?
Click to expand...
Click to collapse
Hey Guys,
I love thenewboston website that you've pointed us to. But as a first step, should I learn some C or Java before progressing on to thenewboston Android tutorials?
I have no programming experience, but lots of motivation.
Thanks,
Donald,
New Zealand
Sanjay said:
http://forum.xda-developers.com/showthread.php?t=2388486
Jus go here
.........................................
visit www.fb.com/softcrush
Click to expand...
Click to collapse
recommend "head first java"
Related
hey guys... just in the very beginning stages of wanting to learn how to develop android apps/roms and looking for some quick help to get on the right track. (my bro in law and father in law are developers in python and bro-in-law is really getting into android). I am reading through a book which teaches the beginner Java programming to start. In the mean time, I have installed the newest version of JDK (with all the plugins), Eclipse, and Android's plugin for Eclipse.
1. Is this all I need to get started?
2. Does every developer use Eclipse? It was my understanding that it is more of a "crutch" to make android app developing easier... I want to understand the code behind the program.
3. What other advise do you guys have for me?
Thanks for any and all help.
in_dmand said:
hey guys... just in the very beginning stages of wanting to learn how to develop android apps/roms and looking for some quick help to get on the right track. (my bro in law and father in law are developers in python and bro-in-law is really getting into android). I am reading through a book which teaches the beginner Java programming to start. In the mean time, I have installed the newest version of JDK (with all the plugins), Eclipse, and Android's plugin for Eclipse.
1. Is this all I need to get started?
2. Does every developer use Eclipse? It was my understanding that it is more of a "crutch" to make android app developing easier... I want to understand the code behind the program.
3. What other advise do you guys have for me?
Thanks for any and all help.
Click to expand...
Click to collapse
1) Pretty much.
2) I don't know if every dev uses Eclipse, but it's not a crutch. You're probably thinking along the lines of the garbage web pages Frontpage generates. That's not what Eclipse does. It'll generate some tedious code for you (when you tell it to), but it's a powerful and customizable tool, not a babysitter. Anyone that tells you do use Notepad instead is an idiot.
3) A lot of people will disagree with me, but I think learning Java with no programming experience is about the hardest path you could take. But it's tough to try to learn another language for the sake of it while what you really want to do is make an Android app. Just know, going in, that the path you're taking is tough.
You'll hear about object oriented vs procedural programming, but what everyone neglects to say is that object oriented expands upon procedural. That's why, ideally, I'd recommend everyone start with a procedural language.
Make sure you at least get a decent understanding of what object oriented programming is all about. And make sure you bookmark the Java API! If you're not using it you're doing something wrong.
Edit: Disclaimer: I've been a software developer for over 10 years and using Java for most of that. I spent a couple days looking through the Android SDK and tutorials and decided I didn't have a good enough app idea to make it worth the effort.
thanks so much, your input is much appreciated!
Be patient and do write many small apps as a start. And oh, xda chef central is another great resource also stack overflow is your best friend.
I would suggest you be patiently read or watch some tutorial before do 'try and error' way to test what works. Learn from experienced dev is really important
From my RAZR MAXX
Yeah I agree, I would definitely start out with small apps. The first few (several?) things you write are going to suck. Even if they work perfectly well, the code behind them is going to be poorly designed and hard to maintain and enhance.
In a class way back when, our instructor had us writing a to-do list manager. You can start with a simple list and then enhance it as you learn more. ie, add/delete items, priorities, due dates, reminders, etc. You'll read and say "hey, I could use this to do so-and-so," or "I wish I could add this function" and learn how to do it.
In addition to learning how to code and use the Java api, you'll also learn why you eventually want to understand how to design as much as possible up front.
I'm a high school junior and I want to be a developer. I've always been into technology and computer systems, most people asking me for help on anything computer related. Over the years I've taught myself various things like: how to build a computer, basic html, adobe Photoshop & Illustrator & After Effects, etc. I can't list them all. Currently I am trying to learn Java myself, and hopefully next year I will be taking AP Computer Science. I want to be a developer. Specifically for platforms like Android. Apps AND actual ROMS.
I want to know from some developers on here, where did you guys get your start? What did you learn? Any tips and suggestions?
Thanks
-Abdi
http://developer.android.com/develop/index.html :good: first learn java though....
Hi abdi7451,
the first programming language I learned was C..It really gives the developer a lot of freedom and increased capabilities for the code writing..I think that it will help you for your future projects..
For App development, I would strongly advise:
The New Boston - Android Tutorials
It would also help if you learnt some of the Java basics:
The New Boston - Java Tutorials
The tutorials are done by Bucky and Travis and these guys are very good. They take you through the learning step by step.
Also. When you come across problems, the main Android Developers site is very good, but I've also found Stack Overflow very helpful.
I started using the tutorials with no Android or Java knowledge at all and I've used what I have learned to make a couple of basic soundboards so far and other bits and pieces, but what they teach you gives you the potential for a lot more.
You can see the apps I've made Here (Google Play) and Here.
Good Luck.
Just Me said:
For App development, I would strongly advise:
The New Boston - Android Tutorials
It would also help if you learnt some of the Java basics:
The New Boston - Java Tutorials
The tutorials are done by Bucky and Travis and these guys are very good. They take you through the learning step by step.
Also. When you come across problems, the main Android Developers site is very good, but I've also found Stack Overflow very helpful.
I started using the tutorials with no Android or Java knowledge at all and I've used what I have learned to make a couple of basic soundboards so far and other bits and pieces, but what they teach you gives you the potential for a lot more.
You can see the apps I've made Here (Google Play) and Here.
Good Luck.
Click to expand...
Click to collapse
Yea, right now I'm using code army to learn Java.
Hey folks!
Yes, this is my first post, and yes, it may be in the wrong section. If so, I would kindly ask some moderator to move it to the correct section.
Anyway, let me just get right to it:
I have NO coding experience whatsoever! I have never coded anything but a bit in html when I was 16 or something. I have a good understanding
of Android from a user-end perspective, and same goes for computers and website management - I've just never coded anything.
Now, I would really love to learn how to code applications for Android, as I feel like it would be a great challenge to take upon myself + I have a lot of ideas for apps, which I believe will be fun.
Now, I know that Android runs on Java, so I suppose I should start learning the basics of Java before moving into learning Android development, right?
In my search for great free / somewhat cheap online resources, I've found that "thenewboston .org" has a Java and an Android development section with video guides. I believe I should start with the Java section and then move on to the Android one.
Would you recommend using that site, or should I start somewhere else?
And also, is it correct for me to start diving straight into Java, or is there something I should know beforehand?
Or should I learn any other coding languages?
Please take into consideration that I know no coding language as of right now.
All help is very much appreciated! :fingers-crossed:
Java is the best option to start with!
All native applications of the android OS are written mainly in Java, which makes it a good option to start with. Also, as you already know some HTML Coding, you might not find it problematic using "XML".
Head over to this link: http://forum.xda-developers.com/forumdisplay.php?f=2195
You might find it useful to begin with.
vineethraj49 said:
All native applications of the android OS are written mainly in Java, which makes it a good option to start with. Also, as you already know some HTML Coding, you might not find it problematic using "XML".
Head over to this link: http://forum.xda-developers.com/forumdisplay.php?f=2195
You might find it useful to begin with.
Click to expand...
Click to collapse
First of all, thanks a lot for your reply.
What I take from your answer is, that it would be just fine to start diving right into Java, and also take a look at XML whenever I have extra spare time. Is that correct?
And also, what part of an application is built on/in XML?
The layout mainly comprises of xml
ltsune said:
First of all, thanks a lot for your reply.
What I take from your answer is, that it would be just fine to start diving right into Java, and also take a look at XML whenever I have extra spare time. Is that correct?
And also, what part of an application is built on/in XML?
Click to expand...
Click to collapse
Check any android app's source code. The application's interface mainly is made using xml's.
Welcome to this world, you'll have fun here for sure
Anyway, to your questions:
Yep, you need basic Java knowledge. Any website will be great to get started (actually, if you have a doubt and can't find the solution there, simply use Google. There are so much developers out there, is difficult to find an unanswered doubt).
You can get started with Java directly, you don't need to learn any other programming language. Take in mind that only the syntax changes between languages, the logic behind the programs is identical.
Android apps use Java for its core, and XML for its GUI. Don't worry, Eclipse (and after, Android Studio as well) offers a visual environment to build your GUI, without touch XML directly (of course, you can edit the XML code if you wish, for example, to make a quick change).
Good luck, dude :highfive:
RoberGalarga said:
Welcome to this world, you'll have fun here for sure
Anyway, to your questions:
Yep, you need basic Java knowledge. Any website will be great to get started (actually, if you have a doubt and can't find the solution there, simply use Google. There are so much developers out there, is difficult to find an unanswered doubt).
You can get started with Java directly, you don't need to learn any other programming language. Take in mind that only the syntax changes between languages, the logic behind the programs is identical.
Android apps use Java for its core, and XML for its GUI. Don't worry, Eclipse (and after, Android Studio as well) offers a visual environment to build your GUI, without touch XML directly (of course, you can edit the XML code if you wish, for example, to make a quick change).
Good luck, dude :highfive:
Click to expand...
Click to collapse
This was a very helpful answer!
You basically answered all my questions, and a few more than I hadn't even written yet.
Thanks for letting me know about the option to edit the GUI directly from Eclipse, which is currently what I use to learn Java.
I've found a lot of great resources here at xda-developers as well, so I'm really looking forward to dive into this now!
Already learned the very basics of creating user inputs etc. (yes, that is a noob talking - I know), and I am thrilled to learn even more
I learnt programming a long time ago (20 years ago) and back then I learnt C++. Fast forward to present, I have interest in creating an Android app and started doing some research. I bought some books and watched some video, downloaded Eclipse, etc.
Although I still remember some Object Oriented Programming concepts (Polymorphism, if-else-then loops, etc.), I never fully grasp some of the syntax presented in those study books / videos. This could be because I am a total noob when it comes to Java.
So my question is: is it worth it to learn Java first, completely independent on Android, and THEN learn Android programming?
PS: I did bought some Java books but I don't think some of the things there are applicable to Android. For one, I setup Eclipse with Android SDK and although I can create some Android app (even have it run on my phone! YAY!), I could not figure out how to write, compile and execute Java app in my MacBook (keep throwing a bunch of exceptions).
lanwarrior said:
So my question is: is it worth it to learn Java first, completely independent on Android, and THEN learn Android programming?
Click to expand...
Click to collapse
Of course. You need basic-medium java knowledge to develop your apps. About this...
lanwarrior said:
I don't think some of the things there are applicable to Android
Click to expand...
Click to collapse
It's not true. If something can be done in Java for PC, can be done in Android as well (in the same way, or using the Android way, easier and better, mostly times ).
Any recommendation on a good Java Book that:
- gets me up and running faster, since I am not focusing in developing a PC/MAC based Java app but Android app?
- Make use of Eclipse?
I suggest learning java first before you start app development so that you will understand what you are actually doing while writing the source code
Complete reference java is a good book to make your concepts crystal clear
for android app development tutorial you can refer thenewboston video tutorials and developer.android.com for understanding android os and API
Sent from my GT-S5670 using xda premium
How "deep" should I learn Java first?
I read some Jave books that covers really deep stuff that are over 1000+ pages, and there are books like the "Learn Java in 24 hours", etc.
I am just curious because I have read articles whereby people with no programming experiences had developed iPhone apps in months. I think Objective-C is harder to learn than Java because it does not have some of the great features like garbage collections, etc.
lanwarrior said:
How "deep" should I learn Java first?
I read some Jave books that covers really deep stuff that are over 1000+ pages, and there are books like the "Learn Java in 24 hours", etc.
I am just curious because I have read articles whereby people with no programming experiences had developed iPhone apps in months. I think Objective-C is harder to learn than Java because it does not have some of the great features like garbage collections, etc.
Click to expand...
Click to collapse
Throwing an Android app together is relatively easy, especially if you've got prior programming experience. Between the plentiful tutorials and stackoverflow to help with specific semantics, it's pretty straight forward to get what you want done. However, there's a big difference between getting something done, and getting it done efficiently - that's where having a fundamental grasp of the underlying language comes in handy.
When I was starting out I grabbed a couple different books, from basic Android programming to Advanced Java. I found Learn Java for Android Development to be a very decent read, and it was great for getting me up to speed on Java quickly, without going through basic coding principles I already understood from using other languages (or burying me in deep Java mechanics that I didn't really want or need).
--
Jason
rossja said:
When I was starting out I grabbed a couple different books, from basic Android programming to Advanced Java. I found Learn Java for Android Development to be a very decent read, and it was great for getting me up to speed on Java quickly, without going through basic coding principles I already understood from using other languages (or burying me in deep Java mechanics that I didn't really want or need).
--
Jason
Click to expand...
Click to collapse
Thanks for the recommendation on the book. Seems like a perfect book for me!
lanwarrior said:
I learnt programming a long time ago (20 years ago) and back then I learnt C++. Fast forward to present, I have interest in creating an Android app and started doing some research. I bought some books and watched some video, downloaded Eclipse, etc.
Although I still remember some Object Oriented Programming concepts (Polymorphism, if-else-then loops, etc.), I never fully grasp some of the syntax presented in those study books / videos. This could be because I am a total noob when it comes to Java.
So my question is: is it worth it to learn Java first, completely independent on Android, and THEN learn Android programming?
PS: I did bought some Java books but I don't think some of the things there are applicable to Android. For one, I setup Eclipse with Android SDK and although I can create some Android app (even have it run on my phone! YAY!), I could not figure out how to write, compile and execute Java app in my MacBook (keep throwing a bunch of exceptions).
Click to expand...
Click to collapse
I think u are on the right way.
Please go into android directly.
Do you have a specific idea what you want to create? If no, Get one. I had no idea about Java and Android, only knew visual basic and some c#, but I had an idea what I want to create. And this way i started watching basic tutorials and got some basic information how to do stuff(intents, the thing with the contexts). For me personally, learning the Java stuff was easy, as its really close to what i knew(and you know some c++, which gives you the basics). Simply read a little bit about the control structures and classes and Start making your app. And if you want to know how something works, Google it!
Btw: i am really young, so this shouldnt be a Problem for somebody older.
Gesendet von meinem SM-N9005 mit Tapatalk
I am toying with the idea of developing for the Android. It's mostly for fun and to see where it goes. I am a programmer, but do not know Java specifically. If i was to learn Java, i would need to learn it from scratch, but for a programmer, not for a newcomer to the programming field.
I downloaded Android Studio and can follow the guides, but i wonder: Is it better to learn Java first and then Android? Or is it better to learn Android first? And regardless of which, is there a level of basic learning that is "enough" to foray into the other. I ask this because it seems that guides for Android expect one to know Java already. Then again, someone told me he learnt how to do Android, and found Java snippets on the web as he went along.
If there is no specific answer, please lend your advice or personal experience. I am very interested in hearing what other have to say about this.
Do both together
Hey there,
I was a bit worse off than you because the only "programming" experience I had was MS Excel formulas but with some effort now feel pretty good about getting even relatively complicated things working in Android. Basically, I would recommend you learn both Java and Android at the same time.
Here's why:
- you need to get the Android Studio tool set up anyway, and it will do a great job showing you syntax issues and recommending changes as you go. In this way you can rely on Android's developer tools to help you learn basic Java.
- the Internet is chock full of sample code for Android. You can use that as a base, deploy it to a device, change it around, deploy it to a device (or emulator) again, and so on. It will give you both hope and eventual confidence when you're able to see the changes you make in Java actually reflected in an app. It makes it more fun too.
- in the end the majority of your time will be learning the Android SDK frameworks, and I was often able to use the Android documentation examples themselves to teach myself both Java and the Android platform's ins and outs.
Dive in and enjoy!