Related
i want to start making apps for android but dont know where to stat i have the sdk on my desktop but thats about it. If someone could please help me or push me in the next step please do so.
Just go to the dev guide on the Android website to start making your first Hello World app. As for language, Android (I could be wrong) uses Java. Again, I could be wrong.
Sent from my GT-I9000M using XDA App
Indeed, Android uses Java. I'd suggest learning it before attempting to program for Android or else you'll feel like it's gonna be too difficult. There's plenty of books on Java, and some powerful Google searching will lead you to step-by-step guides to learning Java.
Also, go through the Android Dev Center for a lot of information. There's plenty of guides there on things like 'how to design your app to flow with the overall android feel' and 'designing icons to fit general android homescreen look'.
You're gonna want to download Eclipse for Java Programming. It's a free Java development environment much like Dreamweaver and Visual Studio are for web development.
Oh, and PLAN! Like any good development project, your project will not get anywhere if you don't know where to start and when to end it.
Plan first. Then plan the planned elements. Java is object-based programming, and just like building a house each object needs to be solid or else it'll crumble to pieces.
Same here. Thx for the advice.
elindemann said:
Indeed, Android uses Java. I'd suggest learning it before attempting to program for Android or else you'll feel like it's gonna be too difficult. There's plenty of books on Java, and some powerful Google searching will lead you to step-by-step guides to learning Java.
Also, go through the Android Dev Center for a lot of information. There's plenty of guides there on things like 'how to design your app to flow with the overall android feel' and 'designing icons to fit general android homescreen look'.
You're gonna want to download Eclipse for Java Programming. It's a free Java development environment much like Dreamweaver and Visual Studio are for web development.
Oh, and PLAN! Like any good development project, your project will not get anywhere if you don't know where to start and when to end it.
Plan first. Then plan the planned elements. Java is object-based programming, and just like building a house each object needs to be solid or else it'll crumble to pieces.
Click to expand...
Click to collapse
Actually, you're doing things the hard HARD ...HARD way....
if you want to develop apps for android, Titanium Mobile (appcelerator.com) is the best way to go. It takes far less time to learn JavaScript , CSS and HTML then it does to learn pure JAVA, and then learn to implement Android's API.
There are a few things that Titanium Mobile can't do, but they are always working on it to make it better. And of course - it's free
I've made a few apps using it. Including an HTML eBook reader, Chinese Flashcard App, and a Simple Chat Client.
Their JavaScript API takes a bit to get used to, but after that, you can easily spit out a simple app in about a day or so.
I have a web-app Template that lets me dump a Web-app (html/css/js) into a project, and spits out a nice new shiny Android app ready for the market.... I also wrote code that lets you access the Menu Button on android too. So it's not like using PhoneGap where it's just a Browser session with an icon on your phone.
PM me if you're interested, and i'll show you everything i learned about Titanium Mobile so far (i'm still learning actually). Or if you want an app done, i can do it for you... free if it's easy enough
DaoMingJin said:
Actually, you're doing things the hard HARD ...HARD way....
if you want to develop apps for android, Titanium Mobile (appcelerator.com) is the best way to go. It takes far less time to learn JavaScript , CSS and HTML then it does to learn pure JAVA, and then learn to implement Android's API.
There are a few things that Titanium Mobile can't do, but they are always working on it to make it better. And of course - it's free
I've made a few apps using it. Including an HTML eBook reader, Chinese Flashcard App, and a Simple Chat Client.
Their JavaScript API takes a bit to get used to, but after that, you can easily spit out a simple app in about a day or so.
I have a web-app Template that lets me dump a Web-app (html/css/js) into a project, and spits out a nice new shiny Android app ready for the market.... I also wrote code that lets you access the Menu Button on android too. So it's not like using PhoneGap where it's just a Browser session with an icon on your phone.
PM me if you're interested, and i'll show you everything i learned about Titanium Mobile so far (i'm still learning actually). Or if you want an app done, i can do it for you... free if it's easy enough
Click to expand...
Click to collapse
Wow, I'm very interested. I might check it out.
sent from my pimp hero running Froyo CM6 and the XDA app
If you know the C or C++ language you could try out MoSync, depends what you like, some programmers like the level of control and speed you get from C++. If your content with simpler apps then maybe phonegap or appcellerator for you.
I guess that when mobile apps get more sophisticated javascript programs will be just as complex as C++ programs.
Thats my view, but then I like C++ better.
/Tony
MoSyncTony said:
If you know the C or C++ language you could try out MoSync, depends what you like, some programmers like the level of control and speed you get from C++. If your content with simpler apps then maybe phonegap or appcellerator for you.
I guess that when mobile apps get more sophisticated javascript programs will be just as complex as C++ programs.
Thats my view, but then I like C++ better.
/Tony
Click to expand...
Click to collapse
It really depends on how much control and you really need. If you're going to write games, then you do need speed that C++ and the Native Application Development API on android can give you. If you're writing a social networking app, the speed of C++ would really be an overkill.
As far as i've read, PhoneGap still has a lot of issues. And the build process is a bit more complicated than on Titanium Mobile.
If you're just using the regular Android API to write apps, i don't notice a lot of difference in speed execution between writing it in pure Java, or using Titanium mobile (using native code and UI elements - i don't mean putting everything into a WebView).
The current app that i'm writing now i don't think can be written using Titanium Mobile or PhoneGap (unless i added some native functions and did my own fork of PhoneGap).
More or less, i'm writing an App for Android and JRE/Linux systems that will allow me to enumerate, and access USB status bits, and USB data frames of a given USB device, and then allowing that USB device to be accessed through a TCP or UDP connection.
I might be able to do this with Titanium Mobile, but i don't think i can. As the only files you're allowed to access are on the SD card, application data directory, and temp directory.... i think there's one other place you're allowed to access too, but i never used it. However later today i might just try to see if i can access the /Dev/DSP01 (aka sound card) on an android device. If i can, i think i could write it using titanium mobile. I'm already halfway done with this app in pure java, so i wouldn't actually rewrite it in Titanium Mobile now.
DaoMingJin said:
if you want to develop apps for android, Titanium Mobile (appcelerator.com) is the best way to go.
Click to expand...
Click to collapse
Thanx mate!
If you looking a book or something to teach you the basics Beginning Java Programming for Dummies and Android Application Development in 24 Hours are good reads.
I'd rather not fill the forum with more threads so I'm just going to ask my question here. What is the best way to read the android dev guide on the device itself? Just going to the site directly? Ideally I'd like a pdf or something designed to be read on a small screen. The site can have formatting issues when read on a small screen.
Sent from my SPH-D700 using XDA App
I've been developing for a long time (nearly 30 years), and whenever I need to learn a new language I start with the Sams range, "Teach yourself whatever language in X days/hours". They're pretty good and this is available for Kindle, which is great if you use the Amazon Kindle app...
http://www.amazon.co.uk/Teach-Yours...1_fkmr2_2?ie=UTF8&qid=1287485537&sr=8-2-fkmr2
It obviously costs, but I really do rate those books as brilliant starting points. The rest is google and friends on here.
Hope this helps - good luck mate.
Personally, I've been coding in Java for what... four years now? I'm feeling dwarfed here by johncmolyneux but honestly, the best way to learn is to not use an IDE like Eclipse, but to use something that you have to hand-code everything yourself, such as Geany! You learn fairly quickly after writing a few applications.
If you are thinking "titanium", "mosync" or "phone gap" it is worth doing a bit of background research. There are several extremely powerful tools out there that can help you build cross platform apps - these are among the top ones.
bit more discussion about this here: http://forum.xda-developers.com/showthread.php?p=16703287#post16703287
There are a few useful reports comparing them - check out ours by googling "triballabs cross platform"
The Google App Inventor makes it pretty easy to create your own Android apps. Best part is you don't need to learn any programming languages. You won't be creating anything too complicated like a video game for example, but it's a good start nonetheless.
http://appinventor.googlelabs.com/about/
If you want to learn the basics of Java, then please check out a book called as "Head First Java". They really explain the basics with the help of real life examples to make things much simpler so that people understand.
Beginner app projects
I'm also just getting started with app development. Something I've been looking for is a beginner app project. Wish I could find a walkthrough of a simple app like a game of Hangman or something like that. I've been through the android developer training web site and got some good info but some things I'm still a little stuck on. Id Love to see an actual app (rather than just a mock up of some fields and buttons) and then a slightly dumbed down explanation of the code. Might be a lot to ask but man it would be great!
hey guys... just in the very beginning stages of wanting to learn how to develop android apps/roms and looking for some quick help to get on the right track. (my bro in law and father in law are developers in python and bro-in-law is really getting into android). I am reading through a book which teaches the beginner Java programming to start. In the mean time, I have installed the newest version of JDK (with all the plugins), Eclipse, and Android's plugin for Eclipse.
1. Is this all I need to get started?
2. Does every developer use Eclipse? It was my understanding that it is more of a "crutch" to make android app developing easier... I want to understand the code behind the program.
3. What other advise do you guys have for me?
Thanks for any and all help.
in_dmand said:
hey guys... just in the very beginning stages of wanting to learn how to develop android apps/roms and looking for some quick help to get on the right track. (my bro in law and father in law are developers in python and bro-in-law is really getting into android). I am reading through a book which teaches the beginner Java programming to start. In the mean time, I have installed the newest version of JDK (with all the plugins), Eclipse, and Android's plugin for Eclipse.
1. Is this all I need to get started?
2. Does every developer use Eclipse? It was my understanding that it is more of a "crutch" to make android app developing easier... I want to understand the code behind the program.
3. What other advise do you guys have for me?
Thanks for any and all help.
Click to expand...
Click to collapse
1) Pretty much.
2) I don't know if every dev uses Eclipse, but it's not a crutch. You're probably thinking along the lines of the garbage web pages Frontpage generates. That's not what Eclipse does. It'll generate some tedious code for you (when you tell it to), but it's a powerful and customizable tool, not a babysitter. Anyone that tells you do use Notepad instead is an idiot.
3) A lot of people will disagree with me, but I think learning Java with no programming experience is about the hardest path you could take. But it's tough to try to learn another language for the sake of it while what you really want to do is make an Android app. Just know, going in, that the path you're taking is tough.
You'll hear about object oriented vs procedural programming, but what everyone neglects to say is that object oriented expands upon procedural. That's why, ideally, I'd recommend everyone start with a procedural language.
Make sure you at least get a decent understanding of what object oriented programming is all about. And make sure you bookmark the Java API! If you're not using it you're doing something wrong.
Edit: Disclaimer: I've been a software developer for over 10 years and using Java for most of that. I spent a couple days looking through the Android SDK and tutorials and decided I didn't have a good enough app idea to make it worth the effort.
thanks so much, your input is much appreciated!
Be patient and do write many small apps as a start. And oh, xda chef central is another great resource also stack overflow is your best friend.
I would suggest you be patiently read or watch some tutorial before do 'try and error' way to test what works. Learn from experienced dev is really important
From my RAZR MAXX
Yeah I agree, I would definitely start out with small apps. The first few (several?) things you write are going to suck. Even if they work perfectly well, the code behind them is going to be poorly designed and hard to maintain and enhance.
In a class way back when, our instructor had us writing a to-do list manager. You can start with a simple list and then enhance it as you learn more. ie, add/delete items, priorities, due dates, reminders, etc. You'll read and say "hey, I could use this to do so-and-so," or "I wish I could add this function" and learn how to do it.
In addition to learning how to code and use the Java api, you'll also learn why you eventually want to understand how to design as much as possible up front.
Hello, everyone. Can someone please direct me, an absolute beginner with no experience in programming at all, where to begin learning. I would like to ultimately develop for Android.
I'm running Ubuntu 13.04; how can I set up an environment to learn programming, and what are some resources that I can use?
Install jdk on the comp then on your phone download the app learn java in 24 hours it walks you thru making your first program so you get the basics
Hello, I'm pretty much in the same boot as the OP.
I'm working in the medical field and get bored of not having the app I need to ease up paperwork, so I decided to make them myself.
However, exept a hangman game in high school I never coded. So yesterday i took my old laptop, put some Ubuntu on it, the sdk and created the famous "hello word" app.
The problem is, even in the tutorials, some thing were to complicated, so I called upon my cousin (a german develloper) and he gave me some advices.
Especially, he told me that java was maybe not the easiest way to learn to code with 0 background and suggest me to try python and other things.
Do you have advices for me, since I want to build simple app (somes textfields, somes checkboxes to get scores and the ability to export a result sheet in pdf) at first, but i do not want to use app inventor or similar tools since I ultimately want to fiddle with the AOSP agenda (get the contact list to pop up like the invite list when i click "description field" , change default duration of appointements etc...).
Any ideas, suggestions, or tutorial are welcome, just keep in mind that I know nothing (Jon Snow like).
http://forum.xda-developers.com/showthread.php?t=2388486
Jus go here
.........................................
visit www.fb.com/softcrush
If you want to become a professional android developer then it is advisable to learn Java and XML a bit better,,and there are bunch of resources available on How to build android apps !
If you really want to become a Programmer then it is advisable to start from the beginning i.e C and then Java
Thats how everybody starts learning coding !
Go through video tutorials for understanding how the coding works !
Happy to help !
Sanjay said:
http://forum.xda-developers.com/showthread.php?t=2388486
Jus go here
.........................................
visit www.fb.com/softcrush
Click to expand...
Click to collapse
This is a great list. I love to see my boy Derek Banas on there
alfredmuffin said:
Hello, everyone. Can someone please direct me, an absolute beginner with no experience in programming at all, where to begin learning. I would like to ultimately develop for Android.
I'm running Ubuntu 13.04; how can I set up an environment to learn programming, and what are some resources that I can use?
Click to expand...
Click to collapse
google it man you will thousands of website which will teach u programming for free. I would have put the links but dont wanna be treated as spammer
For now don't worry about making an app with the Android SDK or anything big like that. Just start simple with some little programs that print stuff into the terminal. It's a good thing that you have Ubuntu because Linux OS's are always great to learn programming on!
I'm also a noon and I found it easy to start with Batch on Windows and I have just been getting better and better!
Well I understand it's not easy to get started. One thing you will have to recognize that there's a lot of things involved getting prepared for Android programming. For example, while developing for Android you will need to be able to write a bit of XML as well, you will need to set up your IDE, get the necessary Java dependencies, get a little bit familiar with Maven to be able to use 3rd party libraries and so on. It's most definitely intimidating. So what I would recommend is to...
- Try to allocate time every day for learning this, even if it just means half an hour or less a day.
- Always take notes and don't be afraid to ask; nobody should assume you know the answer.
- Once you've learned something, help others to get ahead - seniors will probably recognize your efforts so you will be able to get help more easily.
- Try to talk about programming in person with people who are more proficient in it. Nothing helps as much as having a pro sitting in the same room, ready to help you.
- Try to join related communities as well, it can really speed things up.
- Baby steps. Many people get started in programming with having crazy big ideas only to meet failure later. It's not a good thing to frustrate yourself, so choose small goals first.
I can't emphasize the last point enough. Whenever you start learning new stuff - no matter whether you're a novice or an expert - you will need to focus on this, because the initial steps are always problematic. For example, when you start learning a new programming language: the syntax is new, the way for getting the app run is new, the IDE might be new, if the tool is web related then probably it uses a different kind of server than the one you're used to etc. etc. etc. so barriers all around. You must get comfortable with this first, then you will be able to speed things up.
How to start coding
How I started:
Basic Stuff:
1. Java, I used Java Complete Reference
2. Data Structures (most commonly used- Stacks, Queues, Linked list, HashMap, List) [Basic Understanding]
3. Algorithms (will help you to write efficient code) [Basic Understanding]
4. XML, just basic understanding is required, use internet to learn
Android Specific Resources:
1. The Busy Coder's Guide to Android Development [Very useful]
2. New Boston Videos
3. Android Cookbook, if you want a solution to a particular problem
Spend more time learning Java and other basic stuff, once your basics are clear, then you can easily adjust yourself on any platform.
Recommendations for Aspiring App Developers
Hi,
I was in your same shoes about 3 years ago so I can tell you what steps I took to start coding. I took the longer route but it was the correct route. Key suggestion is to learn the lower levels of coding first. (lower levels meaning base languages, binary being the lowest). Start with the C language as this is the core programming language which most other higher levels are based on. If you have the money take a structured online course on Udemy or CodeAcademy. If you're short on money and need to learn on your own don't worry there's plenty of resources out there to learn. That's how I did it. Start out with videos on youtube, try to find a complete structured course here's one with over 130 videos. Sorry, can't post links cause I'm new but just go to Youtube and type in "C Programming Complete Tutorial" to get the course with the structured 130+ videos.
The best way to learn any programming language is to find some free source codes in the designated languages and start tinkering, breaking and fixing the code. Once you learn this core language you will be able to programm\ desktop apps, simple software and mobile apps in other higher level programming languages.
Hope this helps.
-Jeff
alfredmuffin said:
Hello, everyone. Can someone please direct me, an absolute beginner with no experience in programming at all, where to begin learning. I would like to ultimately develop for Android.
I'm running Ubuntu 13.04; how can I set up an environment to learn programming, and what are some resources that I can use?
Click to expand...
Click to collapse
Hey Guys,
I love thenewboston website that you've pointed us to. But as a first step, should I learn some C or Java before progressing on to thenewboston Android tutorials?
I have no programming experience, but lots of motivation.
Thanks,
Donald,
New Zealand
Sanjay said:
http://forum.xda-developers.com/showthread.php?t=2388486
Jus go here
.........................................
visit www.fb.com/softcrush
Click to expand...
Click to collapse
recommend "head first java"
Hi folks,
I have had this idea in my mind for a couple of years now and would like to get on with it and stop dreaming about it and just jump in and do it already!
My experience during the past 20 years has been working as a programmer on MSSQL and VB and VB.net with good working knowledge of C, HTML5, Javascript, VB, VC, Access, MSSQL, MySQL, PHP, CSS, some Java, etc...
I don't mind learning new skills and actually looking forward to getting started, but I need to know that I am not barking up the wrong tree.
I intend to make this an open source project and not as a commercial product.
My dream is to make my phone, my voice-driven computer. Where the phone might not have enough resources, I need to use my main computer as top tier and act as server.
I know ubuntu touch might be a contender but it lacks many drivers for GPS, Propriety drivers, etc...
Let me tell you about my idea first as a high level plan due to my ignorance of the details of this implementation.
I want to make my phone (Nexus 4) be able to listen to my commands via a Bluetooth headset (Through a speech recognition engine), and tell me in in natural speech, things that I need to know or care about. For example: "You have a new email from David. Do you want me to read it or display it?" Sort of like what is now a movie called "Her" without the science fiction and the lovey dovey story part .
I want to write an internet agent that would search the net (from a list of sites) for what I am interested (through an AI program like freehal.net), and keep them for display in the order of relevance when I query it.
I also need to take over the telephony hardware when needed. For example: A call comes in, I want to be able to look-up their number in my database of contacts, if an entry is found, to tell me "Sam is calling. Do you want to answer it?"
I also want to keep a black list table where I know they are trying to sell me something and answer the phone (without me pushing any buttons) and tell them that I am not interested in answering their calls and that they are on my black list. Then hangup. Without sending them to voice mail.
I tried asking the android community on Google 2 years ago to ask why the SDK doesn't provide telephony API front end to answer the call without user interaction, but got no replies.
I've installed ubuntu on my laptop to learn Linux and got it working properly after a couple of days and have downloaded and installed all the programs and sdks I think I'd need. There are a lot of interesting projects in AI and user agents going on and I like to participate in them once I am up to par with the linux environment.
Can anyone give me some guidance, pointers or what to look for. If there are any project in development that I could join, would be much appreciated.
I tried to explain my interest as best as I could. If you need more info, please let me know.
Thanks for all your help guys.
Hi everyone. I want to share some resources that may helpful for anyone who still don't know where to start.
If you don't have any background, consider learning programming using Scratch or Alice. It seems just suitable for kids but actually for everyone who want to think logically.
If you have some basic background and want to have solid Java background (which I recommend) before moving to Android development, you should start with "Head First Java". They also have "Head First Android", but personally I don't like it so much.
After you have a solid Java background, you can start learning Android using this free course on Udacity. It has 5 parts that cover everything that you need to make literally any app on Play Store.
After you completed the above course, let's make your own project. You don't have to learn other courses or textbooks in order to make an app. You should try to make your own app using what you have learned with the above course. When you making your project, you will encounter real-life problems. By solving it (using Google, StackOverflow, XDA, other tech forums, ...), you will learn more than any course or textbook can help you.
I hope you will find this post helpful for you. If anyone has a question, please leave your question below
Hi, new user here. Thanks for the read
Hi,
I just signed up on this forum and came across this thread and so decided to post a question. First, i have been a full-stack developer and now working on Cloud, AI/ML but android mobile app development is new to me and i am pursuing a self-paced training. My intention is to start off by learning the basics of android and the ide, the various elements and work my way up to the advanced level. Then start learning and work on flutter. I have a fair bit of experience on Java as i have developed java enterprise and web application (JSP, applet based) in the past.
Right now, i am looking at the Android Basics to Advanced nanodegree program offered by Google on the android site, udemy, udacity, etc and lots others on the internet. just wanted your opinion which course would be a good place to start.
Thanks.