How do I become a developer? - General Questions and Answers

I've been a member of XDA Forums since about October (when I got my vibrant). And I wad wondering how to become a developer. I feel like I should help contribute to this community instead of just being someone downloading and flashing. Im planning on majoring in computer science in college and I know it will help me with this type of stuff but I cant wait another year (Junior in high school)... I would really appreciate it if you guys would point me in the right direction or take me under your wing so I could pursue this interest.

dcaples002 said:
I've been a member of XDA Forums since about October (when I got my vibrant). And I wad wondering how to become a developer. I feel like I should help contribute to this community instead of just being someone downloading and flashing. Im planning on majoring in computer science in college and I know it will help me with this type of stuff but I cant wait another year (Junior in high school)... I would really appreciate it if you guys would point me in the right direction or take me under your wing so I could pursue this interest.
Click to expand...
Click to collapse
I'm doing computer science also to become a dev, I'm a senior! I have no idea, but I would love to dev also, I know it takes a lot of work though.

Step 1 - cut a hole in the box
step 2 - put your junk in the box
step 3 - make her open the box
step 4 - and that's how you do it (its my d$#* in a box)
haha naw i'm jk, I would like a clear way on how to dev specifically for the vibrant, I've seen a bunch of different ideas and tutorials on how to do it, but their specific for that phone, and its hard to comprehend on how to put the knowledge to the vibrant

Yea I know its alot of hard work but it will all pay off in the end.
I think it would be nice if one of the vibrant developers put up a video of how to become a developer and a video of him/her cooking up a rom. Im sure alot of people would take intrest to that. It would also give us enough knowledge to maybe be able to develop other phones or programs.

Learn your way around a linux box as it's pretty much necessary to compile source and what not. If you're wanting to develop programs for Android, learn some Java...
there's a few good e-books on amazon for android developing if you can learn from books.

I think you should start out with themes....so you know exactly which apks control what...which XMLs control what...then get some Linux knowledge so you can know how to tweak for speed....then start to learn some Java and Smali code....and do a sh*t load of research....i tried to create my own ROM based from official Vibrant source....MAJOR FAIL ...i think my phone went into shock ....but find someone who is willing to teach you...but make sure you're patient enough to learn.

Due to the nature of vibrant roms anyone can be a developer! That's a good and bad thing. Anyways... best way to learn is to learn Java. Android is built on it. It may not loom like it on the surface but it helps (ask whitehawk). Mr apocalypse's advice is probably the best.
Also a video is a horrible idea(no offense). It will empower people who have no business making roms to make them. Do you want people who don't know how to make a flashable zip making roms for your phone? It could potentially lead to bad things...
I was where you were a couple years ago (not that I'm much further ahead). Learn you some Linux. Learn you some theming and try and make a simple app for android.
Sent from my SGH-T959 using Tapatalk

Related

Learning to Develop on Android

So I've been palying around with the Android SDK. I've done a bit of developing before, but never in Java. The Android APIs are pretty well documented, but I'm missing the basics of Java programming (data types, declaring variables and constants, file operations, etc.).
Does anyone have any suggested references? I've been digging some myself but it's slow going.
If you haven't already, check out http://www.helloandroid.com , http://www.anddev.org , and look for O'Reilly books on Java or skip the first five chapters of "Java for Dummies."
Both of those are really focused on Android specifically. Anddev.org is really for developers while HelloAndroid.com is more of a blog and not much technical info.
Here's the best site I was able to find about the Java basics.
http://en.wikibooks.org/wiki/Java_Programming/Overview
After that it just learning the APIs, and I think Anddev is really going to be the site to watch on that.
I thought I'd share in case there are other aspirng developers watching.
Developing Thread
I didn't know where to add this, but if you need to move it to the right thread please do.
I want to start developing, but I don't know any Java. I'm sure that you guys probably know some books that I can pick up to start learning. Actually any advice or resources would be great since.
Ever since i got the G1 and seeing everybody speaking code it realy started to interest me. So any help would be greatly appreciated.
Thank you
I heard the dummy books aren't that good to start off with, but thanks I'll still look at it.
Bump,
Come on people i know you have some ideas, so i can learn java or anything to develop for Android.
Im also thinkin about starting or trying to develop for Android, like how would I start off makin a custom rom build?
Come on guys
See here
Christopher3712 said:
Come on guys
See here
Click to expand...
Click to collapse
that would have worked great if you spelled develop right LOL
The thing with programming textbooks is no one can ever agree on what book is "best". Some people like books that are basically just giant lists of functions and their syntaxes, some people like books with a lot of examples, some people like books that primarily explain the most basic functions in plain English. Some folks don't like to use books at all and learn programming purely from studying others' source code.
A lot of the Java-specific books written in the past decade are written without requiring pre-existing knowledge of C++, which would be good if you have never programmed in any language before. I think the "Headfirst Java" volume is supposed to be well-regarded, but I can't say that from personal experience.
Of course, you could always just find your local community college/adult school/vocational center and sign up for Java classes. Some community colleges might place Java far down in the CS track and make you take prerequisite courses. Depending on how the course is set up, what text it uses, and how much ground it intends to cover, it may or may not have prerequisites.
Good luck
neoobs said:
that would have worked great if you spelled develop right LOL
Click to expand...
Click to collapse
lol, i'm just all over the place today! no matter, i made my point
Christopher3712 said:
lol, i'm just all over the place today! no matter, i made my point
Click to expand...
Click to collapse
I wasnt referring to apps, but thanks?
Christopher3712 said:
Come on guys
See here
Click to expand...
Click to collapse
OMG hahahahaha i love it!
Learning to Develope on Android
I want to learn how to develop apks, use the SDK to its fall extent. I put Debian on my phone and windows x , made a couple of my own themes. However, i want to do more i just don't how the knowledge to do so. i tried to read on how to use java, c++, c.net, etc but I'm just not picking it up all to well. I just installed Ubuntu on my computer but my knowledge of Linux is very little. I'm welling to put the time and effort into learning how do these thing but I'm getting no where. Watching people like JK come out with roms just makes me want to do the same. i also just updated to the new SDK but for some reason it won't work (haven't gone around to find out why thou). Can anyone help me out, maybe point to toward some good sources, books, or whatever. i love messing with me G1 i just want to take it to the next level. i finish school on the 20th of this month and i have till July 15th of free time ( i leave for Basic Training). so i would like to get started between these times.
If a similar thread was already made i'm very sorry i searched like crazy to find one but had no luck, so please don't get made if there is one just point me to it.
THANK YOU
www.android.com
find source code to play with and read, read, read!
dead2hill said:
www.android.com
find source code to play with and read, read, read!
Click to expand...
Click to collapse
I have read so much my head could explode, but i think I'm reading from the wrong sources or just not getting it at all. I'm reading some books i got from friends with Master Degrees in this stuff and they are just confusing me.
The major problem is I'm a fantastic hands on learner but i have no one with the spare time to help on any of these. I've been taking the Cisco Academy Online and didn't get any of it until i had someone help with a hands on learning and it all just flowed right into me easily now i'm close to getting my CCNA.
But i'll keep reading till i get it, some day
fankly i would say if you wanna make apps then read a buch of tutorials, stare ata lot a source code. and create a few simple things first. i have not bothered with any of the sample's with the SDK because i just don't like them. i do however read lots of code daily and am currently trying to find the best way to get my app running. i am one of those people that if handeed source code i could tell you what it does and when, but if told to write a program that does something it will take ages for me to figure out. even with a year of both java and VB .net under the belt i still don't know much since those classes where a long time ago. read lots of code and you could probably benefit from having a java book around too
I found the sample code and tutorials shipped with the SDK very educational, and would recommend the soon-to-be Android developer to plow thru them. They give you (at least they gave me!) a basic understanding of how Android apps are supposed to work.
If you're not used to general Java development at all, I recommend starting out with a beginners book on Java development first.
/Mats
@hellsonlyangel - I have the same desire to learn how application development as you, particularly Android development. I've done the same as you over the years, reading tons of books and online tutorials on programming, but learning very little. I am taking a very general, but comprehensive, scripting course right now as a part of my Network Admin degree program, and I fell that I understand more after 2 weeks in this course than I did from all of my self study attempts. Sometimes, there's just no substitute to structured learning programs. The ISBN for the book that my course is using is 1418836338. It can be had on the cheap, used for around $8, just in case you want to check it out. Good luck.
hellsonlyangel said:
I want to learn how to develop apks, use the SDK to its fall extent. I put Debian on my phone and windows x , made a couple of my own themes. However, i want to do more i just don't how the knowledge to do so. i tried to read on how to use java, c++, c.net, etc but I'm just not picking it up all to well. I just installed Ubuntu on my computer but my knowledge of Linux is very little. I'm welling to put the time and effort into learning how do these thing but I'm getting no where. Watching people like JK come out with roms just makes me want to do the same. i also just updated to the new SDK but for some reason it won't work (haven't gone around to find out why thou). Can anyone help me out, maybe point to toward some good sources, books, or whatever. i love messing with me G1 i just want to take it to the next level. i finish school on the 20th of this month and i have till July 15th of free time ( i leave for Basic Training). so i would like to get started between these times.
If a similar thread was already made i'm very sorry i searched like crazy to find one but had no luck, so please don't get made if there is one just point me to it.
THANK YOU
Click to expand...
Click to collapse
So the best way I found to learn this is through trial and error. I will write code for a simple program, for instance a clock app. I will work on it until it does what I want it to then I will trash the code and build it again using what I just learned. It's just a lot of practice and don't get too deep until you have a full grasp of the concepts behind programming. You'll just get stuck and frustrated.

Ok, I want to take matters into my own hands...HELP :-)

Funny title huh Seriously though, I am tired of the hit and miss of live wallpapers, and other apps working or not working on my beloved Hero, that being said what I have desperately been trying to do is learn Java(a live wallpaper not sticking when all my others do is what started this, it's dumb I know) so I can start programming things to work for our phone(or at least try). I have spent 2 days looking for a good way to learn Java, I have been all over the net hunting for an interactive Java tutorial and have come up empty handed, I found a couple PDFs as well as some online tutorials but they don't explain everything(it seems like they all assume you already know some Java or programming), I am a total beginner and need it all explained, preferably with hands on. I am a fast learner when things are explained and taught properly, I think I could excel at this, so I figure this community is the best place to ask for advice on how and where to proceed, so come on guys help me out what is the best way for a total beginner to proceed, how did you all start, where did you go for help? Again, I am only asking here because I really have spent 2 days looking for a proper tutorial and come up empty handed...THANKS!!
Oh, I can skype if some saintly person feels like teaching.
edit:this is what started my obsession http://www.mediafire.com/?jiynwdnmc1z out of the 6 I have this is the only one that wont stick, so I figured why not try to re-build it my self after comparing it to the ones that do stick(it does run perfectly, just wont stick)
Well if you are a total newbie to programming my best advice is goto your local book store or half-price books(used book store) and find a book on java programing probly too first one would be java progamming for dummies and the second one a more adavaced book go though both of them do the lesson in there and learn by doing best way to do it and then check out the froyo thread for the irc room and if you get stuck ask someone in there oh on here your direct question if you do your homework and give a detialed description of what your working on more people are going to try and help you but this is just my two cents and the extend of my attempt at advice good luck and hope to see your name on an op soon
Wow, I gotta say, I do like that lwp a lot man. Thanks for posting the link to it Good luck on learning Java man. It's not too hard, but once you start scripting with it etc... that's a whole different story, lol
It's good to see someone wants to stop putting up with stuff not working and make it work Honestly, I'd just go to your local library, and check out a bunch of stuff on Java... that's what I did with Python
It's going to take a lot of reading and trial and error to learn java. But a little heads up, the live wallpapers that don't stick, is a driver issue, not a programming issue. I don't know enough about android, so unless there is a line you can add to the header to force software rendering, you can't do much about it.
Sent from my Hero CDMA using XDA App
Thanks for the responses guys! I really didn't think of grabbing a Dummies book, I figured there would be a good course online, but that's what I'm going to get first thing tomorrow. I figure once I get familiar with it all(maybe a week or two) I will compare the ones that work with the one that doesn't and go from there. I think the first app I would like to work on would be a request from the forum, you guys all help and give back, I think that would be a great way to put the knowledge to good use Well, thanks again, I'm still open to more suggestions, maybe a couple weeks from now I can at least give you guys a neat wallpaper!
Sent from my HERO200 using the XDA mobile application powered by Tapatalk
matthewjulian said:
Thanks for the responses guys! I really didn't think of grabbing a Dummies book, I figured there would be a good course online, but that's what I'm going to get first thing tomorrow. I figure once I get familiar with it all(maybe a week or two) I will compare the ones that work with the one that doesn't and go from there. I think the first app I would like to work on would be a request from the forum, you guys all help and give back, I think that would be a great way to put the knowledge to good use Well, thanks again, I'm still open to more suggestions, maybe a couple weeks from now I can at least give you guys a neat wallpaper!
Sent from my HERO200 using the XDA mobile application powered by Tapatalk
Click to expand...
Click to collapse
**** my bad. Not sure I can do that here. Check your pm
Not to rain on your parade or anything, but the wallpaper you are working on is a pirated upload of a paid LWP in the market. The original author of the LWP would probably be happy to help paid customers get it working.
I'm all for you learning how to code up some cool stuff for the community, and I wish you the best, but stealing other people's stuff isn't the way to go.
hmm, was not intentionally "stealing" I paid for it, the developers response is " LWP's don't work on hero, sorry" so I thought I would try to make it work for me, I'm pretty sure if I could provide a way for hero users to use it they would all gladly pay the $1 as I did, as it stands I "pirated", yet another, unusable app, hey hero users come get your free, unusable, paid app
Sent from my HERO200 using the XDA mobile application powered by Tapatalk
matthewjulian said:
hmm, was not intentionally "stealing" I paid for it, the developers response is " LWP's don't work on hero, sorry" so I thought I would try to make it work for me, I'm pretty sure if I could provide a way for hero users to use it they would all gladly pay the $1 as I did, as it stands I "pirated", yet another, unusable app, hey hero users come get your free, unusable, paid app
Click to expand...
Click to collapse
That's cool...your OP links to a mediafire download for a paid app, so I didn't realize you knew it was paid. It's lame that the guy won't fix it, but I guess those of us slumming it on the hero have to get used to doing things ourselves, eh? Good luck to you...it is a cool LWP.
That wallpaper sticks just fine on my hero. Running Aloysius 2.1 maps version.
gobi42 said:
Well if you are a total newbie to programming my best advice is goto your local book store or half-price books(used book store) and find a book on java programing probly too first one would be java progamming for dummies and the second one a more adavaced book go though both of them do the lesson in there and learn by doing best way to do it and then check out the froyo thread for the irc room and if you get stuck ask someone in there oh on here your direct question if you do your homework and give a detialed description of what your working on more people are going to try and help you but this is just my two cents and the extend of my attempt at advice good luck and hope to see your name on an op soon
Click to expand...
Click to collapse
Aint you helpful
Last I checked, this whole site is pirated. If you think about it. It's basically a whole guide on how to hack phones and get free apps. So why are you even putting it out there that the guy is pirating. LOL. Doesn't make any sence but I thought I'de throw that in there.
theycallmegq said:
Last I checked, this whole site is pirated. If you think about it. It's basically a whole guide on how to hack phones and get free apps. So why are you even putting it out there that the guy is pirating. LOL. Doesn't make any sence but I thought I'de throw that in there.
Click to expand...
Click to collapse
Get out. Now. Seriously.
theycallmegq said:
Last I checked, this whole site is pirated. If you think about it. It's basically a whole guide on how to hack phones and get free apps. So why are you even putting it out there that the guy is pirating. LOL. Doesn't make any sence but I thought I'de throw that in there.
Click to expand...
Click to collapse
You best be Trolling
wow, I seriously apologize for all of this, all I wanted to do was give back to our community, I have been taking for a year plus & thought it was time to step it up a notch, I did not want to start fights, sorry, if any mods want me to take it down I will.(oh,I really paid for it, that's my mediafire account,after it didn't work I pulled it off my phone to try and work with it.) I'm getting my books now, if I get stuck I hope I can post my questions, thanks again guys!
Sent from my HERO200 using the XDA mobile application powered by Tapatalk
First off theycallmegq. This site does not promote pirating anything. Read the forum rules posted by binary. Who might just ban you if your not careful.
That being said. I would highly recommend the for dummies set of books for starters. Thats what im doing with linux and programming. Also there is a book specifically on the android platform and development at the book stores as well. Last i checked in the computer at barnes and noble i think it was they were coming out with a new one i think had to do with java and android. There was also a post in here a while back about learning development after you have an understanding of the basics at least. Might want to search for that after a couple of weeks. Good luck with your adventure. Im sure the creator of the lwp wouldnt mind you helping make it better.
I think the poster used an unfortunate choice of words. If this was a site concerning iphone OS development it definately would be considered hacking. Modifying Apple OS in anyway is a NO NO! It was hard for me "At first" to get past the "Openess" of Android. Thats why we sould be screaming anytime we see E-fuses in phones (Motorola) or No sideloading of Apps (AT&T). I for one am thankful to be able to have source code to work with and a group such as this one to help out. My little hero is thankful too ... Without you guys I would have an EVO by now...
As far as Java Programming, do a search on "Java Tutorial". Theres a lot at your finger tips.
Try:
www.javapassion.com
just recently changed to a subscription based site, but first few chapters of each class are free to try and learn, even have an android class strarting at the end of the month.
That LWP works fine for me too.

A call to arms!

Ok, I mentioned in annother thread that I am willing to learn developing so our phone dosent die. I've rrun into a bit of a hiccup in that I'm compeletly new to programming and I've either gotten no response or a negative one when I went looking for pointers. Fear not I am still not giving up it is just going to take longer than expected. So in interest of keeping development moving forward I'm putting out a call to arms. Are there any other aspiring developers out there? If so post in this thread what you are good at and what you can do. Perhaps we can collaborate and push out a rom in the near future. Personally I am an expert at graphic manipulation and can handle all of the ui, still working on the coding part. For everyone else, post things you would like to see and perhaps one of us could pick it up and run with it. Let's work together and make this work better than they ever thought it could!
Sent from my SGH-T839 using XDA
Sigh..
We can't work together if you don't have experience with coding.
If you really want to get a spark, you need to get a promising build onto github. And, you will need experience and attention to detail. Nobody wants to help if you don't comment your code, keep good changelogs, and maintain a good readme.
So far, I don't see it out there.
Furthermore, I can't afford to spend hours working on something that won't pay my mortgage. Most of us can't.
If I hit the lottery, maybe I'm your guy. In the meantime, we can't work together without a leader.
And, let's hope the next developer isn't lacing every file with a bunch of jibber jabber about "don't kang my sh*t, bro." Because, a collaborative effort would require plenty of sharing.
Just my two cents.
I would love to see a new Sense rom. but this place seems dead. Coming from the G1 I was surprised to see barely any roms. Even though the G1 is a ancent phone, it had quite a bit of rom and there's more activity over there than there is activity over here.
Sent from my SGH-T839 using xda premium
orange808 said:
Sigh..
We can't work together if you don't have experience with coding.
If you really want to get a spark, you need to get a promising build onto github. And, you will need experience and attention to detail. Nobody wants to help if you don't comment your code, keep good changelogs, and maintain a good readme.
So far, I don't see it out there.
Furthermore, I can't afford to spend hours working on something that won't pay my mortgage. Most of us can't.
If I hit the lottery, maybe I'm your guy. In the meantime, we can't work together without a leader.
And, let's hope the next developer isn't lacing every file with a bunch of jibber jabber about "don't kang my sh*t, bro." Because, a collaborative effort would require plenty of sharing.
Just my two cents.
Click to expand...
Click to collapse
I appreciate your honesty. But you misunderstand my intentions. I am not looking for someone to hold my hand and walk me through how to do everything. I, at most, am looking for info on how to start. I know I need expirence in coding before I can push out a rom, and that it will take a while to get that. That's why I started this thread. So, instead of waiting for me to finish the learning process we can get any other aspiring developers together to start something new in the meantime. I know there are others out there and if we all start posting what we can do and what we would like to see then maybe something may come from it. Thank you for point me to github, I'm sure I can learn some more from there. I understand about responsibilities getting in the way of hobbies, I have kids and a mortgage too, I'm just looking to get all the new developers together so that we can share and work together. I have a friend that writes code for websites for a living and I'm trying to get him on board to take this up as a hobby. Here's hoping.
Sent from my SGH-T839 using XDA
NightmyreWreckage said:
There are only three devs left for the Sidekick.
HewettBR, me (JiN1337), and nxd (kernel developer)
Reactive was a guy who tried to get everyone banned for using open source work, and thus in turn got banned himself.
I would be welcomed to help teach you a bit. I wish I had a learning curve when I was just beginning how to cook ROMS.
1. Download a ROM, unzip it, browse around files, and open files. Play with things.
2. When in doubt, Google it. It's likely someone else had the same problem before you and is a basis on how I fix 80% of ROM problems.
3. Always, always make a NANDROID. A foolish mistake is to flash your own ROM and not have a backup to go to, and than you have to start all over.
Click to expand...
Click to collapse
Thanks. I have a stack of books on android as tall as my hip lol. I feel like I'm in college all over again. Any help would be appreciated at this point. I'm on information overload.
Sent from my SGH-T839 using XDA

What's The Best Way to Learn Android.

I really want to learn how Android works. I want to be able to build Android from source, and compile Roms. The goodies. But anytime I try, it's end up horribly. I just want to know where to start! Should I make a stock based Rom, and learn how to tweak it out? Should I buy a certain book, or read some threads! I don't know Xo I really want to become a Dev. Android is my life, and I want to be able to do what Strapped, XMC, and Tbalden do. Any tips are good tips.
I sure do wish you all the luck in the world Agent. And you certainly want to fashion yourself after three mighty fine developers too. I've had some of those same desires myself after seeing what someone that knows their stuff can do. I had so much trouble with HS Spanish and a few AutoCad Lisp routines that I can't even imagine biting off C++ or some of the other programming languages!
My youngest son though.....now that's a completely different story. :good:
WeekendsR2Short said:
I sure do wish you all the luck in the world Agent. And you certainly want to fashion yourself after three mighty fine developers too. I've had some of those same desires myself after seeing what someone that knows their stuff can do. I had so much trouble with HS Spanish and a few AutoCad Lisp routines that I can't even imagine biting off C++ or some of the other programming languages!
My youngest son though.....now that's a completely different story. :good:
Click to expand...
Click to collapse
I wanna learn while I'm still young, I'm out of school for the time being. I really want to take advantage of these couple Months before life is all about business, and how to properly Manage/Own a T-Mobile.
Sent from my myTouch_4G_Slide using Tapatalk 2
NOW is the time my friend before life gets in the way of your youth and ambitions. It WILL distract you and before you know it spare time will seem like it never comes often enough. I admire ALL of you that persue what interests you and learn while that mind is still fresh. KWIM?
WeekendsR2Short said:
NOW is the time my friend before life gets in the way of your youth and ambitions. It WILL distract you and before you know it spare time will seem like it never comes often enough. I admire ALL of you that persue what interests you and learn while that mind is still fresh. KWIM?
Click to expand...
Click to collapse
Hell Yeah, I'm considering taking classes at the local community college for Java. Apparently it's useful for learning Android. I go to a strictly business college. So I can't learn anything related to Android.
Sent from my myTouch_4G_Slide using Tapatalk 2
OK, so I have an Idea. I want to do what CM said, and learn the basic. I'm going to use Undeads Sense 3.0 Port as a base, and theme it to Sense 4.0. Remove the Bulletproof settings, and push over another tweak app. I want to make it as fast as possible, and have great battery. I always felt Sense 3.0 was the smoothest Sense rom we ever got. Zero Hickups, and No Lag. I'm going to at least do it on a personal level. Try to get a hold of Undead (he's IP Banned on XDA & Rootz), but it may be hard. Maybe even try and get the Amaze Camera Mod working. Just simple, basic things. Once I get used to the waters, I'll try something bigger. Like Paranoid Android.
I just found an Interesting guide about porting any Sense rom, to any Sense Phone. Pssshh, could you image Sense 2.1 on our phone. That would be sweet. The guide is boosted to be made for the most simplest of minds. So I feel I can take extreme advantage of it.
Sent from my myTouch_4G_Slide using Tapatalk 2
Keep on plugging - I admire your determination. And please keep letting us know how you're getting on - the start of a journey.
Sent from my myTouch_4G_Slide using xda premium
Alright agent since I can't quote your last post, I was on the inc2 forums and they have a wifi issue that's solved by turning the always on data off
Sent from my HTC MyTouch 4G Slide running MikXE
Where is Blue when you need him?
::Respect::
Hey guys!
I would say that making a post or thread like this is really the first step - knowledge can be gained, but the passion, that drive to work through all the tedious testing, retesting, writing and re-writing is not something that can be taught.
So start small.
We all have grand designs, plans and ideas - heck there's so much this device is capable of that I want it to do, starting everything at once just leads to unfinished projects and fragmented learning.
If you bring that excitement, that hunger for knowledge, then the rest falls into place but it takes time.
"I never let school interfere with my education"
...is such a fantastic quote. It's up to you to choose to take the time to sit down and read a technical document, white-paper or tutorial while your friends are out wasting time.
Definitely make time to walk away and socialize with real people, but remember that learning how to do this stuff takes a lot of time, effort and tons of frustration and dead ends.
I've been playing with software code for near 20 years now, and I still consider myself not much past amatuer status.
...and status means literally nothing. The only two things that matter are what you know, and what you don't.
So don't lie to yourself. Don't pretend to know something just because you are afraid of what people will think if they find out you don't. It's okay to say "I don't know"
In fact, it's essential to be able to say that not only to yourself, but to be able to admit that to the community, your friends, whomever.
If you don't, then you have no place to start learning. Pretending to know something just prevents you from actually being able to start learning how to do it.
So, after you are comfortable with a truthful assessment of what you can and can't do, the next step is to figure out how to go about learning what you don't know.
The biggest mistake everyone makes is taking on a huge project because that's what the end goal is.
"A journey of a thousand miles begins with a single step"
...another good one!
I'm sure we've all heard it before, but haven't pondered it so deeply. Another way to say it might be:
"The making of an awesome ROM begins with changing a single icon"
Break down the project you want to do into the smallest possible steps.
Can you decompile an app?
If not, definitely learn how to do that.
Once you have it decompiled, browse all the code. Especially what you don't understand or makes no sense. Don't try to understand it all, just absorb it and get to know what it looks like.
Now do that with every app on your device (play with all the stock apps first - they all came from the same place and reflect a certain coding style)
Now that you've browsed through all the code of all your stock apps, do it again. ...and again ...and again ... and again.
Sick of it yet? It's been a few weeks now and you've learned nothing you can directly use.
This part always separates the people serious about doing it from the ones turned off by all the tedious work with nothing concrete to show for it.
I mean, you've spent a couple of weeks just looking at code with no idea what you are looking at.
What you don't immediately notice is that you start to get a sense of the pattern, the layout, and what things are the same, similar, and completely different.
Now you start looking at tutorials you've read in the past and go 'wow, I know kinda what that means, I saw something like that in the code here!'
Ah - now it begins!
When it gets to be too much, do something you can handle from start to finish.
Change an icon, tweak the color of a font, something simple, but that you can feel the pride of success and accomplishment in.
Can you compile an app?
Decompile a working app - change nothing - then recompile it. Install it on your device.
Does it still work? Probably not.
Why?
Ah - the question that drives us.
9 times out of 10 someone releasing something cool is not because they wanted to make it, but because they wanted to learn how to make it.
One thing people forget all the time is that the stock software on the device is built by teams of people with delegated tasks and diverse talents that TOGETHER contribute to the success of the final product.
You? You're alone. You have to do it all. Graphics, sound, coding, planning, research, testing - you are taking a project that requires untold hours of dedication from a team of people ... Maybe just on the graphics alone. A whole other team is working on sound, another team is working on code, there is management to structure goals and delegate tasks.
Managers who may have no technical ability but a good handle on how to keep everyone moving and workikng cohesively. Other management that is keeping the teams on point with each other.
...and it still takes them lots of time to get things done. Not because it's some bloated over-staffed group with too much red tape (though that does happen) - but more because there is simply so much to do.
The next time I spend 40+ hours behind the keyboard with maybe not even a bathroom break won't be the first nor the last. I've sat down to do something on Friday and had someone stop by on Sunday night and I'm still in my work clothes from my day shift Friday, didn't even realize Saturday came and gone.
Does it all require that level of dedication - no, but, you get lost in it and that can happen. Never force myself to do it, just get caught up in learning it all.
Don't expect too much from yourself. You absolutely have the community behind you and so much knowledge here, tons of people willing to help, but in the end it's up to you.
You to do graphics.
You to do sound.
You to write the code.
You to compile it all.
You to figure out why it doesn't work ( and it rarely does).
For every success, you have many, many failures to get there. Especially starting out. Expect to get it wrong. Expect it to be broke just because you touched it. If it isn't, honestly, you're doing it wrong.
We learn so much less from success then we do from failure. If you aren't failing you aren't learning. If it always works the first time, then you are just doing the same tired stuff you always have.
You wanna learn how to code for Android?
Read everything you can, absorb the forums, go download source and browse it. Decompile all your apps and browse them. Start looking up what you don't know.
For every one thing you do learn, you realize there are ten new things you never knew you didn't know.
Now go learn about them, because each one of them will lead you to something else, or many something elses that you didn't even realize you didn't know.
...and did I mention put lots of time into ignoring what you want to do, and learning how to do it one tiny little piece ata time?
Patience is most important.
The patience to only change one variable, recompile, test, test, and test some more. Then, when you are satisfied with the result of one minor little change, make one more tiny change and repeat the process.
Learn the scientific method, and follow it rigorously. If you don't, might as well not bother getting into this stuff because all you will do is get frustrated.
You have to work slowly, patiently, one small step at a time. Try to predict the result of the tiny change you made, and then see if it was what you thought or a surprise. Why was it a surprise?
The question of why is the only thing that matters. Every one of those you answer is one more weapon at your disposal for the battle, one more tool in your box, one more pencil on your desk.
If you have little to no coding experience and expect to sit down and whip out a ROM, you are only setting yourself up for failure. But one day you can, with hard work, lots and lots of time, uncountable failures and hours of frustration and coding something just to have it not even compile, let alone work.
Have you taken the time to map the device?
When you got it stock, you should have put a file browser on it ( root explorer - just buy it already, you need it) and browsed the entire device.
Take a notebook and write out a full device tree on paper, everything you can see. Every folder, every file or folder in them, sizes, permissions, any detail you can see.
Why? Because it already works. You are lookoing at how a working ROM is structured.
I mean, how can you make something if you don't know what it is, looks like, how it acts?
Learned ADB and fastboot yet? Why not? You wonNt be successful if you don't.
This is a pretty long list already - and we've barely scratched the surface. A ROM is not a Sunday afternoon project - a ROM is a dedicated months and months long never ending project that eats up more time then you have every day.
So I'll leave you with one last thing before I go make a thread that people aren't gonna want to see - but I'm not leaving you guys, far from it.
Learn algebra, learn it well, or don't bother attempting to write code. (Or work in any construction trades/build anything professionally.)
Algebra is the single most important learned skill one can pick up across just about anything you can ever do with your life, and absolutely vital in computing.
There really is no "go here, learn this" method - you need to aquire the skills necessary to succeed in your project.
So go break something (minor - don't brick your phone) and then learn how to fix it. ...and pay attention in math class.
Sent from a digital distance.
Blue6IX said:
Huge Epic Post.
Click to expand...
Click to collapse
It's like your a warlock and when I typed your name, POOF! :victory:
This post covers every aspect you could ask for, I'm sure Agent isn't the only one who will gain knowledge from this post, thanks Blue!:highfive:
CoNsPiRiSiZe said:
It's like your a warlock and when I typed your name, POOF! :victory:
This post covers every aspect you could ask for, I'm sure Agent isn't the only one who will gain knowledge from this post, thanks Blue!:highfive:
Click to expand...
Click to collapse
Hell. Yeah. I'm just going to start theming. I want to make the ICS messaging Icon blue, and a blacked out UI.
Sent from my HTC MyTouch 4G Slide using Tapatalk 2
I just got ubuntu on my computer, spent an hour trying to install java lol. Now to figure out why adb doesn't work the way it does in windows haha.
edit: finally got adb working. i have no idea what i did, but after installing a bunch of different libs, time to start exploring haha =D
ekoee said:
I just got ubuntu on my computer, spent an hour trying to install java lol. Now to figure out why adb doesn't work the way it does in windows haha.
edit: finally got adb working. i have no idea what i did, but after installing a bunch of different libs, time to start exploring haha =D
Click to expand...
Click to collapse
Java was a b***h when I installed an unsupported version for compiling. This is helpful though it will guide you through installing and it can even switch java versions if you don't like your current one
AgentCherryColla said:
Hell. Yeah. I'm just going to start theming. I want to make the ICS messaging Icon blue, and a blacked out UI.
Sent from my HTC MyTouch 4G Slide using Tapatalk 2
Click to expand...
Click to collapse
I saw this done on AOKP website as a mod, i think this plus built in messaging pop up like an MIUI thing would b beast
::Respect::
ekoee said:
I just got ubuntu on my computer, spent an hour trying to install java lol. Now to figure out why adb doesn't work the way it does in windows haha.
edit: finally got adb working. i have no idea what i did, but after installing a bunch of different libs, time to start exploring haha =D
Click to expand...
Click to collapse
Man, i'll tell ya - if you had to pick the one thing someone would do to take a step into learning to bend android to your will, installing linux is the best reply possible.
Windows is great to get your feet wet, and can manage some things more easily - frilly stuff, eye candy type details.
If you want to talk about experiencing the thrilling joys of success all that invested effort brings - doing so on a linux box is so much more rewarding then on a windows box.
Definitely see about getting a second monitor if you can swing it. Working with two display panels more then doubles your productivity. You can have a tutorial on one screen and be following along on the other.
That aside, one reason the linux box is so much more rewarding is because of the range of things you can mess with.
You can't work with a kernel in windows. Already right there the most important part of the ROM is off limits to you in a windows box. (as I sit here typing this on windows - mind you.)
Another reason linux is so sweet to work on for coding android is that they speak the same language. Writing code is quicker and easier, connecting the device happens more seamlessly and swiftly.
All these little things add up to save you time.
...and time is your greatest hindrance. It slips by all too quickly and then you are obligated to walk away and do something else. So being able to squeeze more work into less time is the consistent refinement of what you know.
Rarely do you learn how to do something the most efficient way on your own, and really that is the heart of open source. You can see how someone else did something, and learn from how they got there.
I've communicated with people I couldn't speak the language of through code, sending changes back and forth without any written correspondence.
To be able to explain the various joys and experiences learning computer coding has brought me would be impossible. There is so much intangible awesomeness that comes from investing time into learning all of this.
Especially since cell phones are so popular and mobile computing is so easy any more. Being able to bend the device in your hand precisely to your will is ever becoming a more important skill to have.
For those wanting to invest that time into what brings us all here collectively, the rewards really are beyond what you would think starting out.
As much as I wanna delv into this as ACC, I simply have no time haha. However, learning this now will probably help me in the future, so why not.
At the very least I'll finally know what you guys are talking about in the dev section lol.
Blue6IX said:
Another reason linux is so sweet to work on for coding android is that they speak the same language. Writing code is quicker and easier, connecting the device happens more seamlessly and swiftly.
Click to expand...
Click to collapse
This. Install Linux, learn to love it, and learn to customize it. A big part of setting linux up the way you want involves working in a command line, troubleshooting when errors come up, building, and compiling. The time you spend troubleshooting and customizing everything on your linux box will familiarize you with all the commands, shortcuts, quirks, and understanding of why this does that in a linux environment, and will help you to no end.
I'm going to get a new Laptop before school starts up again. Then I can finally get cracking

Looking to Develop Android Applications and Games

Yes, I've already searched the forums. I know there is a guide on here from a developer, but that doesn't leave as much open-endedness as I would like. I'm looking to learn to develop games and applications for the Android OS. I've spent the past week learning Java so that I could learn to develop for Android, but it seems to me that is only the tip of the ice berg. The question I have for you guys is how do I go about learning this stuff? I'm sure most of it is trial and error, but hell what can I try if I don't know where to start?
I know you guys probably get this type of question all the time, but I'm not wanting to take the easy "can you basically code it for me route?". I really want to make the game I have in mind and it's fleshed itself a bit more since I actually learned the backbone of the stuff as well. I've seen The New Boston stuff, but that guy doesn't seem to know what he's talking about. He calls > the less than sign and vice versa. :\
aquaars said:
Yes, I've already searched the forums. I know there is a guide on here from a developer, but that doesn't leave as much open-endedness as I would like. I'm looking to learn to develop games and applications for the Android OS. I've spent the past week learning Java so that I could learn to develop for Android, but it seems to me that is only the tip of the ice berg. The question I have for you guys is how do I go about learning this stuff? I'm sure most of it is trial and error, but hell what can I try if I don't know where to start?
I know you guys probably get this type of question all the time, but I'm not wanting to take the easy "can you basically code it for me route?". I really want to make the game I have in mind and it's fleshed itself a bit more since I actually learned the backbone of the stuff as well. I've seen The New Boston stuff, but that guy doesn't seem to know what he's talking about. He calls > the less than sign and vice versa. :\
Click to expand...
Click to collapse
if you are e developer , to learn java (at least the basics) is the step no 1 , and its not so hard
if you have no idea what programming means , then you sould spend time to have some general knowledge about programming.
then you sould try to understand android platform , read general info , read sdk documentation , read about the structure of an android app , and
play a litle with Eclipse. you can find everything on the net. tutorials , code , how to etc.
Start doing tutorials, that's what I'm doing.
Check YouTube for beginning Android programming and stuff like that. Eclipse has some good tutorials as well
Sent from my LG-E739 using xda app-developers app
aquaars said:
Yes, I've already searched the forums. I know there is a guide on here from a developer, but that doesn't leave as much open-endedness as I would like. I'm looking to learn to develop games and applications for the Android OS. I've spent the past week learning Java so that I could learn to develop for Android, but it seems to me that is only the tip of the ice berg. The question I have for you guys is how do I go about learning this stuff? I'm sure most of it is trial and error, but hell what can I try if I don't know where to start?
I know you guys probably get this type of question all the time, but I'm not wanting to take the easy "can you basically code it for me route?". I really want to make the game I have in mind and it's fleshed itself a bit more since I actually learned the backbone of the stuff as well. I've seen The New Boston stuff, but that guy doesn't seem to know what he's talking about. He calls > the less than sign and vice versa. :\
Click to expand...
Click to collapse
I think you are referring to my guide. You say it "doesn't leave as much open-endedness as [you] would like." What do you mean by that?
The guide is first and foremost written for beginners.. if you have suggestions on how I can improve it, let me know
And I wouldn't call learning "trial and error." It's more of practice and understanding.
You are right in saying "What could I possibly try if you don't know where to start?"
Following a structured series of tutorials at first will start you off on a strong foot.

Categories

Resources