Planet Android Headlines

↑ Grab this Headline Animator

April 18, 2014

Clean Up Your Logcat Code with Lib Cleaner

plc1

Some of you may think that writing code is the hardest part of development. It’s not, as the real fun starts when you have to debug an application or function. That’s why Android Debug Bridge is so important, and you can find images like this in many threads. And obviously, digging through thousands of logcat lines is every developer’s “favorite” activity.

Logcat likes to bombard users with more or less relevant information regarding various issues. To free yourself from mpdecision, thermal-engine and sensors.msm8960.so warnings, you should try out a script written by XDA Recognized Developer and Contributor broodplank1337. Lib Cleaner removes the specific lines of code from proprietary files with the Swiss File Knife tool, which replaces HEX strings and makes the code more readable. Those three files are not the only one that can be modified. It’s possible to add your own scripts and clean even more unnecessary code. The script is designed for Ubuntu-based destroys, and needs some editing to be used with Arch, Fedora, or other Linux branches.

If you are a developer or advanced user trying to find out what’s wrong with an application or newly added code, make your way to the original thread and give Lib Cleaner a try. Just keep in mind that Google added these lines forma purpose and removing them may result in unexpected behavior.

by eagleeyetom at April 18, 2014 10:30 PM

Tweak Your Xperia Device’s Camera App Yourself

sony-xperia-t-advertorial

We’ve come to expect nearly perfect camera performance in our modern day smartphones. If the image quality is just a tad shoddy in one respect, this issue is then multiplied tenfold in our ever so critical eyes. So it’s unfortunate that sometimes a flagship phone’s camera quality is not up to snuff, especially if you’ve paid big bucks for a flagship device. If you own an Xperia device and find yourself in such a situation, you may want to check out XDA Recognized Themer and Contributor Rizal Lovins‘s new tutorial on tweaking your camera app.

Written specifically for use on Sony Xperia devices, the tutorial teaches you how to tweak and modify numerous aspects of the camera app in order to make sure all future snapshots and videos look the way you want them to. The procedures explained do not require much prior knowledge—mainly decompiling and compiling APKs and smali editing—so pretty much anyone will be able to do this themselves. Modifications include:

  • Changing audio bitrate of video recording
  • Changing video recording bitrate
  • Fixing lag during video recording
  • Changing the color format from RGB565 to ARGB8888
  • Enable the inPreferQulityOverSpeed stting
  • Change the resolution of images
  • Enabling the 12MP Superior Auto setting on Xperia devices running the official Android 4.3 update

As can be seen from the list, there’s a whole lot of tweaks you’ll be able to play with thanks to this tutorial, and they’re all relatively simple and straightforward. If you would like to find out more, be sure to check out the original thread for more information.

by Samantha at April 18, 2014 07:00 PM

More on Android and Revoked SSL Certificates

As a follow-up to yesterday’s post on how Android handles revoked SSL certificates:

  • It looks like the server I was testing has different behavior for different user agents, and HttpURLConnection and OkHttp also do not validate whether the SSL certificate was revoked.

  • Nikolay Elenkov, in addition to pointing out the above, has some useful comments regarding SSL certificate revocation in general in comments on my G+ post pointing to my blog post

  • Dave Bleicher, in those same G+ comments, confirmed that HttpClient does not pay attention to whether the SSL certificate is revoked.

  • StackOverflow user “sergio91pt” points out that the conscrypt OpenSSL-based TrustManager used on current versions of Android specifically disables “CRL checking”, where CRL is “certificate revocation list”.

  • StackOverflow user “Stephen C” points out that stock Java also has certificate revocation checking disabled by default.

Many thanks to all who contributed here!

The upshot that unless you want to do your own CRL work — as Firefox presumably has done — your Android apps will be oblivious to revoked SSL certificates. This is unfortunate though not surprising. However, it would have been nice if this behavior were documented somewhere, other than in random blog posts like this one.

by Mark Murphy at April 18, 2014 01:19 PM

Sony Xperia Z2 vs HTC One (M8): the 'premium' device comparison

HTC and Sony are currently the only two smartphone makers that rely on so-called premium materials (although Oppo is right there too). Instead of polycarbonate cases and plastic clip-ons, here we have aluminum and glass only, giving both devices give a very sophisticated look. But it's not just about looks, the overall impression must also be convincing. So, which device ticks the most boxes? Time for a comparison.

m8 z2 screen © AndroidPIT

(This is a preview - click here to read the entire entry.)

by Kris Carlon at April 18, 2014 12:00 PM

Best Android travel accessories (that work at home too!)

Whether you are travelling over the weekend or taking a longer trip, there are some accessories that could really make bringing your Android along for the trip a lot more worth it, whether because it increases the fun, the relaxation, or it is just super useful!

Summer© Digital Globalization

(This is a preview - click here to read the entire entry.)

by Loie Favre at April 18, 2014 08:00 AM

April 17, 2014

PSA: WebView, Chrome Accept Revoked SSL Certificates

TL;DR: If your app uses WebView (whether the new 4.4 Chromium-flavored one or the classic one), and it loads a Web page that presents a revoked SSL certificate (whether due to a server configuration error, a Martian-in-the-middle attack, or whatever), WebView will load and show the page anyway, with no warning to the user.

This came up due to due to this issue filed a day ago on the Android issue tracker, pointing out that the Chrome browser on Android blows past revoked SSL certificates as well. A lot of SSL certificates are being revoked now as a result of heartbleed, and the person filing the issue felt that it was important that Chrome do what some other Android browsers do, like Firefox, and alert the user to the potential security issue.

Google, both in that issue and the original issue filed against Chrome, disagrees.

I do not know of an in-WebView way of addressing this; if I hear of one, I will blog about it.

However, based on some light testing, `HttpURLConnection` and `OkHttp` do seem to pay attention to the revocation status of the SSL certificate. Leastways, if I load [this Web page](https://revoked.grc.com/) in Chrome or a `WebView`, the page comes up, but if I try to download the page contents using `HttpURLConnection` or `OkHttp`, I get an empty response. I don't see an `SSLHandshakeException` as I would have expected, though, which [worries me a fair bit](https://stackoverflow.com/questions/23139438/behavior-of-httpurlconnection-for-url-with-revoked-ssl-certificate).

UPDATE: HttpURLConnection and OkHttp do indeed seem to skip by SSL certificate revocation checking. See this post for more.

Note that I have not tested HttpClient on Android and so do not know if it will or will not pay attention to an SSL certificate’s revocation status.

UPDATE #2: HttpClient also skips by SSL certificate revocation checking. See this post for more.

If you have any additional insights on this issue, feel free to contact me.

by Mark Murphy at April 17, 2014 09:18 PM

Mobile Minute: What Can IFTTT Do For You?

IFTTT, or “If This Then That” has been around for a while, but this powerful service is only growing in usability.

The ability to allow apps to communicate is getting a boost from sensor devices, meaning you can do everything from turning on your lights as the sun sets, to remotely monitoring your home with a tweet. See more in this week’s episode.

The post Mobile Minute: What Can IFTTT Do For You? appeared first on Mutual Mobile.

by Kaely Coon at April 17, 2014 08:58 PM

Noodlecake Games releases their new shape and pattern themed puzzle game Polymer

Noodlecake Games newest release is a pretty interesting puzzle game called Polymer. Like all of the games Noodlecake releases, Polymer is already on iOS and this has been ported over to Android so we can all enjoy this game as well. The gameplay is based off of the mechanics found in the actual Rubik's Cube.

Essentially you have variety pieces in the play area in Polymer, all of which have their own colors as well. Sort of like the same setup with a Rubik's Cube except your playing field isn't a cube and the colors spaces are different parts over an overall shape/pattern. Then you just have to move the pieces to complete the each colored shape and you beat that stage and move onto the next one. The bigger the chain, the better.

Polymer Features:

• Procedurally generated: every game is different!
• Captivating unlock system
• Five unique pieces
• Five gorgeous pieces of music
• Everything non-cosmetic can be unlocked without in-app purchase!
• Multiple color schemes, 6 of which are totally free
• Tweet, Facebook share, email, or text your best polymers
• Google Game Services leaderboards and achievements

Polymer comes with four different game modes you can work your way through. Regardless of which one you choose to play, the entire game is procedurally generated so every time you play Polymer it will be different. It'll also cost you a mere $0.99 to download and start trying to beat each stage.

 

by AndrewH at April 17, 2014 05:37 PM

Beacons Trend Report

Beacons Trend Report

Answer the Beacon’s call

From public transit to mobile payments and everything in between, beacons are making our smart devices more useful than ever before.

This Trend Report will tell you everything you need to know about these Bluetooth low energy modules:

  • What is a beacon?
  • How do they work?
  • Who do they benefit?

The post Beacons Trend Report appeared first on Mutual Mobile.

by Mutual Mobile at April 17, 2014 05:28 PM

Google's modular phone called Project Ara will be arriving January 2015

Not too long ago Google announced that they were indeed working on a modular phone which was called Project Ara. At that time there was not real date as to when we would see this phone hit the market so consumers could purchase it. Well word is that we will see this modular phone hitting stores sometime next year in January.

The entire concept of the modular phone is pretty interesting. Basically owners of a Project Ara phone will be able to replace and possibly upgrade different aspects of the phone's hardware. So if you want more RAM for your phone, as an example, you would be able to purchase more RAM and just click it right into the phone. Basically it is the same concept that PCs use right now with replacing and upgrading various parts.

The other cool thing about this modular phone concept is the fact your can built a phone around the budget you have. You can either build a budget phone or go crazy and built an insanely high-end one. You could also start off small and built your phone up over time.

While there is no real pricing set for Project Ara phones right now, during the recent Project Ara developers conference it was announced that customers will be able to pick one up sometime in January of 2015. When you order one you will be able to order it with your own configuration.

Website Referenced: TechCrunch

by AndrewH at April 17, 2014 04:40 PM

Mr Flap is a Flappy Bird homage that’s… quite good

We spent a few happy minutes blissfully playing Mr Flap last night, a game that takes the Flappy Bird mechanic and flips it… folds it… bends it… into a circle. It’s circular Flappy Bird, with players flapping at moving gates that expand to change position as your tiny bird “laps” the course.

That’s all you do. It’s quite hard, as these screenshots of us playing it will demonstrate:

mr-flap-android-1 mr-flap-android-2

The game existed as a Flash title before hitting Android, a few minutes research informed us. Mr Flap is free, not covered in adverts, doesn’t demand money for extra flaps and can be found here.

by Gary_C at April 17, 2014 08:26 AM

Google Does Read Your Emails, According to Its Updated ToS

google

 

Google Admits to Reading Your Emails

The tech giant Google just admitted that it’s actually reading your emails. In case you did not know, after the privacy terms and conditions were updated on Monday, it became very clear the fact that all the information submitted via its email system is analyzed. The announcement is part of Google’s attempt to be more transparent when it comes to its email scanning habits.

This announcement is a “mea culpa” kind of thing, a “stain on me” from Google, if you’re taking into account that no further than last year the American tech giant was accused that it intercepts its users private data in order to place its adverts more accurately.

Last year, Google’s excuse was that this kind of practice was clearly stated in its Terms of Service, even if the users were flabbergasted upon reading the news. Now, Google made it even more clear, by adding a new paragraph in its ToS on Monday, in which it explains how the proprietary software  automatically scans your emails and it analyzes the content (received, stored or sent), in order to target you with personalized ads:

Let me quote Google’s updated terms of service :

Our automated systems analyses your content (including emails) to provide you personally relevant product features, such as customized search results, tailored advertising and spam and malware detection,”“This analysis occurs as the content is sent, received, and when it is stored.

In the same statement, Google said that the updates regarding its ToS  are aimed for making people to understand more easily the fact that there’s no privacy when it comes to sending and receiving emails via their systems. Well, they didn’t said that literally, but that’s what it actually means (emphasis added, read NSA/whatever agency) :

When you upload, or otherwise submit, store, send or receive content to or through our Services, you give Google (and those we work with) a worldwide license to use, host, store, reproduce, modify, create derivative works (such as those resulting from translations, adaptations or other changes we make so that your content works better with our Services), communicate, publish, publicly perform, publicly display and distribute such content.

What Can You Do?

Despite the public outrage about  Google’s complete and abysmal disregard for the privacy of its users, the tech giant continues its nefarious practices, i.e. scanning your emails in order to serve you further with personalized adverts. All you can do for now is to stop using their services.

The post Google Does Read Your Emails, According to Its Updated ToS appeared first on Android Apps.

by Gigi Fenomen at April 17, 2014 02:59 AM

April 16, 2014

“Play your favourite BBC One TV quiz show Pointless, anytime and anywhere!”

Pointless, the prime-time BBC quiz show that’s become a bit of a sensation among the post-Countdown afternoon TV crowd, is now on Android. The Pointless – Quiz with Friends app costs £1.49 and features in-app purchases too, so there’s no chance of it finding its way onto any of the Eurodroid telephones.

But if you don’t mind being aggressively monetised by a major corporation, the Pointless app offers multiplayer support via email and Facebook, which is nice, plus there’s a single-player option if you’d rather not expose your fragile ego to the possibility of defeat.

pointless-android-app-1 pointless-android-app-2

Pointless – Quiz with Friends has been published by format holder Endemol, so it isn’t some shameless clone. It’s on Google Play here.

by Gary_C at April 16, 2014 12:08 PM

April 15, 2014

How to View an Android Shared Preferences File

In this blog post, I describe what I do when I want to see the contents of an Android Shared Preferences file when I am debugging an app. This technique works with the Android Debug Bridge while debugging an app on a Nexus 7 tablet. Continue reading

by Bill Lahti at April 15, 2014 01:10 AM

April 11, 2014

LIFX Integration in Gem Miner 2

LIFX Bulbs are wi-fi enabled led light bulbs which can be controlled from your smartphone, more details on their website here.

I thought that Gem Miner was a natural fit for integration with these bulbs, so I’ve done some experimentation. The video below also shows a little of what you can expect in the tech mine mission pack:

So far the lightbulbs reflect the current time of day on the surface, go dark whilst underground and react to fire, lava, flare and explosions. When playing in a darkened room the effect is pretty cool. There is a little tidying up to do, but I expect an update will go out this weekend to allow those with LIFX bulbs to try it out.


by Psym at April 11, 2014 01:30 AM

April 10, 2014

Beware of Virus Shield, the Paid but Fake Anti Virus Android App on Google Play

virus shield

Virus Shield, the First Paid But Fake Antivirus Android App on Google Play Store

 

Virus Shield is one beautiful, cool sounding and paid for Android app, available on Google Play,which comes with great promises : it will save you from those pesky viruses from the Internets, it will speed up your droid, it will bring sunshine on your street and will put a smile on your sad face. For just $3.99, and that sounds like a bargain. Right? Well, that’s cute, but wrong. You’ve just wasted $3.99 because Virus Shield is as fake as a $3 bill.

We all love our droids and online security really is an issue. The scam is exploiting our deepest fears and concerns, and from this point of view, drop of the hat for Deviant Solutions, the company that created the fake anti-virus app.

virus shield

While the vast majority of antivirus apps are free to download, if you want “the best of the best” and lots of features, like a firewall or cloud backup, you’ll have to cough up some bucks. The sucky thing is that you can pay real $ on the Google Play Store for such an app and what do you get in return? Not only an absolutely useless application, but sometimes you can get blessed with malicious software. Yes, those things actually happened in the past.

10 000 Downloads in Just a Week

Over 10 000 users were tricked by the fake Virus Shield app (they paid for it and installed it) and the mastermind behind the scam got $40.000 richer. The only good side of the story is that the Virus Shield does absolutely nothing, I mean it doesn’t install anything malicious or dubious on your droid.

The weird thing is that the app has a 4.7 rating based on the reviews from the users (1700 of them), proving that placebo works like a charm in any field. If you want to avoid being a victim of counterfeiters, you’ll have to download apps only from known and trusted companies/publishers and report anything fishy before you buy.

 

The post Beware of Virus Shield, the Paid but Fake Anti Virus Android App on Google Play appeared first on Android Apps.

by Gigi Fenomen at April 10, 2014 10:00 PM

April 05, 2014

CyanogenMod Installer Removed from Google Play Store

Why do you hate me?

Why do you hate me?

A bit of news sure to disappoint fans of Cid, the CyanogenMod team recently took to their blog to explain the removal of the exceptionally popular “CyanogenMod Installer” from the Google Play Store. Despite being installed on more than 100,000 devices and maintaining a 4.2 star average rating, Google has decided this particular little blue guy isn’t up to snuff.

Cordial Ejection

It’s worth noting that Google didn’t pull the CM Installer from the Play Store, rather they contacted the team and asked that they voluntarily remove the application before Google themselves had to intervene.

This strikes us as a relatively classy way to tell somebody you don’t want them publishing their software in your marketplace, and it’s certainly a step up from the treatment most developers are given: your application get’s thrown out on its ass like the drunk guy who keeps making trouble.

When the CM team asked Google for clarification as to why they were being escorted out the door, they actually sent them a proper response rather than pointing them to the TOS with a canned message:

After reaching out to the Play team, their feedback was that though application itself is harmless, and not actually in violation of their Terms of Service, since it ‘encourages users to void their warranty’, it would not be allowed to remain in the store.

CM Blog

Looking Ahead

It’s hard to argue with Google’s point. While the CM installer is undoubtedly an excellent gateway to get new users in to the world of custom Android ROMs, there’s absolutely a concern about less knowledgeable users getting themselves into a bad situation with this type of software.

Of course, in the end, the Play Store is Google’s domain and they can do whatever the hell they please. It seems pretty unlikely that the CM Installer will be returning to the official Android ecosystem anytime soon, but the CM team says they’ll be looking into getting onto alternative Android repositories such as the ones offered by Amazon and Samsung, so those looking for a one-click installation of the world’s most popular community Android ROM hopefully won’t be out in the cold for too long.

by Tom Nardi at April 05, 2014 03:30 PM

Win a Free Android Game Console Courtesy of PlayMG!

Free Console???  Yep!

PlayMG, a company dedicated to Android game consoles and safety online, wants to give one lucky Powerbase reader a PlayMG Android game console.  What is a PlayMG?  Well, we spent some time with the device several months ago.  You can read our impressions here.

So, how do you win?  Easy! 

1.) Find us on Google+ or Facebook.  Share the post!

2.) Like us on Facebook or give us a +1 on Google Plus.

3.) Come back here and leave a comment stating why you should win a PlayMG game console!

That’s it!

The winner will be chosen on Nov. 26th, so make sure to keep checking back! 

 

mgspecs

PlayMG Specifications

Check out Olivia Holt and Kyrie Irving enjoying the PlayMG below.

 

Powerbase Review | PlayMG

Powerbase Interview | PlayMG’s Taylor Cavanah

 

 

by admin at April 05, 2014 03:30 PM

April 01, 2014

Samsung Galaxy Tab 4 10.1 Spotted on FCC website

The post Samsung Galaxy Tab 4 10.1 Spotted on FCC website appeared first on galaxytabreview.

The launch of Internet multimedia tablet, Samsung Galaxy Tab 4 10.1 is getting closer as the manufacture has filed its documents to FCC. The one spotted over their website is the LTE variant and bears model number SM-T537V.

SM-T537V will be making its debut on Verizon’s cellular network exclusively in US. There is a chance this LTE model will also make its debut in some other countries as well.

Samsung Galaxy Tab 4 10.1 FCC

According to some rumors, the device will be launched on April 29. Expected specifications of non-LTE model include quad core 1.4 GHz processor, Adreno 305 GPU and 1 GB of RAM. It will come pre loaded with Android 4.4 kitkat.

The LTE model will come with bigger memory and of course integrated LTE modem.

by Galaxy Tab Review at April 01, 2014 12:08 PM

March 21, 2014

Galaxy S5 for $0 down at T-Mobile

Galaxy S5 for $0 down at T-Mobile

Are you in the market for a new phone on T-Mobile? How about a Galaxy S5 for $0 down and some low monthly payments? T-Mo is at it again with a way for you to have a flagship phone at a low (read that as no) upfront cost.

24 monthly payments of $27.50 isn’t too bad to have a Samsung flagship phone in my opinion. I should note this is a special price for pre-orders which will probably go up after the official launch on the carrier. This gives users the option to have a sweet device without killing your pocket immediately. You can always pay it off sooner, mind you, and reduce your bill. T-Mo says families of four can save up to $1200 per year due to smart phone data use on their service compared to other carriers.

T-Mobile is the only US carrier offering the S5 with no contract and no service fees. There aren’t any hidden device costs as there are with AT&T, Verizon and Sprint either. T-Mo is claiming to be the fastest network, and DOES allow roaming in many other countries than the United States for free.

Personally, I’m holding out for the new HTC flagship after loving my One for almost a whole year without being bored. That said, Sammy is coming out with some cool stuff. If that’s your bag, be sure to take advantage of introductory offers like this to snag a great phone at a great price!

T-Mobile Delivers Samsung Galaxy S® 5 for $0 Down and $1,200 Family Savings over the Life of the Other Guys’ Contracts T-Mobile to Begin Online and In-store Pre-orders of Samsung’s Galaxy S 5 March 24th Un-carrier Will Free You and Your Family from Current Contracts by Paying Off Your ETFs BELLEVUE, Wash. – March 20, 2014 –The Next Big Thing – as they say – is here. And T-Mobile US Inc. (NYSE: TMUS) is serving up Samsung’s latest flagship superphone as it was designed to be used and as only the Un-carrier can –unlimited and un-leashed on their nationwide 4G LTE network. The company today announced that, starting March 24th, T-Mobile will be the only place to pre-order the Samsung Galaxy S® 5 online and in-store for zero down (and 24 monthly payments) and with zero annual service contract, zero overages, zero hidden device costs, zero upgrade wait – and with the world as your network at zero extra cost. And, of course, only T-Mobile customers can experience the blazing-fast Galaxy S 5 on America’s fastest nationwide 4G LTE network. Also, because owners of Samsung Galaxy devices are among T-Mobile’s heaviest wireless data users, the longer term savings with T-Mobile can be huge. Families with four lines could see an average of over $1,200 in savings over a two-year period compared to families with AT&T and Verizon on a two year contract. And, as always, T-Mobile will pay the early termination fees for that entire family when they trade-in their devices to make the Simple Choice and come over to a better wireless experience. “This thing is so hot we’ve already seen over a half a million pre-registrations for the Galaxy S 5,” said John Legere, president and CEO of T-Mobile. “That’s a lot of very smart people grabbing this opportunity to pay nothing down, save more than a grand over the life of the other guys’ contracts, and have T-Mobile pay off every penny of their family’s early termination fees. It’s a brilliant move.” The company today also announced that customers who pre-order by March 31st can receive a special, introductory price and be among the first to get the Galaxy S 5 without waiting in line when the device launches in T-Mobile stores on April 11th – guaranteed. Also available until March 31st and in celebration of the launch, T-Mobile is offering $120 off Samsung’s Galaxy Tab® 3 with a Mobile Internet plan and 200MB free data for the life of the tablet. To learn more or to pre-order the Samsung Galaxy S 5 at T-Mobile, visit www.t-mobile.com/nextbigthing. T-Mobile business customers can learn more at www.t-mobile.com/business/nextbigthing. Introductory pre-order price is $0 down + $27.50/mo x 24; total $660. If you cancel wireless service, remaining balance on phone becomes due. 0% APR O.A.C for well-qualified buyers. $1,200 claim based on financed Galaxy S 5 on Simple Choice (20 GB data) vs. 2-year contract plans with Verizon and AT&T (4 lines/20GB data) plus anticipated device down payment. Taxes and fees not included. Plan features and limitations vary. Tab 3 offer avail. while supplies last. Fastest LTE network based on download speeds. Qualifying service & device purchase with port-in on up to 5 lines required for ETF payment. 200 MB free data avail. every 30 days for as long as you own and use registered device with T-Mobile. No roaming. Monthly plan req’d for device financing. See T-Mobile.com for specific offer and service details About T-Mobile US, Inc.: As America’s Un-carrier, T-Mobile US, Inc. (NYSE: “TMUS”) is redefining the way consumers and businesses buy wireless services through leading product and service innovation. The company’s advanced nationwide 4G and expanding 4G LTE network delivers outstanding wireless experiences for customers who are unwilling to compromise on quality and value. Based in Bellevue, Wash., T-Mobile US provides services through its subsidiaries and operates its flagship brands, T-Mobile and MetroPCS. It currently serves approximately 46.7 million wireless subscribers and provides products and services through 70,000 points of distribution. For more information, please visit http://www.t-mobile.com.

Land of Droid -

by Scott Kenyon at March 21, 2014 12:26 AM

March 18, 2014

Android Wear Developer Preview Now Available

By Austin Robison, Android Wear team

Android Wear extends the Android platform to wearables. These small, powerful devices give users useful information just when they need it. Watches powered by Android Wear respond to spoken questions and commands to provide info and get stuff done. These new devices can help users reach their fitness goals and be their key to a multiscreen world.

We designed Android Wear to bring a common user experience and a consistent developer platform to this new generation of devices. We can’t wait to see what you will build.

Getting started

Your app’s notifications will already appear on Android wearables and starting today, you can sign up for the Android Wear Developer Preview. You can use the emulator provided to preview how your notifications will appear on both square and round Android wearables. The Developer Preview also includes new Android Wear APIs which will let you customize and extend your notifications to accept voice replies, feature additional pages, and stack with similar notifications. Head on over to developer.android.com/wear to sign up and learn more.

For a brief introduction to the developer features of Android Wear, check out these DevBytes videos. They include demos and a discussion about the code snippets driving them.

What’s next?

We’re just getting started with the Android Wear Developer Preview. In the coming months we’ll be launching new APIs and features for Android Wear devices to create even more unique experiences for the wrist.

Join the Android Wear Developers community on Google+ to discuss the Preview and ask questions.

We’re excited to see what you build!

by Android Developers (noreply@blogger.com) at March 18, 2014 04:12 PM

Google Developer Day at GDC

Day 2 of Game Developers Conference 2014 is getting underway and today Google is hosting a special Developer Day at Moscone Center in San Francisco.

Join us at the sessions

Building on yesterday’s announcements for game developers, we'll be presenting a series of sessions that walk you through the new features, services, and tools, explaining how they work and what they can bring to your games.

We'll also be talking with you about how to reach and engage with hundreds of millions of users on Google Play, build Games that scale in the cloud, grow in-game advertising businesses with AdMob, track revenue with Google Analytics, as well as explore new gaming frontiers, like Glass.

If you’re at the conference, the Google Developer Day sessions are a great opportunity to meet the developer advocates, engineers, and product managers of the Google products that drive users, engagement and retention for your games. If you’re remote, we invite you to sit-in on the sessions by joining the livestream below or on Google Developers channel on YouTube.

The Developer Day sessions (and livestream) kick off at 10:00AM PDT (5:00PM UTC). A complete agenda is available on the GDC Developer Day page.



LiquidFun 1.0

Last December we announced the initial release of LiquidFun, a C++ library that adds particle physics, including realistic fluid dynamics, to the open-source Box2D.

To get Google Developer Day started, we’re releasing LiquidFun 1.0, an update that adds multiple particle systems, new particle behaviors, and other new features.

Check out the video below to see what Liquid Fun 1.0 can do, visit the LiquidFun home page, or join today's LiquidFun session at Google Developer Day to learn how LiquidFun works and how to use particle physics in your games. The session starts at 4:35PM PDT (11:35PM UTC).



by Android Developers (noreply@blogger.com) at March 18, 2014 02:30 PM

Three Unveil Samsung Galaxy S5 Pricing

Three Unveil Samsung Galaxy S5 Pricing

The Samsung Galaxy S5 was met with a mixed reaction when it was announced at MWC just under a month ago. Despite having very little to offer on top of the Galaxy S4 there is no doubt at all that this device will sell by the bucket load.

Three have today announced their pricing structure for the upcoming device which will be available for pre-order starting March 28th and will start to ship on the 11th of April 2014.

The pricing for the device will start with a £69 upfront cost on a £38 24 month tariff  which will include 600 minutes and 2GB of data or if 2GB is far from enough then you can look at paying £44 a month for all you can eat data and calls.

Keep your very own fitness coach in your pocket with the Samsung Galaxy S5 on Three.

The eagerly anticipated Samsung Galaxy S5 will be launching on Three from April 11 with pre-order availability from March 28, in-store, online or by calling 0800 358 3429.

Samsung’s flagship device will be available for an upfront cost of £69 and a choice of four different 24 month price plans. These start at £38 a month with for 600 minutes and 2GB of data, up to £44 a month for unlimited minutes and all-you-can-eat data.

The Samsung Galaxy S5’s enhanced S Health offering is just like putting a real-time fitness coach in your pocket. With a host of new tools to help people stay fit, including an in-built pedometer, heart rate monitor and a fantastic range of apps available through Google Play such as Runkeeper, it’s never been easier to conquer personal fitness goals. Partnered with Samsung’s Gear 2 Neo and Gear Fit accessories, available on Three at £199 each, the Samsung Galaxy S5 is the perfect exercise buddy.

 

The Samsung Galaxy S5 is also equipped with an incredible 16MP camera, featuring a super-fast auto-focus of up to just 0.3 seconds, so it’s perfect for capturing finish line moments in outstanding clarity.

Other aids such as the camera’s new selective focus feature allows budding photographers to focus on a specific area of an object while simultaneously blurring out the background, providing even more control over pictures.

 

Sylvia Chind, head of devices at Three, said: “Whether you’re a fitness fanatic, keen photographer, or you just enjoy streaming music, the Samsung Galaxy S5 has something for everyone.

“Partnered with Three’s fast 4G network available at no extra cost, additional features such as the Galaxy S5’s download booster that uses both Wi-Fi and 4G to increase data speed, means you are no longer confined to your desktop when downloading large files. Altogether making this Samsung smartphone the most feature-rich customer experience, yet.”

The Samsung Galaxy S5 also features an innovative finger scanner, providing a secure, screen locking experience and you can even use your fingerprint to encrypt sensitive files or to buy things online via PayPal. In addition, the device also features Ultra Power Saving Mode which turns the display to black and white, and closes all unnecessary features to minimise the battery consumption when you’re out and about with no access to a charger.

 

You can experiment with the new Samsung Galaxy S5 device by visiting Three in-store from March 28, where all devices are live and ready to give you a full customer experience to enable you to make your decision.

Key features:

·         16MP Camera with fast Auto-Focus of up to 0.3 seconds so you’ll always get a great picture in an instant.

·         Built-in heart rate monitor.

·         5.1-inch Full HD Super AMOLED display for a rich viewing experience

·         Dust and water Resistant.

·         Ultra Power Save Mode for up to 24 hours battery life even with 10% of power remaining.

·         4G compatible.

·         Finger scanner for secure screen locking.

·         The device is available in Charcoal Black, Shimmery White and Electric Blue.

Land of Droid -

by John McKenzie at March 18, 2014 12:38 PM

More Mobile Enemy in Starship App

For those of you who are following the progress of my Starship game app for Android, here is a short update. The latest alpha test version of the Android app is out. Version 0.93 features a more mobile enemy fleet. At level 1, the enemy move when a Commander ship is nearby. After level 1, all enemy ships move. Leaderboards are working again. Sign in to Google+ to use them. Touch Leaders on the Menu screen after you get through training. ... The latest demo video is on Youtube. See http://youtu.be/Mzyki5bRapY. ... To try the app, visit the Google+ community at https://plus.google.com/u/0/communities/115658449045254039682. Continue reading

by Bill Lahti at March 18, 2014 11:22 AM

March 11, 2014

Beyond RenderScript - parallelism with NEON


My last post about the parallel implementation of Distributed Time Warping (DTW) algorithm was a disappointment. The RenderScript runtime executed the parallel implementation significantly slower than the single-core implementation (also implemented with RenderScript). It turned out that parallelizing the processing of 10000-50000 element vectors on multiple cores were not worth the cost of the multi-thread processing and all the overhead that comes with it (threads, semaphores, etc.). One core must be allocated a significantly larger workload but our DTW algorithm is not able to generate such a large, independent workload because rows of the DTW matrix depend on each other. So in order to exploit RenderScript multi-core support, it is best to have an algorithm where the output depends on only the input and not on some intermediate result because this type of algorithm can be sliced up easily to multiple cores.

It would have been such a waste to discard our quite complicated parallel processing DTW algorithm so I turned to other means of parallel execution. Multi-core is one option but the ARM processors in popular Android devices have another parallel execution engine, internal to the core, the NEON execution engine. One NEON instruction is able to process 4 32-bit integers in parallel (see picture below). Can we speed up DTW fourfold with this option?



NEON is actually quite an old technology, even Nexus One was equipped with it. It is much more widely deployed therefore than multi-core CPUs. While ordinary applications can take advantage of multi-core CPUs (e.g. two processes can execute in parallel on two cores), NEON programs are difficult to write. Although some compilers claim the ability to generate NEON code and template libraries are available, the experience is that the potential performance benefits cannot be exploited without hand-coding in assembly and that's not for the faint hearted.

The example program is attached at the end of this post. You have to be logged to the Sfonge site to access it.

The relevant functions are in jni/cpucore.c. There are 3 implementations, processNativeSlow, processNative and processNativeNEON, each is progressively more optimized than the previous one. The processNativeSlow and processNative functions are in C, in processNativeNEON the most time-critical loop ("tight loop") is entirely implemented in mixed ARM/NEON assembly. This tight loop produces 4 result elements in parallel so we expect huge performance gain over the single-core RenderScript implementation (dtw.rs).

The experience is completely different. While the NEON implementation is significantly faster on small datasets, one second of voice is 8000 samples so data sizes grow quickly. On 10 second data sets (80000 samples, 6.4 billion element DTW matrix) the simple nested loop C99 implementation and the complex, hard to understand NEON implementation produces about the same execution time.

How is this possible? Let's take an example of 10 second reference and evaluation samples. This means 80000 elements, 80000*80000=6.4 billion values to calculate. Calculating each value takes 20 bytes to access (2 input samples (2 bytes each), 3 neighbor cells (4 bytes each) and storing the result (4 bytes)). A1 SD Bench measures 800 Mbyte/sec copying performance on my Galaxy Nexus (and similar values on the two cheap Android tablets that the family has), that obviously means 2 accesses (one read and one write). For simplicity, let's assume that reads and writes take about the same time. This means that according to this very rough calculation, the memory accesses themselves take about 80 sec. The real execution time is about 120 sec, the difference can be explained by the simplifications. Cache does not really help because of the large data size. The performance is determined by the RAM speed and the simplest single-core implementation already reaches the bottleneck. All the wizardry with parallelism is futile.

Obviously the case was not helped by the selection of the DTW algorithm as benchmark which intentionally does not fit into the class of algorithms normally used to demonstrate the benefits of parallel processing. Grayscale conversion would be better (one read, one write and 3 multiplications per pixel). But this means that you actually have to be really lucky with your algorithms for these parallel options to speed up your code significantly. Even then, it is worth looking at the parallel options inside the core before going multi-core. And you definitely should not forget the auxiliary costs of parallel computation, e.g. distributing/gathering the data to/from the parallel processing units or whether other hardware (e.g. memory) is able to keep the pace with the CPU.

One wild idea at the end. Could RenderScript computation model be used to generate NEON code? With some limitations, the answer is probably yes.

by Gabor Paller (noreply@blogger.com) at March 11, 2014 08:42 PM

March 08, 2014

Android Developers Backstage: The Podcast. Episode 5 and Counting

In an earnest attempt to reach more people (or perhaps a desperate attempt to build up a larger audience) I though it would be good to post this reference to the existing five (5) episodes of the podcast that Tor Norbye and I have been working on for the past several weeks. And by "working on," I mean we get together every 2-4 weeks, sit down with someone interesting on one of the Android development teams and talk about technology and APIs that interest us, and then let someone else figure out the tedious details of actually recording and posting the results. So it's not really work as much as work-related.

The goal of the podcast from the beginning was to have conversations with engineers and teams that listeners might not otherwise know and to talk about details of features and functionality of the Android platform that might not be obvious from simply reading the documentation. Because, hey, who reads the docs anyway, right?

So far we've released five (5!) episodes, although there is a rumor that there is already a sixth (6th!) episode (already recorded!) that is being closely held onto until an undisclosed date (soon!) with a secret person (Dr. Daniel Sandler!) talking about a mysterious project on Android (the System UI!), so who knows where things will go from here? (Maybe to Fresno!)

Since you're probably dying of too-much-text and too-few-links, here is the huge list of episodes so far:

Episode 1: KitKat (with your hosts, Chet and Tor)
Episode 2: Storage (Tor, Chet, and Jeff Sharkey)
Episode 3: Security (Chet, Tor, and Adrian Ludwig)
Episode 4: Google Play Services (Tor, Chet, and Jeff Hamilton)
Episode 5: RenderScript (Chet, Tor, and Tim Murray)
Episode 6: THERE IS NO EPISODE 6!!!!!! (yet)

The feed itself is available through Feedburner, and of course the podcast is also in iTunes for those that live their audio lives there.

By the way, if you have suggestions about teams, individuals, or technologies that you would like to hear more about, please leave a comment. We have a pretty much infinite list of people that we're going to try to get onto the show, but we're open to suggestions.

by Chet Haase (noreply@blogger.com) at March 08, 2014 02:14 AM

February 28, 2014

Publishing an Android book in the vogella book series

Since a few months I’m working on an Android book based on the popular Android online tutorials from my website.

Selection_017

On thing I learned in the past about book writing is that the process is extremely painful. Creating a consistent and almost error free description is much more work than publishing a good online tutorial. Fortunately I already have a great team of reviewer for the book, so I have high hopes that this book will be of great quality.

I plan to release early access versions of the book via Kindle and Google Play. This release process should start soon.

I want to add every month a new chapter and people which purchases the early access version can update their books. This process will continue until I finish the electronic book. The final book will be available as paper book and as ebook.

by Lars Vogel at February 28, 2014 10:17 AM

February 24, 2014

The Galaxy S5

Photos of the galaxy S5 leaked today, and let me tell you, I am not very impressed as far as the visuals go. This is a link to an album someone leaked today. The device itself doesn't look very impressive. The bezels are bigger than the S4, although the screen is bigger. A 2800mah battery with a rumored 2K screen is going to be a battery killer. The LG G2, came out 6 months ago and has a bigger battery than that, come on Samsung. I fear Samsung is falling into the same boat as Apple. Small subtle improvements each year, knowing that people will buy it because its "The Galaxy S5". I don't want that. I want something I pull out of my pocket, and people say "wow what's that!!!" Not, oh you have a galaxy? We're entering a time where phone manufacturers are all trying to make the next new fad (watches, fitbits, glasses) and unfortunately I don't see this being one of them, even though it will be. comment below on what you think about the S5!

by Captain Clyde (noreply@blogger.com) at February 24, 2014 07:21 PM

SlideME announces In-App-Payments SDK, Payouts in bitcoins, and new payment methods


SlideME has several key announcements:  

  1. Availability of the SlideME In-App-Payments (IAP) SDK
  2. Developer Payouts in bitcoins
  3. Mobile billing with many more payment methods to come
  4. Users can earn virtual currency to pay for apps or purchase in-app-items
With the release of the SlideME IAP SDK, developers can monetize their freemium apps (i.e., free to download but include the option for users to purchase in-app-items) distributed via SlideME to the many Android Open Source Project (AOSP) based devices without Google Play Services. In-app purchases for users is seamless as they can continue to use our current or new payment options, including purchasing in-app items through their existing SlideME Wallet.


The sheer volume of non-Google Play enabled devices can no longer be ignored by app publishers as more device vendors are leveraging the AOSP, which does not include the closed-source apps and services like Google Play and Google Maps. Developers should have a distribution strategy for apps being distributed to these AOSP based devices .


Today at MWC, we’re seeing Nokia releasing the Nokia X device based on the AOSP, and therefore without Google Play. SlideME as of today is present on the Nokia X, and many other device manufacturers have preloaded SlideME as a respected alternative to Google Play.





Good news for developers today from SlideME.  Developers have the option to be paid out in Bitcoins or to their Coinbase Wallet instantly.


read more

by SlideME at February 24, 2014 05:21 PM

February 20, 2014

Exploring SDK Add-ons for Android Devices

Larry Schiefer, instructor here at NewCircle, discusses the Android SDK, in this technical class from AnDevCon '13.

by Evan Davis at February 20, 2014 06:14 PM

February 12, 2014

LTE Galaxy Tab 4 To Have 8.4 inch Display

The post LTE Galaxy Tab 4 To Have 8.4 inch Display appeared first on galaxytabreview.

Earlier today,  we reported that there will three variants of the upcoming Samsung Galaxy Tab 4 8.0 – Wi-Fi-only, 3G and LTE. Now, we have spotted that the LTE equipped Tab 4 that bears a model number, SM-T325 on FCC’s website.

LTE Galaxy Tab 4 To Have 8.4 inch Display

The LTE-equipped Tab 4 8.0 features a slightly bigger 8.4 inch display. Rest of the variants have smaller 8 inch display. It measures 219×128 mm.

Supported bands include UMTS 850 / 1900 MHz, GSM / GPRS / EDGE 850 / 1900 MHz, LTE B5 (Tx / Rx). via fcc

by Galaxy Tab Review at February 12, 2014 07:45 AM

February 07, 2014

RenderScript in Android - the parallel version

In the previous post I promised to revisit the parallel case. The big promise of RenderScript is to exploit parallelism among different CPUs, GPUs and DSPs in the device at no additional cost. Once the algorithm is properly transformed into parallel version, the RenderScript runtime grabs whatever computing devices are available and schedules the subtask automatically.

The problem with DTW is that it is not so trivial to parallelize. Each cell in the matrix depends on cells at (x-1,y), (x-1,y-1) and (x,y-1) (provided that the cell to calculate is at (x,y)). By traversing the matrix horizontally or vertically, only two rows (one horizontal and one vertical) can be evaluated in parallel.

Michael Leahy recommended a paper that solves this problem. This algorithm traverses the matrix diagonally. Each diagonal row depends on the two previous diagonal rows but cells in one diagonal row don't depend on each other. One diagonal row can be then fed to RenderScript to iterate over it. The picture below illustrates the concept.



The example program can be downloaded at the end of this post. You have to be logged to Sfonge site to access it.

You will notice that there are two parallel implementations. The findReferenceSignalC99Parallel() is the "proper" implementation that follows closely the RenderScript tutorial. Here the diagonal rows are iterated in Java and only the parallel kernel is implemented in RenderScript. This version - even though it is functional - is not invoked by default because it delivers completely inacceptable performance on my 2-core Galaxy Nexus. By looking closely at the execution times, I concluded that even though RenderScript runtime invocations ( copying into Allocations and invoking forEach) are normally fast, sometimes very innocent-looking invocations (like copying 5 integers into an Allocation) can take about a second. This completely ruined this implementation's performance.

The other parallel implementation which is actually invoked and whose performance is compared to the 1-core RenderScript implementation (the fastest one) is findReferenceSignalC99ParallelRSOnly(). This version is implemented entirely in RenderScript. Unfortunately its performance is 2-2.5 times slower than the 1-core implementation. How can it be?

First, if you compare dtw.rs and dtwparallel2.rs, you will notice that the parallel implementation is considerably more complex. Indexing out those varying-length diagonal rows takes a bit of fiddling while the 1-core implementation can take the advantage of fast pointer arithmetic to move from cell to cell sequentially. So the parallel implementation starts with a handicap. This handicap is not compensated by the 2 cores of the Galaxy Nexus.

OK, Galaxy Nexus is the stone age but what happens on a 4-core processor like on a Nexus 4? The runtime does launch with 4 cores but then the Adreno driver kicks in and the result is that the parallel implementation is about 3 times slower than the serial one. What happens in the driver, I don't know, as far as I can see, the source code is not available.

Jasons Sams recommended to disable the GPU driver with
adb shell setprop debug.rs.default-CPU-driver 1
but I decided to stop my adventures here. The conclusion I drew for myself is that RenderScript in its present form is not ready for parallel programming. Clang-LLVM is a very promising compilation technology but the parallel runtime suffers from a number of problems. IMHO, there should be a way to programmatically control the way the workloads are allocated to CPUs/GPUs. Until then, if you want to harness the power of your multicore processor, code the parallel runtime yourself. Using RenderScript for the serial code if you wish.

by Gabor Paller (noreply@blogger.com) at February 07, 2014 08:35 PM

February 02, 2014

Samsung Delivers a Pile of Failure in Their Olympic App


Onboarding experience

What Samsung has done with their first-time experience is stunning. To me this is by far the worst what I've seen. I'd be very interested to see analytics from their system about user dropoff rate in the first couple of screens.

It is worth remembering that the your app's user experience starts from the Play Store. Be careful not to leave in permissions that not actually needed in your app. Why does this app need to disable my lock screen? Scary.

Once you get the surprisingly large 30MB app installed to your device you're ready to embark to to most remarkable journey to try to get to the actual content.

When you first launch the app you're greeted with a popup reminding you that when you use data it might cost you. If that wasn't stupid enough look at the options provided to you in the popup. "Do not remind" and "OK". I wonder if they mean "Do not remind me again" or "Damnit! Don't remind me. I don't want to know!". If I select OK does it mean that they keep reminding me that my data might not be free every time I open the app? Ridiculous. I bet this was put here by Samsung's legal department.

Once you figure out which one of these ridiculous buttons you want to press you'll see a gift from the Samsungs software engineering department. A splash screen with a loading indicator. I refuse to believe that they don't have any content or app structure to show without "Updating data: DB". But hey, at least we get to see the debug messages showing which data it is loading.


When the "Updating data: DB" is ready you're certainly going to see some content and be able to figure out if you want to use the app or not. Well.. not so fast.

First you need to tell the app which Language you'd like to use. I don't know in which usage scenario this makes any sense but I'm certain that Samsung's engineering team must have a great UML chart explaining why this is needed.

User already selected the language when they setup their phone. Apps never have to ask language form users. Never! Worth noting, by the way, the app's language selection doesn't even default to your phone's language setting. It always defaults to English.

Once you figure out which language you'd like to use you're presented the feared T&C screen that every legal department on the planet loves so dearly. Fortunately Samsung hasn't even tested reading their legal text as when you open one the screen's scrolling mechanism breaks. But that's not a big loss. Nobody ever reads T&C anyways.


But surely we are now done. Right? Well.. No.

We now need to tell the app which country we like. While it could probably at least guess the country where I'm in right now (it uses location permissions) it chooses to default to the language setting of your phone (you know, the one they could  have used for the language selection). But then again, personalised data in the app based on my favourite country, athlete and sport. That's great!

I think a better way to do this would be to default to your country and your country's most popular sport and let the user easily change them but I can't really blame Samsung going this route. That is if they'd done the actual selection screens well. I know that Samsung has been a big fan of Apple for a long time but I'd still keep Apple's search screens out of Android.



Now that you've found your country and other info needed you're set to go, right? Must be... Nope.

This one is so bad that it made me laugh when I saw it. "Need to update spp client" Go google market! Go!

Firstly, some level of spelling checking would probably make sense. I'm not a native English speaker either and I bet that I have more than my fair share of broken English on this site but I'm not a multi-billion dollar corporation. Secondly, what the hell is "spp client"? Am I supposed to know that?

At least pressing the "OK" takes me to the Google Play Store to install some more Samsung crap to my phone. Go google market, go!


Once you install the additional Samsung push services you'll finally be able to use the app.

Rest of the app

Unfortunately, rest of the app follows pretty much the same path as the onboarding experience. It is riddled with very bad design decisions and poor implementation. It sometimes uses action bar items to navigate between screens, tabs are never swipeable and some screens are locked to portrait while others are locked to landscape. 

Christophe Versieux compiled a list of usability issues found in the app (I left out the points I already mentioned above):
  • Still an iOS 2D launcher icon, square with rounded border, not following the slight 3D and silhouette pattern we are used to an Android
  • iOS 7 design (icons, colors)
  • Ads at the bottom that lead to Samsung US website 
  • Use right-pointing carets on line items
  • ActionBar looks bigger, separators are ugly and even displayed when only one item
  • Non scrollable tabs
  • Settings screen (sounds obvious)
  • On the Map they even used the iOS pin!
  • Toast when trying to exit the app
  • Navigation drawer is the sliding menu


You can find the app from Google Play for free at: https://play.google.com/store/apps/details?id=com.samsung.sochiwow.minfo.ex

by Juhani Lehtimäki (noreply@blogger.com) at February 02, 2014 03:59 PM

January 28, 2014

Are You Looking For Legitimate & Safe Android Apps?

The maturity of the Android OS can really be indicated by the sheer volume of applications available for the platform. How can an Android user be expected to wade through all of these applications to find a quality product they are looking for? How can a developer generate exposure for their applications when the competition is steadily rising? Consider SlideME’s stance on application discovery.

Unlike other stores, SlideME actually inspects and reviews the content and functionality of each application submitted to our store. We don’t just check if the application is compatible and runs properly on multiple devices. We also ensure that the application has some value, may be useful to many users, and is legitimate and legal. 

SlideME does not accept simplistic junk applications, nor do we approve the misleading, scam applications that proliferate on other stores. When you download an application from SlideME, it is either the real deal or it is legitimate application that we make clear is only similar in nature.

read more

by SlideME at January 28, 2014 02:44 PM

January 27, 2014

Status of Gem Miner 2 updates

As you will have noticed, the tech mine update is taking longer than I expected. Sorry to all those holding out for it! This is partly due to a lack of time (work, family commitments) and partly due to my ambition on new features. Momentum is picking up again and I now expect the release to be late February.

In the meantime, there will be an update in the next few days which adds 4 new missions to the expeditions, along with the usual collection of minor bug fixes etc.

Thanks for your patience!


by Psym at January 27, 2014 11:15 PM

January 21, 2014

Dragging Images When Scaling Must Be Restricted

I recently retired, but I have one more little tip to blog about. While I have a few ideas for some apps, I doubt that I’ll have to do the kind of intensive problem solving required during my job. Therefore this might be the last post.

I was involved with a suite of clients for business intelligence. The primary clients were created with Adobe Flex and ran in the browser. They provided for creating and viewing reports. The iOS and Android clients provided for viewing reports. Thus features were implemented in the Flex product first, and we who supported the mobile clients had to cope with adding them. The feature relevant to this blog entry was the ability to specify numerous scaling options for images (e.g. photos) that could be incorporated into reports. Some of these scaling options had no natural analog to the Android scaling options for images.

To support the requirement for panning and zooming images I took full advantage of the PhotoView library provided by Chris Banes. This library was a great solution for all but two of the required scaling options. Our product allowed for two rather silly options of fitting an image to the width or to the height of the viewport that the report designer drew on screen. If the other dimension of the image was greater, then part of the image would be invisible. I had to provide support for letting the user drag the image around in the viewport so that all of it could be seen.

The PhotoView library would have handled this except for the fact that we needed to set the scale type on the ImageView class to MATRIX, and PhotoView does not allow that. With no natural analogous scaling type to our “fit width” and “fit height”, I had to create a new subclass of ImageView to handle just the images requiring those types. The ReportImageView class has some code for doing the scaling needed to fit height or fit width, but I am leaving that out here so as to concentrate on the drag support.

import uk.co.senab.photoview.VersionedGestureDetector;
public class ReportImageView extends ImageView implements VersionedGestureDetector.OnGestureListener {

private VersionedGestureDetector mScaleDragDetector;

 public ReportImageView (Context context, AttributeSet attrs){
    super(context, attrs);
    mScaleDragDetector = VersionedGestureDetector.newInstance(context, this);
  }

  @Override
  public void onDrag(float dx, float dy){
     Matrix matrix = getImageMatrix();
     Matrix copy = new Matrix(matrix);
     copy.postTranslate(dx, dy);
     setImageMatrix(copy);
  }
  @Override
  public void onFling(blah, blah...){
    //no op
  }
  @Override
  public void onScale(blah, blah...){
    //no op
  }
}

The salient features are 1) make a new VersionedGestureDetector using the class provided in the PhotoView library, 2) implement the onDrag() method of the OnGestureListener interface. In onDrag() make a new matrix and post-translate it to the coordinates supplied, then set that as the image matrix.

When the scale type is “fit width” the user can drag the image up and down if the height is greater than the width. When the scale type is “fit height” the user can drag the image left or right. If you get such oddball requirements for images, try this solution.


by Todd Folsom at January 21, 2014 08:48 PM

January 17, 2014

Mastering the Android Touch System

Dave Smith outlines the Android touch system, and then dives into the code, in this talk from AnDevCon '13.

by Evan Davis at January 17, 2014 12:31 AM

January 15, 2014

Awesome Android Design - slides by Nick Butcher

Nick Butcher from Google gave a presentation on "Awesome Android Design" in the GDG Sydney meetup. While the presentation itself unfortunately isn't available online the presentation slides are. This slide deck is packed full of important information from beginner to experienced Android designers and developers!

Get the slides from here.

by Juhani Lehtimäki (noreply@blogger.com) at January 15, 2014 10:42 AM

January 05, 2014

Yota Phone – The Android Smartphone From Russia With Two Screens

Yota Phone

Let’s start with the underlying hardware. Compared to some of the flagship and high-end Android devices launched in 2013, the Yota Phone is decidedly mid-range. The Dual-Core 1.7 GHz Krait CPU has the speed and capability to run Android comfortably, but the handset doesn’t stretch the specs in the current market. It’s nice to see it comes with 2 GB of RAM, and when it was announced at CES 2013 these were cutting-edge specs, but the Android world has moved on since then.

The handset comes in just one storage memory configuration (32 GB) and unfortunately there is no SD card expansion port. Given 16 GB feels a bit tight on Android handsets today, the 32 GB option should be good for the life of the handset, and with smart use of cloud based services for storage and streaming it should suffice for the majority of use cases.

Read More from here.
http://www.forbes.com/sites/ewanspence/2014/01/04/yota-phone-review-the-android-smartphone-from-russia-with-two-screens/

by James at January 05, 2014 05:13 PM

December 22, 2013

Android Recipe #4, path tracing

I left the Android team a couple of months ago but there are still many visual effects and demos I would like to write for that platform. Since I am currently on vacation I was able to find some spare time to write a new demo that I hope will teach you a couple of new development tricks.

This new demo is called Road Trip USA and demonstrates how to implement path tracing. The video below shows what this effect looks like:

Path tracing is used in several places in the application: to draw the map of the USA, to draw the outline of each state, to draw the name of the states and to draw the drag indicator when loading is complete. The progress indicator briefly shown a the beginning (with moving chevrons) is implemented using a technique very similar to path tracing.

I recommend you download the source code (GitHub) and debug APK for the demo to better understand the explanations below.

Path effects

The path tracing effect relies on a little known Android API called PathEffect. A PathEffect can be applied to a Canvas.drawPath() command by setting it on a Paint. There are four main types of path effects:

  • CornerPathEffect can be used to round sharp corners (turns a series of connected lines into a curve for instance)
  • DashPathEffect strokes the path using a series of dashes
  • DiscretePathEffect divides the path into a series of randomly positioned segments
  • PathDashPathEffect strokes the path using another path as a stamp

These effects can be combined by using either a ComposePathEffect or a SumPathEffect. For instance, a series of connected lines can be transformed into a dashed curve by using a ComposeEffect containing a CornerPathEffect and a DashPathEffect:

Path effects

The demo shown earlier uses only two of these effects: DashPathEffect and PathDashPathEffect.

Phase out

The progress indicator is implemented using a PathDashPathEffect and a concave arrow as the stamp. Since the PathEffect API does all the work for us, the hardest part is to create the paths:

private Path makeConvexArrow(float length, float height) {
    Path p = new Path();
    p.moveTo(0.0f, -height / 2.0f);
    p.lineTo(length - height / 4.0f, -height / 2.0f);
    p.lineTo(length, 0.0f);
    p.lineTo(length - height / 4.0f, height / 2.0f);
    p.lineTo(0.0f, height / 2.0f);
    p.lineTo(0.0f + height / 4.0f, 0.0f);
    p.close();
    return p;
}

// Create a straight line
Path path = new Path();
path.moveTo(32, 32);
path.lineTo(232, 32);

// Stamp a concave arrow along the line
PathEffect effect = new PathDashPathEffect(
    makeConvexArrow(24.0f, 14.0f),    // "stamp"
    36.0f,                            // advance, or distance between two stamps
    0.0f,                             // phase, or offset before the first stamp
    PathDashPathEffect.Style.ROTATE); // how to transform each stamp

// Apply the effect and draw the path
paint.setPathEffect(effect);
canvas.drawPath(path, paint);

The parameter we are going to use to achieve the progress animation is the phase parameter. This value can be used to define the offset before the first stamp. By animating this value we can effectively move our arrows along the path. The picture below shows the same path drawn with different phases:

Phase out

Path tracing

The tracing animations are implemented using the phase parameter of DashPathEffect instead of PathDashPathEffect. The DashPathEffect constructor lets you specify the length of the dashes as well as the amount of space between the dashes. The trick is to make the dashes and spaces as long as the path itself.

Computing the length of a line is very easy but to measure the length of an arbitrary path is a little more complicated since you need to measure the length of quadratic and cubic curves. Android thankfully provides an easy API to do this for us:

Path path = makePath();

// Measure the path
PathMeasure measure = new PathMeasure(path, false);
float length = measure.getLength();

// Apply the dash effect
PathEffect effect = new DashPathEffect(new float[] { length, length }, 0.0f);
paint.setPathEffect(effect);

canvas.drawPath(path, paint);

If you run the example above you should see the path drawn exactly as when no PathEffect is applied. This happens because a DashPathEffect always draws a dash first. To create the tracing effect we need to start with a phase equal to the length of the path:

PathEffect effect = new DashPathEffect(new float[] { length, length }, length);

The full effect can now be realized by animating the phase value between 0.0f and length. You can find the full implementation of this animation in the file StateView.java.

Tracing an arrow

The drag indicator, drawn as an arrow, is a little trickier to implement. Instead of using one path effect we need to use two: a DashPathEffect to fill the arrow trail and a PathDashPathEffect to draw the tip. The advance on the PathDashPathEffect is set to the length of the path to move the tip to the end of the path.

The full implementation can be found in IntroView.java.

Using SVG paths

I used SVG files to store the paths in this demo. While convenient, this format proved to be slow to load, at least with the library I am using, and I would probably switch to a custom binary format if I were to use this effect in a real application. Considering that the effect only needs the path geometry and no styling information, such a format would be simple and fast to parse.

The library I picked, androidsvg, is easy to use but does not give access to the paths contained in the SVG document. I worked around this issue by creating a custom Canvas that intercepts drawPath() calls:

Canvas canvas = new Canvas() {
    private final Matrix mMatrix = new Matrix();

    @Override
    public void drawPath(Path path, Paint paint) {
        Path dst = new Path();

        // Get the current transform matrix
        getMatrix(mMatrix);
        // Apply the matrix to the path
        path.transform(mMatrix, dst);
        // Store the transformed path
        mPaths.add(new SvgPath(dst, new Paint(mSourcePaint)));
    }
};

// Load an SVG document
SVG svg = SVG.getFromResource(context, R.raw.map_usa);
// Capture the paths
svg.renderToCanvas(canvas);

The paths are stored pre-transformed so we can measure their length at their final on-screen size. A slightly more advanced version of this code can be found in SvgHelper.java. The implementation used in the demo applies scaling to ensure the paths fill their containers properly.

Other visual effects

If you look closely at the demo you’ll notice several other visual effects:

  • Black & white to color conversion, used when scrolling a row of image to the left (the first image starts in B&W and turns into colors)
  • Pinned scrolling, used to create a “stacked cards” effect when scrolling up and down the list
  • Parallax scrolling, used to scroll the various maps at a different speed than other items
  • Animated action bar opacity, as seen in Google Music

The implementation of all these effects can be found in MainActivity.java.

by Romain Guy at December 22, 2013 12:12 AM

December 18, 2013

App Translation Service Now Available to All Developers

To help developers reach users in other languages, Google launched the App Translation Service, which allows developers to purchase professional app translations through the Google Play Developer Console. This is part of a toolbox of localization features you can (and should!) take advantage of as you distribute your app around the world through Google Play.

You’ll find the App Translation Service in the Developer Console at the bottom of the APK section — you can start a new translation or manage an existing translation here. You’ll be able to upload your app’s file of string resources, select the languages you want to translate into, select a professional translation vendor, and place your order. Pro tip: you can put your store listing text into the file you upload to the App Translation Service. You’ll be able to communicate with your translator to be sure you get a great result, and download your translated string files. After you do some localization testing, you’ll be ready to publish your newly translated app update on Google Play — with localized store listing text and graphics. Be sure to check back to see the results on your user base, and track the results of marketing campaigns in your new languages using Google Analytics integration.

You can read more from here

by James at December 18, 2013 05:24 PM

November 27, 2013

Android Developers Backstage: The Podcast

Are there any geeks out there interested in new podcasts? What about podcasts about Android development?

Tor Norbye and I are proud to announce a new podcast we've started called Android Developers Backstage. It's a podcast by and for Android programmers, featuring engineers on the Android team at Google talking about features, APIs, and technologies that we think are important for developers to know about. Or which we find interesting. Or which randomly happened to come up on the show.

If your podcast client still has room and you have an extra half-hour (ish) every month (ish), then subscribe and tune in. You can find the podcast on Feedburner. Just click on one of the various links on that page to add it to your podcast client of choice.

The inaugural episode is about Android KitKat, with Tor and I talking about some of the new features in the latest release. In future episodes of the podcast, we'll interview other engineers on the team to deep-dive technologies they've worked on. Android development info, straight from the source.

by Chet Haase (noreply@blogger.com) at November 27, 2013 03:08 PM

November 18, 2013

Devoxx 2013 presentations

Devoxx 2013

I just came back from Devoxx where Chet Haase and I gave a few talks on Android. The slides are now available online:

You can also download the Keynote versions of these presentations if you want to watch the embedded videos.

by Romain Guy at November 18, 2013 05:23 AM

November 15, 2013

Moving An Android View By Dragging It

Yes, here is another article about moving or dragging a view with a finger, but I think I can give a complete example in one place. Most of what I read while developing a movable component did not give a fully working result. I started with the article on making sense of multitouch at the Android developers’ blog. Then I had to go search at Stackoverflow. I give some of those references in the code comments.

I had a requirement to provide a magnifier view, or jeweler’s loupe, which would provide a magnified view of a graph as the user dragged the view over the graph. The magnifier would become visible on a long press and stay visible while the user dragged it over the graph. The frame of the magnifier would display the magnified contents as provided by a helper method (not described here). Here’s a rough example from my testing app.

magnifier example

magnifier example

It shows a small bitmap (unmagnified in this test) and some bogus tooltip values to the right of the image. When this magnifier is dragged over the image (i.e. a real graph), the magnified area will update as will the tooltip information.

Let’s look at the code. Here’s the touch listener for the magnifier. It requires that the magnifier (a RelativeLayout) be passed in on the constructor.

private class TouchListener implements View.OnTouchListener{
   public TouchListener(RelativeLayout frame) {
     super();
     this.frame = frame;
   }
private float aPosX;
private float aPosY;
private float aLastTouchX;
private float aLastTouchY;
private static final int INVALID_POINTER_ID = -1;

// The active pointer is the one currently moving our object.
private int mActivePointerId = INVALID_POINTER_ID;
private RelativeLayout frame =null;

public boolean onTouch(View view, MotionEvent event) {

switch (event.getAction() & MotionEvent.ACTION_MASK) {
   case MotionEvent.ACTION_DOWN:
     //from http://android-developers.blogspot.com/2010/06/making-sense-of-multitouch.html
     Log.d(TAG, "action down");
     // Save the ID of this pointer
     mActivePointerId = event.getPointerId(0);
     final float x = event.getX(mActivePointerId);
     final float y = event.getY(mActivePointerId);
     // Remember where we started
     aLastTouchX = x;
     aLastTouchY = y;
//to prevent an initial jump of the magnifier, aposX and aPosY must
//have the values from the magnifier frame
     if (aPosX == 0){
         aPosX = frame.getX();
      }
      if (aPosY == 0){
          aPosY = frame.getY();
       }
    break;

    case MotionEvent.ACTION_UP:
      Log.d(TAG, "action up");
      reset();
    break;

    case MotionEvent.ACTION_POINTER_DOWN:
    break;

    case MotionEvent.ACTION_POINTER_UP:
      // Extract the index of the pointer that left the touch sensor
       final int pointerIndex = (event.getAction() & MotionEvent.ACTION_POINTER_INDEX_MASK) >> MotionEvent.ACTION_POINTER_INDEX_SHIFT;
      final int pointerId = event.getPointerId(pointerIndex);
      if (pointerId == mActivePointerId) {
         // This was our active pointer going up. Choose a new
         // active pointer and adjust accordingly.
         final int newPointerIndex = pointerIndex == 0 ? 1 : 0;
          mActivePointerId = event.getPointerId(newPointerIndex);
       }
  break;
  case MotionEvent.ACTION_MOVE:

     // Find the index of the active pointer and fetch its position
     final int pointerIndexMove = event.findPointerIndex(mActivePointerId);
     Log.d(TAG, "action move");
     float xMove = event.getX(pointerIndexMove);
     float yMove = event.getY(pointerIndexMove);

//from http://android-developers.blogspot.com/2010/06/making-sense-of-multitouch.html
     // Calculate the distance moved
     final float dx = xMove - aLastTouchX;
     final float dy = yMove - aLastTouchY;

     if ( Math.abs(dx) > mTouchSlop || Math.abs(dy) > mTouchSlop){
        // Move the frame
        aPosX += dx;
        aPosY += dy;

// Remember this touch position for the next move event
//no! see http://stackoverflow.com/questions/17530589/jumping-imageview-while-dragging-getx-and-gety-values-are-jumping?rq=1 and
// last comment in http://stackoverflow.com/questions/16676097/android-getx-gety-interleaves-relative-absolute-coordinates?rq=1
//aLastTouchX = xMove;
//aLastTouchY = yMove;
Log.d(TAG, "we moved");

//in this area would be code for doing something with the magnified view as the frame moves.
       frame.setX(aPosX);
       frame.setY(aPosY);
    }
    break;

    case MotionEvent.ACTION_CANCEL: {
      mActivePointerId = INVALID_POINTER_ID;
    break;
   }
  }

    return true;
}

 private void reset(){
   aPosX = 0;
   aPosY = 0;
   aLastTouchX = 0;
   aLastTouchY = 0;
   frame.setVisibility(View.INVISIBLE);

  }
}

Here is the first important point. At line 29, we see that the magnifier will initially jump from the touch point because the touch event streams relative and absolute coordinates. Prevent this by setting the aPosX and aPosY fields to the initial X and Y coordinates of the frame.

Next, look at line 76 in the case for ACTION_MOVE. The multitouch example from the Android developers’ blog would have us remember the touch position. However that causes problems, as described in the citations from Stackoverflow, so don’t remember the last touch point. If the distance moved is greater than the touchSlop (line 71), just go ahead and move the frame (lines 85 and 86).

With these two modifications to the code shown in the multitouch example you should be able to happily drag a view around to your heart’s content.


by Todd Folsom at November 15, 2013 08:08 PM

October 25, 2013

MicroConf Europe

I don't envy conference organizers these days - most of what's being said can be read the next day, for free, on line, at your own pace, from the comfort of your own home, and without spending a bundle of time and money to sleep in a far away hotel.

Competing with that is not easy, but the guys at MicroConf managed to.  I would sum up the weekend by saying that it was a "very high bandwidth experience".  Every day, from breakfast until I turned in, I was chatting with people or listening to speakers during the conference itself.  That's aproximately  16 hours of being "on", and by the time I got home to Padova, I was exhausted!  But at the end of the day, I felt like it was worth it being there in person, because of all the interaction with other people.  The speakers' talks all ended up on line, more or less, but all the chatting and discussion and getting to know everyone is the human element that is tough to replicate on line, and one of the most important reasons to attend a conference in person.  Prague is also a beautiful city - I wish I had had more time there to check it out.

Here are some highlights and notes, in no particular order:

  • Rob Walling talked about actual, concrete numbers when discussing his current project's revenues.  There's a ton of handwavy stuff out there on the internet, but real numbers are tough to beat.  What makes it especially nice is that they also felt "real": they're good numbers, no doubt about it, but not stratospheric, science fiction numbers that leave you feeling like "ok, whatever, but that's not the planet I live on".  They're numbers that make you think "maybe, if things go well, I could do that too".
  • The number of "I'm from X, but live in Y" people at the conference was high.  Irish but live in Spain, American but live in Japan.  Or maybe just noticeable because I'm in that category myself.  There were people attending from the US, Europe, Japan, South Africa, and even Australia.  Impressive!
  • Almost all of the speakers had very specific, concrete advice that I can and will apply to LiberWriter, time permitting.  I read, and have read, a lot of business books.  Most of them are kind of fluffy, truth be told, in that they've got one decent idea, and a lot of filler to turn what could have been a tight, ten-page article into a book.  This was quite different in that there were a whole lot of tips and tricks being thrown out.
  • Rob's wife Sherry gave a talk about life with an entrepreneur.  Having two kids and a wonderful wife myself, it's a point of view that I was very interested in hearing about.  Judging from the people I chatted with, this was not your typical "startup" conference with a bunch of 20-somethings with no family and no ties - a lot of the other people attending had kids to think about as they launch their ventures.  A question I asked of Rob was how much of a leap he took from consulting to working on his own products, with the answer being that he's actually pretty risk adverse.  No Silicon Valley story about betting the house and everything else on the company - apparently, revenues from the web sites and products were good enough that there wasn't even really a leap to make when he quit consulting.
  • The size of the conference was just right: enough people that I didn't quite manage to meet everyone, but not so many that it was overwhelming.  In downtime between talks, and during dinners, breakfasts, lunch and so on, the speakers were very available to chat with.
  • Patrick McKenzie seems to have stumbled into his life's calling as someone working at the border of software and marketing.  The amount of advice, anecdotes, and data that he was continually spinning off was incredible.  He comes across as being a down-to-earth, approachable, friendly person.
  • Part of the balancing act the organizers have to work with is where people are at: some people had an idea but no concrete business.  Some of us (me) make some money but not too much.  Others have viable businesses that they make enough to live off of, and then there are those who seem pretty much 'set'.  It's difficult to find people to speak to each audience without losing some of the others.
  • The thing I liked the most about a lot of what was discussed was that it seems realistic.  Few people at the conference were from Silicon Valley, and yet... they're successful!  I like hearing about success stories that work out really well for the people involved, but still feel like something attainable.  People should be looking to emulate the successful guys here, not looking at extreme outliers like Bill Gates or Mark Zuckerberg.
  • I'm used to tech conferences, where it's all about the technology.  There was very little actual tech talk at MicroConf - it seems like everyone knows their stuff and was interested in learning about marketing, sales, and so on.

However, since it was a business conference, I also have to put on my cold, hard accountant hat.  Will the conference pay for itself?  Only time will tell.  I learned a variety of interesting and useful things, many of which I think I can put into practice.  The problem is finding the time between consulting work and family, but that was a bottleneck before, too - I had, and have, more things to do than time.  Also, to be very direct about it, how much of what I learned could not have been learned by carefully reading accounts of the conference, slides, and other material published on the internet?  A lot of it.  I'm not sure I would have paid attention to all of it though, so the conference was definitely nice in that it exposed me to some talks and ideas that otherwise I might have brushed off before giving them a chance.  In terms of dollars and cents, I won't be able to say for a while whether it was a sensible investment or not.

Would I go again?  I'd like to - it was a lot of fun and the people were great.

Like I said, it's tough doing conferences because your competition is the internet!

by David N. Welton at October 25, 2013 10:21 PM

September 30, 2013

The Google LG Nexus 5, and why you should it should be your next smartphone

If you're like me, you are sitting on an upgrade, and not really sure what to do as far as picking a phone goes. I'm here too tell you, buy an iPhone 5C. Just kidding. Don't waste your money on Apple garbage that's 3 years behind every android device on the planet. I suggest to everyone, to wait for the Nexus 5 to come out in the next few months, and let me give you a few reasons why.

1. PRICE (pretty obvious)

The beautiful thing about buying Nexus devices, is you are getting top of the line hardware and specs, for almost half the cost as anyone else. The Galaxy S4 is around 700 dollars off contract, which is absolutely insane. The Nexus 5 will cost (this is an educated guess) around 300-350 dollars, which is half the price of anything else, with the same (in my opinion better) user experience.

2. UPDATES (real catch)

Buying a Nexus phone has one simple bonus. You will always (except for you Gnex verizon people) get the latest version of android, before everyone else. Who doesn't like new software as fast as possible?

3. Everything else

The Nexus 5 is going to be a 5inch 1080p screen with a snapdragon 800 processor with 2GB of ram and a 8mp shooter. Now for those of you who have no idea what I just said, I can break it down for you. Let's imagine that the phone you have in your hand right now (which im guessing is close to 1-2 years old) is the car you had when you were 16. Probably an old beater that had 200,000 miles on it that you didn't care about. The Nexus 5, is an Audi A8 with all the little extras like leather seats and air condition and the fancy GPS that you brag about to all your friends, but never really use it, because you would have your Nexus 5 navigating you around with Google Maps ;)

when it doubt, wait it out, and buy Nexus 5

by Captain Clyde (noreply@blogger.com) at September 30, 2013 10:41 PM

September 18, 2013

Wallpaper Wednesday – Schwangau

Wallpaper Wednesday - Schwangau

This week’s wallpaper is called Schwangau after the place where it was taken. I always use the wallpapers that I put up, and I hope you like it enough to use it too.

This wallpaper will work great on any Galaxy Tab or Galaxy Note. Click here to download.

by Kyle Dornblaser at September 18, 2013 07:23 PM

September 11, 2013

Wallpaper Wednesday – Prague

Wallpaper Wednesday - Prague

This week’s wallpaper is called Prague. I always use the wallpapers that I put up, and I hope you like it enough to use it too.

This wallpaper will work great on any Galaxy Tab or Galaxy Note. Click here to download.

by Kyle Dornblaser at September 11, 2013 02:37 PM

August 13, 2013

Using XML layout references in Android

Android supports resource selectors based on qualifiers. For example to use a special layout file for activity_main.xml on a tablet in landscape mode you would typically define a layout file also called activity_main.xml in the layout-sw600-land folder.

Instead of using this approach you can use use XML layout references. With this approach you define a reference to a file for a defined layout name.

To use the approach for our example create the following refs.xml file in the values-sw600-land folder.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item type="layout" name="activity_main">@layout/activity_second</item>
</resources>

This file defines that if the layout with the name activity_main is used it should point to the real file activity_second.

So basically you have a second way of configuring which layout file should be used under which condition. I case you have a complex setup of different layout file you may want to use these references to avoid duplication of the layout files in different folders.

by Lars Vogel at August 13, 2013 12:35 PM

August 06, 2013

Try Some Old School Fun With 3D Snake

The old snake game has gotten a facelift and a new name. 3D Snake for Android is just what its name implies. The old school game has gone 3 dimensional, and it has never been so much fun. The premise is still the same. You are a snake eating as you crawl along in a box getting bigger and bigger as you go. If you are not fast enough to stay away from the edges, you die. It gets harder the bigger the snake gets, of course. In this newer version, you are a cute little grass snake eating bugs and growing as you go along, but if you get too big and lose control you are in trouble.

It is an analogy for life really, if you think about it. We go along our lives and our triumphs can make our pride grow and grow until we can no longer fit in the constraints of our lives or around the people in it. We can't get out of our own lives, therefore if we grow so large as to bust out, we lose it. Maybe we don't literally lose a life, but we very well could lose much of what makes up our lives as we know it.


No one wants to think about that though. The goal here is to get as big as possible and stay away from the edge, which is not as easy as it sounds. Do it well thought and watch your score climb on the Swarm leaderboards.

by Beti (noreply@blogger.com) at August 06, 2013 09:07 PM

July 30, 2013

Avoid The Mines In Minesweeper ++ Lite


Minesweeper is the classic game of "can you figure it out before you die." It is the perfect way to kill time or rest your brain with some mindless activity for just a few minutes without anyone knowing.  Countless execs over the years have utilized the game to take a break while looking busy, and now with Minesweeper ++ Lite for Android the same technique can be used by anyone anywhere on their android mobile device.

While it may take a second to catch on, once you do you will be hooked. You must "guess" where the mines are and stay away from them. This becomes easier to reduce with time and guessing is no longer necessary once you figure out what you are doing. 


What makes it even better is the ability to post scores to the Swarm leaderboards. Compare your progress and rank with players from around the world, but be certain you change your name lest anyone else lurking around the boards catch on to your sneaky break time routine. Of course, be wary of who you share your gaming name with also, but a little inner office camaraderie never hurt anyone.   Enjoy free time, or use it as a cover to make you look busy when you are not. Either way you will love the fun that Minesweeper offers.

by Beti (noreply@blogger.com) at July 30, 2013 04:48 PM

June 26, 2013

T-Mobile To Announce “Simple Choice with no credit check” plans

It seems that T-Mobile always does this. They introduce something fairly interesting, and then follow it up with something also kind of interesting, but also a little confusing. It got bad a few years ago, when they had multiple tiers of plans and it was difficult to tell the differences between them in many cases. Their latest foray piggybacks their Uncarrier campaign. “Simple Choice with no credit check” will provide the credit-challenged with access to those same Uncarrier plans.

There are many catches, of course, and the confusion of the plan might turn off consumers before they get a chance to see how it can work for them. For starters, this is advertised as, and mostly effective as, a family plan. Individual users with bad credit are better off examining T-Mobile’s traditional prepaid plans, which are pretty close to the Simple Choice plans, but with no deposit.

Yes, a deposit is required for the no credit check plans. That starts at $60 for the first line, followed by a $40 deposit for the second line, and $20 each for the next two lines. A fifth line is also a $20 deposit, but that has to be a non-phone internet device (tablet, for example). The deposit is refundable, so presumably it covers you for potential non-payment.

The biggest loss here is the lack of automatic payments. Why T-Mobile would take that away I don’t understand. Companies absolutely love autobill features, and it’s pretty standard in prepaid. (Virgin Mobile offers a $5 per month discount if you sign up for automatic payments.) Maybe it will be available in the future, but for now it’s off the table.

Combine all that with the necessity of paying for a device in full, up front, and you have a not so attractive plan. There will be many customers, for sure, who will want an option like this. But given the ease of T-Mobile’s Simple Choice plans, it seems as though this appeals only to those who absolutely cannot pass a credit check. In which case, they’re stuck with what T-Mobile offers.

Via TmoNews.com.

The post T-Mobile To Announce “Simple Choice with no credit check” plans appeared first on MobileMoo.

by Joe Pawlikowski at June 26, 2013 12:30 PM

June 21, 2013

Beat on Broken Hearts in Springloaded’s Heart Beaten for Android

heart.beaten-android

Beat on Broken Hearts in Springloaded’s Heart Beaten for Android

Most people that have been in love have had their heart broken at some point, and it always sucks. The folks at Springloaded agree, and Heart Beaten is their retro tribute to lost love and heartbreak.

Android Games

by Adam Field at June 21, 2013 02:58 PM

Monoprice 8320 Earbuds Deliver at a Low Price

20130620_180008

Earbud headphones almost always suck. At least for me, and I know plenty of others who simply cannot stand them. I remember seeing everyone walking around with the signature white iPod earbuds as I walked around New York City in the mid-00s, wondering how they found them at all comfortable. For me they alway fell out, so I had to readjust them every 30 or so seconds while walking.

A recent trend in earbuds is including three different size buds with each pair. If the default buds are too big or too small, you can change it to one of the other included sizes. This is nice in many ways — I actually have a pair rigged up with two different sized buds on each ear — but I still can’t seem to find a pair that stays in my ear while walking.

Recently I connected with Troy Redington of FatWallet, who raved about the Monoprice 8320 earbuds. At first he went on about the sound quality, how they all but eliminated outside sound. Then he went on about the price, around $8, which just blows away the cheap earbud competition. When I asked about comfort he said he had dozens of earbuds lying around, but these fit far better. So sure, send me a pair for review.

I’m not going to say that these earbuds stayed in my ear like a dream. I’m not going to say that they’re superior to the Bose over-ear headphones I have. But I will say that in terms of earbuds, they are the most comfortable I’ve worn and they do deliver on sound quality. While they’re not great for spoken-word audio, such as podcasts, they do a real good job with all styles of music I tried.

As you can see in the picture atop this post, they’re not exactly normal looking earbuds. They have something of a hook on top, which is actually great. The hook helps the buds fit snugly in your ear. It takes a little twisting, but I got them to fit very well without moving too much. The cords also wrap around your ear, rather than hanging straight down. This probably makes the greatest difference. Since using these, I started wrapping all of my earbuds around my ear like that, and it honestly does make all of them more comfortable.

Yet what stood out to me about the Monoprice buds is that they’re made of nylon, rather than the cheap plasticky, rubbery substance you see with most headphones. It’s strange, because the buds are so cheap, yet the material feels anything but. They just feel more durable, which is nice. When I buy headphones under $10 I expect to replace them pretty quickly. These feel like they’re last for a while.

You can check out the FatWallet site to get these earbuds at an insanely cheap price. They do offer cash back if you register, which is nice. Again, it’s tough to do better for $8. It’s probably tough to do better for triple that.

The post Monoprice 8320 Earbuds Deliver at a Low Price appeared first on MobileMoo.

by Joe Pawlikowski at June 21, 2013 12:30 PM

June 20, 2013

Aquaria comes to Android via the Humble Bundle 6

Screenshot_2013-06-20-01-39-00

Aquaria comes to Android via the Humble Bundle 6

Aquaria is another awesome Indie that’s just arrived on Android courtesy of the Humble Android Bundle 6. It's the second Bundle game we've covered so far, and it's unlike any platformer you've ever played.

Android Games

by Adam Field at June 20, 2013 03:48 PM

January 14, 2013

The Software Millionaire Next Door

I've been reading "The Millionaire Next Door" and have so far found it to be a pleasant book with a good message: don't waste your money on silly things and appearance (fancy suits, fancy cars, expensive boats, etc...), save what you do earn consistently and constantly, invest wisely, and so on.   Wikipedia has a good summary:


http://en.wikipedia.org/wiki/The_Millionaire_Next_Door

One of the things I like about it is that it focuses on "ordinary" wealthy people, those with a million or more in the bank, but not the Warren Buffets or Bill Gates types that are extreme statistical outliers.  There are plenty of people in the US who have done well by themselves by slowly but surely putting together enough money to be financially independent, without, however, being in the spotlight.   As the book says, these are the kind of people who maybe own a local chain of businesses doing something fairly ordinary, but doing it well enough to succeed.  They may very well not live in a fancy house, nor drive an expensive car, or otherwise outwardly draw much attention to themselves.

The world of software does not revolve around "dressing for success" (you noticed?), but we do tend to focus on the "big winners".  Gates, Jobs, Zuckerberg, Larry & Sergey, Larry Ellison, and so on are the stars of the show.  Of course, the economics of software being what they are, instances of winner-take-all markets with one big fish and a lot of also-rans are not uncommon.   However, that is not the only story, and I think it'd be interesting to know more about those in our industry who have accumulated significant wealth, yet are not the guys with more money than they could possibly ever spend on things that aren't, say, country-sized chunks of real-estate.

I'm guessing they'd fall into these categories:

  • Highly paid workers who have consistently saved over the years.  There are examples in the aforementioned book about people with relatively low salaries who happened to be very frugal and invest well (and have had some luck in their investments too).  These people would probably tend to be older, as it takes a while to save up that kind of money, and since this industry is so young with so much turnover, I would not think there would be a lot of people out there like this, but who knows, maybe there are a bunch of IBMers with this kind of story.
  • Those who got in on the right IPO, like Google or Facebook or something like that.  These events not only generate billions for those at the top of the heap, but for the right person at the right place at the right time, can mean significant wealth even without being in the upper echelons of the company.  My suspicion is that this kind of IPO, where everyone cashes out, is not common enough to have a lot of people in this category, but who knows, maybe it adds up over the years.
  • Those who own or started software firms that do something that's not very visible, but nonetheless dominates some particular niche.  This is where I'd guess most of them would be, but I certainly have no data or even anecdotes to back this up.

It'd be very interesting to gather some actual data on this, although I'm not in a position to do so myself - I wouldn't even really know where to start. 

As I age, I think the third category has begun to seem appealing in many ways - I'm simply not cut out for the Big Company life, and I'm not interested in living in Silicon Valley and going "all in" on the latest startup - I already did that, and while it was fun and I don't regret it, it's not the kind of thing I'd want to do now that I'm married and have kids.   Incidentally, this more relaxed, under the radar approach is exactly what is expoused in one of my favorite books of the past few years, Start Small, Stay Small.

Edit : I finished reading the book and reviewed it here: http://davids-book-reviews.blogspot.com/

by David N. Welton at January 14, 2013 10:23 PM

July 04, 2012

Planet Android summer cleaning

Blogs come and blogs go, and nowhere is this more apparent than in a fast changing technology area such as Android. Today I removed 12 feeds from PlanetAndroid that haven't had updates in a while (some since 2010). If you feel your feed was removed in error, let me know.

In a reply to a recent post, one reader said they'd like to see fewer app reviews and news articles here, and more development diaries, tutorials, and community activities. What do you think? What are your most favorite and least favorite feeds? Let me know in the comments.

by Ed Burnette (noreply@blogger.com) at July 04, 2012 03:00 AM

June 14, 2012

New PlanetAndroid feed policy

Starting today I'll be removing most feeds that include embedded ads. Currently, I pay for PlanetAndroid's upkeep out of my own pocket, with no revenue coming in from ads or donations at all. When an ad appears in one of our feeds, it takes space away from the other articles and gets clicks based on the drawing power of the whole site, including feeds with no ads. That didn't seem fair.

I grandfathered in a handful of feeds for various reasons including new sites that need the extra juice that PlanetAndroid brings to help them get started. Some sites report that being listed on PlanetAndroid has doubled their traffic! If you feel your feed was unfairly removed, or if you make a new feed without the ads and want to re-join, just let me know. Thanks for your support.

by Ed Burnette (noreply@blogger.com) at June 14, 2012 12:48 AM

June 12, 2011

Android and openness

On Thursday I gave a talk at TriLUG. The slides I used are available but will probably be rather cryptic without my accompanying commentary.

Although I understand that Google has had to contend with both the open source zealots and the closed-everything carriers, upon looking at the trend, I find Google’s actions getting more disturbing. Just as Android seems to be coming into its own and Google should have more power than ever to twist arms, Google seems to be wimping out – or turning evil. I hope I’m wrong and they’re just waiting for the right time.

One thing I completely forgot to talk about is the abandoning of the Nexus One. When it came out, it was supposed to herald a new age of cross-carrier, stock-Android phones (with a built-in connection-sharing capability, no less). Only T-Mobile really picked it up – you could use it on AT&T but without 3G. Verizon and Sprint were supposed to be coming out with support for the same concept and just a different radio, but instead they released their own phones, with the usual modifications and constraints. So why did Google let them? They didn’t have to; the Skyhook case shows that Google can essentially pull their blessing from any phone for any reason. An Android phone without the Google apps isn’t going to be very attractive to consumers. Why didn’t Google force Verizon and Sprint to kowtow to the Nexus One before allowing them to release any more Android phones?


by Luke Meyer at June 12, 2011 12:59 AM

April 01, 2011

Is this thing on? ::feedback:: ouch…

Well – I don’t want to let the *entire* month of March go by without a post. I just haven’t done much with tech this month, though. It sucked. But evidently my absence has caused a surge in popularity, according to my stats. Less is more?

If I remember correctly – is Honeycomb the first version of Android where we actually saw a preview, got to fiddle with the SDK platform preview before it was actually embodied in a device? If so, better late than never, and let’s hope it means we’re on the way to seeing more of a community effort. Hey, it took a while for Red Hat to learn with Fedora, too, and they didn’t have voracious proprietary partners to contend with.

I have a meetup or two to arrange, but I hope I get some time to work further with ORMlite shortly.

Happy April Fools Day tomorrow!


by Luke Meyer at April 01, 2011 01:01 AM