I wanna get into android development.. where to start? - General Questions and Answers

I found some books... basically learn Linux/android developing, i wanna get a good idea/knowledge... create ROMS, Kernals, just anything that has to do with android..
Where do I start?
Sent from my Nexus 4 using Tapatalk 2

one thing at a time buddy. Start by learning some Java. From there you'll be able to move into app development.
You might be able to do some rom manipulation without being able to program, but knowing how apps work from app development would be helpful.
Ill leave the kernel stuff for someone else to answer.
Sent from my GT-I5500 using xda app-developers app

I agree - start with learning a programming language.
Many are pretty similar in concept/structure - so once you understand the basics, you'll be able to branch out as you will find you need to.

Start with java and learn the basics of app development. Then jump into some theming and modding. This will help you familiarize yourself with system files and such. Finally, the most difficult of all, coding and kernel work. This will require a bit of C, C+, python, and a couple other computer languages. You'll mainly be working with C tho. Start at the bottom and be patient with your learning! Good luck!
Sent from my SPH-L710 using xda premium

Any good resources on the stuff you've mentioned?
Sent from my Nexus 4 using Tapatalk 2

I learned Java using a book called Java by dissection.
Sent from my GT-I5500 using xda app-developers app

Me too
Me too i also wanted to learn how to dev some android apps or Rom.

Ceelos09 said:
Start with java and learn the basics of app development. Then jump into some theming and modding. This will help you familiarize yourself with system files and such. Finally, the most difficult of all, coding and kernel work. This will require a bit of C, C+, python, and a couple other computer languages. You'll mainly be working with C tho. Start at the bottom and be patient with your learning! Good luck!
Sent from my SPH-L710 using xda premium
Click to expand...
Click to collapse
totally agreed. i want to get into developing, too, rooted my ROM firtst, getting into the Terminal of Linux/ubuntu, decompile, modify, compile random apps, Theming the system UI... build your way up and see what you can do. One thing i have to say: You will need A LOT of time. most of the things are trial and error, the best way to learn how things are working.

What kind of development do you want to do? Applications? If so, google 'java tutorials' and you should find good materials on Oracle's site and others.

zgx said:
What kind of development do you want to do? Applications? If so, google 'java tutorials' and you should find good materials on Oracle's site and others.
Click to expand...
Click to collapse
Roms/kernals
"Vanilla android >jail broken iOS>90" TV's"

Would it be worth buying a raspberry pi and learning the python language.. to get started in learning?
"Vanilla android >jail broken iOS>90" TV's"

xvi. Jeweboo
Ceelos09 said:
Start with java and learn the basics of app development. Then jump into some theming and modding. This will help you familiarize yourself with system files and such. Finally, the most difficult of all, coding and kernel work. This will require a bit of C, C+, python, and a couple other computer languages. You'll mainly be working with C tho. Start at the bottom and be patient with your learning! Good luck!
Sent from my SPH-L710 using xda premium
Click to expand...
Click to collapse
Yes, for the apps Java is fundamental, for kernel and other part of the OS i think it is required C.

Ceelos09 said:
Start with java and learn the basics of app development. Then jump into some theming and modding. This will help you familiarize yourself with system files and such. Finally, the most difficult of all, coding and kernel work. This will require a bit of C, C+, python, and a couple other computer languages. You'll mainly be working with C tho. Start at the bottom and be patient with your learning! Good luck!
Sent from my SPH-L710 using xda premium
Click to expand...
Click to collapse
Thanks for guidence

A good resource to check out is WWW.programmersinstitute.org. There are step by step videos for setting up your computer to program and then projects to work through with the instructor. The last time I checked it was free!
Sent from my Nexus 7 using Tapatalk 2

steekyjim said:
one thing at a time buddy. Start by learning some Java. From there you'll be able to move into app development.
Click to expand...
Click to collapse
Absolutely this. Java's the best way to go. Go download NetBeans IDE (Integrated Development Environment) and look up some free online tutorials. That'll get you started.

If you're more inclined towards kernels / ROMs, better to start with C, and then learn JAVA. Kernel is mostly C and android framework is mostly JAVA & C++ (For ROM development, you can make do with framework C++ if you know C)
For C, read Kernighan & Ritchie, for JAVA, any basic Java tutorial should do. Most of all, start coding from your first day - without trying things, you'll never learn programming.

If you decide to go into application/game development, I would highly recommend to try libgdx. I have been using it for 2 years and I am very happy with it.

ivoidwarranty said:
If you're more inclined towards kernels / ROMs, better to start with C, and then learn JAVA. Kernel is mostly C and android framework is mostly JAVA & C++ (For ROM development, you can make do with framework C++ if you know C)
For C, read Kernighan & Ritchie, for JAVA, any basic Java tutorial should do. Most of all, start coding from your first day - without trying things, you'll never learn programming.
Click to expand...
Click to collapse
Will do,
"Vanilla android >jail broken iOS>90" TV's"

To know java is the first

Related

[Q] Java for Android

Ok, been using these forums for quite awhile to mod my various devices. However I've never had to post, so you'll have to forgive that this is in the wrong board as it wont let me post in the right one due to lack of posts.
I want to get into actually developing Android apps, and then eventually get into developing ROMs and such. From what I've seen apps would be programed in Java, and I've seen links to a few web resources to learn Java. But none on them answer what I am really looking to find out. I need to know what "flavor" of Java is best to use. Java 1? 2? 6? Java++? Visual Java? Etc etc etc.
I don't want to waste my time learning Java 6, if Android is only compatible with Java 4, for example. And vise versa. Like-wise I don't want to learn a version of Sun Java, if Java++ or Visual would be be better/give better functionality.
In closing, I just need to know what flavor of Java would be best to learn. Thanks.
It's not really java, it's android.
Here you have everything to start:
http://developer.android.com/guide/index.html
And to set up the environment for developing:
http://developer.android.com/sdk/index.html
Sent from my GT-P1000 using XDA App
knowing java is a good start, think of android like an advanced java applet programming.
leblid said:
knowing java is a good start, think of android like an advanced java applet programming.
Click to expand...
Click to collapse
Yeah, exactly. And that's what I am looking for. Somehing to get my base knowledge started on. But their are allot of diffrent versions of Java and I don't really know which would be the best to use as a jumping off point.
I have also looked at the Android dev site, but it isn't really going to "teach" me from scrach.
Sent from my DROID2 using XDA App
Glgamesh said:
Yeah, exactly. And that's what I am looking for. Somehing to get my base knowledge started on. But their are allot of diffrent versions of Java and I don't really know which would be the best to use as a jumping off point.
I have also looked at the Android dev site, but it isn't really going to "teach" me from scrach.
Sent from my DROID2 using XDA App
Click to expand...
Click to collapse
Again, if you plan to develop for android, it's better to focus on android, and not learn first java.. It's like learning first to ride a motocycle, and then go for the car.... It has some common ground, but..
If you want to learn from the scratch, the links I posted are your point. You can also take a look to the tutorials:
http://developer.android.com/intl/es/resources/tutorials/hello-world.html
If you still want to go through Java.. I reccomend you take a look to this:
http://download.oracle.com/javase/tutorial/java/index.html
http://download.oracle.com/javase/tutorial/
and start from Java SE 6 (http://download.oracle.com/javase/6/docs/)
http://www.oracle.com/technetwork/java/index-jsp-135888.html
aitorTheRed said:
Again, if you plan to develop for android, it's better to focus on android, and not learn first java.. It's like learning first to ride a motocycle, and then go for the car.... It has some common ground, but..
If you want to learn from the scratch, the links I posted are your point. You can also take a look to the tutorials:
Click to expand...
Click to collapse
Oh ok, I get it now, thank you for breaking it down like that. I thought it was the exact opposite, I thought you needed Java to lead into Android. I'd looked at several books to learn Android, but all the reviews said that you should know Java before getting the books. (Hence where I got the idea) I actually read this post earlier, and I have given the Developer section of the Android site a LOT deeper look, and it looks like you were very much correct. Upon first glance I didn't think it was actually be what I needed. Thank you for your assistance and I am sorry for the missunderstanding.
Glgamesh said:
Oh ok, I get it now, thank you for breaking it down like that. I thought it was the exact opposite, I thought you needed Java to lead into Android. I'd looked at several books to learn Android, but all the reviews said that you should know Java before getting the books. (Hence where I got the idea) I actually read this post earlier, and I have given the Developer section of the Android site a LOT deeper look, and it looks like you were very much correct. Upon first glance I didn't think it was actually be what I needed. Thank you for your assistance and I am sorry for the missunderstanding.
Click to expand...
Click to collapse
No need to ask for sorry we all have to start sometimes from zero it's true that knowing java helps, but I think that if you have some notion on OOP (object-oriented programming) will be enought
Sent from my GT-P1000 using XDA App

[Q] How to get started making custom roms?

So I was just wondering about how to get started developing custom roms for the g2x? Also, what programs would be helpful etc. Thanks!
shazam1203 said:
So I was just wondering about how to get started developing custom roms for the g2x? Also, what programs would be helpful etc. Thanks!
Click to expand...
Click to collapse
You'll need ubuntu as an operating system to start off with....
And the cm source..
Hah, I wouldn't mind trying this out myself.
Along with a decent computer and basic terminal skills in linux.
You will also need Eclipse classic
I thought about it, but then I went to this site and decided it was beyond my skill set. Start here.
http://developer.android.com/index.html
Dude that site is for app development for rom development u need to head to this site
http://source.android.com/
Do I need to know a programming language at all? I know a little java but not enough to do anything with, I am very familiar with ubuntu and linux in general. what would I need to get started?
Thanks everyone for all your replys!
vipaman said:
Dude that site is for app development for rom development u need to head to this site
http://source.android.com/
Click to expand...
Click to collapse
Sorry. I pasted the wrong link. Was in a hurry. Thanks for posting the correct one.
Ohh...u will need a from kitchen also....and programming language.... ummm Java is imp for starters...
Sent from my LG-P999 using XDA App
Is there a certain kitchen that you would recommend or which one do I need for G2x?
Depends on what ur going to build from.......are u going to build from stock or CM sources.....according to that u should download a kitchen but I guess there is a kitchen which is very gud for the g2x...
I was planning on building from stock, and mainly just starting out with themes etc for now.
So u will need the stock source for gingerbread
Themes are a great starting point. Learning which apks control what is how it begins, learning how to manipulate how it looks turns into manipulating how it performs. Smali and Java are languages you need to be able to read at the least for the OS itself, C/C ++ knowledge would be nice for kernels. A basic knowledge of Linux is required if starting from pure source.
Sent from my G2X XDA app cuz I'm stalking your mom....
Mr. Apocalypse said:
Themes are a great starting point. Learning which apks control what is how it begins, learning how to manipulate how it looks turns into manipulating how it performs. Smali and Java are languages you need to be able to read at the least for the OS itself, C/C ++ knowledge would be nice for kernels. A basic knowledge of Linux is required if starting from pure source.
Sent from my G2X XDA app cuz I'm stalking your mom....
Click to expand...
Click to collapse
+10.......I know for kernels u will need C++ but for just rom java is a must.......He actually explained it better than me..

What should I learn?

I am going back to school and I'm looking at computer programming. What would the developers here recommend I learn so I can build Android ROMs? I'm also planning on making a career out of the computer programming, not just doing it for Android.
Sent from my SPH-D710 using xda premium
For ROMs, you need Java and XML.
For Kernels, C.
For a career, C# is a good one. C++ is extremely powerful and used across many systems. Also, SQL will come in handy.
I'm sure there's more, but with JAVA, C# and SQL under your belt you can do a lot. With C and C++ on top of that? You'd be a beast.
estallings15 said:
For ROMs, you need Java and XML.
For Kernels, C.
For a career, C# is a good one. C++ is extremely powerful and used across many systems. Also, SQL will come in handy.
I'm sure there's more, but with JAVA, C# and SQL under your belt you can do a lot. With C and C++ on top of that? You'd be a beast.
Click to expand...
Click to collapse
I hear a bit about noSQL?
Thank you! That's exactly what i needed to know.:beer::beer::beer::beer::beer:
Sent from my SPH-D710 using xda premium

[Q] about knowledge and jobs

Ok so I'm really interested in android development and I'm gonna get some books to read about them. Books that I'm gonna get are C and Java for general OS knowledge and to develop apps. So I'm wondering what jobs can I get in future??Apart from these:
-Working in Google[i made this an exception at the moment since its not easy to be the top]
-Making apps and sitting at home
-Making mobile apps for companies
Hope to get some good replies, cause I don't wanna choose the wrong path and have my life ruined/jobless in future
PS: Is android OS/kernel 100% on C only?? no C++ or C#? also are the apps 100% Java??thanks!
Learning Java and C++ isn't going to ruin your life even if it turns out to not be what you wanted. It takes like, a semester to get the basics down - this isn't four years of your life. You can even teach yourself.
Writing code is like writing English - most people can learn to do it. It's the creativity and ability to problem solve that makes a difference.
Just learn C++ or Java (flip a coin) and see if you like it and if it's a kind of thinking and problem solving you're good at or even like. It's not going to take ages. It's like taking a cooking class to see if you like it - you're not going to be a master chef or even a good one at first - but you won't know unless you try. And even spending a year and not wanting to go on isn't the end of the world.
Sent from my SGH-T999 using xda app-developers app
wong93 said:
PS: Is android OS/kernel 100% on C only?? no C++ or C#? also are the apps 100% Java??thanks!
Click to expand...
Click to collapse
Yes, Android Kernel is actually a modified Linux Kernel which is 100% written in C. No C++ or C# is involved. Android OS is written in C, C++, Java.
And yes, all the android apps are written in Java and there are places where XML editing is performed.
Pennycake said:
Learning Java and C++ isn't going to ruin your life even if it turns out to not be what you wanted. It takes like, a semester to get the basics down - this isn't four years of your life. You can even teach yourself.
Writing code is like writing English - most people can learn to do it. It's the creativity and ability to problem solve that makes a difference.
Just learn C++ or Java (flip a coin) and see if you like it and if it's a kind of thinking and problem solving you're good at or even like. It's not going to take ages. It's like taking a cooking class to see if you like it - you're not going to be a master chef or even a good one at first - but you won't know unless you try. And even spending a year and not wanting to go on isn't the end of the world.
Sent from my SGH-T999 using xda app-developers app
Click to expand...
Click to collapse
Is there a lot of C++ in android?? i'm kind of confused lol, so its kernel is fully written in C , and the OS is C and C++ while apps are Java??btw what are some jobs I can get i Im really a pro in android one day?? and what if I do not take android?? what path can i go with these languages??
coolsandie said:
Yes, Android Kernel is actually a modified Linux Kernel which is 100% written in C. No C++ or C# is involved. Android OS is written in C, C++, Java.
And yes, all the android apps are written in Java and there are places where XML editing is performed.
Click to expand...
Click to collapse
thanks for the reply,btw any idea what jobs can I get??
wong93 said:
thanks for the reply,btw any idea what jobs can I get??
Click to expand...
Click to collapse
Jobs will be mainly based on your education and experience. Just do stuffs that proves your experience, add it to your Resume, and if employers are convinced you'll get the job. There are countless opportunities for Android development.
Also, you can read this similar article which was published in Portal:
http://www.xda-developers.com/andro...s-dont-work-on-the-internet-xda-developer-tv/

[REQ] where to learn android developement

So I've been rooting and moding for quite a while and I enjoy doing it but I wanted too give back to the XDA community and help work on some of the kernals and some Roms and other android development. I've been programming for about a year and I already know how to make android apps (I'm actually in the process of finishing up my own android game) so I'm not new to programming. I just want someone to point me in the right direction to start my new journey in the android modding community. Any help will be greatly appreciated
Sent from my Nexus 5 using XDA Free mobile app
First of all this should have probably been posted to the general thread. Secondly there are plenty of places and ways to learn programming for android. You'll want to start with learning java. Go to udemy they have some good java classes I am taking one as well. You can use XDA university or the android developers website etc etc. Just search google there's a million free ways to learn this kind of thing.
Sent from my Nexus 5 using XDA Free mobile app
First learn to post in the right section.
Ya, the thread been moved. I don't post much so I didn't know. And I already java and ik it pretty well to. I just want to know if anyone has any super good tutorial or something like that I can look into to learn android development cause I thought the kernal is wrote in C and part of roms are wrote in other languages
Sent from my Nexus 5 using XDA Free mobile app
What sort of development are we talking about?
Beside app development, I see categories as below
- Decompiling stock apps, theming them or modifying code, then recompiling them
- Building Android from Source
- Building kernels from Source
- Building PARTS of Android from source as modifications
I think the first steps should be learning to build android from source. That gives you the basics. Then you can start to delve into the code and look to write functions in java and cpp to build in extra functions. It would also be good to get busy figuring out how to cherry pick other functions into the source from other repositories.
Here is a good starting point for that
https://source.android.com/source/building.html
Thanks, really appreciate it, I guess I got to first get Linux running on my machine before I download the aosp source code, any recommendations on which Linux distro I should install, I'm thinking Ubuntu
Sent from my Nexus 5 using XDA Free mobile app
shogun656 said:
Thanks, really appreciate it, I guess I got to first get Linux running on my machine before I download the aosp source code, any recommendations on which Linux distro I should install, I'm thinking Ubuntu
Sent from my Nexus 5 using XDA Free mobile app
Click to expand...
Click to collapse
Ubuntu is the staple. I got bored and went for Mint in the end, but that's because I use Linux as my daily driver and found it appealing. It's still Ubuntu (which is Debian) based though. If you're just building, Ubuntu makes sense as all guides are geared up for that.
rootSU said:
Here is a good starting point for that
https://source.android.com/source/building.html
Click to expand...
Click to collapse
rootSU thanks for the link. It's been a while since I've read that. If I'm reading that correctly it means you can build AOSP with jdk7 now. Sweet. I quit building pure aosp because I've been running jdk7 for a while and it was the only source that wouldn't compile with it. Time to repo sync I guess.
theesotericone said:
rootSU thanks for the link. It's been a while since I've read that. If I'm reading that correctly it means you can build AOSP with jdk7 now. Sweet. I quit building pure aosp because I've been running jdk7 for a while and it was the only source that wouldn't compile with it. Time to repo sync I guess.
Click to expand...
Click to collapse
Yep, 7 works fine

Categories

Resources