Getting Started with Development - Galaxy S 4 Q&A, Help & Troubleshooting

Hi everyone! I am currently a student going into my senior year of my bachelors in computer science. Over the years I have wanted to get into android os development but just never seemed to know where to start with it. I have a very strong programming background of C++, php, some javascript, actionscript, visual basic (and .net), and a handful of others too.
Does anyone have any good resources in getting started with things? Or even better yet, would anyone be willing to sit down over skype or the like and have a chat and tutor/teaching sessions with me?
Thanks in advance for any of your guys help, it will be very much appreciated.

AzureShadow said:
Hi everyone! I am currently a student going into my senior year of my bachelors in computer science. Over the years I have wanted to get into android os development but just never seemed to know where to start with it. I have a very strong programming background of C++, php, some javascript, actionscript, visual basic (and .net), and a handful of others too.
Does anyone have any good resources in getting started with things? Or even better yet, would anyone be willing to sit down over skype or the like and have a chat and tutor/teaching sessions with me?
Thanks in advance for any of your guys help, it will be very much appreciated.
Click to expand...
Click to collapse
Welcome to the game
IMO you probably won't find someone willing to sit down and teach you this stuff. It's kind of a learn as you go thing for most of us, and for others they won't even post on these forums until they've mastered coding lol.
I'm a noob myself, and certainly not a programmer. I came on here not knowing much, but then started learning very specific things for my particular phone. That's where you should start. Learn everything there is to know about your phone and start making apps/roms just for your device. You certainly need to know, and understand, the build numbers for these phones and realize that not every ROM, modem, kernel, etc. is compatible with all phones.
There aren't too many resources other than the required tools... for example, if you don't have the Google Android SDK bundle then you need to get it. You need the AVD Emulator for app emulation unless you're going to test everything on your own device. If you're looking for a relatively easy way to compile a ROM into a ZIP so it's working and flashable to your phone then there are Android "kitchens" that will do that for you. They themselves require their own tools to work, but they're pretty straight forward.
This particular kitchen by dsixda works well, even though it says it's not being updated anymore. It supposedly works for all GS4 variants, but I have personally confirmed that it works for the GS4 jfltespr variant by Sprint.
http://forum.xda-developers.com/showthread.php?t=633246
If you use that and follow the instructions, you can decompile a base ROM to work with it and see how everything is set up, add or tweak a few things as you like, recompile it back to a ZIP and then flash it to your phone and see it in action.
Good luck.

I would LOVE to see a kitchen on android itself
Sent from my SGH-M919 using xda premium

My one piece of advice here - because Android development is so multifaceted that there are any number of ways to start, and if you're down in the platform, often you need to know a lot to be productive:
If you want to play in kernel space, I suggest playing with some microcontroller development boards, like AVR. Arduino hardware is great, but the Arduino IDE does too much handholding. Take a more "down to the metal" approach like using AVR-GCC to target Arduino hardware. This teaches you how to think about voltages, currents, drive conflicts (pushing and pulling a bus at the same time is Bad), etc.
Oh yeah, and grep is your friend.

Related

Trying to become a developer

Sorry if this has been posted but I couldn't find one and if posted in wrong section
Im trying to become a developer but I am stuck at hello android and don't know what to do from there if anyone can show me a way to develop apps easily please help out and this is my first post too =]
Sent from my overclocked Cyanogenmod htc evolution 4g sucka
cesarcerros31 said:
Sorry if this has been posted but I couldn't find one and if posted in wrong section
Im trying to become a developer but I am stuck at hello android and don't know what to do from there if anyone can show me a way to develop apps easily please help out and this is my first post too =]
Sent from my overclocked Cyanogenmod htc evolution 4g sucka
Click to expand...
Click to collapse
You're stuck getting Hello Android to work or whate to do after hello android? Do you know any development languages such as Java or C#? (you'll be writing android apps in java, but C# is really MS version of java with a few syntax differences) If not, are you familiar with object orientation? If not, it's gonna be tough dude but if you're smart and pick stuff up quickly you can learn by reading.
Pick up some books and look at youtube videos.
Sent while sitting on the toilet.
Alright thanks its just that helloandroid project wouldn't start right but I will look up massively on how to start a different way or just try to find the solution and youtube always helps and anyone knows how to make roms looking to make aosp
Sent from my overclocked Cyanogenmod htc evolution 4g sucka
There's a few free Eclipse and Java books out there that a beginner will understand especially if you already understand the concepts of object-oriented programming. Eclipse IDE itself will need a book as it's full of plugins and tools you need to understand to compile your project effectively.
It's going to be a very very long and slow road.
This may help, a series of YouTube videos for beginners.
http://eclipsetutorial.sourceforge.net/totalbeginner.html
I've been thinking the same thing, learning to develop for Android. Since I have near zero experience programming (save for a VB class in college) I decided I would be better off hiring someone to write what I want.
Just keep in mind though, Hello World is just where people start.
You may want to check out the android Appinventor. It's made by Google, and is in beta testing now, but it's a graphical way of programming for android. Though there isn't any code involved and won't be good/used outside of Android, it does a good job imparting the logic of programming.
I'll give you some tips that I've learned over the years as a developer.
First if you haven't done any development before I highly advise obtaining a book. True there are tons of web tutorials out there but personally I find a good author can do wonders in learning how to develop software. Anytime I want to learn a new platform I pick up a book on that platform. Of course you can find a ton of books used but another great source is a library. If you're in college with a computer science program chances are your library will have a couple of books on Android development. Your public library probably has some books on the subject as well. If all else fails see if you have a friend who will loan you a book.
Reading about development is only part one, part two is hands on. You can read an entire book on developing software and walk away with no knowledge. You can mindlessly follow the examples in the book but I find it best to use the examples in books as a guideline. In other words take the idea in the book and morph it so you're working on something original. Trust me here, you'll learn a lot more doing this instead of just mindlessly following the examples.
Next thing you'll need is a problem. Why? Because you need something to write. I find myself most motivated to write software when I either have a problem or something else has one and a checkbook. What do you want your phone to do? Are there applications out there that solve your problem but you think you can do better? Think small and easy since you're still new. Realistically you're not going to be able to make a web browser from scratch as your first project but you can certainly make a database of movies you own.
One thing that is debatable is whether you should learn to write something quickly or well. Frankly I'm in the school or writing something quickly and ignoring "correctness" when you're new. People new to programming spend too much time worrying about doing things "correctly" (very important when you're developing actual software) instead of learning how to do things in the first place.
Your code may not be readable, may not be optimized, and may crash every time an invalid input is entered into a field but you'll learn from those things. I think most people who end up hating programming do so because they spent too much time on worry about the little things and thus seeing no results for their work. Once you have the basics down you can concentrate of the details of optimizing code, validating inputs, and making your code readable.
Honestly not matter what you write you'll look back at it in embarrassment ten years from now anyways.
Ok thanks will look for a book
Sent from my overclocked Cyanogenmod htc evolution 4g sucka
cesarcerros31 said:
Ok thanks will look for a book
Sent from my overclocked Cyanogenmod htc evolution 4g sucka
Click to expand...
Click to collapse
Buy a Java book that also covers Object Orientation basics and principals. (you'll also need to understand some XML to do android programming) If you want to make kernels/ROMS, definitely look into Linux and shell scripting. (you can find most of this info online though)
By the way, I heard the "Java in 24 hours" book is pretty good.
Sirchuk said:
By the way, I heard the "Java in 24 hours" book is pretty good.
Click to expand...
Click to collapse
it might be good, but it wont teach him how to actually code. Most of those books are made for people that know other languages like javascript/php/c/etc.. and are wanting to move to java and learn the new syntax.
I have no idea as to what you know. So ftw.
Write what ever you decide in a pseudo code, first.
Two things will fall out of that, a design, and java methods of implementing the pseudo language ( as you decide what java syntax does your psuedo code) which invariably returns you to (1) the design. I think it's called iterational refinement, or some such other bs.
So don't get bogged down, now that you know hello, make it start "right"...
You all do realize that eclipse was a machine.. a sunny>dg joke.

[Q] Learning to Dev

I have been a member of XDA for a while and now I want to contribute. I have a basic understanding of computers and want to learn more. Obviously our greatest devs were not born devs they had to learn everything from somewhere. I'm looking for suggestions on where to start on the road to become the best dev I can be. Keep in mind I'm flat broke so I cannot hit up the local bookstore or download any paid software, but with the way the internet is today there must a free legitimate source for everything somewhere. So anyone willing to help a noob If I posted in the wrong section please kindly redirect me rather than flame me. Thanks in advance.
It all depends on what you want to contribute. I'm a beginner myself (only developing since august). It is easy to learn Java, for the most part. I would suggest heading over to http://developer.android.com/index.html for starters. There are many examples and if you want to know something specific, try using the search bar at the top right (it comes in handy). I have already published an app, a simple one, but still an application none the less. I am working on two other projects simultaneously (a live wallpaper and a home-replacement app). You can come to my website http://futurinnovations.blogspot.com/ to see what I'm working on. I am still in the process of learning, and being in college slows things down a bit. Just make sure not to give up. If your stuck, ask someone (or everyone) on forums like this.
Futur Innovations said:
It all depends on what you want to contribute. I'm a beginner myself (only developing since august). It is easy to learn Java, for the most part. I would suggest heading over to http://developer.android.com/index.html for starters. There are many examples and if you want to know something specific, try using the search bar at the top right (it comes in handy). I have already published an app, a simple one, but still an application none the less. I am working on two other projects simultaneously (a live wallpaper and a home-replacement app). You can come to my website http://futurinnovations.blogspot.com/ to see what I'm working on. I am still in the process of learning, and being in college slows things down a bit. Just make sure not to give up. If your stuck, ask someone (or everyone) on forums like this.
Click to expand...
Click to collapse
I forgot to mention I want to learn to dev for Android. I want to start out with simple apps then work my way up to building/porting roms. Also I just downloaded the Java JDK and am using Java's "Greenfoot" Tutorial to get started since I have no experience with Java. And I will be sure to check out your blog and thank you for the reply.
porting and building is something far different from app development...you have to know much more if you want to work with kernel,drivers,basically you have to know everything from hardware level to user level (if you want to be top of the class)...good luck
farukb said:
porting and building is something far different from app development...you have to know much more if you want to work with kernel,drivers,basically you have to know everything from hardware level to user level (if you want to be top of the class)...good luck
Click to expand...
Click to collapse
Well we all gotta start somewhere. Now is probably a good time for me as I'm only 18 and a senior in high school. Since I don't have a job at the moment I have plenty of free time after school and on weekends.
I'm only 18 myself. I started straight with downloading Eclipse and all of the appropriate software for developing and just dove in. I would recommend watching these tutorials: http://www.xtensivearts.com/topics/tutorials/. They helped me A LOT. I am taking a programming in C class in the spring semster, which I am looking forward to. Programming in Java for Android is different than regular programming. It's the same concepts, just different APIs and tools. I like using Eclipse because it is easy to learn and get used to. There are a lot of fancy features like a type of autocorrect (not like on the phone, but smarter). Like you said, just start from the basics, like "Hello World" (Hello Android) and practice creating different layouts using the tutorials given on the Developer site. Explore the site and look through everything because eventually you may need to know where its located for quick access. Just don't set too high of goals for yourself, other wise you might be more prone to give up (like I almost did). Good luck
Im in ths same boat as you we got to start somewhere
mit have a fantastic course in computer science online.
search for MIT open courseware then introduction to computer science.
I'm on 10 now, getting very complicated
crowstar said:
mit have a fantastic course in computer science online.
search for MIT open courseware then introduction to computer science.
I'm on 10 now, getting very complicated
Click to expand...
Click to collapse
Thanks bro I'm checking out that MIT course right now it looks really helpfull
This is a great starting point for Android development, as it deals quite well with getting the Android SDK and Eclipse IDE set up and working together.
http://www.vogella.de/articles/Android/article.html
Futur Innovations said:
I'm only 18 myself. I started straight with downloading Eclipse and all of the appropriate software for developing and just dove in. I would recommend watching these tutorials: http://www.xtensivearts.com/topics/tutorials/. They helped me A LOT. I am taking a programming in C class in the spring semster, which I am looking forward to. Programming in Java for Android is different than regular programming. It's the same concepts, just different APIs and tools. I like using Eclipse because it is easy to learn and get used to. There are a lot of fancy features like a type of autocorrect (not like on the phone, but smarter). Like you said, just start from the basics, like "Hello World" (Hello Android) and practice creating different layouts using the tutorials given on the Developer site. Explore the site and look through everything because eventually you may need to know where its located for quick access. Just don't set too high of goals for yourself, other wise you might be more prone to give up (like I almost did). Good luck
Click to expand...
Click to collapse
Hi, I'm 24. And I learn how to 'program' since 14-15.
It's easy to write apps for Android. But it's hard to write good apps.
You should take Software Engineering course (NOT Computer Science course).
If you take CS (Computer Science) course, than you will learn mainly about algorithm.
But if you enter SE (Software Engineering) course, you will learn about SDLC, software QA/testing, and planning to write programs for living
:-D
I personally don't like eclipse, it's just bloated IDE :-(
I use SciTE, apache ant, MinGW/MSYS (GCC 4.5.0), Java SDK, ActivePerl, Dev-C++ IDE. That's should be enough for development :-D
I will see if there are any software engineer classes at the college I am attending. If so, then I will sign up for it. Thanks for pointing me in the right direction. Is taking the programming class still beneficial?
Sent from my ADR6300 using XDA App
Futur Innovations said:
Is taking the programming class still beneficial?
Click to expand...
Click to collapse
I'd really recommend a class if it's a viable option. It will help you understand object oriented programming, where just working through examples won't actually teach you how to understand what you're doing. Things like classes, inheritance and polymorphism are pretty difficult principles to grasp unless you've got someone to explain them to you. Then it's pretty easy.

[Q] Thinking of making some applicatoins

so guys i am fairly new to this have a few ideas popping in my head and i would like to do some app development but i need a push into the right direction such as a great starter book that would help me understand the coding and app building for "dummies" or something that would get me on the right track anyone who has some great ideas please let me know asap before i buy something i regret, the input of new android developers would probably be the most helpful cause i would like to know what they used to get them going in the right direction.
Study Java first, I suggest head first Java. it's really a good book for beginners, I just bought it at Amazon and it's on sale.
Sent from my SGH-T959 using XDA App
I've researched alot about what u want n let me tell u one thing if u really want to become a developer then u may start from C++ with that skills in ur hand, java wud be much much easier and then go for android SDK this is the right track u may follow otherwise its not a hard and fast rule.. but I must warn u that its not a simple process and time taking. So be sure that whether u want to really learn it b4 u stopped working in between. Okay.???? All the best for your future... ^_^
send from my GT-S5670(updated to 2.3.4) using XDA app
i do realize there is a lot of work involved but this has always been a dream of mine at least since i have started android, doing rooting flashing roms etc... i figured i would jump on the band wagon and do some developing myself i realize that is some time consuming steps involved but i think it will be worth it in the end, if i find a great idea that someone likes and build on that hell i could make myself rich so to speak anyway thanks guys more ideas would be very helpful i am guessing that c++ is the language itself i need a bit more input before i jump the gun and buy something that i don't need yet more or less like buying a chager for i phone that i don't have yet thanks for the input.
maxcool12345 said:
I've researched alot about what u want n let me tell u one thing if u really want to become a developer then u may start from C++ with that skills in ur hand, java wud be much much easier and then go for android SDK this is the right track u may follow otherwise its not a hard and fast rule.. but I must warn u that its not a simple process and time taking. So be sure that whether u want to really learn it b4 u stopped working in between. Okay.???? All the best for your future... ^_^
send from my GT-S5670(updated to 2.3.4) using XDA app
Click to expand...
Click to collapse
Why recommend c++ when android apps are written in Java? If he is going to be learning from scratch anyways there is less than no reason to learn c++
Learning c++ would not help you with learning java unless you already knew c++ and since you don't just learn java.
There are some great intros to object oriented programming that use java as a base. Don't have any links at the moment. Just dont learn c++ if you want to do Android dev
From something awesome
thanks guys i decided that i am going to read up on some java, and the book i was looking as has two editions the first one made in 2005 which is way old and probably outdated and the second one i am not sure when it was made however it looked way fun to read btw i hate reading but i would do it to learn something else. i was looking at head first java but there is two editions which one should i get i see better review on 2nd edition than i do on the firlst however if i skip the first am i going to skip some knowledge that i would have been nice to know on my near road for success.
As I've already said earlier that there's not such a hard and fast rule that you have to learn c++ before Java but the better way is to go step by step, have a strong base, it'll help you in firm footing in your job. Then you'll be able to work on different platforms unless you will limit yourself and waste the talent and aptitude you have. I've also told you to go to an experienced person for better advice, if you really wanna do something.....
send from my GT- S5670(updated to 2.3.4) using XDA app
bfitzpatrickd2d said:
thanks guys i decided that i am going to read up on some java, and the book i was looking as has two editions the first one made in 2005 which is way old and probably outdated and the second one i am not sure when it was made however it looked way fun to read btw i hate reading but i would do it to learn something else. i was looking at head first java but there is two editions which one should i get i see better review on 2nd edition than i do on the firlst however if i skip the first am i going to skip some knowledge that i would have been nice to know on my near road for success.
Click to expand...
Click to collapse
If you're going to buy head first Java buy the latest one.
Don't worry this book is not boring.
Sent from my SGH-T959 using XDA App
you can start from here as a tutorial and then buy a book maybe.
http://download.oracle.com/javase/tutorial/index.html
bfitzpatrickd2d said:
thanks guys i decided that i am going to read up on some java, and the book i was looking as has two editions the first one made in 2005 which is way old and probably outdated and the second one i am not sure when it was made however it looked way fun to read btw i hate reading but i would do it to learn something else. i was looking at head first java but there is two editions which one should i get i see better review on 2nd edition than i do on the firlst however if i skip the first am i going to skip some knowledge that i would have been nice to know on my near road for success.
Click to expand...
Click to collapse
Since nobody else directly answered this question...
When a book comes out in a second, third, fourth ... hundred and ninety-six thousand and forty-third... edition, they're all pretty much the same book -- usually. The differences in editions are usually just updated information.
Especially when dealing with programming, new user interfaces will come out, or updates to the underlying core will be made, or whatever. Point is, the subject matter of the book changes, and the book is then revised to match. Since rewriting the whole book would be very time consuming (not to mention unnecessary) they just update pertinent parts. Usually, the book is 90% to 95% unchanged. However, don't expect an older book (say, e.g., from 2005) to have information related to the latest version of the software it covers.
If you're intelligent enough, you can probably read the older book to get the understanding, and then figure out the updates on your own if the later edition is too expensive or not available in your area or whatever (after all, you won't buy the revised edition of the book every time the software is updated), but it's best to start with the latest edition if you can.
Good luck on programming, especially if you've never done it. I wanted to get into it, and was even taking classes in college, but my junior year saw price and scheduling changes I couldn't handle with my then-new job. Very time-consuming. I understood the concepts -- we started with C and then C++ in junior college and at university we got into COBOL (why?) and Java, but between work and a fiancée that needed attention, when I was home I just didn't have time enough to devote to it to meet deadlines. However, were I single and only part-time employed, I probably could have handled it.
Completely agree with cj.... ;-) he is 100% right...
send from my GT-S5670(updated to 2.3.4) using XDA app
maxcool12345 said:
As I've already said earlier that there's not such a hard and fast rule that you have to learn c++ before Java but the better way is to go step by step, have a strong base, it'll help you in firm footing in your job. Then you'll be able to work on different platforms unless you will limit yourself and waste the talent and aptitude you have. I've also told you to go to an experienced person for better advice, if you really wanna do something.....
send from my GT- S5670(updated to 2.3.4) using XDA app
Click to expand...
Click to collapse
im sorry but this is crazy... while c++ may be a step, its on the wrong set of stairs! the base is just programming paradigms that are language agnostic. and if you want to teach those why not start at C? why skip that part of the 'base'? of course if you want to learn Java and dont know those basic programming paradigms you CAN learn them in Java (as you can in C++). a single Class program with a main() acts nearly identical to a single file C program. so the only reason to study other languages would be to learn their intricacies and the way they handle inheritance, abstraction, threads, etc... and if thats the goal then why start on a language other than the one you want to learn? if i wanted to learn how to make and use a MySQL database would you recommend me starting on another completely different data base structure?
[/rant]
thank you
-----
also i dont think this is the OPs 'job' he is just trying to learn some Android programming....
C++ teaches coding principles that apply to most languages, and the detail needed.. Skipping may take time out of the process, but to be an effective and effecient coder, you need the skills taught by learning C/C++..
Skipping the basis for most modern programming is just half-assing it, and will most surely lead to this guy not becoming "rich".
And really, what sense does it make to argue, if he is searching for information, it is all different means to the same end. What's it going to hurt to learn a language that will definitely benefit him.
You just want to be right and seem to be the "expert".
Sent from my SPH-D700 using XDA Premium App
azyouthinkeyeiz said:
C++ teaches coding principles that apply to most languages, and the detail needed.. Skipping may take time out of the process, but to be an effective and effecient coder, you need the skills taught by learning C/C++..
Skipping the basis for most modern programming is just half-assing it, and will most surely lead to this guy not becoming "rich".
And really, what sense does it make to argue, if he is searching for information, it is all different means to the same end. What's it going to hurt to learn a language that will definitely benefit him.
You just want to be right and seem to be the "expert".
Sent from my SPH-D700 using XDA Premium App
Click to expand...
Click to collapse
thats wrong. they arent skills taught by c or c++ and c/c++ arent needed to learn them. they are universal paradigms that can be applied to any language.
logic is language agnostic.
and what would hurt him learning C++ when he wants Java is being trapped into the ways C++ does things that Java does another way.
---
i dont want to be an 'expert' im just trying to prevent this person from going down the path of learning C++ which can be used in sooo many different ways when he wants to learn Java which does things its own ways. its like if i asked what i should do to learn Android programming and someone said that i should learn to code for iOS first. durh
and yes this really bothers me. i have nothing against C++, its a powerful language for the things that use it. but to suggest it to a person interested in Android dev is shilling for a programming language that has nothing to do with what wants to be done.
Bro, don't waste your time on some stupid,silly, idiotic person with worthless attitude.... he seems to be very despirate to guide any guy according to him as if he influence the learner's life.. .. in simple words, leave it...!!!!
send from my GT-S5670(updated to 2.3.4) using XDA app
If I want to learn how to drive a car, should I start with an eighteen wheeler or a motorcycle to learn the paradigms of knowing whether to drive on the right or the left side of the road?
I'll butt out now
Edit: HEY! My two-hundredth post! Yea!
Now... I'm off to add a zero to that...
Oh, and PS:
killersnowman said:
if i wanted to learn how to make and use a MySQL database would you recommend me starting on another completely different data base structure?
Click to expand...
Click to collapse
I think COBOL would be an excellent base for that!
Cheers!

[Q] New Young App Developer Needing Help

Hello XDA,
I have just finished my first year of high school, and have spent 2 years around Windows Mobile and Android.
I want to start developing in different parts of Android, Applications being the top priority.
I have found and got many guides such as Sam's Teach Yourself for helping me build applications.
I know I can't start off building advanced apps. But the place I need help is where should I start, and what things I should learn such as Java, Adobe Air being a few.
If you guys can please maybe make a list I should follow or something...This would be greatly appreciated,
Thanks A lot
If you have an idea about java, the next step is to "google" for "Android Developers"...
I think it's the perfect place for beginners in Android Development...♫ ♪
Yep, you'll definitely need to learn Java. Knowing some Object Oriented concepts will help too.
The recommended IDE (Integrated Developer Environment) for Android is Eclipse (it's free!). I personally use IntelliJ (community edition is free - less features, but it's got all you need for Android dev).
Looking at tutorials etc is really good - imo the best way to learn is hands-on learning. A good starting place is the developer docs: http://developer.android.com/resources/browser.html?tag=tutorial
Once you've followed a couple of those, you'll probably be exploring new/random classes, so looking at the reference will help too: http://developer.android.com/reference/packages.html
Of course the best way is to just try something out to get started - even if it is something simple, or verbatim from the tutorials.
As for what app to start with... a simple one is always good. But what is important is make something that you feel like you need/want to use yourself. That way you will be more motivated to follow through with the idea, and you'll be your own user, thus be able to make good improvements
Thank you so much
Thanks a lot. I would have no idea where to start, despite many guides available out there.
Both you have made it a lot simpler.
Thanks once again.
pigeonaras said:
If you have an idea about java, the next step is to "google" for "Android Developers"...
I think it's the perfect place for beginners in Android Development...♫ ♪
Click to expand...
Click to collapse
pyko said:
Yep, you'll definitely need to learn Java. Knowing some Object Oriented concepts will help too.
The recommended IDE (Integrated Developer Environment) for Android is Eclipse (it's free!). I personally use IntelliJ (community edition is free - less features, but it's got all you need for Android dev).
Looking at tutorials etc is really good - imo the best way to learn is hands-on learning. A good starting place is the developer docs: http://developer.android.com/resources/browser.html?tag=tutorial
Once you've followed a couple of those, you'll probably be exploring new/random classes, so looking at the reference will help too: http://developer.android.com/reference/packages.html
Of course the best way is to just try something out to get started - even if it is something simple, or verbatim from the tutorials.
As for what app to start with... a simple one is always good. But what is important is make something that you feel like you need/want to use yourself. That way you will be more motivated to follow through with the idea, and you'll be your own user, thus be able to make good improvements
Click to expand...
Click to collapse
No problems
Oh, forgot to mention in my original post... the only reason I'm using IntelliJ is because I use it at work (so used to the shortcuts etc).
imo, both IDEs are comparable - just what you are used to.
If you haven't used either, probably go with Eclipse since there are a lot more tutorials/guides out there related to dev with Eclipse/Android.
I started developing about 8 months ago. I am going to be a Junior in High School, so we are in the same boat here.lol
Anyways, I spent a lot of time looking at many books and resources. Alos another thing that helps is to teach your self how stuff works by studying source codes. But dont only do this. Look at tut's and other resources as well. Remember, start small then work your way up! Dont go out and try to make a super amazing awesome app. You will just frustrate your self. So start simple. I was making small apps that only had text when i first started. Now where am i you may ask? I am the developer of the Android Markets only Honeycomb Launcher and a couple other larger apps!
Just remember it takes time, alittle money, patiences and PRACTICE! Make an app or at least work on an app EVERYDAY if possible.
If you get stuck use the resources on the Android site that Android gave to us.
http://developer.android.com/guide/topics/fundamentals/activities.html
Check out the DEV guides, resources and sample code.
Also, do you have eclipse and Android SDK already set up?
ZAIGHAM ALI said:
Hello XDA,
I have just finished my first year of high school, and have spent 2 years around Windows Mobile and Android.
Click to expand...
Click to collapse
I finished my 2nd year of high school, got an HTC Sensation 4G recently and am looking to make roms for other phones (currently looking at the Nexus S). I am getting bored so I would think it would be awesome if we could team up of something and create some roms for phones or something. I'm young like you, looking to make use of my general coding skills(had iPhone for 2 years, so i have some experience with jailbreaking and modding, etc.)
Would be very glad if we could team up or something and who knows, maybe become the next Cyanogen! Looking for a hobby, not profit.
Have a good day!
matistight said:
I finished my 2nd year of high school, got an HTC Sensation 4G recently and am looking to make roms for other phones (currently looking at the Nexus S). I am getting bored so I would think it would be awesome if we could team up of something and create some roms for phones or something. I'm young like you, looking to make use of my general coding skills(had iPhone for 2 years, so i have some experience with jailbreaking and modding, etc.)
Would be very glad if we could team up or something and who knows, maybe become the next Cyanogen! Looking for a hobby, not profit.
Have a good day!
Click to expand...
Click to collapse
Creating a ROM right off the back??? You are going to end up throwing your computer out the window! I know a few ROM developers and they say it is VERY challenging and frustrating at times.
I recommend you two join together or with others and create some apps first. Start small then work your way up...
IntelSoftApps said:
Creating a ROM right off the back??? You are going to end up throwing your computer out the window! I know a few ROM developers and they say it is VERY challenging and frustrating at times.
I recommend you two join together or with others and create some apps first. Start small then work your way up...
Click to expand...
Click to collapse
i concur... The Android operating system, including the Linux kernel, consists of roughly 12 million lines of code including 3 million lines of XML, 2.8 million lines of C, 2.1 million lines of Java, and 1.75 million lines of C++.
wrap your head around that... =)
depending on how complicated you want to go, you can try using phonegap or html5 to create apps, if not, you would need to learn java
PS: you want to make a rom from scratch? what?
Thanks to everybody above i really really appreciate it, i learnt a lot of nice advice.
killersnowman said:
i concur... The Android operating system, including the Linux kernel, consists of roughly 12 million lines of code including 3 million lines of XML, 2.8 million lines of C, 2.1 million lines of Java, and 1.75 million lines of C++.
wrap your head around that... =)
Click to expand...
Click to collapse
That is A LOT of code!!! You guys should probably start with the "Hello, Android" tutorial. That can be a challenge if you dont know how to work eclipse. But luckily, Android provides a nice little "Hello, Android" tutorial.
P.S. You or anyone will never past Cyanogenmod for awhile. I think they know what they are doing.lol
But it is always good to dream big! Like i want to be a Trillionare.lol (I dont even know how to spell it) "But dreams do come try"
Hey guys, I'm a senior now. I have done the hello Android tutorial, and I have the Android dev for dummies, but I know nothing about java and xml programming.
Thanks for the advice. If anyone else has any other tutorials, let me know. Thanks.
Sent from my PC36100 using XDA Premium App
I am in the exact same position as you. I have just got the "Head First Java" book, but I dont think it looks like it will help that much.
monkeychef said:
Hey guys, I'm a senior now. I have done the hello Android tutorial, and I have the Android dev for dummies, but I know nothing about java and xml programming.
Thanks for the advice. If anyone else has any other tutorials, let me know. Thanks.
Sent from my PC36100 using XDA Premium App
Click to expand...
Click to collapse
See i was in that boat like you guys were, and it SUCKS! All of the tutorials are very simple textviews and buttons, but nothing that really teaches you all that much java.
Heres what i suggest. Play with the source of apps. Download some source codes and create new android projects in eclipse from THAT source. (LET ME KNOW IF YOU NEED HELP WITH THAT)
And with in those projects, view all of the sources and xml files. Learn how stuff works. such as imports and buttons and permissions. I first started messing with layouts, xml files, strings, and buttons. This is good, BUT you will get to a point were you will see force closes. Thats because the java must match... That got me into looking at the java files more and more. Now that is almost the first thing i dive into.
Like i said along time ago, i am not anywhere close to being an expert at all! But i am getting a good handle on Android in the following ways...
- Visit XDA daily and other sites. Stay up to date and learn what is going on now. not what was being developed a month ago. Stuff is aways changing!
- Surround yourself with a group of developers! They can and will be your BEST friends! As many of you had said before, many of you want a hobby not a profit. Trust me, thats what everyone says.lol. There is some good money to be made out there!!! Some of your best developers can make every developer on a team some money. They also have your back if you get lost or stuck on something.
- Try finding people in your same boat or position. Kind of like the other kid on the site... You two can work something out. Exchange emails. share names and interest. This doesn't mean y'all need to hold hands but just create some chit chat once in awhile. If you learned something, tell him about it!
- USE YOUR F'IN RESOURCES!!! Android/Google made this AMZING site called Android.com. On that site they have developer guides, resources, tut's, and even sample code! Another amazing resource is Stackoverflow.com. Here you can find a lot of answers to any problem. I must have visited that site 1000 times.lol
and dont forget about GOOGLE.COM. ask questions in your search, but be SPECIFIC. Be sure to include "Android" in your search so you can get android support not some iPhone or Windows support...
Anyways, just get out there! try to be the best you can! Absorb as much as you can. LIVE ANDROID! but also have a life.lol
IntelSoftApps said:
All of the tutorials are very simple textviews and buttons, but nothing that really teaches you all that much java.
Click to expand...
Click to collapse
very true. i had been a java programmer for 4 years prior to learning android dev and what really got me going was coming up with an idea for an app and moving to make that a reality. if you just go through and do tutorials you wont get as much out of it as actually trying to make something you can use, be it a small and simple something.
also, i had always done command line java programs and had ignored the java swing ui like the plague, but android has a great layout and ui system. if you are learning java for use in android dont be disheartened by javax.swing package
You should definitely learn an object oriented programming language first before delving into android. I would recommend Java as it is what you will use for a lot of development. A lot of these guides and tutorials including that dummies book expect you to know what a public vs private class is or what inheritance is.
Also another big part of android is XML. At least learn the basics of XML.
I recommend the Java for dummies book as it provides a good introduction to many of the Java concepts that you will need. Java and eclipse can be quite a lot of fun once you get to know it.
Sent from my Nexus S using XDA Premium App
If your a starter, I recommend to go for web based right way, I'm confident that in the near future most mobile device applications will be mainly web based just like desktops.
Thanks a lot, I will get that book asap.
apreichner said:
You should definitely learn an object oriented programming language first before delving into android. I would recommend Java as it is what you will use for a lot of development. A lot of these guides and tutorials including that dummies book expect you to know what a public vs private class is or what inheritance is.
Also another big part of android is XML. At least learn the basics of XML.
I recommend the Java for dummies book as it provides a good introduction to many of the Java concepts that you will need. Java and eclipse can be quite a lot of fun once you get to know it.
Sent from my Nexus S using XDA Premium App
Click to expand...
Click to collapse
Sent from my SEX10 using XDA App
Sorry, but what "web-based" ?
Kevincod said:
If your a starter, I recommend to go for web based right way, I'm confident that in the near future most mobile device applications will be mainly web based just like desktops.
Click to expand...
Click to collapse
Sent from my SEX10 using XDA App

[Q] Suggestions for tablet app dev tools?

I'm looking for a simplified approach to tablet development for the a500. I'm currently looking into flash builder ( seems like I need the full Adobe suite to really leverage it, so too much $ ). I'm dabbling in Eclipse, but am not too psyched about learning a new IDE. I grabbed the Mono for Android trial but it's not really ready for tablets as of yet. I've been building in the Buzztouch interface, exporting and recompiling in Eclipse with some success, but it's really not tablet focused. It seems like the app Inventor isn't ready for tablets either.
Has anyone encountered a tablet-centric toolset out there? I'm looking for only very simple functionality, nothing elaborate needed. Honestly, if it even supported simple HTML iFrames I could get by with it. I'm fine with web based tools if needed, maybe something with templates for the Acer, Xoom, and so on... I can work in VS 20xx, Eclipse if I have to. any suggestions would be really appreciated. thanks!
My suggestion is to use eclipse and official SDK. Because when you use third-party tools or workarounds like flash/htlm, your apps look non-native, break when the user updates his device with a newer os and. It causes a lot of frustrations - people hate such apps and recommend all their friends not to use them. At least I always do.
So I advise you to learn java and eclipse. You may even have to use these tools from time to time not only for android because java no matter how it sucks is everywhere. Besides, you get a lot of advantages when using sdk and java api like saving settings, gettinge events like app close/hibernate and so on. The learning curve may differ from flash but java is certainly much more useful. Although given that you know C# (as you're suggesting mono) and javascript/actionscript (as you're using flash) learning Java will be easier, although Java is corporate crap built on spike solutions and rejecting progressive stuff.
Actually you should ask mods to move this thread to android development or off-topic. I am sure you more people will share their opinions on the matter there
thank you for your reply... you are right, the smart thing to do is stop whining and learn the tools C# C++, flash ... I guess the idea of having to learn something else isn't the end of the world, but I was hoping a toolset would lighten the load a bit. thanks again
angus454 said:
thank you for your reply... you are right, the smart thing to do is stop whining and learn the tools C# C++, flash ... I guess the idea of having to learn something else isn't the end of the world, but I was hoping a toolset would lighten the load a bit. thanks again
Click to expand...
Click to collapse
pssst.. hit that thanks button for sp3dev.
angus454 said:
thank you for your reply... you are right, the smart thing to do is stop whining and learn the tools C# C++, flash ... I guess the idea of having to learn something else isn't the end of the world, but I was hoping a toolset would lighten the load a bit. thanks again
Click to expand...
Click to collapse
I don't think his suggestion was for you to learn C / C++ or flash. Based on your OP, he figured you might know them well and that knowing them might help ease the learning curve learning Java. You will still have to learn it though.
As he rightly said, for an uninterrupted user experience, always stick to the native development tools. No easy way out unfortunately.
you know, I should just write the program myself and release it up here for others to benefit from... thanks for the thank reminder; done!

Categories

Resources