Best place to start? - Android Software Development

Trying to figure out the best place to start for writing android apps. I have experience coding php, a little c#, and html (if you really want to even call that a programming language ). Anyways, I have been looking into air for android and praying for my app inventor invite. But I really want to get a good grasp for it before I start using a cookie cutter app so I can just use it for the tedious stuff and modify and add to the code for my usage. I guess I said all that to say, I am lost and am kinda just wondering what some of the indie programmers did to get into coding for android. Any help/nudge in the right direction is greatly appreciated.

I agree, I also am looking into starting to program and have a background similar to yours. I have books like head first java that I have tried but... there is something about it that i just cant grasp. It's so much easier if you have someone near you that you can say, what does this mean or, why does this work the way it does... to help get a better understanding.
Any information greatly appreciated!!!
Thanks

found a great book called Professional Android 2 Development on amazon, good info in that book and gets you going and is very detailed so far. Its $30 of course and not so proudly, i DL'd it sorry but the author of this book is a Google biggywiggy and I'm sure my $30 lacking isn't going to kill the guy. Also I got my app inventor invite today FTW!!!

It is realy hard to learn Android without any Java knowledge. Therefore, please learn first Java! If you have the basic Java skills then you should start with Android Development. Because i know a guy that also started directly with Android and also without java knowledge. He bought a Android book but all the Android Developer books expect Java knowledge. Thats my advice.

Related

Hey Devs, what's the best way to learn Android development?

I've been playing around with the App Inventor for the last few days. I like it, it's fast, it's pretty easy, and I find it fun. The problem is though, right now you can't publish apps to the market.
Throw in the fact that you can't make very robust or professional apps with the App Inventor and I've been thinking of trying the more traditional route.
But where do I begin? I've got the Android SDK, Java JRE, and Eclipse all installed and ready to go, but that's where I'm stalled.
I've got zero programming experience. Should I pick up a book for Android development? Should I start just developing for Java and move onto Android later? I've got a few ideas for applications, some for businesses, some for users, some paid and some ad-driven. I've got the ideas, but lack the knowledge to implement them.
Even the official Google Android tutorials seem a little over my head, like they were made for people that are already knowledgeable in programming.
There is so much information out there, it's hard to find a good "Starting from zero" point / tutorial.
Thanks for the suggestions!
You're going to want to become experienced with Java and then move into Android.
There is some good information on the web. I learned some of the basics from this guys videos:
http://www.youtube.com/watch?v=Hl-zzrqQoSE
I also picked up a book thats called Head First Java that is supposed to be really good and noob friendly, with easy to remember examples and challenges. I am nowhere near experienced, but I have been doing research on it for a while.
Beginning Android Development
I'd probably try Beginning Android 2 This edition covers Android 2.0+.
Those both require some experience with Java. You have to start with Java first.
engagedtosmile said:
You're going to want to become experienced with Java and then move into Android.
There is some good information on the web. I learned some of the basics from this guys videos:
http://www.youtube.com/watch?v=Hl-zzrqQoSE
I also picked up a book thats called Head First Java that is supposed to be really good and noob friendly, with easy to remember examples and challenges. I am nowhere near experienced, but I have been doing research on it for a while.
Click to expand...
Click to collapse
+1 on Head First Java. Several people have suggested it. Also, there was a thread where someone had posted information, but I have searched and can't find it. I will try again later.
Thanks for all the input! I'll pick up a copy of heads first java.
Sent from my PC36100 using XDA App

[Q] Beginning Android Programming

Hey Devs,
After years of being into mobiles I want to start developing my own Apps.
I want to specifically program Apps for Android because I really like how Android is set up. the way it handles "closed application" and ofcoursebecause more and more people are getting an Android.
Now I'm not sure what the best way to start is.
How did you guys start developing for android?
Which books did you used?
I hear a lot of people telling me I have to start with Java, now I get Java at school but how much Java is enough to start in android? do I have to go as far as BufferedReaders and Swing or just the basics of Java?
I found this book: http://www.pragprog.com/titles/eband3/hello-android
That seems really interesting because it covers Android 2.1, does anyone have any experience with this book?
Or any other book?
All help is welcome!
I really want to make a good start in the world of Android programming
and what to get it at such a level I can actually develop programs in a company.
Thanks in Advance,
//Sterallure
Can nobody help me out with this?
As long as you know most of the fundametals of java programming learning android api and libraries should'nt be all that hard. I'd start by going to the developer.android.com learn how to install the android SDK and Eclipese, also read through the dev guide. Hello, Android latest Edition is a pretty good book for beginners, beginning android 2. as you get better move to pro android 2, or what ever you think will fit your needs. There is enough information online such as developer.android.com, forums, and tutorials that can help you learn android without having to buy a book.
I have to agree. I am no crack programmer, but there have been tutorials or sample code around the internet for almost everything I wanted to do. Especially forums and blogs. Google is my friend.
Thanks alot for the information I will also look into Beginning Android 2. I've read a couple of dev guides but I always really like reading books.
I just want a really good basic knowledge of Android programming itself and I think the API will come later, if I just know how to program somenthing then the API is helpful for creating new things
Programming for Android is basically using the Android API's
I suggest www.commonsware.com books. Its a $40 subscription and you get 4 books(Android Programming, Advanced Android Programming, Android Programming Tutorials, and Android Beyond Java) that are updated periodically. Its really a great deal. I have it and I've learned so much and also the author is very active on stackoverflow and also writes many articles on android.

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] Newbie needs advice on app development

I'm an IT consultant so I'm not a dummie, but I'm not exactly a programmer either.
We need to create an inventory/audit app for an Android tablet. I looked at the Eclipse documentation and I don't think I want to take the time to learn Java well for just this one app. Which leaves me with these options.
Has anybody used Mobiforms to create apps, and would a smart but untrained newbie be able to develop something reasonably quickly? They don't offer a trial version which I find more than annoying.
Should I just outsource the project to somebody in Bangladesh? I have some experience outsourcing.
Any other recommendations on getting an app created relatively quickly?
Thanks!
Or Google App Inventor...
No offense, but the outsource to Bangladesh comment isn't going to win you a lot of friends that aren't in Bangladesh.
I'd say try app inventor and see what you can learn, you'll know in relatively short order if it will do what you need.
Otherwise maybe you're in over your head and someone should outsource you to Bangladesh. ( kidding! ). Seriously though, if you don't find what you need I would hire out at that point.
I don't know much about Mobiforms, but their website looks terrible. Not that a website is the final word on a company but it strikes me as odd at least.
Thanks.
I spent an while with App Inventor. While it is surprisingly useful it lacks one thing that I must have, that being read/write access to the file system.
Today I just discovered Basic4Android and WOW! I haven't coded in basic in many years, but it's still easier to re-learn that than to learn Java from scratch. I'm sure none of the developers here have any interest in it, but for the occasional hobbiest like myself it's a lot easier to start out with. I recommend it for anybody who doesn't plan on making a career of Java programming or who already have a background in BASIC.
I reviewed Mobiforms and not only is their website aweful, but the documentation for it is aweful too. I can't recommend it for anything.
I will probably still outsource this project though.

Categories

Resources