[Q] Starting Android Development - Online Courses, Schools, and Other External Resour

Hi,
I am an experienced professional programmer who wants to delve into Android programming. I also wish to investigate cross-platform programming using tools like PhoneGap or Titanium.
However, I am a bit in doubt of which learning strategy is best.
One approach is to get a good feeling of the Android environment and later on explore the possibilities of the cross-platform tools.
Another approach is to jump start using say Titanium (which to me looks like the better option of the two mentioned) and then after a while look into the underlying Android building blocks. The reason why this approach seems worth considering is that although I have earned my living on programming for 20 years, I have no experience what so ever with Java. And the feeling of getting something done has always been encouraging to me.
What do you think? Does option 2 make sense, or would it be more sensible to get an understanding of the Android environment first?
Thanks in advance,
Martin
PS. I am not allowed to post in the Developer forum which is why I post here.

Is there a better place to ask this question?
I am not yet allowed to post in the developer forum?

marlar said:
Is there a better place to ask this question?
I am not yet allowed to post in the developer forum?
Click to expand...
Click to collapse
Dev forum is not the place for Qs, they are for development projects and developer discussions, this is why it is limited (it is not a support site).
Probably best place is here:
Android Development and Hacking -> Android Software Development
There is a thread which is the same/similar question as you too:
http://forum.xda-developers.com/showthread.php?t=1173176
I'd recommend learning the basics of android and java first, since you can be sure that tools like Titanium (I've not used it though) will probably run in to some issues so you'll need some basic understanding to resolve.
As mentioned in that thread there are plenty of examples for the basics, although I have found it difficult so far to make that extra leap on to the more advanced stuff yet.

After you got some basic knowledge of Android, I would recommend going through alot of the android questions at stackoverflow.com
(I am not yet allowed to post direct link to questions tagged with android)
You learn alot of tips and tricks this way that you otherwise would have missed

A lot of it is actually pretty self-explanatory once you set up the tools (as least if you're familiar with Java... I had a bit of a problem with the whacked way callbacks are handled, since Java is well... not what I use every day).
There are samples included (including the standard Android application template) that will already tell you how the Android UI system works.
Aside from that there are a lot of good articles on the Android dev site that should get you started quickly with the way Android uses resource files. It's not at all complicated.
The specifics of course depend on what you want to do. My guess would be simple form-like applications... the articles there cover that part quite nicely.
I'd do native development first, then look at cross-platform tools so you can better evaluate the drawbacks they have. The Android platform is tuned to be as simple as possible for simple projects... just try to ignore what your guts tell you and don't worry about threads, memory and so on and you should be fine.

Related

Humble thoughts and suggestions for a *proper* Wiki

I'd like to commend everyone who is a part of the activities on this board. It's amazing how people from around the world combine, coordinate, and contribute to the success and fun that is XDA-Forums.
As a recent Android enthusiast (learning to use my Java skills to learn to code for Android)...I find that rooting, ROMS, etc. is really another great way to get much more out of my humble Droid Eris.
That being said, as a total noob (albeit one who's got just enough geek savvy to get himself into trouble), I find that as much as this forum is a wealth of knowledge and skills, but also a bit daunting, conflicting (at times), and disjointed. I've been reading, searching, and piecing together bits of data trying to figure things out, but one has to admit, it's a bit overwhelming...
I see that there is an XDA-Wiki section, but in my opinion it's a bit underwhelming. While I understand to create, edit, update, maintain, moderate, etc. even a small Wiki is no simple task, I believe that to add *more* authoritative content to the wiki would greatly help the new and seasoned enthusiasts alike.
To that I wonder if we as a community of Android, and in particular Droid Eris fans, couldn't quickly and effectively work together to make a Wiki which would provide:
1. A central location for all, authoritative, knowledge for various experience levels. No more trying to figure out which post is correct. Which instructions are better. No more asking the same questions over and over across threads and inadvertently pissing off someone. No more having to spend time answering the same questions.
2. Ability for those who know the stuff to pass it on without having to keep re-answering, re-posting, re-clarifying, re-editing, etc. their posts for the benefit of every noob (such as myself) who keeps asking over and over. I'm sure if we developed a detailed wiki in which folks can submit screen-shots, videos, scripted walk-thrus, etc. it would cut down on a lot of the ancillary *noise* which clutters up our forum.
3. Keep the forum as a place for people to discuss rather than just *learn*. The forum, while useful and FULL of great info, is a hard way to try and piece together fragments of info (sometimes conflicting via different posts/threads). The forum format is a great way to discuss but not an effective means to simply transfer/share/update knowledge. How cool would it be if I followed someone's instructions and posted my own notes to help improve them without having to have the original poster do the update? Or if I decide I love a particular ROM very much, I could post pics, how-to guides, etc. to add to the already great work. This allows the great ROM artists to keep focused on their work rather than mundane tasks like documentation. (As a noob I don't mind doing the mundane if it means I can actively contribute something back to these devs...that and I'm unemployed so unfortunately I can't donate to them just yet).
4. Generally speaking, I'm sure everyone here has turned to Wikipedia at one time or another and can appreciate it's usefulness...being able to click on a word and dig just a litter deeper to gain more understanding. Now imagine if we applied that to the efforts here on XDA? No more having to maintain long sticky threads, or worse having to keep telling overeager/overzealous noobs (like myself) to "do a search" or "read the sticky" or etc. In some cases not having to try and Google things like fastboot, HBOOT, adb, recovery, rooting vs stock, various flavors of ROMs, etc. Or worse having to try and put together info from different forums across the web (i.e. AndroidForums & XDA) and figure out who's *right*.
I apologize to anyone if they find my suggestion offensive, ineffective, and/or just plain useless. I guess as a nooby I'm just trying to give back in the only way I know how: I'm an organization geek (OCD according to my wife).
Cheers and keep up the great work!
+10, wonderful idea.
i like where this could go...
I believe you just saved the internet.
Let's get organized...XDA-Wiki
Glad to see some positive responses. I wasn't sure if my suggestion would be received with interest or disdain. All told, I was sort of jealous of those guys over at nookdevs[dot]com and how easy their wiki makes it for simpletons like myself.
So how does *work* get organized on XDA? I mean, I'd like to start figuring out who, why, what, where, when, how, etc we start building the XDA-Ark-O-Knowledge (aka Wiki)? Obviously there's XDA-Wiki already here; do we build off it, or do we start with a clean slate? Organization of data? Taxonomy? Moderators to ensure we don't bollocks each other up? Etc, etc.
Since I really am a noob to 99% of what's going on here at XDA, I think I'd be better at taking orders and doing tasks than telling the seasoned pros of XDA how to organize their efforts/info/data.
Cheers!
I am also interested and willing to help however I can...
removed posting
I can host as well - I can park a domain on my server or host from my current domain (k2vegas.com)
(there is nothing on that site, it's just what I use to host files, images, etc...)
http://wiki.xda-developers.com/
XDA has one, maybe I should of looked before lulz.
Further thoughts...
Some thoughts on how to proceed forward...
1. jcase, I think we should probably leverage the existing XDA-Wiki that you provided a link to. It's as good a place as any to start.
2. I'd suggest that we, for now, focus on doing the wiki work for Droid Eris in particular. We can use this as a way to figure out how best to capture, arrange, articulate, etc. the types of standardized data (how-tos, specs, ROMs, etc.) The XDA-Wiki for Droid Eris can be found here.
3. Here's some high-level topics. Please keep in mind that these are coming from a real noob, so I'm 100% sure it's not exhaustive nor 100% useful.
Overview - Basic high-level info on Droid Eris and the *recent* changes made to the wiki.
Device Specifications - I think this is covered here but we can add/remove as needed to keep it current.
How-To - Include detailed how-tos for rooting, unrooting, recovery, backup, etc. specific to Droid Eris. As a noob, I would love to see us build this section out with detailed instructions, pics, vidz, etc. to make it as simple for folks as it can be. I also see ECLIPS3's and Jamezelle's Eris Master App as a great tool which would fit into this section.
FAQ - There's already some FAQs for Droid Eris in the sticky on the first post...likely we can take this as is and add more details to it and refresh the data as needed.
ROMs - The ROMs info is spread out quite a bit across many threads/posts. I'd love to see some standardization of data, pics, ROM specific instructions, etc. put into this section. Ultimately I'd love for us to put together a matrix which allows for quick and easy comparison of the ROMs...this would help make ROM selection much simpler and avoid all those repetitive posts about "which ROM should I use?" "which ROM has X?"
Kitchen - ?? I hear this word tossed around and from what I can figure out it has something to do with those elite geeks who actually make those yummy ROMs we love!
Dictionary/Abbreviations - We throw around a lot of terms/abbreviations in this forum and it's hard sometimes to figure out the meanings/context. One place to look them up and get details would be great.
4. As for taking existing data/info from the various posts and copying them to the wiki...I would suggest we either get the "owner" (orig poster/author) of the content to participate and move it for us (and in the process update/clean/revise it as needed). OR as for their permission and copy it for them.
5. Who want's to do what? How is work organized on XDA so we don't step on each others' toes? Do we need an XDA administrator's permission before we start?
6. What else do we need? How else can we develop the Droid Eris Wiki and use it as a model (proof-of-concept) which we can present to XDA-Forums as w whole to adopt?
Thanks!
There's a wiki up at andirc(dot)net. Its in need of content though, so any/all contributions would be awesome!
Wiki
colinodell said:
There's a wiki up at andirc(dot)net. Its in need of content though, so any/all contributions would be awesome!
Click to expand...
Click to collapse
Thanks for suggesting we update to the wiki you've provided a link to. However, I was more inclined to build off of the XDA Wiki instead. I've not heard from many folks in this thread as to a preference, so I was going to go ahead and build on the XDA Wiki (specifically the Droid Eris section).
I think if we can build out a nice wiki specific to Eris, it could be a proof-of-concept to entice others to join in (Eris as well as other devices) and make XDA the first and last stop for all Android rooting/modding/hacking/breaking/fixing/improving/ranting/hoping/*****ing/etc.
I think this is a great idea. I also am pretty new to this community but would love to contribute in any way that I can.
Would be pretty cool to have a theming section all about what images do what and where they are.
Started collecting bits...
JokerSP3 said:
I think this is a great idea. I also am pretty new to this community but would love to contribute in any way that I can.
Would be pretty cool to have a theming section all about what images do what and where they are.
Click to expand...
Click to collapse
JokerSP3, glad to use all the help we can get. As a noob, I've been trying to build out the Eris wiki with little bits as I learn it. So if you'd like to help, just start adding info as you come across it to start filling in the blanks.

[Q] Learning to dev

Im really interested in learning to develop for the android platform. Are there any programs or books that would help with the process? As of right now im trying to pick up the basic terminology by lurking in the development section of various Android phones.
-Thanks
There are lot of threads like this... try search a bit
To learn application development, it will be good if you have some java skills. I will suggest to visit
developer.android.com
Read through the thread I posted here a couple weeks ago:
http://forum.xda-developers.com/showthread.php?t=1069483
Basically everything you need to get started and compile CM from source.
I gave up after that, damn laziness.
I hope this thread helps you as much as it did me and many others!

Advice on building an app

So, guys, i have a question or two.
I want to develop an app for personal use, which, if it works, could be used by various other people.
it is very specific what i want to build, but i have no clue how to go about it. c
can anyone give advice on where the best place to start with this process is?
it may be a long shot, but it will be greatly appreciated.
Thanks
Oliver
There have been a few tutorials from Adam Outler on the XDA TV
Well for starters, if you have no programming background you will need to learn to program in the Java Language. Then once you master that, you will have to read up on the android developers website about different topics. Then get familiar with the SDK and API and start building your app.
Questions should be asked in Q&A forums, not development forums.
Thread moved.
Hi
I would say the best place to start is at 'developer.android.com/sdk/installing.html'
They have a step-by-step guide how to install the things needed to get started...
Another good tutorial site for me is vogella.com
I would be careful about starting in right away with the app you want to build.
Your idea might be rather complicated, and I think it is important to start with something really simple.
Learning to do Android from scratch is rather a lot of work - don't under-estimate it and expect to make your idea happen very quickly.
I'm not trying to discourage you - just to make sure your expectations are realistic so you have a good experience.

[Q] Knowledge needed for developing android.

Basically i want to learn how to develop and program for android to create my own apps as well as learn how to edit ROM's and menu's etc.. I have no idea what knowledge is needed... id love to make a career out of it... it seems interesting, fun and challenging. courses to take would be great as well as programs ill need knowledge in aswell as uni courses even... thanks in advance.
Please use the Q&A Forum for questions &
Read the Forum Rules Ref Posting
Thanks ✟
Moving to Q&A
There have been quite a few tutorials mentioned on the portal recently, for both app development and more low-level ROM/kernel development. I suggest having a read through the last month or two of posts...
http://www.xda-developers.com/
Learning how to Develop and Program
noah93 said:
Basically i want to learn how to develop and program for android to create my own apps as well as learn how to edit ROM's and menu's etc.. I have no idea what knowledge is needed... id love to make a career out of it... it seems interesting, fun and challenging. courses to take would be great as well as programs ill need knowledge in aswell as uni courses even... thanks in advance.
Click to expand...
Click to collapse
If you have no prior knowledge of Programming like me you should defiantly take some free online classes. MIT and Harvard have some excellent classes online for beginners. Here is the thread with a bunch on Online classes you can take.
http://rootzwiki.com/topic/602-free-online-programmingcs-courses-for-beginners/
Now I decided to do that and also i just dived right in to a Rom with Android Kitchen to understand what it actually is, how the files are compiled, and what you can and can not change. By doing this i was able to understand how to Build a slightly modified Rom from CM9 Source and successfully flashed it to my Bionic.Here is the thread i followed to do this.
http://forum.xda-developers.com/showthread.php?t=1272270
Last but not least Android SDK. Install it, do tutorials, and just plain mess around. You can learn alot by doing as well.
http://developer.android.com/sdk/index.html
Well Good Luck with everything and i hope this helps.
-Bra!n_5torm

samsung galaxy develpment

hello all;
i'm a frequent user and supporter of the site, and i have to say i love the site and the people here.
now to more pressing matters i'm trying to find resources and read more and more about linux android development (completely got rid of windows by now ) IT'S USELLESS!!!! to me after a few months of constant linux use. yes linux takes some time, before you figure things out but it's a great OS.
anyways, i've looked in the general developers forum section, and there is just SO many ways that people say you should start (from scratch) and one is contradicting the other (sometimes).... so here is the actual question to the experienced developers out there... where do you guys start ?
little background:
basic C & C++ knowledge
some java.
(i used to tinker mostly with hardware before i dug into android)
any suggestions ??... which guides, sites ?, classess ?? any and all advice appreciated. and i hope it's ok to post this here, and if it's not (mods i'm sorry).
thanks.
rom5566
I don't think this particular project is active anymore, but I have been meaning to check out the Coding Green Robots series myself:
http://www.ustream.tv/channel/coding-green-robots/videos
I think if you have a specific problem with a project you are working on, people on XDA will help you. For a general intro, I think a book would be the best. Also, don't forget about the Android developer website. There's a training section, including "Building your first app": http://developer.android.com/training/basics/firstapp/index.html

Categories

Resources