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.
now i know that there probably are many threads about this but i am interested in creating roms or becoming part of a team i have a little back ground in java and c++ and don't think im ready now just looking for some advice on what to learn so i can become a great help to the community. should i learn linux inside out or some other languages? please help guide me!!
Google "rom kitchen" and start from there.
Devs don't really come into the Q&A section very often. You're better off going to the #HTC-EVO irc chat. There's a few that hang out in there.
Dsixdia Android Kitchen.
Use it. It automate much of the process. Good for beginners and seasoned pros. I recommend Linux. It works best in that environment because on Windows you need cygwin to fake a Unix environment. Mac OS X will work also. I use mac and ubuntu, depending on what I need to accomplish.
Sent from my PC36100 using XDA Premium App
I'm called for a job interview this Monday. They need someone to port some programs children play with on the web to Android. It's educational software that looks accessible to children.
My only experience with porting is working with Unity and going back and forth from PC to my Android phones. My problem is I don't know how porting is done exactly.
Let's say I want to port a Java program to Android. Do I have to create a layer of coding around the original Java source code and make it work with Android? Or is it just modifying the original source code to fit the new platform?
I searched multiple forums and countless google searches. I'm going insane. Please help me!
Thank you! :laugh:
Well I guess it depends. Unless you are using a cross-platform framework (e.g. Xamarin), then it would involve re-writing the code in Java.
If you already have some Java back end code (e.g. some servlet implementation), then I would just create an interface to this module and leave it as it is. No point in rewriting working code in a language that already runs on Android (unless your one of these people who can't help themselves and has to refactor everything to death).
i dont think there is much for u to do, if the games are web based, just build a laucher that links to the games, otherwise look for similar games in android version and install them as a package on all phones.
Sent from my U8150 using xda app-developers app