Android Development Book Recommendations. - Android Q&A, Help & Troubleshooting

Hi guys.
I have been programming for iOS for a while now and I want to learn Android development.
Now I have seen many threads that ask for books recommendations, but I have checked a few of them and none of them suit my needs.
I am in no way a beginner. I have been programming for 5 years, 1 year dedicated to iPhone development. So I'm not looking for "For Dummies" books.
Ideally, I want the most complete Android development book. Or a progression of books (you can avoid Java books altogether, I would prefer if you focused in Android Development books).
Thanks for any help!

Related

[Q] Do you also develop for iOS? Why choose Android?

I can't seem to find much on this, so I thought I'd ask the question. I personally use a Samsung Galaxy Nexus and was a previous owner of a Galaxy S1. I also sport an Apple Macbook Pro and I love the computer.
There's been a constant "reminder" from various articles how developing for iOS appeals to the developer more than doing so for Android.
This topic has spawned countless of times, and with the recent intro of Instagram to Android, that topic has been re-written once more to show why iOS is "dominant" among developers compared to Android. Article HERE.
Thing is, with all this talk about developing for iOS being better, I find myself asking "if that were true, then why do developers still develop for Android? If that were true, Instagram wouldn't even bother coming to Android...especially since it's free."
So what would make developers for Instagram want to make an app for Android when according to these articles:
Developing on Android is "harder" because it has to adapt to countless hardwares
Android developers make less than iOS developers
Do you develop for both iOS and Android? What's your take? What actually entices you to want to work on the Android platform?
It would be nice if a developer who works on both platforms can give some insights. Please no fanboy or anti-apple talk here...I am sure many of you Android users like me, would have had your friends who are iPhone users bring up such a topic on how they've read that developing for iOS is better, and you can't explain to them why people still make apps for Android cause there's little material online to covers that topic. I'm genuinely curious to know from a developer's perspective
Developers want to get their program out to as many people as possible so they develop for platforms where the customers are at. The two biggest phone operating systems right now are iOS and Android.
Developers choose iOS first because their is a lot less device diversity with iOS devices so developing an app is probably easier. It has also been shown that there is more money to be made selling iOS apps than Android apps which could be due to the fact that people who are on a tight budget may see an Android device as a better deal or may have a carrier that doesn't even sell the iPhone. Piracy is an issue on both platforms but it could be argued that Android is easier to pirate on since apks can be sideloaded without rooting where as iPhones have to be jailbroken. But sideloading apks is used for legit reasons as well, like testing betas, nightlies and other apps that aren't distributed through App Stores.
Android apps have to account for multiple screen resolutions, ratios, and densities. Most regular apps scale just fine. Games seem to be where there are the most issues and I really wish Google would address the issues. It seems each GPU type needs its own support (PowerVR, Nvidia, Adreno, etc). I really wish Google would implement something like DirectX so games can be played on any GPU with enough power. iOS has the advantage here because only a single GPU type is used, PowerVR I believe, so all games can be optimized for it. Couple that with the fact that iOS tends to bring in more money and this is why the game developers usually favor it over Android.
Thanks for the insight. I figured gaming would be difficult for developers but didn't understand why, I just naturally assumed that "if the app seems more complicated, it naturally equates to more complications making it run on various hardwares".
Am I right to say then that when tech reviewers write about how Developers favor iOS to Android, it's mostly pertaining to gaming?
What about non-gaming apps? Is reaching as many people as possible the only incentive to go Android? Take Whatsapp, or Instagram that recently came out...it's free on Android, it also has to deal with multiple hardwares (though now I'm assuming it's actually not as tough as it sounds to accomplish if the app's fairly simple)...is there an incentive for developers to create an Android App...cause the guys at Instagram or Whatsapp could have gone "Well there's nothing here for me, I'll just stick to iOS"...because from what I see, it looks like opening it to the Android market meant having to stress their servers with a sudden influx of users, which mean spending more money to maintain them so it doesn't slow down too much...it seems like a lose-lose situation from where I'm standing. =\
I guess for some apps, google ads are what keeps them going...like Draw Something. I do wonder though how Whatsapp and Instagram manages its upkeep when it doesnt have ads...and if the answer is that they use the money earned from iOS to manage their expansion, is it really worth it if the goal is just branding purposes.
If there is a market to reach developers will develop. Web developers had to put up with the terrible non standard supporting ie6 for years. It was a real pain to develop for but had a large user base that couldnt just be ignored. Android is the same way, developers go where they can reach the consumer. Luckily android its nowhere near as bad as ie6 was.
Sent from my Touchpad using Tapatalk
spunker88 said:
If there is a market to reach developers will develop. Web developers had to put up with the terrible non standard supporting ie6 for years. It was a real pain to develop for but had a large user base that couldnt just be ignored. Android is the same way, developers go where they can reach the consumer. Luckily android its nowhere near as bad as ie6 was.
Sent from my Touchpad using Tapatalk
Click to expand...
Click to collapse
Thanks for the input! From your take, it seems like developers make apps for Android not because they want to, but they have to.
Do you or any of the developers reading this, can testify that there are some ups to developing on Android as compared to iOS.
Please use the Q&A Forum for questions &
Read the Forum Rules Ref Posting
Moving to Q&A
lufc said:
Please use the Q&A Forum for questions &
Read the Forum Rules Ref Posting
Moving to Q&A
Click to expand...
Click to collapse
Hi, sorry the topic may be [Q] but it's meant to generate comments and thoughts pertaining to the Android platform as per the sub header for Android General
Could it please be sent back to Android General? The Q&A section seems to be a place for people to post technical questions they need help solving.
Anyway, anyone else able to share their thoughts? Do you develop for both iOS and Android? It seems so far that people prefer to develop for iOS and lesser for Android, but they do it cause they have to as a means of reaching to the masses, but not really because they want to.
Anyone beg to differ? Do you have a reason why you actually prefer developing for Android over iOS?
Hi,
I'm a web developer, and when I decided to try mobile development, I made the choice to develop only for Android, for various reasons, but mainly because I'm not a fan of the Apple ecosystem.
This is not fanboyism here, I'm not bashing Apple, they make great products. But I prefer a fragmented ecosystem, with various companies, various devices, various app markets, etc. because this is a great source of opportunities. I also like the fact that android is open-source, leaving the availability to study the source code and hack around.
As for the difficulty to develop for various devices, I'd say that I'm used to it, being a web developer. Web devs are used to cope with various browsers (some of them being pretty old) and different screen sizes. See for example the mediaqueri.es site (cannot post link since I'm a new user)
thibaultj said:
Hi,
I'm a web developer, and when I decided to try mobile development, I made the choice to develop only for Android, for various reasons, but mainly because I'm not a fan of the Apple ecosystem.
This is not fanboyism here, I'm not bashing Apple, they make great products. But I prefer a fragmented ecosystem, with various companies, various devices, various app markets, etc. because this is a great source of opportunities. I also like the fact that android is open-source, leaving the availability to study the source code and hack around.
As for the difficulty to develop for various devices, I'd say that I'm used to it, being a web developer. Web devs are used to cope with various browsers (some of them being pretty old) and different screen sizes. See for example the mediaqueri.es site (cannot post link since I'm a new user)
Click to expand...
Click to collapse
Thanks for your 2 cents! Am I right to assume that in fact, having to deal with different hardwares and screen sizes are actually a norm among developers before iOS came along? In other words, yes, Apple is right to say criticize that other platforms are harder to work with compared to iOS but that's because iOS is the exception among developing platforms where it's system is easier to work with?
spunker88 said:
I really wish Google would implement something like DirectX so games can be played on any GPU with enough power.
Click to expand...
Click to collapse
But Android and iOS already have something like DirectX - OpenGL ES 1.1 and 2.0.
The_R said:
But Android and iOS already have something like DirectX - OpenGL ES 1.1 and 2.0.
Click to expand...
Click to collapse
Thanks for the additional input...if there always is a direct standard like Open GL in both iOS and Android, what's the difficult part about manufacturing games for Android?
iOS required Apple computer to install their development environment. And You must pay 99$ per year for being the official iOS developer..
ayen1234 said:
iOS required Apple computer to install their development environment. And You must pay 99$ per year for being the official iOS developer..
Click to expand...
Click to collapse
I'd actually say that it is worth it.
yeahyeahright said:
Thanks for the additional input...if there always is a direct standard like Open GL in both iOS and Android, what's the difficult part about manufacturing games for Android?
Click to expand...
Click to collapse
I think its large number of the types of Android devices. It really isn't as simple as just supporting different screen sizes. Doing that is actually a really simple task using OpenGL.
With my own games I've experienced that what generally works on my test device won't necessarily work the same way on someone else's. For example, some devices support textures of any size while some devices have a constraint of the texture size being a power of 2. On many of my games which need multitouch, I've experienced that it doesn't always work the same on all devices either. On some it is downright broken while on other it just works fine.
There are many such other issues which you'd be aware of only after experiencing them.
The reason for this is the different hardware and the different software implementations that each phone manufacturer brings in. Even if the game "works" on a wide range of devices, there is always a different feel that you get when playing on a different device because of the hardware variations. You might get a good frame rate on a high end phone but have you tried playing it on a low end one? I've seen games from even the big publishers working fine on a high end phone but it just is completely glitchy on a low end one.
Now for a small developer with limited resources it can get really hard to test on and support as many devices as possible. This is one of the main reasons I feel that it can get really hard to develop games on Android. It just requires more effort if the developer wants to guarantee a good experience on a wide range of devices.
The other factor as stated before is that the iOS platform is more uniform. And moreover there are more people who are apparently willing to pay for your game on iOS than on Android. With one of my own games I've experienced that I've made more money in the last 10 days by selling it on the iOS App store than on Android in the last one year with ad revenues.
I actually started developing games on Android initially and one of the really big disappointments for me has been that I am not able to sell my games on the market(now Google Play) because Google checkout for merchants is only available in a few countries. This was the main reason for me to consider moving over to iOS. I think I could sell on a different market like the Amazon App store if I really wanted though.
Inspite of all that I'd say that Android is a great platform.
Wow thanks a lot for the insight! It's great to understand it from a developer's POV, especially one who works on both platforms.
I realise people do comment a lot about Android users less committed to pay for an app, I wonder why...I don't think it's due to their budget, my guess is that their afraid it may not work well on their devices...to that I think Google could really push hard and promote it's 15 minutes refund policy which I think a lot of users are not aware of....I use the 15 minute window a lot and it helps me to decide if something is worth my time buying or not.
I guess the "openness" of Android has allowed phone manufacturers to get really creative with their products (Touchwiz, Sense, Dual Screens, Qwerty Keypads etc) but at the same time, makes it harder for a developer to create stuff, probably even harder than creating stuff on a Windows Desktop.
Do any of you think that having "game settings" like you get on a Windows PC will help change this experience? Either one where the user gets to tweak the graphics (low, med, high) and performance, or perhaps one where the game will adjust graphics to the "recommended setting based on your hardware"? Is this even possible on Android or it's more complicated than you'd get on Windows?
yeahyeahright said:
Do any of you think that having "game settings" like you get on a Windows PC will help change this experience? Either one where the user gets to tweak the graphics (low, med, high) and performance, or perhaps one where the game will adjust graphics to the "recommended setting based on your hardware"? Is this even possible on Android or it's more complicated than you'd get on Windows?
Click to expand...
Click to collapse
Yeah, I have actually seen a few games that do that, and it does help. But it also requires some extra time and effort on the developer's part.
In some of my games too, I've added some simple settings in order to change the control schemes, so that if one of them doesn't work for you, you could choose the other one. Graphically, though, my games are really simple.
yeahyeahright said:
Thanks for your 2 cents! Am I right to assume that in fact, having to deal with different hardwares and screen sizes are actually a norm among developers before iOS came along? In other words, yes, Apple is right to say criticize that other platforms are harder to work with compared to iOS but that's because iOS is the exception among developing platforms where it's system is easier to work with?
Click to expand...
Click to collapse
Having to deal with different hardwares started to be a thing of the past, with the explosion of web apps. One platform for all, what a dream! Then came smartphones and tablets, and developing for a native platfrom became cool again.
Anyway, building for the web is still the only way to reach anyone with an internet access. The only problem with web apps is that it's harder to monetize. But the web's decentralized architecture is not a bug, it's a feature. That is what guarantees it's freedom and independance. You don't have such guarantees on a centralized market managed by a single company, whose first goal is profit.
Well, this post was slightly off-topic, sorry about that.
Thanks both of you for the really good insight. I guess Android is great as a supposedly "open" phone os, it certainly has a lot of hurdles to clear in order to please and entice developers the way iOS does, I'm not certain it can get there, but I do think they do make an effort, like the just upgraded emulator which shows Google's commitment to better developed apps (talk about timing!).
I'm certainly happy with my Android phone and from what I've read about the negative results developers gain from working on Android than on iOS, I take my hat off to those that stick around on this platform and try to make things happen. *clap*
=)
I choose Android for one reason. It's much cheaper. Only 25$ one time. iOS is 99$ every year

[Q] Bought the Samsung GTab 10.1 today, have a few questions about it?

Hey guys!
I just ordered the Samsung Galaxy Tab 2 (P5100) 10.1" today via Flipkart (Indian Online Mega-Store) and it is expected to arrive in a few days. I'm really excited that it's going to be my first tablet, but mostly because it'll be the first Android device I own. I've been living with my Nokia N8-00 (Symbian Belle) for about 2 years now and I finally have a replacement.
Along with the excitement, I had a lot of questions about the device. I'll just list them below, so it'll be easier for you guys to answer them
1. Have I made the right choice?
The first thing I thought to myself after I pressed the 'Buy Now' button. I bought it mostly for watching movies and the TV shows that I regularly download from the internet. Some rigorous browsing, downloading of music, and mostly showing off my photos to other people (I'm a photographer and having a portfolio on-hand is a good idea). I haven't demoed the device before, but my friends have all said theirs works wonderfully (granted, they own the 7" version).​
2. What is rooting? Do I need to root my device?
My friends keep talking about this rooting thing. I'm a new android user, so I lack the basic knowledge of these terminologies. Will I need to root my tablet? Is it safe to do so? What will I benefit from this procedure?​
3. What are the best apps I can download?
I want to know what are the best apps I can install on my device for my particular needs (mentioned above). I also wanted to know how I can customize my device to the fullest extent. When I had an iPod Touch, I jailbroke it and installed WinterBoard to use custom themes and icons of my own choice. What is the procedure to replicate the same on an Android device?​
4. Is Android App Development easy?
What language is it generally coded in? I have a basic understanding of HTML/CSS & PHP, a firm grasp on C# and .NET (from Windows 8 Development). I'd like to try my luck in the Android App genre, how many have tried the same and do you feel it is easy for a beginner/intermediate?​
I'd really love it if you guys could help me out starting with this new journey of Android! Thank you all!
Amruth Pillai said:
Hey guys!
I just ordered the Samsung Galaxy Tab 2 (P5100) 10.1" today via Flipkart (Indian Online Mega-Store) and it is expected to arrive in a few days. I'm really excited that it's going to be my first tablet, but mostly because it'll be the first Android device I own. I've been living with my Nokia N8-00 (Symbian Belle) for about 2 years now and I finally have a replacement.
Along with the excitement, I had a lot of questions about the device. I'll just list them below, so it'll be easier for you guys to answer them
1. Have I made the right choice?
The first thing I thought to myself after I pressed the 'Buy Now' button. I bought it mostly for watching movies and the TV shows that I regularly download from the internet. Some rigorous browsing, downloading of music, and mostly showing off my photos to other people (I'm a photographer and having a portfolio on-hand is a good idea). I haven't demoed the device before, but my friends have all said theirs works wonderfully (granted, they own the 7" version).​
2. What is rooting? Do I need to root my device?
My friends keep talking about this rooting thing. I'm a new android user, so I lack the basic knowledge of these terminologies. Will I need to root my tablet? Is it safe to do so? What will I benefit from this procedure?​
3. What are the best apps I can download?
I want to know what are the best apps I can install on my device for my particular needs (mentioned above). I also wanted to know how I can customize my device to the fullest extent. When I had an iPod Touch, I jailbroke it and installed WinterBoard to use custom themes and icons of my own choice. What is the procedure to replicate the same on an Android device?​
4. Is Android App Development easy?
What language is it generally coded in? I have a basic understanding of HTML/CSS & PHP, a firm grasp on C# and .NET (from Windows 8 Development). I'd like to try my luck in the Android App genre, how many have tried the same and do you feel it is easy for a beginner/intermediate?​
I'd really love it if you guys could help me out starting with this new journey of Android! Thank you all!
Click to expand...
Click to collapse
Well you're in the wrong forum. This is the original galaxy tab forum. Might want to post here: http://forum.xda-developers.com/forumdisplay.php?f=1596
Our tablet here is laggy and slow, so you're not going to get proper opinions
1. It really depends on if you have a desktop computer or a laptop as well. If you don't? Sure, it's good for browsing and some other things. But I find watching video on it to be awful, the screen is just too tiny in comparison to an actual monitor, nevermind a TV screen.
2. Rooting allows you to access commands and run apps that you normally wouldn't be able to do. Most of the time, on this forum anyway, it also involves flashing another rom like Cyanogenmod to get even more functionality and remove some of the bloat and crapware that comes with the tablet (like touchwiz).
3. I use Firefox, Apollo and Android's built in gallery. The Android Market also has top paid and free app listings
4. Apps are written in Java and aren't too complicated if you have knowledge of the language and device.

[Q] Credible Sources for Research Project?

Hi everyone, I didn't know exactly where to post this, but I assumed that an overall Android Platform question should be posted here. Anyways... I'm doing a research paper based around the Android OS, and I'm looking for credible, timely information to use in my paper. I've looked in multiple databases for articles that talk about what I'm looking for, but almost every article I read through talked about Androids VS. iPhones, or data encryption, and other unrelated topics.
I'm looking for articles, reviews, pretty much anything out there that will provide enough information to answer these few questions:
- How limiting is the Android OS?
- How well/poorly is the Android OS optimized for the devices that utilize them?
- What are some good/bad properties of the Android OS?
- What are some features of the Android OS?
- Is the Android OS "groundbreaking" and if so, what about it makes it so "groundbreaking?"
That's really it, anything else that I could add to the paper helps that much more!

N00B question!

Morning all,
I'm a bit of a hussy - I'm in bed with both Android (Nexus 6p) and Apple (iPad 3). I'd like to move over to an Android tablet I can play around with, learn about ROM's and potentially (hopefully!) even get into the hacking space myself...
So my N00b question is this; what is the best, cheapish, Android tablet that has decent community support and a good amount of tutorials, tips etc that I can really play around and learn on?
Thanks

Hello Just got here

Would like to say Hello. I am a developer (server and PC) mostly C++ some IOS but after some medial issues and a few years away looking forward to getting back in to software development.
I do have a few questions though.
What would be a good solid development platform to develop the same app for android, IOS and Windows?
I know everyone has there own specific smartphone manufacture they use and live buy and the manufactures have there own version of android but I was thinking is there a base Android OS that works with all phone manufacturers?
Any links and suggestions would rock thanks in advance.
analyticworm said:
Would like to say Hello. I am a developer (server and PC) mostly C++ some IOS but after some medial issues and a few years away looking forward to getting back in to software development.
I do have a few questions though.
What would be a good solid development platform to develop the same app for android, IOS and Windows?
I know everyone has there own specific smartphone manufacture they use and live buy and the manufactures have there own version of android but I was thinking is there a base Android OS that works with all phone manufacturers?
Any links and suggestions would rock thanks in advance.
Click to expand...
Click to collapse
Every android device uses Google's Vanilla android OS, a.k.a. AOSP(Android Open Source Project) as the base of all android operating systems, then the various manufacturers and carriers put their personal coding on top of that.
Sent from my SM-S767VL using Tapatalk

Categories

Resources