I'm interested in doing some development for android. I'm just not sure where to start. I see a ton of books on Amazon.
I'm just wondering what would be recommended for an absolute beginner. I know my way around a computer so i don't need it that noob'd down.
I think i would like to play with some apps, and eventually move to Kernels and Roms.
What you you recommend?
Probably the best way to start is to learn Java (the main coding language for apps and userspace), and C (the main languages for kernelspace stuff). After that, messing with the App Inventor would be the place to go.
Search dsixda very helpful thread
Sent from my PC36100 using XDA App
i was thinking of learning some basics of android app development and coding with a very basic walk through so that i can fully understand what i'm going to be able to use the Java code in particular applications. Would this be a bad strategy.
As a software developer, I would recommend spending a couple weeks getting the basics of Java and object-oriented development down. Do a few sample apps in Java. Once you've done that, try Android. I'm afraid that learning to code, learning Java, and learning to develop for Android all in one may be too much for someone.
You really need to have the basics of Java and object-orientation down, then take on Android as it's not altogether simple, particularly for someone who's just learned to code.
As far as kernel/ROM development, I'm guessing C and Linux shell scripts are the things to learn there. If you want to write Android apps, do as I've mentioned above.
I have a question. Ive been doing web development for two years now. I would say I am at an expert level in XHTML/HTML and CSS, and I know a little bit of basic PHP. I want to get into Android app development, but I have no idea where to begin. What language do I need to learn? Java?
Should I become more comfortable with PHP first, does it matter?
Sorry for the noob question. I am just interested in hearing from some other devs about this, any advice is appreciated.
Yes, you will need to learn Java programming language. SDK
ryno502 said:
I have a question. Ive been doing web development for two years now. I would say I am at an expert level in XHTML/HTML and CSS, and I know a little bit of basic PHP. I want to get into Android app development, but I have no idea where to begin. What language do I need to learn? Java?
Should I become more comfortable with PHP first, does it matter?
Sorry for the noob question. I am just interested in hearing from some other devs about this, any advice is appreciated.
Click to expand...
Click to collapse
Here's a video tutorial to get you started in application development in android.
http://www.xtensivearts.com/2009/07/03/episode-1-getting-started/
Learn Java, XML, and the inner workings of Android / Linux at the bare minimum. You should be able to make something simple and worthwhile with just that. Once you do, you should learn some basic computer science concepts, such as procedural programming, oo programming, algorithms, data structures, and basc compiler theory. Lastly, you should learn C/C++ and how they hook into Java using JNI. At that point, you could make something really sweet.
Application development is hard and it, in many ways, is a different beast from web deveopment. Experience with HTML / CSS will come in handy when dealing with the XML files. Experience with PHP an Javascript will aid you in learning Java.
I have heard that a true hacker knows at least five different programming languages ( sorry HTML and CSS don't count for that ), and most really good programmers know more. Once you understand the concepts behind programming, and exactly how the code you type becomes binary code that your computer executes, picking up new languages is a breeze.
Sent from my SPH-D700 using Tapatalk
Thank you. I know some basic PHP, but I am not an expert by any means. I will look into taking some tutorials in Java, XML, etc.
I was reading into Android App Inventor, and I know its no substitute for Eclipse/Android SDK for making full blown complex applications, but do you think It would be beneficial for me to experiment with that?
Be sure to check out Adobe AIR. It's open source and you can develop under OS X, Linux or Windows. You can also do cross-platform apps for iOS or Blackberry's new tablet.
Is that whassup adobe air is? Basically dreamweaver for apps?
Sent from my SPH-D700 using XDA App
ryno502 said:
Is that whassup adobe air is? Basically dreamweaver for apps?
Sent from my SPH-D700 using XDA App
Click to expand...
Click to collapse
I'd compare it to Visual Basic. You code in a combination of Actionscript 3 (basically a javascript clone) and mxml. Programs require the Air runtime (again, like old visual basic) to run, except for iOS where supposedly native code is generated.
You can code using Adobe's Flash Builder IDE or other third-party IDEs, or from the command-line.
No Android SDK or Java required.
So can I use Air instead of Eclipse?
Sent from my SPH-D700 using XDA App
ryno502 said:
So can I use Air instead of Eclipse?
Sent from my SPH-D700 using XDA App
Click to expand...
Click to collapse
No. Adobe's IDE is a modified version of Eclipse. You can also get a plugin for "regular" Eclipse.
ryno502 said:
So can I use Air instead of Eclipse?
Sent from my SPH-D700 using XDA App
Click to expand...
Click to collapse
I would imagine you would get far better results using Java (what I imagine you mean by Eclipse), but if any of you have experience developing for Air for Android, please put your experiences! I have not tried it myself, but usually those sort of "easy programming tools" are good mostly for rapid prototyping.
Im just looking for a good place to start. I have zero programming experience.
Sent from my SPH-D700 using XDA App
My suggestion then would be to focus more on learning to program, and getting some experience programming in general. It would might be best to start learning Java while you learn some of those basic CS concepts I mentioned in te earlier post. In the long run, those general programming skills will help you way more than learning to code for a specific platform.
Sent from my SPH-D700 using Tapatalk
Thanks for the advice. I will look into learning some java.
Sent from my SPH-D700 using XDA App
Dont touch app inventor. Its nasty and will make you lazy. Kind of like learning vb before c. You get backwards and lazy and its hard to correct. I won't even higher developers who list vb as a language on their resume, we have no use for it and c# does all of the same things in good oop fashion. Vb should die a horrible painful death.
Sent from my SPH-D700 using XDA App
Kcarpenter said:
Dont touch app inventor. Its nasty and will make you lazy. Kind of like learning vb before c. You get backwards and lazy and its hard to correct. I won't even higher developers who list vb as a language on their resume, we have no use for it and c# does all of the same things in good oop fashion. Vb should die a horrible painful death.
Sent from my SPH-D700 using XDA App
Click to expand...
Click to collapse
I'll have to politely disagree. First, its been my experience that once you know one language, picking up another isn't a big deal.
I'm retired now, but in general business (circa 1978-2001), application development was always about selection of the best tool for the job at hand. Low-level languages like assembler ,c ,c++ were considered overkill for jobs like data entry screens, batch processing, report-writing,etc,etc. You know, the stuff that most businesses do every day
Tools like VB and Delphi were godsends.
Of course if you're coding kernels and compilers, it's a different story
ryno502 said:
I was reading into Android App Inventor, and I know its no substitute for Eclipse/Android SDK for making full blown complex applications, but do you think It would be beneficial for me to experiment with that?
Click to expand...
Click to collapse
From my experience with it, I would say don't bother. I made my first android app with it, but I found it very convoluted and not intuitive at all. It was like they were so intent on everything being graphical that they did everything that way, even it made things ten times harder.
But here were the real problems with it, and why I would not recommend it:
1. Though you can make a functioning app with it, you cannot put that app in the market. This wouldn't be a problem if your goal was simply to use this as a learning step, but for the next item:
2. What you do in app inventor is in no way similar to writing actual code in Eclipse. Nothing I did with app inventor helped me in any way when I started using Eclipse. It might be useful for someone who's never done any programming whatsoever, since you do have to deal with variables and logic, etc., but knowledge of any programing language at all would be more useful that what you'd learn with this.
3. The functionality of an app inventor app is very limited. For example, I do not believe there is a way to have your app access anything on the internet.
It was an interesting experience, and in defense of app inventor, I was able to produce a highly useful app for my co-workers (though I've since re-written it using the standard eclipse/java method). It took no more than a couple of hours to do, which is really pretty amazing since it required no foreknowledge. But ultimately, I don't think it's worth the effort to learn to use if you have any long-term goals related to writing useful android apps, especially apps that any other people will use.
[It was many months ago that I last tried it, so it's possible they have made some improvements to it. The most useful one would be to be able to convert your app into java code --- then it might really become a learning tool for the person with coding and even java code but no familiarity with the android sdk.]
I think app inventor is meant primarily as a rapid prototyping tool and secondarily as an aid to learning the high level view of how Android functions. I haven't used it myself, but it sounds like it is serving its purpose.
Sent from my SPH-D700 using Tapatalk
App Developers
Looking for a developer to build an app for my industry. Thank you.
In an earlier post, I suggested that learning functional programming would be a good idea. I meant procedural programming. My bad, sorry if I caused any confusion.
Hi, I have experience programming in Java and c/c++ and was looking at getting into programming some apps or even helping on on some roms and finally start helping out around the EVO community. I just need a little help getting started. I have eclipse and such set up, but does anyone have any tips or tutorials that might help. (Yes, I have searched Google). Maybe alittle insight in to somethings that I may run into. I want to create apps and games that will be helpful to the community. Thanks
I don't know if it would help but there is an android 'chef' section here on xda:
http://forum.xda-developers.com/forumdisplay.php?f=613
and this thread seems to have a few resources for getting started:
http://forum.xda-developers.com/showthread.php?t=697938
Have you run through the tutorials and read all the documentation on developer.android.com? The "Dev Guide" and the "Resources" tabs are a good place to start, as is just reading through the javadocs for the API. If you're already a Java programmer, you know the code semantics already. It's just a question of understanding the Android concepts. Not to say that's trivial, but the foundation of the language is Java, which means knowing it gives you a head start.
Do a search On xda site for "everything android" its a huge file I put together that includes lots of needed tools and setup files for cooking roms and building apps. It also has a guide with links to the sites where I got the tools from. That should help. Just remember it's for windows and I recommend downloading to ur computer not ur phone cause its over a gig in size
Papa Smurf151 said:
Do a search On xda site for "everything android" its a huge file I put together that includes lots of needed tools and setup files for cooking roms and building apps. It also has a guide with links to the sites where I got the tools from. That should help. Just remember it's for windows and I recommend downloading to ur computer not ur phone cause its over a gig in size
Click to expand...
Click to collapse
Thanks, for that. I looked around the forum but prob would of had a real hard time finding that.
If you are more comfortable with the .net framework, get MonoDroid. C# programming for android. You just need a copy of visual studio 2010, thank god for the free ultimate version I got from school. I haven't messed around with it a lot yet but there is no visual representation of the screen or adding strings like in Eclipse but I like C# more than Java so I'll use this more often than not
Sent from my Evo powered by MIUI
Comrade P said:
If you are more comfortable with the .net framework, get MonoDroid. C# programming for android. You just need a copy of visual studio 2010, thank god for the free ultimate version I got from school. I haven't messed around with it a lot yet but there is no visual representation of the screen or adding strings like in Eclipse but I like C# more than Java so I'll use this more often than not
Sent from my Evo powered by MIUI
Click to expand...
Click to collapse
I have visual studio 2010 ultimate as well from my school. I haven't ever worked with c# but i cant imagine that its much more different from C/C++. Just some different ways of calling/naming things
Exactly. I like it a lot more than Java. Can't really explain it. Just test both of them out and see which you prefer.
Howdy,
I'm interested in learning to develop Android applications. Additionally, I want to go beyond developing apps to getting deeper into kernel development and ROM development, etc.
So, presumably, this speaks to a larger question about what kind of training and resources do I need to get a comfort level? Where to begin?
I have a somewhat weak background in Java...I've taken some Java and Ruby courses. I understand the basics of program methodology at a rudimentary level. I'd like to learn some SQL as well. And, I'm honestly looking to make a career change in the future.
I enjoy working in Unix/Linux environments and have an amateur level of comfort with CLI in both Linux and MacOS. Although, I'm currently running in a Win7 environment and testing some Linux distros for suitability.
Thanks for any advice and guidance!
Sent from my Galaxy Nexus using xda premium
I guess this would be a nice place to begin
http://developer.android.com/training/index.html
Sent from my Galaxy Nexus using xda premium
who's best to give an advice on that matter than cyanogen himself :good:
http://forum.xda-developers.com/showthread.php?t=667298
Do all the tutorials on Google dev site like hello world. Search Google for tons of tutorials, they're everywhere.
Java for android framework and apps and everything. c++ for the kernel.
read all the roms GitHub each day, all the commits. Each rom thread lunks to their GitHub code.
RogerPodacter said:
Do all the tutorials on Google dev site like hello world. Search Google for tons of tutorials, they're everywhere.
Have for android framework and apps and everything. c++ for the kernel.
read all the roms GitHub each day, all the commits. Each rom thread lunks to their GitHub code.
Click to expand...
Click to collapse
C for kernel.
You're right, C for kernel. And up above I meant JAVA for android and apps, not "have". Damn auto correct.
Ok so here goes I'm sure some will laugh at this and others will tell me to search, but I am fully aware of how things work here and I have done alot of reading and searching. Now I'm looking for a devs perspective and maybe some advice. I am building an ubuntu pc system for development. I have always used windows and have been playing with jdk and smali me. If there are any devs out there willing to teach a new dog old tricks I would be very open to suggestions. What programs do you guys use? Is ubuntu the best route to go? I have done a few searches and tried android developement tools but so far had best luck with apk tools and windows cmd shell. Anyways if willing I would appreciate any help. Btw nothing I make will be posted here until thoroughly tested my phone first.
Not a Dev, but the few Andriod Devs I know on Linux use Eclipse. I'm sure others will give you different suggestions. It's one of things you ask 4 people and get 5 answers. I prefer Linux Mint to Ubuntu since:
1) I like the interface better (Cinnamon FTW)
2) It seems to be a bit more end-user ready out of the box.
3) It seems like it tends to have fewer major bugs than Ubuntu. YMMV
4) The community is quite helpful and usually pretty patient. Also, most of the Ubuntu fixes and tricks work in Mint.
Try both and see which one you like. You can test them as much as you want before you ever commit to one.