As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm looking into doing some Android app development, just for my own pleasure. I've taken a look at some of the developer articles, the basics etc, and it really sounds like there's a hidden basic assumption about one's prior knowledge in relation to app development.
A lot of what was talked about, even in the basics, seemed to go over my head. I'm relatively new to programming, I've mainly done C++ and a little Java. I've not gotten fully into object oriented, still just doing basic programming.
Honestly, I'm a little overwhelmed as where I need to go next in order to make this work. So what direction can you give me in terms of what to learn first. I get that Java will be a big part of it, but is there anything else that would help?
Thanks,
Andy.
The three big things that you need, in terms of background, are:
Java programming
XML
Experience with widget-based UI models (i.e., pretty much anything other than low-level HTML/CSS/JS stuff)
The specific sorts of stuff in Java that you need include:
Language fundamentals (flow control, etc.)
Classes and objects
Methods and data members
Public, private, and protected
Static and instance scope
Exceptions
Threads and concurrency control
Collections
Generics
File I/O
Reflection
Interfaces
Those will all be covered in any decent Java book/course/mind meld from a friendly Vulcan. Those resources will probably go into other stuff as well (Swing, servlets, etc.) that will not typically be relevant to Android.
You should start at the very beginning.
Follow the 'my first app' tutorial step-by-step here, and if you don't understand a word or term or the code, google it. I'd even suggest you re-type the code rather than copy-pasting, so that you actually think about what each line is doing and get some practice debugging what you do wrong.
You should also read and understand about activities as a minimum, but all of the headings under 'app components' are very relevant.
First and foremost, you should be conformable enough with java so that you can easily understand the sample codes. OOP plays a major part and I believe you are going to have a tough time otherwise if you are not fluent with it, as it going to be the building block for Android programming.
And then when you get into the Android part, grab a decent book and follow it as your bible. Don't just skip the theory and start with coding as you would need to have your basics clear. The documentation is going to be your friend as long as you are in Android development, so make sure that you don't hesitate to look things up there. When you download the SDK, there are a lot of sample projects given there and they would provide you a lot of help too.
Once you get into the development, you would find that there are a lot of generic code available online and even Stack Overflow has a plethora of questions on Android.
My suggestion to you would be to get your foundation in java and then start making your own application, because learning hands-on is the best way to do so. Start with small and simple ones, preferably those that are explained in the book that you would be following. Try your hands on the applications and if you get stuck, post here and help would be provided readily.
Note :
This a series of awesome video tutorials. Starts from the very basics and takes you to much higher levels, explaining everything that is happening. Very helpful.
Good luck with Android! May the Droid be with you!
Basically it's all about java + some kind of specific xmlish declarative language.
I guess java as a basis is enough because everything else is more android specific.
One answer here
How do you know if you would understand android with your current knowledge?:
Android Training Skim through code there, if you are able to understand it, that means all you need is java, and some xml layout stuffs.
You can start with these tutorials, in this question:
Online Android Development Tutorial / Beginner's Guide?
Then, as you get more comfortable, familiar, start to look at the sample programs.
There are few tutorials which start with basic. probably you want to have look into it. Before going through these tutorials read about the Android architecture and you are good to go.
Some of the Android basic tutorial.
developer.android.com
Vogella.com
myong.com
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
I am a computer science undergrad. I am passionate about programming. I studied c and c++ at college. I learned android on my own. i created 2 apps following youtube videos. and then i wrote comments to those code by reading some of the android programming books. i learned so many good stuffs.
now i am trying to create my own app and i have ideas but do not know how to know about imports,classes and methods that i can use...and i do not know if there are classes,methods that can be use to turn my dream app into reality....how to know about classes,methods,imports!
i know about developer's site but how to use it..i mean how to get things done ..can anyone give some example?
like i want my splash screen to be there for 10 secs now how to know required imports,classes and methods....i always go crazy over internet and start to search how others have done and imitate it..what is the real way of learning those stuff?
i am really eager to learn on my own.
You seem to be asking for a superior strategy to help you identify the Classes and methods that you will need to use. I don't think such a strategy exists, but I would suggest a couple of ideas:
Get a good textbook on Android app development, and read the initial chapters, and all later chapters that appear like they might be relevant. This should give you a start on understanding the APIs.
Read through the package-level documentation for all of the packages in the libraries ... including the "java" ones. This will give you an overview of what is available.
Look for relevant tutorials and example code to read / borrow from.
From there, it is largely a matter of intelligently searching the Android API docs. In the case of Java SE and EE, the javadocs include indexes of methods and all classes, together with a type hierarchy and a usage index. I find that searching these using a web browser's page search can be productive. But the most important technique is intelligent choice of keywords for your searches. (If your working vocabulary of IT English is not good, this could be a challenge ...)
I recently started learning how to develop Android apps as well. I learned by reading books and studying the online Android documentation. The books from Commons Ware are very good. You should also study general Java programming concepts. I recommend [Learning the Java Language] from Oracle's Java Tutorials.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am looking for a tutorial for android point and click game.
I looked at the comments in this post:
resource-on-making-a-point-and-click-game-no-flash
The links posted do not have any thing to do with android.
I also read:
android game tutorial
However, it is not a point and click game. So, I am looking for a tutorial about Point and Click game specifically for android platform.
Edit: By "point and click", I refer to a game style similar to the PC. However, I do not want a mouse pointer, that would be weird on Android. I just want the user to be able to touch various widgets/ objects on the game screen, and interact with them (by tapping on them).
Construct 2 is a good place to start. They have many tutorials specific to Android development, and their beginner tutorials have different versions (top-down, side-scroller, etc.), which will give you a great sense of the software. The free version of their platform covers most things. The paid version has additional layers, which are nice for more advanced tricks. You should also check out their showcase games, to see what others have made for Andriod.
The beginner tutorial is enough to figure out how most point-and-click stuff works. Page 5 of the beginner's tutorial has the first mouse-click event There is a way to set an event to happen when you click an object, also (for example, when you click a monster, it dies). Here is an easy-to-follow Whack A Mole. Usually you build the full game, first. Then, you get into an Android tutorial to add everything necessary for it to work on Android. It's an easy process for a skilled developer, but it requires that you venture out of the user-friendly, point-and-click game construction kits like Construct 2.
From the perspective of a developer, your best bet is going to be Java. It's probably the most Android-friendly language out there. It will be the most stable, fastest, and easiest to learn in most cases. Also, it will require the least on the part of the user (for example, users won't need a custom browser or Jetpack, Air or anything--the user won't need to install anything other than your app). The top hit on google, today, is here: http://www.javacodegeeks.com/2011/06/android-game-development-tutorials.html.
There are other, easy-to-find places you can read up on getting started with Java for Android game development--meaning this question will likely be closed. It will require reading other people's code, and you should probably start by familiarizing yourself with Java. After you have spent a good chunk of time studying Java, you can go through tutorials and understand them and get creative with different customizations and applications for various of code. The top hit on YouTube is a point-and-destroy, Whack-a-Mole-type game, with source code, for example, which may suit your purpose. I can't completely tell by your description, though, because people don't generally click unless they are using a mouse, and an Android doesn't use a mouse afaik. :) You should consider updating your question and getting into some gritty detail.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
We are a small company that develop applications that have an app as the user interface. The backend is a Java server. We have an Android and an Iphone version of our apps and we have been struggling a bit with keeping them in synch functionality-wise and to keep a similar look-and-feel without interfering with the standards and best practices on each platform. Most of the app development is made by subcontractors.
Now we have opened up a dialogue with company that build apps using Corona, which is a framework for building apps in one place and generating Iphone and Android apps from there. They tell us it is so much faster and so easy and everything is great. The Corona Labs site tells me pretty much the same.
But i've seen these kind of product earlier in my career, so i am a bit skeptical. Also, i've seen the gap between what sales people say and what is the truth. I thought i'd ask the question here and hopefully get some input from those of you who know more about this. Please share what you know and what you think.
This is a very controversial topic and opinions can vary.
Disclaimer: This answer is for all of the generic "code once for all platform "solutions. I have used Corona in the past for OpenGL related work and it works well.
Assuming you are not making a game.....(game is another story since the user experience is similar and platform agnostic)
Personally, I'd say stay AWAY from these solutions if you are building anything that is complex.
Yes, you will only have to maintain one code base, but maintain two or three code base does NOT necessarily mean that more time is required, especially if you will make multiple apps and have common code between them.
The top five reasons not to use them that I can think top of my head are:
You will often run into problems that you won't know how to solve and there is a much smaller community with each framework.
You won't likely save time because you will have to code parts natively and you will have to learn the respective platform anyways.
The look and feel, as well as navigation on Android and iOS is different. (Example: just look at the leather header on iOS). Having code a few apps for both iOS and Android, personally I feel that it is impossible to have the same user experience for both platform. Example: Android have a back button.
Performance will likely vary a lot. (Especially those HTML5 based, see how Facebook just switched to Native?...note that Corona is NOT html5 based though)
You have to pay.
In summary, you won't save time AND money in the short term or the long term. :)
However, this industry is moving VERY fast right now, so they may become much better solutions in the next few years.
I think it is a trully terrible idea if you want to do a quality app. Not specifically Corona; but any code once run anywhere tool for mobile apps.
At least Corona is not based on html5 ; I don't have any bias against webapps but I simply don't know any good mobile app based on html5.
I think it could very easily lead to way more maintainability problems than if you were maintening two clean code bases.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
I just started to learn Android development.
My previous experience is majorly .NET framework in C#. I have some experience with Linux and basically no idea about Java.
So, which is the good way to be an Android development expert? Books? Study roadmap? Anything would be appreciated. I am all ears to your advises.
Thanks.
(Apologies if this is not the right place to post such a question.)
The first thing you must do is learn Java. Head First Java would be a nice introduction. Android applications commonly use complex Java concepts, such as inner classes, anonymous classes, generics, etc. You should become a Java expert before becoming an Android expert. It will make your life alot easier.
After this I would recommend learning Android by reading an intro book such as Beginning Android 2.
After this -- or as a supplement to the book -- go check out the android developer's guide, where you will get tons of great tips and sample code. Make sure you understand all of this sample code.
Somewhere along the way, you should check out this wonderful tutorial on creating a "real-life" application. It goes step-by-step and helped me alot.
If you have worked with C# then it should be no problem simply "jumping in"... it's basically the same language, you just have to learn the libraries like anybody else. Just remember to compare strings with .equals() instead of == :) Microsoft did a might fine job evolving (cough copying cough) the Java language so you should feel right at home :)
Seriously, you don't need to bother much with learning Java per-se, just get Eclipse, install the SDK and start read the developper's guide. AFAIK there aren't any good Android books out there, but there are a lot of interesting videos here. The videos should be your best source of information really...
I learned Java and Android at the same time (had no previous experience with Java). I can't really say that my first apps were particularly good but, as with anything else, you get better with time and experience. Now I'm working a full time job developing Android apps (after a few open-source projects) :)
I guess it depends on how you prefer to learn. I started by jumping right in and doing some tutorials and some small apps for myself, so that's all I can recommend (I have not read any Android books). If you want something to read, the developer's guide will keep you entertained for at least a few hours.
For Java I would recommend Thinking in Java, for Android you can find sth interesting (for beginners) here http://developer.android.com/resources/browser.html?tag=tutorial . Personally I tried to read some books about android but they are not particulary interesting (Pro Android 2).
If u want to make a career in Android, first learn basics in JAVA.
Read JAVA The Complete Reference book to improve your understanding.
Then start learning Android. Using Google search will provide you a lot of video tutorials to learn android.
check out Google I/O developer conference and also this video
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I just started looking at the android framework and was wondering what was the best way going about getting good at it. I started with a text game and created a simple bubbleWrap game next. But am not sure if I'm going about it the right way now, so I thought I'd ask some of you more experienced Android people out here. Are there any courses online that would be beneficial? Any books that helped ya'll?
Thanks in advance!
Here I m listing some forums that may help you getting started with Android:
http://www.vogella.de/articles/Android/article.html . Besides getting started, it also teaches to build a hello world app, demonstrates how to build menus and work with preferences, a nice content provider example and how to make a file browser. At last it demonstrates how to deploy your app onto a real device.
http://marakana.com/forums/android/examples/ This is one of my best recommendations. Some very nice demo projects are hosted on the site.
http://smartandroidians.blogspot.com/ Nice tutorials by Nithin Warreir. The blog contains some code snippets that help during development of big projects. One can learn implementation of various tools of Android development easily here.
http://www.anddev.org/ Anddev forum is pretty famous for having a large number of online users everytime. For any query you can easily post a question in this forum. Wait for the help that comes in just a few minutes.
http://slideme.org/ Besides the Official Marketplace, this is another marketplace that hosts developer's applications. For registering as developer in the official marketplace, one needs to pay $25, here lies the advantage of joining SlideMe, it is free..!!
Also try two books for Android Application development:
Android 2 Application Development
OReilly Android Application
Development and Wrox Professional
Android 2 Application Development
Hope that helps...
I started out reading Application Fundamentals to get the 10,000 foot view of the framework. From there I bought Pro Android 2 in order to quickly learn about various Android subjects. I don't necessarily need to know about all of these subjects now, but it helps to know about other options. For instance, I don't need to use Content Providers right now, but they are a useful topic to be aware of if my app's requirements head in that direction. After flipping through that book I took a look at some of the tutorials that related to my application.
I'm currently developing my application with great success, although I continually have to reference the Documentation. Answering questions on stackoverflow has also helped me quite a bit, because I often learn more about the framework in researching for responses.
Also, make an effort to read a Technical Article every day from Developer Resources. Most of the articles are easy to follow, and they often cover issues you may not consider (such as the article on Avoiding Memory Leaks).
I've just finished reading Beginning Android 2 and can recommend it over the Oreilly book, it is a lot more thorough and gives you virtually every topic you need to learn for Android development. The author is on stackoverflow as commonsware I believe too.
The best option is to get an O'Reilly Safari subscription, then you get a whole bookshelf of Android books for $20 a month.