Hi I'm a member of xdadevelopers for over a year and I can say I really love android. Although I'm still a noob. So I really wanna learn androind.
I'm from a very small town in India so I don't get much local guidance well none at all. So I've to learn it all by my self I guess so I googeled it and it very confusing.
so here is the thing
I've very basic knowledge about c, and java lets say I've no clue about programming. But I'm very good at learning these stuff
If I have to start from the scratch where to begin?
so all I wanna know where to start I mean to learn android what should I learn first "programming language"?
I guess I need to learn basic of java so than I can step on android
I need step by step guidance
what should I learn first or where should I begin?
Thanks
niravnn said:
Hi I'm a member of xdadevelopers for over a year and I can say I really love android. Although I'm still a noob. So I really wanna learn androind.
I'm from a very small town in India so I don't get much local guidance well none at all. So I've to learn it all by my self I guess so I googeled it and it very confusing.
so here is the thing
I've very basic knowledge about c, and java lets say I've no clue about programming. But I'm very good at learning these stuff
If I have to start from the scratch where to begin?
so all I wanna know where to start I mean to learn android what should I learn first "programming language"?
I guess I need to learn basic of java so than I can step on android
I need step by step guidance
what should I learn first or where should I begin?
Thanks
Click to expand...
Click to collapse
Are you looking to develop your own ROMs or develop android apps?
If you want to develop android apps, then I suggest to start from learning Java, you need to get an overview about Java language and then can move on to other elements respective to android programming like XML, Eclipse IDE etc.
If its about Android ROM building, then knowledge on Linux architecture is essential and several UNIX commands too. In short, you need to get comfortable with the Linux Terminal. Also knowledge on C and Java comes handy here too.
And last but not least, if you want to learn as you do, then Google is your best teacher and most of the programming oriented questions and solutions would be posted on stackoverflow.com
coolsandie said:
If you want to develop android apps, then I suggest to start from learning Java, you need to get an overview about Java language and then can move on to other elements respective to android programming like XML, Eclipse IDE etc.
If its about Android ROM building, then knowledge on Linux architecture is essential and several UNIX commands too. In short, you need to get comfortable with the Linux Terminal. Also knowledge on C and Java comes handy here too.
And last but not least, if you want to learn as you do, then Google is your best teacher and most of the programming oriented questions and solutions would be posted on stackoverflow.com
Click to expand...
Click to collapse
Thank you so much now atleast I have an idea from where to begin.
and I wanna learn both android app and android rom building but first I will start learning about developing android apps than
I will jump to android rom building and its good to know that I'm already using linux so I've some idea about its architecture and unix command but I have to evolve my knowledge big time. THANKS again so much
zacthespack said:
Are you looking to develop your own ROMs or develop android apps?
Click to expand...
Click to collapse
first I wanna learn about developing android apps. and as I said I'm noob so I think it would be good for me to learn first about apps developing than jump to rom building
and I also wanna learn developing android rom.
hi nirvann
ok so i think the first step is to learn basic java programming. after that you can try to develope your own app. i really like this tutorial, maybe it could help you http://www.vogella.com/articles/Android/article.html
i think at first you should set your prioties to the app development and not to rom development...
i wish you good luck with your first own app
Sorry for my bad englisch
emyaz said:
hi nirvann
ok so i think the first step is to learn basic java programming. after that you can try to develope your own app. i really like this tutorial, maybe it could help you http://www.vogella.com/articles/Android/article.html
i think at first you should set your prioties to the app development and not to rom development...
i wish you good luck with your first own app
Sorry for my bad englisch
Click to expand...
Click to collapse
Thanks so musch emyaz
I totally agree with you first I'll learn java than will learn app developing and after all that if I thing I'm good at it than I'll think about learning rom developing. I also love linux so I think I'll be learning that to so I think things will be easy after learning linux core coz android comes from it
But for now Java is top priority
Related
Hi guys,
I think I have been an xda user long enough..so I though, why dont I try my hand in developing and be more of a giver than a taker in this great community.
Problem is, I dont know where to start. So if you dev guys could give me an effective learning path(study this first, then this, then this)..I would be most greatful!
Im not a developer by training(an accountant, of all things!!), however, I did get into IT audit so I know a little bit about the different flavors of unix..and I love coding(we use some scripting software in the trade, i know i know, its different) and i am never happier than trying to figure out how to make things work using code..
I know some of you may laugh at me, but I really am interested in this.
Thanks!
There's a great site here with lots of useful info
If your endgame is to develop for Android it might be best for you to jump in the deep end and start learning Java immediately. Don't worry about learning it by developing Android applications, just focus on developing on PC and you will have a much easier time. Once you've picked up the basics of Object Orientated programming then it's time to take a look at the Android APIs and go through some tutorials so you can see how the apps come together.
At the end of the day it's going to be a big job for you because you have very little experience. Unfortunately theres no real easy way out so you just have to put in the hours.
Yep!! Sleepless nights! Just like a real dev..hehehe... I do know some languages like vb..python..javascript..but that was just me muckin around..nothin serious also..already had the netbeans ide setup...and got my java hello world cherry popped..hahaha..so lame
Sent from my GT-I9100 using XDA App
DreadPirateDan said:
There's a great site here with lots of useful info
Click to expand...
Click to collapse
Thanks man!!! Looks good!
Sent from my GT-I9100 using XDA App
saunderez said:
If your endgame is to develop for Android it might be best for you to jump in the deep end and start learning Java immediately. Don't worry about learning it by developing Android applications, just focus on developing on PC and you will have a much easier time. Once you've picked up the basics of Object Orientated programming then it's time to take a look at the Android APIs and go through some tutorials so you can see how the apps come together.
At the end of the day it's going to be a big job for you because you have very little experience. Unfortunately theres no real easy way out so you just have to put in the hours.
Click to expand...
Click to collapse
Yes..that is my endgame..but i was hoping you guys could point me to some android specific stuff..like how kernerls work..etc..basically i want to know the environment first...using google doesnt really yield in depth stuff
Sent from my GT-I9100 using XDA App
Android is basically Linux with a custom UI.
If you want to know how kernels work (and you really shouldn't(!) if your goal is to make apps, as that's REALLY in-depth lowlevel stuff) just check out how Linux works - there's a million million articles on the net about the internals of Linux.
Android specific app development stuff, incl. tutorials and samples are here:
http://developer.android.com/guide/index.html
Maybe you just wanna setup the SDK and try to get the "Hello World" working, continue from there.
SDK: http://developer.android.com/sdk/index.html
i understand this question has been asked in similar ways but programming is quite broad so hopefully i can get a personalised response to help zone in on my learning.
bit of information about me:
ive been using computers all my life whilst doing a little bit of code tweaking for a variety of things such as; games(hex editting) web coding and even a bit of excel macro work.
i currently have no plans or commitments as of now and wanted to use my free days to learn something new that ive been intrested in since i was about 12 years old.
im looking for a base or a starting point in learning coding... i understand jumping straight into coding apps and things is way out of my reach but i guess i have to start somewhere! Im very much intrested in customisation and the ability to customise as much as possible on phones, games and applications but i have no idea where to start...
ive been looking around and people recommend learning all sorts of languages from:
php/css moving up to java
straight to java
python
c#
c++
c then progressing into c++
but id rather get an answer from a community that is notoriously skilled in the developing area so much so that i feel this is the best place to ask!
if there is anyone who also wishes to help me personally in helping me along the way and giving me some advice then please pm me as id be so grateful to have someone there to help me.
thanks in advanced for your responses im looking forward to learning and hopefully starting something that will be a major part of my life from now on.
Well, since this is a mainly Aneroid development website, and if you are interested in aneroid, I would just jump straight into Java. That's what I did at least... to learn Java just google "Beginner's guide to Java" or something. Hope this helps.
Sent from my Kindle Fire using XDA
i was hoping for more input then just one person, i would like to know what others feel is the best way to go about it so i can build up an idea of peoples opinions to see what i feel is the best strategy of learning.
i appreciate your input ballarous =)
penfold1992 said:
i was hoping for more input then just one person, i would like to know what others feel is the best way to go about it so i can build up an idea of peoples opinions to see what i feel is the best strategy of learning.
i appreciate your input ballarous =)
Click to expand...
Click to collapse
What are your development plans for? Do you plan on donning an apron and becoming a rom developer or do you plan on developing apps? You're setup will differ between the two but either way grab yourself a few good java books but understand it applies to Android differently than regular java. Learn the fundamentals of java, it's core rules etc but study googles open source api to see how you implement your phones system into regular java format. Here is a link to the Google source for developers (not source as in the source you sync to build Android, source as in how to implement phone apis into that source) http://developer.android.com/reference/packages.html
Here's some general app development guides that will broaden your understanding http://developer.android.com/resources/index.html
Sent from my Galaxy Nexus
From my experience...
It probably does not matter where you start... I personally started with web based languages like VBS, and javascript, then jumped into c++... I completely avoided Java until recently.
VBS or Visual Basic is used for excel macros so you already have some experience under your belt. It should be pretty simple for you to apply that same understanding to the different syntax of Java.
Hi. I'm a 22 year old with no job but ****load of time.
I have been thinking to widen my linux horizon and start working with android.
But my knowledge of code dev is verry narrow. Just simple java and some c#
,
But here is a list of what i want to learn and most certainly could need help with.
kernel hacking
books?
risk assessment. what can go wrong
sdk and api's
driver coding and RIL
learn how to see difference in code.
and where do i start so i can have a working build of JB in a few months
As you already noticed my writing is not good but that because of sleeping pills
But please i need the basic so i can run thru them and start getting books and asking irc channels without being kicked out because i'm a noobster
pangprego said:
Hi. I'm a 22 year old with no job but ****load of time.
I have been thinking to widen my linux horizon and start working with android.
But my knowledge of code dev is verry narrow. Just simple java and some c#
,
But here is a list of what i want to learn and most certainly could need help with.
kernel hacking
books?
risk assessment. what can go wrong
sdk and api's
driver coding and RIL
learn how to see difference in code.
and where do i start so i can have a working build of JB in a few months
As you already noticed my writing is not good but that because of sleeping pills
But please i need the basic so i can run thru them and start getting books and asking irc channels without being kicked out because i'm a noobster
Click to expand...
Click to collapse
Start with kernel hacked (you know cpu/gpu overclocking) I think you do many touchpad user happy
There is a tutorial for the beginners
http://forum.xda-developers.com/showthread.php?t=1564632
Greetings,
I'm starting to learn some programming and I wanted to set some things straight about this.
Obviously, I found that it's best to start off with the easier languages like html, php, java, python, then move to C/C++.
Although I did some html and css, I'm not really into web development, but more attracted to Linux and app development.
So I'm asking, besides python (which I'm learning now) and C/C++, what should I do as general practice? Where can I find more about how an app works, how the hardware works (or drivers) or how could I get involved in the Linux community?
Is bug testing a good starting point?
I've learned the hard way that even after working with a programming language for a while, if you take a break you start forgetting stuff, so I guess I'd better learn something that I can practice.
And even if it might seem like an odd question, what do you do to learn better and faster? How do you keep your brain trained?
You're approaching the world all at the same time. Decide what you want to do and start from there. You're talking about web programming, then Linux programming, then C++. Learning C++ alone decently will take months of effort, not to say learning how to use it to create a real application. Decide what you want to do and don't change way a month after you decided.
Bye.
bogdan2011 said:
Greetings,
I'm starting to learn some programming and I wanted to set some things straight about this.
Obviously, I found that it's best to start off with the easier languages like html, php, java, python, then move to C/C++.
Although I did some html and css, I'm not really into web development, but more attracted to Linux and app development.
So I'm asking, besides python (which I'm learning now) and C/C++, what should I do as general practice? Where can I find more about how an app works, how the hardware works (or drivers) or how could I get involved in the Linux community?
Is bug testing a good starting point?
I've learned the hard way that even after working with a programming language for a while, if you take a break you start forgetting stuff, so I guess I'd better learn something that I can practice.
And even if it might seem like an odd question, what do you do to learn better and faster? How do you keep your brain trained?
Click to expand...
Click to collapse
You need to dive headfirst into one language and stick with it for a month or two.
Then you will know where your head is at.
Java or C is great for general practice.
The linux community is not hard to support.
There are forums that need help, bug testing(Linux kernel too, and you could help with Linux-next), etcetera.
To stay with it/learn faster/keep your brain trained it is best to either get involved in some sort of project or create your own project to keep you working with your language of choice.
const_char is right. Concentrate on what you are really intersting now and take the way. Achieve adequate level of experience in some area, and it clarifies next steps.
Yes, I would recommend starting with Java as well.
Java is a relatively simple language, and it abstracts away some of the machine details, so it is easier to stay out of trouble than with a low-level language such as C.
Once you're good at Java, you could move to C/C++. They are very similar languages, you just need to learn about the machine details now. How to use pointers, and manage your own memory, that sort of thing.
The language isn't important, once you got the basic principles.
If you've already started with python and are making good progress, stay with it. It's good language to learn and for a wide range of real-world tasks.
The Language isn't important...
Get Ideas of what you want to accomplish, and simple find the tools you need to get it done. Python has lots of libraries to access everything you wanted
To much...
Keeping your mind trained is not the problem, but your letting your mind wonder to other programing languages, most people don't get into all the languages at the same time... I found Python to be the easiest for me to start on and work with Linux now. But just because your curious does not mean you should try them all, it's like trying to learn Russian, German, and Spanish all at the same time...
To Learn How An Application Works Or How A Hardware Works It Is a must to have a profound knowledge of C programming Language.
Also I Would Recommend you to spend some time Reading The Book "The Design Of Unix Operating System" By Author "Maurice Bach" So as to gain some knowledge of some basic system-level topics like File-IO and Processes in Linux Before Starting to learn any of the complicated topics of Linux.
Assembly!
You could try learning Assembly first! Its a little weird for a beginner I guess but if your assembly is rock solid then C should be pretty easy and from there on everything else should be pretty simple. Assembly is as low as you can get before you start writing plain 0's and 1's and having a good foundation in Assembly to begin with will really help you in your endeavour. Also, Assembly is as lightweight as it gets so your apps will be blazing fast but its also a pain in the ass to write with so... I'd say start off with either assembly or C and work your way up.
I can't believe all these advice and not one of them tells you to learn shell script! Shell script is the first thing you should learn if you want to programming within the Linux/Unix environment. I mean how else will you be able to compile c/c++ object files without writing make script?
I think at first you should learn bash script language
After try to build some system multithreading apps, forks(with sygnals), etc. Its very useful, when you'll start code something more serious.
Hi All!
I want to learn to code Android Apps. I have no experience (aside from some BASIC coding back in school), but I have plenty of motivation.
I've found thenewboston website and the video tutorials looks really good, but they assume some coding knowledge which I need to get before proceding.
So, should I learn some C or JAVA first?
Or feel free to tell me otherwise.
I'd really like a plan of attack for the process of learning all this, as it's rather over whelming for a noob when presented with so much information and slightly differing opinions on what to learn first.
Thanks in advance.
Donald.
If you're focusing on Android 100% for now then pick up Java first. Also grab Android Studio as it's an excellent development tool that's replacing eclipse (Google is phasing out support for it later this year)
Sent from my XT1254
recommend the book "head first java"