Planet Android Headlines

↑ Grab this Headline Animator

November 22, 2014

Enable Call Recording on Xperia Z2 and Z3

Screenshot_2014-11-16-15-49-05.png

Call recording, while not legal in every part of the world, is quite handy in certain situations. Some OEMs have decided to implement call recording into their default Phone applications, and sometimes hide it. There are ways to enable the feature, if it’s there but hidden, through Xposed Framewok modules or other apps.

On the older firmwares, such as 4.4.2, Sony had a hidden call recording feature in SemcPhone.apk. This feature was split over multiple applications. XDA Senior Member AndroPlus found a way to restore the call recording feature by extracting the Chinese variant of the ROM. The extracted CallRecording.apk can be flashed onto the device using one of the popular recoveries.

To make use of this feature, your device must be rooted. After flashing the archive, the feature can be found in the Settings → Call Setttings → Call Recording. Be sure to check if call recording is legal in your country before flashing this application. You can find the regulations in this Wikipedia article, but most likely the best way is to check with local authorities.

You can enable the call recording feature on Sony Xperia Z2 and Sony Xperia Z3. You can try with other models as well, but be advised that this method may not work. You can learn more about the method by visiting the Enable Call Recording on Z3 and Z2 23.x firmware forum thread.

The post Enable Call Recording on Xperia Z2 and Z3 appeared first on xda-developers.

by Tomek Kondrat at November 22, 2014 09:00 AM

Google Play Store Payments Available in China

play_logo

Google has taken a big step to make its services accessible globally. Since the introduction of paid apps, Google managed to introduce them in over 2/3 countries in the world, but one country was still missing. And as you know by now, this country is China.

Over the past year, Google has extended paid apps to 60 countries across the globe including Lebanon, Jordan, Oman, Pakistan, Puerto Rico, Qatar and Venezuela. China is by far the largest new market, with more than 700 million active smartphone users–and this number is still growing.

Google announcing merchant support in China gives local developers an opportunity to monetize their work directly rather than simply through advertising. Chinese developers can now offer both free and paid applications through various monetization models. For revenue generated on Google Play, developers will receive payment to their Chinese bank accounts via USD wire transfers.

Developers from China willing to sell their applications and games should visit the play.google.com/apps/publish and register as a developer. In-app purchases require a Google Wallet merchant account that can be found in the Google Play Developer Console. We believe that both users and developers will benefit from Google’s move. You can read more at Google’s official page.

The post Google Play Store Payments Available in China appeared first on xda-developers.

by Tomek Kondrat at November 22, 2014 03:00 AM

TapSlayer: Alice in Zombieland is a new arcade shooter for Android

While the name may play off of Alice in Wonderland, this particular game is actually about a land full of zombies and a girl named Alice who is out to kill every last one of them. The gameplay itself is fairly straightforward, kill zombies... lots and lots of zombies.

You will be playing as Alice who is defending Wonderland from a zombie invasion, appropriately making it Zombieland instead. You will be in charge of destroying as many zombies as possible with a variety of skills available to help you accomplish this. There are, of course, different types of zombies as well to deal with.

TapSlayer Features:

- Various unique epic weapons to kill crazy zombies! (Weapon Upgrade System)
- Infinite wave mode to compete with other players
- Battle in a variety of challenging maps
- Compete with other players to leave your name in Hall of Fame

If you get bored of traveling through the map slaughtering zombies, you can enter the Infinity Chaos Mode where you get to compete with other players to see how long you can survive. Regardless of how you play this game, downloading a copy off of Google Play won't cost you a thing. There are optional IAPs available if you want to use them.

November 22, 2014 02:48 AM

Ironkill brings the world of robot fighting to Android once again

We've already had robot fighting style of games come to Android by the way of those movie spin-off games for Real Steel. Well now there is a new one called Ironkill and it is now available on Google Play. Ironkill doesn't stray too far from the tried and true format for robot fighting.

Players will be able to build and customize their robot of choice before sending it out into the arenas to battle it out in a head-to-head fight with another robot. It is sort of like Street Fighter in how the story plays out, with you traveling across the world to try and become the Ironkill Champion. After every match you will be able to improve upon your current robot you are using.

Ironkill Features:

- BUILD powerful robots with their own signature moves and unique abilities.
- FIGHT across continents in a journey to win the ultimate Ironkill Championship.
- UPGRADE and modify strategically to match the competition.
- DESTROY the opposing master fighters in spectacular action combat.
- CREATE your own roster of steel-crushing machines.
- STUNNING GRAPHICS with real dynamic battles in fascinating environments.

While Ironkill is available to download and play for free, the game does also come with optional IAPs should you chose to want to take advantage of those. You can also check this game out in action in the video below.

November 22, 2014 12:39 AM

November 21, 2014

What is Google Inbox?

Android Engineer, Justin Holmes, explains how Google Inbox stands apart from your average Gmail account.

New to development or a pro who needs help? Just tweet your question to #AskADev. We’ll pick the best ones and have a developer answer them.

The post What is Google Inbox? appeared first on Mutual Mobile.

by Ask A Dev at November 21, 2014 11:17 PM

Tech Table: Let’s talk about Android Lollipop

Tech Table

While you’re waiting for Lollipop to land on your device, let our panel of Android and iOS experts entertain you with their unique takes on Google’s latest confectionary operating system. Treat your ears to some sweet insights, predictions, and playful banter that will appeal to mobile users of all platforms.

Panelists

Show Notes

1:55 – What’s in a name?

7:24 – Android developer previews

  • Limited device release
  • Compatibility library
  • Why did it take Google so long?
  • Previews as a daily driver

13:21 – What is Material Design?

  • “Paper”
  • Cross-platform capabilities
  • Taking design back to the basics
  • Android L & iOS 7 redesigns
  • Building consistency
  • Chase Bank Material Design
  • Google’s passive-aggressive push

20:24 – Adoption rates

  • The nasty “F” word
  • OEM update schedules
  • Using Older OS with Material Design
  • iOS 8 slowdown
  • iOS 8 February 1st cutoff
  • iOS 7 vs iOS 8 for devs

28:12 – The growing importance of design for devs

  • Yay animations
  • Google Inbox
  • Users come first

30:23 – Material beyond mobile

  • Material is more Google than Android
  • Should Material Design be applied everywhere?
  • Platform-agnostic apps
  • Material Design on every screen
  • ADT-1 Developer Kit
  • Material as a metaphor
  • Visual styling vs interaction

35:50 – “Can we talk features?”

  • Z-axis
  • Notifications
  • Tap & Go
  • Render thread
  • Overview Menu
  • Screen pinning

45:25 – What do iOS devs think of Lollipop?

53:50 – Will Android and iOS become one?

  • Borrowing
  • Ecosystems
  • Wearable battleground
  • What will the OS of the future look like?
  • Devices = differentiators
  • The commoditization of OSs
  • Tesco Tablet
  • OSs fueling purchasing decisions
  • Loosening ecosystem control

1:04:16 – What’s next for Android after L?

  • Chrome OS
  • Continuity
  • Android One

Tech Table is where we throw Android, iOS, and Web experts into a room and lock the doors until we’ve recorded a rigorous discussion about the latest and greatest technological innovations. If you’re looking for passionate discourses regarding smartphones, wearables, and emerging tech that hasn’t even been conceived yet, take a seat and listen to our panelists verbally duke it out in hi-fi sound.

You can subscribe to our podcast RSS feed here or via FeedBurner.

The post Tech Table: Let’s talk about Android Lollipop appeared first on Mutual Mobile.

by Mutual Mobile at November 21, 2014 10:37 PM

Motor boat control with Bluetooth Low Energy

 My previous post about Bluetooth Low Energy applications with RFDuino and Android presented a connectionless gas sensor. That prototype was based solely on BLE advertisements, no connection was built between the scanner device (Android phone or tablet) and the sensor. While this connection-less operation is advantageous for sensors that just broadcast their measurement data, more complex scenarios that e.g. require authentication or build a communication session cannot be implemented in this model. The prototype I am going to present in this post demonstrates connection-oriented operation between RFDuino and an Android application.

Watch this video to see what the application is about.



The story behind this motor boat project is that I bought this RC-controlled model boat while I worked in the UK. But when we moved back to Hungary, I lost the RC controller. So the boat had been unused for years until I realized how great it would be to use an Android device as a controller. Hence I quickly integrated the RFDuino with the motor boat's original control circuitry and wrote the necessary software. As you can see in the video, it has quite respectable range even though I did not dare go into the October water of Lake Balaton where the second part of the video was shot (water temperature: some 10 degrees centigrade).

First about the "hardware". I did not have the circuit schema of the original RC controller in the boat so I had to experiment a bit. By following the motors' cables I quickly found two three-legged stocky elements that looked like switching transistors (although the labels on them were not readable after all those years in service). I removed one end of the resistors that I thought connected the base of these transistors to the rest of the RC control circuit and tried out, how much current is needed to switch on the motors. To my pleasant surprise, 1 mA current was enough so I rather believe that these are actually not transistors but power switching ICs. Anyway, RFDuino outputs can provide 1 mA switching current so I just connected the other end of those removed resistors to two spare RFDuino I/O ports. Lo and behold, it worked. If RFDuino raises any of these pin to 1, the respective motor starts. One minor additional problem was about the power supply of RFDuino. The motor boat employs an 7.2 Volt battery and RFDuino needs 3.3 V. I added an LM1117-3.3V power regulator circuit between the battery and RFDuino and the "hardware" was ready.



Do you know about BLE concepts like service and characteristics? If not, please read this presentation for a quick introduction. In short: BLE services (also called GATT profiles) are composed of characteristics which are key-value pairs decorated by meta-information that the BLE specification calls descriptors. RFDuino with its default firmware is not able to implement any standard GATT profile except for its own custom GATT profile. This is a major disadvantage in product-level development but makes RFDuino code super-easy because the programmer does not have to deal with BLE details. In the RFDuino custom service, a "read" and a "write" characteristic is defined. Whatever the client (in our case, the Android application) writes into the "write" characteristic appears for the RFDuino code as incoming data callback. If the RFDuino code calls the RFduinoBLE.send(v) method, the data appears in the "read" characteristic. The Android client can register a callback for data manipulations of the "read" characteristic so it will receive callbacks when RFDuino code invokes the RFduinoBLE.send() method. There are additional callbacks for service connections and disconnections.

You can download the Android project and the RFDuino source at the end of this post. You have to be logged to the Sfonge site to access these.

First about the RFDuino code.  Beside the familiar setup() and loop() functions, you will see three functions characteristic to RFDuino. RFduinoBLE_onConnect() is called if a client connects to the RFDuino BLE service, RFduinoBLE_onDisconnect() is called on disconnection and RFduinoBLE_onReceive() is called when there is incoming data. There is only one complication in the code that requires explanation: this is a powerful motorboat and it can go out of BLE radio range very quickly. In the early versions the boat became uncontrollable in this case meaning that it just continued with the last command received. That was not a nice feature so I implemented a heartbeat message feature which is sent in every 5 second. The loop() method starts by sending the heartbeat to the client and goes to sleep. It wakes up after 5 seconds and if it finds that the client did not send back the heartbeat, it stops the motors. Otherwise the client just sends a bit mask about which motors to stop or start and the RFDuino just responds with the same mask informing the client that the motors were indeed started or stopped. This means that the arrows on the user interface showing which motors are running represent the actual state of the boat which is advantageous if something goes wrong.

Then about the Android side. The code starts by discovering the device. Once the device is discovered, we connect to the device with the connectGatt() method then discover its services with gatt.discoverServices() method. Once the service discovery callback arrives, we retrieve the RFDuino service (getService(), we expect this custom service) and obtain the characteristic handles (getCharacteristic()). We use the "read" characteristic's client configuration descriptor to enable notifications from the RFDuino server to the Android client so that we get a callback when the RFDuino side sends something to us.

Disconnection is worth detailing because there's an RFDuino speciality here. Normally, one can just disconnect from the service with the disconnect() method invocation. RFDuino however is left in a limbo state in this case: the BLE session is disconnected but the RFDuino application does not receive a callback and cannot accept a new connection request. The "disconnect" characteristic has to be written to (the value does not matter) for the RFDuino server to properly disconnect.

by Gabor Paller (noreply@blogger.com) at November 21, 2014 09:27 AM

November 20, 2014

musiXmatch drives user engagement through innovation

Posted by Leticia Lago, Google Play team

musiXmatch is an app that offers Android users the unique and powerful feature FloatingLyrics. FloatingLyrics pops up a floating window showing synched lyrics as users listen to tracks on their favorite player and music services. It’s achieved through a seamless integration with intents on the platform, something that’s technically possible only on Android.

As a result musiXmatch has seen “a dramatic increase in terms of engagement’, says founder Max Ciociola, “which has been two times more active users and even two times more the average time they spend in the app.”

The ability to deliver lyrics to a range of different devices — such as Chromecast, Android TV, and Android Wear — is creating opportunities for musiXmatch. It’s helping them turn their app into a smart companion for their users and getting them closer to their goal of reaching 100 million people.

In the following video, Max and Android engineer Sebastiano Gottardo talk about the unique capabilities that Android offers to musiXmatch:

To learn about achieving great user engagement and retention and reaching more users through different form factors, be sure to check out these resources:

  • Convert installs to active users — Watch this video to hear from Matteo Vallone, Partner Development Manager for Google Play, about the best practices in engaging and retaining app users using intents, identity, context, and rich notifications as well as delivering a cross-platform user experience.
  • Expanding to new form factors: Tablet, Wear & TV — Watch this panel discussion with Google experts talking about cross-platform opportunities and answering developer questions.

by Android Developers (noreply@blogger.com) at November 20, 2014 02:50 PM

Droid Turbo Review

Let me tell you that first of all the Droid Turbo's definitely amazing phone. I personally was going to hold up the Nexus 6 but then I got cold feet and decided to pull the trigger on this phone and have not been disappointed. So far the battery is definitely the most impressive feature. Basically the Nexus and the Turbo are basically the same they have the same processor the Nexus has the ISO camera clocking in at 13 megapixels and the turbo has a 20 megapixel camera with no ISO however coming from a G2 the pictures are definitely fine and dandy. The screen is extremely awesome except that YouTube for some god awful reason doesn't have 1440p or 1080p support which is super annoying. Another thing that I would like to point out about the turbo is it the battery literally is incredible I would definitely consider myself a power user in this phone easily and I mean easily last a day and a half to two days there have been several times where I fell asleep without charging my phone woke up with 20 percent and it got me through about 10 hours or so but that's with me probably only being on it for about an hour but even still that's impressive. The battery is good now so we can only imagine what kind of improvements will see when lollipop rolls out which I'm hoping will be soon the camera should also improve with that considering google rolling out their new API for photography. Overall I'd say that between the Nexus and the turbo its more of just if you want a 6 screen or 5.2 inch screen. If you have any questions or concerns please feel add comment on this post and I will get back to you soon as possible thank you for reading

by Captain Clyde (noreply@blogger.com) at November 20, 2014 03:37 AM

Chinese Developers Can Now Offer Paid Applications to Google Play Users in More Than 130 countries

By Ellie Powers, product manager for Google Play

Google Play is the largest digital store for Android users to discover and purchase their favorite mobile app and games, and the ecosystem is continuing to grow globally. Over the past year, we’ve expanded the list of countries where app developers can sign up to be merchants on Google Play, totaling 60 countries, including Lebanon, Jordan, Oman, Pakistan, Puerto Rico, Qatar and Venezuela most recently.

As part of that continued effort, we’re excited to announce merchant support in China, enabling local developers to export and sell their apps to Google Play users in more than 130 countries. Chinese developers can now offer both free and paid applications through various monetization models, including in-app purchasing and subscriptions. For revenue generated on Google Play, developers will receive payment to their Chinese bank accounts via USD wire transfers.

If you develop Android apps in China and want to start distributing your apps to a global audience through Google Play, visit play.google.com/apps/publish and register as a developer. If you want to sell apps and in-app products, you'll need to also sign up for a Google Wallet merchant account, which is available on the “Revenue” page in the Google Play Developer Console. After you’ve uploaded your apps, you can set prices in the Developer Console and later receive reports on your revenue. You’ll receive your developer payouts via wire transfer. For more details, please visit our developer help center.

We look forward to continuing to roll out Google Play support to developers in many more countries around the world.

中国开发者可以向全球130个国家的Google Play用户提供付费应用啦

发表者:Ellie Powers, Google Play产品经理

Google Play是一个可让Android用户发现和购买他们喜爱的移动应用程序和游戏的全球最大的应用商店,这个生态系统在全球迅速成长。过去一年中,我们已经扩展到60个国家,让应用程序开发人员可以注册成为 Google Play的商家,其中新近支持的国家包括黎巴嫩、约旦、阿曼、巴基斯坦、波多黎各、卡塔尔和委内瑞拉。

作为持续改进 Google Play努力的一部分,我们很高兴地宣布在中国增加了对商家的支持,让中国的开发者能售卖应用程序到130个国家的 Google Play 用户。中国的开发者现在可以提供通过各种盈利模式的免费和付费应用,包括应用内购买和订阅。在 Google Play 产生的营收将通过美元电汇的方式支付给开发者的中国的银行账户。

如果你在中国开发Android应用程序,并希望通过 Google Play 把应用程序推广到全球,请登录play.google.com/apps/publish 并建立你的 Google Play 开发者账户。如果你想售卖付费的应用程序和应用程序内的产品,则需要再注册一个Google 电子钱包商家帐户,通过Google Play开发者控制台里的”营收”页面进行设置。上传应用程序后,你可以通过开发者控制台设定价格,之后就可以收到营收报告,你将会通过电汇的方式获得收入。

我们将继续增加更多 Google Play 商家支持的国家,敬请关注。

更多详情,请访问我们的开发者帮助中心

by Android Developers (noreply@blogger.com) at November 20, 2014 01:56 AM

Insights on Scaling Android Development from Cyanogen, Amazon, Twitter, Square, Eventbrite, and more

Unique considerations around designing, developing, supporting, and testing Android apps with millions of users.

by Max Walker at November 20, 2014 12:08 AM

November 19, 2014

Advanced Mobile Care: App Review and Premium Giveaway

Advanced Mobile Care: App Review and Premium Giveaway

ADVANCED MOBILE CARE GIVEAWAY REVIEW

So there I was just browsing my Twitter feed, when out of the blue I get a request to review an app.  First time for everything right? Well, I agreed without hesitating because I love helping app developers get attention to their apps.  So after getting the details and ironing out some details with fact checking and all that jazz I downloaded Advanced Mobile Care (AMC Security) from the Playstore and started using it.  Now, I know what you are thinking, another security app for mobile.  Well, sorta kind of but not really.  Honestly, I have used quite a few mobile security apps in my days of Android; even crazy named ones for giggles.  Where AMC stands out is the performance and support that their app provides.

Starting out, you have a One Tap Scan which scans and cleans out redundant background tasks, cache, junk files, privacy records and releases free storage space.  This isn’t much different from most cleaner apps, but the performance is there.  With a side by side of AMC and other cleaner apps AMC performed faster and more efficiently 5 out of 6 times.  This made me happy knowing I was freeing up the most space possible.

Add on that AMC includes an Anti-theft feature, which after you sign up for an account through m.IObit.com you can track and alarm the lost device just in case it is somewhere inside your house.  Didn’t find it in the house and see that it is wandering around town with some thief, well log into the site and you can remotely wipe the data on the device so that your information is erased and useless to the phone thief.

Battery saver mode was a nice feature, but was not able to perform to the lengths that dedicated battery saver apps can.  This isn’t to say that it doesn’t perform well, but compared to say Greenify it doesn’t save as much battery.  Still, in an all-in-one toolbox setup like AMC has provided, the battery saver feature is still an awesome feature.

AMC has the much-needed Task Killer function built-in, which is to be expected to free up as much RAM as possible, which pair that with their Game Speeder feature and you are guaranteed to get the smoothest gaming experience.  I was having severe issues with Rollercoaster Tycoon 4 running on my Note 3, and after running the Game Speeder through AMC I was actually able to play the game for more than 5 minutes before the game finally crashed.  That is way better than before when the game would load and then freeze and crash.

Amc1

My favorite feature is the App Manager, which allows you to batch delete obsolete APK files, uninstall apps and even move batch apps to the SD Card in one shot allowing you to free up space needed for more Android goodies.  I was surprised how quickly the file transfer to SD was as well as batch deleting APK files.  I have a lot of apps installed on my device and don’t always get around to deleting them. With this feature I was able to delete roughly 75 apps in one swift move without blinking.

Privacy advisor and  Privacy locker ensures that your device is as secure as you want it to be.  Privacy advisor notifies you of any apps that are silently trying to record your information and prompts you with advice concerning those apps (Sorry, didn’t get any notifications on Facebook). Privacy locker lets you lock up files, photos, and videos with a password so no one can view them.  For those of you out there that have embarrassing photos of your friends, or even of yourself hidden on your device, lock them behind a password.

You also have the much appreciated Antivirus, cloud backup as well as a Call/SMS Blocker with three different blocking modes.  This allows you to set up your blocking the way you want it, and ensure that you don’t get bothered by pesky telemarketers or even that girl from the bar that you wish you hadn’t talked to.

Overall, I am very happy to have this app running on my device.  I haven’t had any issues with security before, but having it running gives me the piece of mind that I need to sleep easy.  Is there anything I wish the app had that it doesn’t? Not really, but I am a very simple person to please.  I would definitely recommend this app to anyone looking for an all-in-one toolbox for their mobile security. If you want to give it a go, head over to the PlayStore and download the app now, then Enter our Giveaway where IObit is providing 200 yea, you read that right. 200 premium subscription codes for a 1-month trial of all the features.  Love the app but don’t want to pay premium, keep the app and enjoy the free features. I can almost guarantee that you will have no problem paying the premium fee to enjoy the peace of mind knowing your device is protected. Enter the giveaway below for your chance to win.  Also, share with your friends so they have a chance at winning also.

AMC Premium Giveaway

Land of Droid -

by Jeff Jessie at November 19, 2014 09:06 AM

November 18, 2014

Android 5.0 Deprecation: splitActionBarWhenNarrow

UPDATE: If your app specifically uses Theme.Holo (or themes inheriting from it), splitActionBarWhenNarrow continues to work on Android 5.0. If you are using Theme.Material — whether explicitly or because you did not specify a theme — then splitActionBarWhenNarrow no longer works.

Gosh, it would be nice if deprecated features were actually documented as deprecated.

Alas, in the case of splitActionBarWhenNarrow, this capability was quietly dropped in Android 5.0, but the documentation does not mention this. This goes beyond standard deprecation (“we think that there is a better solution that we would like you to use, but we will support this for the foreseeable future”). This is out-and-out “dead-ification”: splitActionBarWhenNarrow no longer splits the action bar, on Android 5.0+.

Of course, splitActionBarWhenNarrow was never a guarantee, and certain devices and configurations would not split the action bar. For many apps, therefore, the only real impact will be with aesthetics, where now a bunch of action bar items wind up in the overflow in narrow scenarios, instead of being visible on the split action bar.

Where the problem becomes much greater is if you were more significantly relying upon action bar items being directly visible:

  • You used actionLayout or actionViewClass for items and do not have a suitable onOptionsItemSelected() handler for the scenario

  • You assumed that your action item with the ProgressBar or the like would always be visible, so users now no longer realize that some background operation is going on

  • You assumed that your actionLayout would always be inflated and therefore crash when it is not inflated

  • And so on

While the official answer appears to be to use a bottom-aligned Toolbar, getting a look equivalent to splitActionBarWhenNarrow appears to be tricky, and the Toolbar approach will not work prior to API Level 21 (unless you’re going the route of using appcompat_v7, which has its own issues).

Again, Google is welcome to change whatever it wants, whenever it wants in Android. It is Google’s platform. It would just be nice if Google would actually tell people when they deprecate this sort of thing.

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

November 17, 2014

The Busy Coder's Guide to Android Development Version 6.2 Released

Subscribers now have access to the latest release of The Busy Coder’s Guide to Android Development, known as Version 6.2, in all formats. Just log into your Warescription page and download away, or set up an account and subscribe!

This update is smaller than I would have liked, and I apologize for that. It contains:

  • Some basic Android 5.0 coverage, including notes about various deprecations

  • Information on how Android 5.0 changes notifications, including heads-up and lockscreen notifications

  • A new chapter covering JobScheduler, the new Android 5.0 AlarmManager-with-more-brains system service

  • Added some limited material on batterystats and Battery Historian, the other developer-facing pieces of Project Volta beyond JobScheduler

  • Rewrote much of the chapter on service binding and remote services, including a fresh set of examples and coverage of Android 5.0’s restriction on the use of implicit Intents to bind to services

  • Updated the chapter on the Memory Analysis Tookit (MAT) to include how to use it from Android Studio

  • Rewrote parts of the first two tutorials to deal with changes introduced by Android Studio 0.8.14

There should be one more update to the book in 2014, probably in mid-December.

by Mark Murphy at November 17, 2014 12:12 PM

November 16, 2014

HTC Re first look

HTC Re first look

I’ve put off the real first look post on this camera until I had the finished product in my hands. I did have a video and post ready to go after the Double Exposure event. I didn’t post it, not because the hardware and software were bad, but because they weren’t finished. Seeing an unfinished product doesn’t help anyone decide to buy said product.

Before I continue, it should be noted this is only after a few hours of owning it and a bunch of sampling. A full review will be forthcoming. I’m having some fun with it so far, so let’s see what this little thing is all about.

DSC00455

I felt it was my duty to pick up the blue Re. I am a Maple Leafs fan after all! It almost matches my Reimer sweater. It measures a hair under four inches tall, an inch and a half between the edge of the lens and the edge of the capture button and the barrel diameter is 3/4 of an inch wide (Metric: ~10 x 3.81 x 1.905cm). There are only two buttons, a shutter button and a slow motion button. The micro-USB for charging and micro-SD slot are both on the bottom.

I purchased a 32GB card for the Re, as 8GB isn’t a hell of a lot for video. I’m not sure yet how I’ll be using this, but there are some truths that always apply: You can never have enough SD cards and it’s better safe than sorry. Changing the card involves removing the waterproof cover, giving the card a push and pulling it out. In practice this isn’t a lot of fun. The cover is continually in the way as it’s tethered to the bottom of the camera and the card doesn’t eject far enough for me. Tweezers would have helped, but I got it eventually.

Sample Photos

Rather than make a usual gallery I’m going to post a couple and talk about them a bit. Context is important in this part.

Normal Stills


RE CameraRE Camera

 

It seems a little hit and miss here. The first photo is the Re taking a picture of the live view on my HTC M8. That one came out a bit fuzzy and off. The latter, however, is of acceptable quality. If you’re expecting full frame or APS-C quality out of a camera with a f/2.8 16 megapixel sensor, prepare to be disappointed.

Ultra Wide Angle

RE Camera RE Camera RE Camera

 

Of the last two photos, one is with wide angle and one isn’t. Can you guess which one? This ultra wide angle setting was something I was eager to test and left me wanting in the end. All my test shots leave a huge fisheye effect on the photo. The picture of the bench seat shows just how exacerbated it can be. In the Re app, it is possible to turn a wide angle shot into a regular shot, but something curious happens there:

Screenshot (01_27PM, Nov 16, 2014)

It is actually named “defisheye”. I’m not saying this is a bad thing. I’m saying know what’s going on here with the wide angle shots. There are surely some really creative people out there who could use this to their artistic advantage. That or make every iPhone bend…

Video

 

 

I would be remiss in my duties if I didn’t admit my stupidity here. I never turned ultra wide angle off before I shot this video. I’ll do a proper comparison for the full review, but the big takeaway here (aside from dat fisheye) is the audio is actually quite good. The microphone is essentially a pinhole affair atop the camera. As I walked through those crisp New York Autumn leaves, you can hear the crunch really well. I’m not disappointed at all with the Re video functionality.

I realize there is a lot missing here. It is important to remember this is not the full review. This is playtime for us, and in a week or so of actually using the Re properly there will be much much more to say. Stay tuned for that fun!

Land of Droid -

by Scott Kenyon at November 16, 2014 07:37 PM

The State of Android Hardware Companion Apps

 - Doing Android wrong makes me distrust your product's future.

Time after time I keep running to this same issue: hardware companies don't get Android. Companies building expensive products are either completely failing in their mobile app strategy across the board or put all their efforts to their iOS app effectively making their Android apps an afterthought.

But what does it matter as long as it works (on some level)?
Trust. It's all about trust.

I simply don't trust companies who don't seem to care about Android users. I've been burned too many times before. And I don't think I'm the only one.

Because of past bad experiences my shopping decision now includes looking up the Android app of the product I'm considering purchasing and seeing if it looks like an Android app and if it seems to be built the right way (scalable, uses notifications correctly, etc basic Android platform knowledge).

If I see things like use of the menu-button-of-shame, strange notification use, use of iOS UI components or UI structure etc. I know that the company is not regarding Android as a first class citizen in their own ecosystem.

When the platform I'm using is clearly at the end of the priority queue of the company whose products I'm considering buying it tells me few things based on my past experience. The UX of the mobile app is likely to be subpar. I'm likely going to get a feature limited version of the software and all new and improved features are going to arrive to me much later than if I was using iOS. Still... I'm paying the same price for the hardware product.

I simply do not trust that the device is worth the money if the company doesn't think that it's worth their time to look into the most used mobile platform of the world.

No thank you!

Cross-platform disasters

Some companies building high-end (or at least expensive) products like BOSE seem to be completely failing to understand the importance of creating mobile user experiences. With their SoundTouch Controller (iOS) product they seem to have gone the route of ignoring all platforms and build an app with some cross-platform tool and the results are as expected.

There's no way I'll put my money into your product if you don't understand how to build mobile apps. It might be that use of the mobile app is just a secondary way of controlling the system and "an additional feature" but if this is the quality of your product I doubt I'll enjoy the rest of it either!




iOS-first (only?) approach

Now, this might be justified on some level but there's limits. Making hardware that talks to mobile devices is difficult. Bluetooth as a technology sucks big time but that's unfortunately what we have to use (at least for now). It probably makes sense for companies to pick the largest segment of their market to target first when building software to their hardware which is relatively standards and least fragmented.

After the start I'd expect to see the Android support added relatively quickly. It's a massive market. Let's say that you decide to target just couple of the top-end Android phones in the first iteration you will likely target a very similarly sized audience. While you might encounter some issue with some devices you can start ironing out the issues one-by-one.

But seeing something like this in an online store of bleeding edge hardware maker a year after the device release causes problems. As customer shopping in the Runtastic store this makes me pause. I will think twice buying any of the hardware that is compatible with Android as I'm not sure where my platform fits in their corporate strategy?


In case of Runtastic this becomes even worse. With Runtastic I'm not only buying their hardware to use. I'm also buying into their ecosystem. I'll be uploading my info to their systems, using their exercise apps and so on. If I subscribe to their ecosystem will I be treated on the same level as people using iOS devices?

Direct iOS ports

Then there's something that I don't understand at all. This should never be done by anyone. A company that takes time to make their hardware compatible with Android but for some unfathomable reason decides to port their iOS app directly to Android without looking into Android platform guidelines, UX etc. I cannot understand how this still happens in 2014.

Building Android apps right way is much easier than trying to make your apps look and function like iOS apps. Still. Some companies insisting doing this in the way we in Finland call "climbing a tree ass first" ("perse edellä puuhun).

Parrot's Flower Power is an interesting product that monitors how your flowers are doing. But what they've done with their Android app is beyond belief. It is a 1-to-1 direct port of their iOS app. From the minute you open the app on your Android device you feel like it is not built for you.

The app uses iOS bottom tabs which immediately make the app navigation not functional when combined with the Android back button. It's also style-wise mostly just confusing to all Android users. Tabs in screens don't work as expected (where's my swipe gesture), the whole font throughout the app is strange, it's full of custom controls that don't belong to the platform and they've even implemented features that you really don't need to implement on Android as the platform gives them to you for free. And top of everything the app is, of course, locked into one orientation (a sure tell that the design is not flexible).

I simply cannot understand what made them to do this? Are there no Android users in the company management? Is there no designers using Android at all in the company? This app is very confusing, ugly and doesn't belong on Android. There's no way I will buy hardware that is supported this poorly on my platform.


iOS-only marketing

Another thing with hardware manufacturers that I fail to understand is the lack of Android presence on their websites. Maybe the most striking example of this is Parrot Zik 2.0 website. Take a look at the site. Would you imagine that you could use the headphones with Android as well? On the surface no. Every single image on the site is an iPhone running their software. There's even sentences like "They are made for iPhone, iPod, iPad.".


These things are not cheap. The Zik 2.0 costs almost $400 in Amazon.com by the time of writing this.


Scanning the Parrot website for compatibility there's, in fact, exactly one mention of "Android" and it is this: "Free app compatible with smartphones running on iOS, Android".

Anyone wanna take a guess how good their Android app is?

This $400 headset comes with a companion app that looks like absolute crap. It's, of course, exact clone of the iOS app but in this case it's bad on both platforms.

The app is locked on in portrait on phones and to landscape on tablets. It also fails in some very basic UI design things like using margins and alignment. It also has reinvented all the controls.

The best of all it has a menu-button-of-shame. This is such a direct proof that this app was built without any knowledge of the Android platform.


The app also immediately adds a persistent notification to your status bar when you open it. The notification content simply baffles me. And maybe not a big surprise that the notification's priority is set incorrectly so it's always fully visible.


There's a lot more I could point out in the app as issues but I think I've made my point. Do I want to pay $400 for headphones if this is the quality I can expect? Hell no!

Crowdfunding projects

Kickstarter and indiegogo are both full of tech projects looking for funding. More often than not you see these small startups fighting for funding completely fail to understand that platform differences matter. You see pitches in Kickstarter that claim support for iOS and Android but they only show iOS devices in their campaign page (or even worse, some strange abominations like below).


As Android community, we're already getting burned very often by large manufacturers and it's making us careful. When you choose to show only iOS devices on your campaign page it tells us that if I back your project I'll likely have to wait for features iOS users will get earlier. Personally, I'm not backing projects like that anymore.

Self-fulfilling prophecy

Android users don't spend money. iOS users are where the money is. - You've probably heard this statement before. If this is true you can hardly blame the manufacturers for putting their efforts into iOS and then doing something half-arsed to tick the box for having an Android app later if they get around to it.

I would not be surprised if this attitude in the industry was the cause for Android users not spending the money to these products. It's quite natural. If you show that you don't care about my UX I'm not going to give my money to you.

If you think that Android users would not buy your products maybe the fault lies with you and not with Android users? Are you creating products worth buying? Can you really afford to ignore 80% of the potential market?

Conclusion, TL;DR

This post turned out to be a bit more whiny than I intended it to be but I think the point becomes clear. While in many areas Android has finally became a first class platform in hardware companion apps there's a lot of space for improvement.

While there are hardware manufacturers who are already pushing quality of their mobile software they're more of an exception than a rule. I see this as a lot of unused potential. A manufacturer doing their Android apps right can differentiate positively from the crowd. Any takers?

by Juhani Lehtimäki (noreply@blogger.com) at November 16, 2014 05:03 PM

November 12, 2014

A Useful Checklist for Google Play Games Services

If you are building an app that uses Google Play Games Services for leaderboards and achievements, be sure to go through the checklist provided on the Google developers website. Here is the link: Checklist for Google Play Game Services. I was reworking how my space war app connects to Play Games Services when I found the page. It really helped to have the checklist, and it was good to have the sample TypeANumber demo app to go along with it. Continue reading

by Bill Lahti at November 12, 2014 03:36 AM

November 11, 2014

HTC One M9 rumored to have quite the beefy spec list

HTC One M9 rumored to have quite the beefy spec list

The HTC One M8 when released was one of the best phones you could get on the market, and according to the latest rumors HTC is certainly looking to repeat that. The HTC One M9 rumors if all come true would make the M9 one of the most desired Android phones.

Rumored Specs:

  • 7.1mm thin
  • 5.2″ 2K screen with a 564ppi
  • Qualcomm snapdragon 805 SoC
  • 3GB RAM
  • 64GB or 128GB versions
  • 64-bit

It is also safe to assume we will see a bigger battery maybe in the high 3000mAh range maybe even stretching the bar to somewhere in the 4000mAh range, and we should also see a better camera sensor. These are all just rumors for now and there is no definite release date but it is likely we will see this at Mobile World Congress in March of 2015.

IBT

Land of Droid -

by Tyler Maciaszek at November 11, 2014 08:05 AM

November 07, 2014

What are static variables? Why it is used? What is it’s use? – A Common Interview Question.

The static keyword is used in java mainly for memory management. We may apply static keyword with variables, methods, blocks and nested class. The static keyword belongs to the class than instance of the class.

The static can be:

  • variable (also known as class variable)
  • method (also known as class method)
  • block
  • nested class
  • Static variable

  • If you declare any variable as static, it is known static variable.
  • The static variable can be used to refer the common property of all objects (that is not unique for each object)
  • The static variable gets memory only once in class area at the time of class loading.
  • For eg:

    public class Test {
    	public static String st_var = "I'm a static variable";
    }
    

    We can use this in another java class like below

    public class Application {
    	
    	public static void main(String[] args) {
    		System.out.println(Test.st_var); // call using Class name itself.
    	}
    
    }
    

    One common use of static is to create a constant value that’s attached to a class. The only change we need to make to the above example is to add the keyword final in there, to make ‘st_var’ a constant

    Another classic use of static is to keep count of how many objects are created from a given class. Since Memory is allocated only once for a static variable, If you create any number of objects ,then all objects will have only one common static variable. In this way we can count the number of objects created by incrementing the static variable inside that class

    If you make it Final, then it is unchangable after initial value.

    static method

  • If you apply static keyword with any method, it is known as static method
  • A static method belongs to the class rather than object of a class.
  • A static method can be invoked without the need for creating an instance of a class.
  • static method can access static data member and can change the value of it.
  • For Example

    Class Test{
     static void change(){  
         st_var = "CHANGED";  
     }  
     }
     and call Like this 
     
     Test.change(); // no need of object creation
     
    

    Restrictions for static method

    There are two main restrictions for the static method. They are:

  • The static method can not use non static data member or call non-static method directly.
  • this and super cannot be used in static context.
  • For Example

    class A{  
     int num=50;//non static  
       
     public static void main(String args[]){  
      System.out.println(num);  
     }  
    }  
    

    The output of above program will be a Compile Time Error.

    by James at November 07, 2014 06:14 AM

    November 06, 2014

    Simple way to Animating Layout Changes in Android.

    A layout animation is a pre-loaded animation that the system runs each time you make a change to the layout configuration. All you need to do is set an attribute in the layout to tell the Android system to animate these layout changes, and system-default animations are carried out for you.

      Create the Layout

    In your activity’s layout XML file, set the android:animateLayoutChanges attribute to true for the layout that you want to enable animations for. For instance:

    <LinearLayout android:id="@+id/container"
        android:animateLayoutChanges="true"
        ...
    />
    
      Add, Update, or Remove Items from the Layout

    Now, all you need to do is add, remove, or update items in the layout and the items are animated automatically:

    private ViewGroup mContainerView;
    ...
    private void addItem() {
        View newView;
        ...
        mContainerView.addView(newView, 0);
    }
    
    

    Here is the complete sample layout file.

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:id="@+id/container"
        android:orientation="vertical"
        android:layout_height="match_parent"
        tools:context=".MainActivity" 
        android:animateLayoutChanges="true">
    
        <Button
            android:id="@+id/buttonAdd"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Add Views" />
    
         <Button
            android:id="@+id/buttonRemove"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Remove Views" />
         
    </LinearLayout>
    

    The MainActivity file.

    package com.coderzheaven.demo1;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.LinearLayout;
    
    public class MainActivity extends Activity {
    
    	LinearLayout mContainerView;
    	int id = 0;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    
    		mContainerView = (LinearLayout) findViewById(R.id.container);
    		Button click = (Button) findViewById(R.id.buttonAdd);
    		click.setOnClickListener(new OnClickListener() {
    
    			@Override
    			public void onClick(View arg0) {
    				addView();
    			}
    		});
    		Button remove = (Button) findViewById(R.id.buttonRemove);
    		remove.setOnClickListener(new OnClickListener() {
    
    			@Override
    			public void onClick(View arg0) {
    				removeView();
    			}
    		});
    	}
    
    	void addView() {
    		Button b = new Button(this);
    		b.setId(id++);
    		b.setText("Button " + id);
    		mContainerView.addView(b, 0);
    	}
    
    	void removeView() {
    
    		View v = (View) findViewById(id - 1);
    		if (v != null) {
    			id--;
    			v.setVisibility(View.GONE);
    		}
    	}
    }
    
    

    Just try with a sample layout and see the magic.

    by James at November 06, 2014 11:38 AM

    October 31, 2014

    Chrome Beta easter egg game

    Chrome Beta easter egg game

    Ever wanted to see a dinosaur jump over a cactus? No, well me either but Google has made it into a game of sorts. The new easter egg in chrome beta allows you to play that game. Just turn on airplane mode, go to the chrome beta, type in google.com, and click on that dinosaur.

    Warning: My phone opens chrome beta in quite a weird way I am using a oneplus one with mahdi rom but I wanted to show off the easter egg anyways. 

    Reddit

    Land of Droid -

    by Tyler Maciaszek at October 31, 2014 12:06 PM

    October 12, 2014

    CM11 ported to Galaxy Tab Pro 12.2 SM-T900

    The post CM11 ported to Galaxy Tab Pro 12.2 SM-T900 appeared first on galaxytabreview.

    It took Cyanogen mod guys some time to bring it to the SM-T900 but it is finally here. The cm-11 ROM is very snappy and responsive, there is no reason not to use it as a daily driver. Before flashing it’s recommended to update to TWRP 2.8.0.0.

    Note:

    - IR blaster problem apparently solved with Bonuzzz’s new kernel, non-verified
    - Lid sensor – solved with Bonuzzz’s new kernel, verified.

    The boot image will stay idle for a couple of minutes at start-up, just be patient, once the cm logo is seen it will run smooth. Xposed Framework might need re-initialization after each boot, which is common for all CyanogenMod ROM’s.

    This is an AOKP ROM, why you also need to install gapps (set of packages – full, mini, micro, nano, pico).

    CM11 ported to Galaxy Tab Pro 12.2 SM-T900

    by Galaxy Tab Review at October 12, 2014 11:21 AM

    The Samsung Galaxy Tab Active has weird design

    The post The Samsung Galaxy Tab Active has weird design appeared first on galaxytabreview.

    Samsung has rolled out its rugged tablet called Galaxy Tab Active in USA. It is already up for preorder and Sammy is targeting business and enterprise users with it. It features 8 inch display backed by 16 gigabytes of storage. It is certified by SAP and Citrix and comes preloaded with Knox enterprise security solution which first made its debut in Galaxy S4.

    The Samsung Galaxy Tab Active has rugged design and is quite chunky to hold. On the brighter side you get water resistant and anti shock casing which makes it great for outdoor activities.

    Samsung Galaxy Tab Active review

    Samsung says that it is especially effective for use in rough workplaces that involve proximate outdoor use. This implies that the company is targeting business houses that tablets are used outdoors, for instance construction and shipping.

    by Galaxy Tab Review at October 12, 2014 11:12 AM

    October 10, 2014

    Navigation Drawer - Where Does it Belong in the View Hierarchy?

    It used to be so simple.

    http://developer.android.com/design/patterns/navigation-drawer.html

    But things change. Sometimes you have to break the old to create new. When the Navigation Drawer pattern became a part of the Google's design guideline for Android it was clearly defined and the implementation was available of devs to use.

    But did Google make a mistake in the initial definition? It might have seemed correct at first but there was a mistake in the spec.

    Things are now changing. New updates from Google have moved things around. The new Material Design guidelines define the navigation drawer (now called Side Nav) on top of everything in the app UI.

    http://www.google.com/design/spec/layout/structure.html#structure-side-nav-1

    We're now in middle of a transition again. Google is changing their apps and while the process is ongoing there's a lot of variation in the released apps. I would really love to see Google to unify the way they use the drawer to send a clear message to app developers.


    But what does it matter where it is rendered? It still just works!

    I think it matters a lot. This is something that tells the user what they're controlling. If the drawer is the main navigation of an app it becomes one of the most important controls to get right.

    View hierarchy tells user which parts he or she is manipulating when they press an item in the navigation.

    This is what the previous drawer hierarchy looks like and this is what the recent update to Photos app also did. In my opinion there's two things that are wrong with this approach.

    Firstly, this implies that the action bar will not change if I navigate to any of the entries... but it does.

    Secondly,  the action bar actions are still active when the drawer is open but they affect the content that is currently hidden behind the drawer.

    Confusing.


    In the latest Google Hangouts app the drawer renders on the same level as the tabs. This tells the user that when I navigate to another item from the drawer the tabs will stay in place. That's not what's happening here though. I think this implementation is wrong and should be corrected.

    The latest update to Google Newsstand adheres most closely to the Material Design guidelines from any of the Google apps.

    I think this implementation is great and the correct one. When I navigate the whole content changes, including the action bar. This corresponds most closely to reality.


    Making the drawer the highest level component also allows us to avoid unpleasant visual issues with action bars that move away when scrolling not unlike what is happening in the latest Google Play update.











    Ok, things are changing and Google still haven't really worked out everything internally for the next iteration. I'm hoping that a consistency is found soon and we can move on. Until then we have to be mindful of our implementations.

    Changing familiar things is never easy. I polled the public opinion about this change on Google+ to see what the opinion in general is right now. Change will take time.


    https://plus.google.com/u/0/+JuhaniLehtim%C3%A4ki/posts/Xms3aQ6LweU

    by Juhani Lehtimäki (noreply@blogger.com) at October 10, 2014 01:30 PM

    October 07, 2014

    New Tech mine hard difficulty

    Another update went live in the market last night. This one fixes various issues introduced in the last update, but the biggest change is to add a hard difficulty to the tech mine.

    Hard levels are variations on the normal set, but… harder. In some cases this just means that there are fewer ores, but in others there are subtle differences, large layout changes or even objective changes in place. If it is popular I’ll try and do the same for the rainforest pack.

    You can also now play tech mine in freeplay mode (although there is a bug that means you need to go into the mission pack level select screen first, otherwise you’ll get a crash when starting the level – this will be fixed in the net update).

    Other changes:

    - Fixed visibility beaneath miner when near an edge (the tile beneath you now reveals where approaching an edge)
    – Fixed pro/extreme difficulty mix up
    – Made objective stars harder to click accidentally
    – Improved some menu layouts
    – Fixed some bugs in the map screen
    – Fixed signs not appearing
    – Fixed harold short changing you when he buys multiple items
    – Fixed various bugs with photography in tech mine
    – Performance improvements


    by Psym at October 07, 2014 11:06 PM

    Students and Mobile Apps Infographic

    This infographic shows the latest trend in mobile app usage amongst college students.

    Students and Mobile Apps Infographic

    The App-Aided College Student | Campbellsville U Infographic
    Presented By Campbellsville University Graduate & Professional Studies

    The post Students and Mobile Apps Infographic appeared first on Android Apps.

    by Chris at October 07, 2014 08:15 AM

    October 03, 2014

    Award for our Android Gas Sensor

    I just got a mail that our gas sensor entry (a gas sensor with Bluetooth Low Energy connectivity and the associated Android application) has just won 3rd place on the We Know RFDuino contest. Thanks to everyone who viewed our video and thus helped us to compete successfully! Meanwhile the source code of the prototype was made open source so you may want to check out that too!

    by Gabor Paller (noreply@blogger.com) at October 03, 2014 01:53 PM

    September 30, 2014

    Android UI Design Patterns & Anti-Patterns

    There's often a communication gap between Android developers and designers. This talk introduces basic UI concepts and reveals the simple patterns that exist within well designed user experiences.

    by Evan Davis at September 30, 2014 08:15 PM

    September 28, 2014

    Reimagining Play: Interview with PlayMG’s Taylor Cavanah

    Last month, we brought you a review of the MG, an Android powered handheld gaming system designed for casual games. The combination of vanilla Android and the MG’s custom parental controls made the device a compelling option for gamers young and old alike, and its comparatively low price combined with the vast Android software library offered an unbeatable value.

    The team behind the MG had obviously done their homework and targeted the product to a very specific market which was otherwise being ignored. Rather than throwing out a half-realized device that didn’t resonate with any particular use case, the team engineered the hardware and software experience to their target audience to great effect.

    Taylor Cavanah

    Taylor Cavanah

    To learn more about the focus and vision which made the device a reality, we got in touch with MG’s physicist turned meta-gamer Taylor Cavanah.

    Creating the MG

    The Powerbase: Taylor, thanks for taking the time to talk with us. Can you start by telling our readers a bit about yourself and your background?

    Taylor: I’m a physicist and started my career in Nanotechnology at Zyvex.  After finding some success in developing the nanoprobing market for the semiconductor industry I decided to strike out on my own.  My buddies and I started our own software company – Locai – and a year ago we combined forces with the hardware and business guys from ACTScom to launch PlayMG.

    The Powerbase: What exactly is your role at PlayMG? What are your day to day responsibilities like?

    Taylor: My specific role involves game/app design, platformsoftware design, business development, innovation, and as is the case with all start ups – many more roles.  Day to day I was either talking with game houses, working with the hardware guys to design the user experience, writing the story behind our game within the gaming device app Origins, looking for interesting apps to work with, working with marketing to craft the messaging behind these features we were building, and testing devices in every possible way.

    The Powerbase: PlayMG has no qualms about the fact it has targeted the MG to younger gamers. Why do you think the younger gamer is so important? What makes the MG a better option than, say, mom’s old smartphone?

    Taylor: Every one has a slightly different opinion on this but for me the younger gamers make the most sense because they can’t have phones.  Whether their parents don’t want them or can’t afford the data plans, there are a lor of younger gamers who love apps but can’t get access to them.  The “hand me down” argument is definitely valid.  I can hand down my phone and just remove the plan and then they have a smart device.  That’s where our added benefits factor in to the equation.  You can’t get Family Collaboration, SpendSmart, or the Origins game in a hand me down.  And sometimes more importantly, you can’t get that “awe” moment when your son or daughter opens up your repackaged device from 2 years ago.

    Android and the MG

    The Powerbase: Its differences aside, the majority of the MG’s software is straight Android. Would it be safe to say that, if it wasn’t for the open nature of Android, the MG wouldn’t exist in its current form? Would have putting this same hardware out with a proprietary operating system have gotten you as far as Android has?

    Taylor: There is no way we would exist without Android.  The barrier of entry previously was just too high.  We got a solid and awe inspiring product to market in 9 months.  Core to that was not having to build an entire OS.  Not just in terms of getting something to market but that greatly helped us focus our time and money where it mattered – on the added benefits like Family Collaboration and Origins.  This is what I love about open source – you get to make products with extremely well designed experiences where it matters.

    The Powerbase: One of the biggest selling points early on was that the MG would be a vanilla Android device, meaning it would be as close to AOSP as possible. In the end the MG delivered on that promise, and is one of the few non-Nexus devices available running stock Android. Why was running stock Android so important for the MG?

    Taylor: Part of that answer has to do with my previous answer – it’s just easier to not build stuff you don’t need.  I think everyone can point to some larger companies that have large engineering staffs that have to build stuff because those salaries are being spent no matter what.  Then you get a lot of customization away from stock.  But most of that is useless and provides no value to the customer experience.  A lot of engineers also like the job security that building all of this custom stuff gives them.  They will always be needed because only they know how this version of flavored Android operates.  For us it was exactly that overhead that we didn’t want.  If we build our own flavor of Android then every new app or platform we create down the road has to take that into account.  We had to keep our focus on what mattered for the end user.

    The Powerbase: From a development perspective, stock Android is generally preferable to manufacturer modified builds, but what about the end user? It’s no secret that the most popular Android devices (such as Samsung’s Galaxy line) make use of manufacturer modifications to their interface and applications, so the public doesn’t seem to mind. Do you ever worry that shipping with stock Android rather than a build with more visual flair and streamlined functionality pleases the developers at the expense of the end users?

    Taylor: I have never believed that popularity of a device has anything to do with how well it is designed or received by customers.  The large software guys have proven time and again that being big in a space and having a ton of money can make up for a lot of deficiencies.  I say this because I don’t believe customers buy the Galaxy line because of the manufacturer improvements – most customers have never seen stock Android so they don’t know any better.  My guess is the commercial bashing the iPhone (hilariously with the parents in line) did a lot more than the user experience.  From what I’ve seen all of the added modifications make little difference to the real end users (not us tech types who are too deep in the space).  We found you could do an amazing amount of things just using the widget system in Android to change the user experience – without huge teams to build and then manage modifications.

    The Powerbase:  Some would say that shipping the device with vanilla Android only makes sense if it’s kept up to date with AOSP (such as the Nexus line), but the MG is still on 4.0.4. Why hold the MG back? Are there plans on updating to Jelly Bean (and beyond)?

    Taylor: We will update to Jelly Bean.  But with such a low saturation of Jelly Bean and many apps still not upgraded for the experience it doesn’t make sense to expend the effort.  Again we’ve got to focus on that end user experience and the only people ever asking for Jelly Bean are analysts or the random parent who just saw some article that mentioned the new Jelly Bean thingy for Android.

    Expanding Android Gaming

    The Powerbase: One of the best features of the MG, at least for parents, is unquestionably the Family Collaboration System. While it currently sets the MG apart from the competition, would PlayMG consider bringing it to generic Android devices? Perhaps charging a monthly subscription fee when used on non-MG hardware?

    Taylor: We are always weighing the pros and cons of releasing some of the proprietary apps to the Play Store.  Right now we only have to manage one device, we get to ignore fragmentation, and we have a competitive advantage.  I don’t see us releasing the apps until we are much more established.

    The Powerbase: An advantage of putting out an Android based gaming system is, of course, that you aren’t responsible for developing or publishing games for it (unlike traditional game consoles). That said, are there plans to talk to developers about MG optimized games? Is that already happening?

    Taylor: Nothing that I can talk about but we definitely have plans and some preliminary talks about using our PlayMG IP to create games.  Any game developers interested (especially if they want to do something outside of the normal bounds of gaming) should get in touch with us.

    The Powerbase: You can’t talk about Android gaming anymore without mentioning the OUYA; while it’s aiming for a completely different market than the MG, are there any parallels you draw between them? Do you see families owning both devices in the future?

    Taylor: Mine arrives in 3 weeks (if I had more time and money I would have gotten a developer version).  I would love to work with OUYA in the future and I do believe that console gaming and portable gaming will always be with us.  Where the hardware, software, and interfaces end up who knows but for now there are many opportunities that could be explored between the two companies.  For the next year though I’m guessing both of us will be too busy to pursue them.

    Looking Ahead

    The Powerbase: A common criticism of the MG is that it lacks physical controls. This was a design decision based on the intended userbase for the MG, but it’s also undeniable that there are hardcore gamers out there that would appreciate an MG-like device with physical input. Is this a challenge PlayMG might take up in the future? Perhaps a device like the Sony Xperia Play, but in a non-contract form like the MG?

    Taylor: I don’t see that happening.  Our target user is not hardcore and in fact probably did not grow up with a game system that had controllers.  But at an even deeper philosophical level (get ready for the fan boy to come out) I think the portable gaming systems with controls aren’t just missing the mark but don’t really have a mark to hit.  Portable gaming is about the casual experience on the go or that little block of entertainment that you carry around in your pocket.  I have so many different serious game devices where I can have mind blowingly immersive experiences – but that’s not what you want in a portable gaming device.  At the end of the day we talked to a bunch of “gamers” in our demographic and they wanted a device they could put in their pocket versus a device that let them play games designed for pre-touch devices.

    The Powerbase: If it’s not giving too much away, what can you say about the future of PlayMG and the MG itself? Anything current or future owners should be looking out for?

    Taylor: We have some great plans for the Family Collaboration System – making it much more collaborative.  A lot of parents and even kids have asked for expanded features here.  I’m most excited about expanding the portable fun in the device.  The entire industry as a whole is barely scratching the surface of what you can do with portable gaming.  We have some very interesting things planned for making shared portable gaming experiences like no one has seen before.  Unfortunately I can’t say much more than that.

    Thanks to Taylor and the entire PlayMG team for their assistance and professionalism while we worked on the original hardware review and this interview. We’re very interested in seeing where the future takes PlayMG, keep an eye out here on The Powerbase for future coverage of this unique company and its products.

    by Tom Nardi at September 28, 2014 06:47 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 September 28, 2014 06:47 PM

    September 24, 2014

    Devoxx 2013 Presentations

    All of the talks from Devoxx 2013 are now freely available on the parleys.com website. This includes all of the talks that I did with Romain Guy on Android:
    Filthy Rich [Android] Clients
    What's New in Android
    Android Performance Workshop Part 1
    Android Performance Workshop Part 2

    There's also an interview about the new features in KitKat.

    Then there's this somewhat less relevant Patterns, Shmatterns talk I did about software design patterns.

    All of the slides from the Android talks are posted on Romain's blog.

    by Chet Haase (noreply@blogger.com) at September 24, 2014 01:37 PM

    Latest Double Star Release

    The latest Double Star release provides the full game experience: (1) training at the academy; (2) saving our planet from the alien invasion; (3) searching the galaxy for the enemy home world. Twenty levels are available for play. There are mysteries, challenges, and rewards along the way. ... If you have not moved over to the new Double Star community, here is the link: https://plus.google.com/u/0/communities/113741436953313178716 ... For more about the app, see the earlier blog article on Double Star. Continue reading

    by Bill Lahti at September 24, 2014 12:30 PM

    August 23, 2014

    I hate missions! What’s in this update for me?

    All is on track for the release of the tech mine expansion pack tomorrow. Even if you don’t play the missions, there are plenty of changes to look forward to in the update (these affect the whole game, not just the new levels):

    • much quicker level generation and startup
    • you can now check objectives when outside of the camp by tapping on the stars in the corner
    • subtle character animations added, such as blinking
    • the cracks created when digging have been redrawn and have more stages, so you get more feedback when digging tough ground
    • lots of sprites retouched or redrawn
    • added a small element of randomness to the digging, so it doesn’t always take the same number of hits for a particular ore
    • less memory usage, less battery usage, better performance
    • removed annoying bat poop sound
    • lifts arrive slightly faster
    • added more detail to the map screen
    • silenced the low health warning when on the surface
    • fixed restart logo sometimes appearing in wrong ratio
    • fixed character “running on the spot” when returning to the game
    • fixed the characters in a conversation sometimes disappearing rather than sliding in/out
    • fixed a bug where the map markers could appear in the wrong location
    • fixed the saving spinner hanging around when it shouldn’t when in the shop or camp
    • fixed progress on hidden objectives animating when it shouldn’t
    • fixed an odd fade effect when stepping up a block that causing colour wierdness

    by Psym at August 23, 2014 10:36 AM

    July 17, 2014

    Freesat Android app launched

    Freesat, the vague organisation behind those TV tuners that let you get satellite TV without paying Sky any money, now has an official Android app. On a basic level it’s an EPG to tell you what’s on over the next seven days, although viewers with one of the more recent Freetime set-top boxes can pair it with their tuners and use their phones and tablets as remote controls — also triggering recordings from afar.

    freesat-android-app-1

    freesat-android-app-2

    It is therefore quite useful if you can get it to sync and work. Check out the Freesat app here.

    by Gary_C at July 17, 2014 10:41 AM

    July 05, 2014

    July 04, 2014

    The 1st SWIFT Compliant Ad Network – StartApp

    Swift Apple’s Worldwide Developer Conference unveiled a new C-based programming language known as Swift. This application will be able to restructure the Mac OS and iOS app development process. Swift takes high level coding language, combines it with C and provides the flexibility of Python and Node.js to create a world of applications to the developers.

    The iOS developers can now enjoy the benefits of memory management system which is automated in swift and syntax which is simplified to allow less room for error. The developers will also be able to provide far better quality apps which perform exceptionally as compared to the bug-prone and time consuming ones created by Objective-C.

    The Swift, as the name suggests, will be able to help the developers make apps quickly and easily by using this development process. It is not just the developers but also the users who can feel the difference between apps built on Swift and Objective-C. The graphics are much better, the applications are smoother and not to mention the annoying bugs that plague the apps from Objective-C have also been eliminated. Consumers will be able to get access to much cheaper apps that are not only helpful but also readily available.

    Swift has been gaining a lot of attention even though it is a new programming language because of being endorsed by Apple.  Apple is known for the quality of their products so the developers know they have a reliable language in their hands. They not only have a trustworthy product but also ready support available from the Apple Developer Team. The Swift experience will bring a paradigm shift in the Apple Development environment being moved from Objective-C to Swift.startapp

    The one thing that propels Swift in the application development is bad experience of using Objective-C. The language is not only difficult and time consuming, but there are only just a handful of highly skilled developers that are able to use it. With the coming of Swift, more developers will be able to create good quality apps which can be distributed freely or at a low cost.

    Even though Swift is a fairly new language which has not been tested extensively, it already has support from one of the best ad platforms – StartApp. The iOS software development kit is now compatible with StartApp which is an ad platform supporting Apple’s new language. The one thing that made it possible was that the integration of StartApp’s iOS SDK is very simple.

    It comes with the same superior banner ads and full page interstitials that are the USPs of StartApp. You can also get the additional OfferWall which provides both 2D and 3D graphic options. All the ads, regardless of the type, are optimised to suit the iOS interface which enhances the user experience. The graphics are crisp and the distortion of image has been eliminated.  The ads are available in both landscape and portrait modes.

    StartApp is the only ad network that has taken the Swift language under their wings. They are 100,000 partners strong and more than 1 billion SDK’s have been downloaded because of their relentless efforts at marketing and advertising. This definitely puts Swift in good hands, despite being newly born in the iOS developer sector.

    The post The 1st SWIFT Compliant Ad Network – StartApp appeared first on Android Apps.

    by Gigi Fenomen at July 04, 2014 12:51 PM

    June 27, 2014

    Google I/O 2014 Slides and Demo

    Chet and I gave a talk entitled “Material Witness” at Google I/O today. I am happy to announce that the entire talk is now available on YouTube. I have also published the following resources:

    Google I/O 2014 demo

    by Romain Guy at June 27, 2014 06:39 AM

    June 17, 2014

    Moto Maker for Moto X hitting Germany on July 1st

    After way too much time as a US-only exclusive and with the phone it pimps to the extreme already starting to show its age, Motorola’s finally ready to launch the Moto Maker customisation service for the Moto X in Europe.

    According to Motorola Germany, the case modding service will launch exclusively for those who buy a phone through Phone House in the country. Phone House is the German wing of Carphone Warehouse, so here’s hoping CPW picks up the deal and launches the custom phone option here in the UK too.

    moto-maker-uk

    This could be the answer to the tricky “eccentric summer phone” problem we currently face. As long as it’s cheap.

    Link via Androidsis.

    by Gary_C at June 17, 2014 07:30 PM

    June 02, 2014

    May 18, 2014

    March 30, 2014

    Maverick 2.6

    Maverick 2.6 is just released with map tiles downloader. You can “paint” areas to download with one finger or select a rectangle block using multi-touch. Select on the left all zoom levels you want to download. Tap and hold to select at once all zoom levels up to the selected level.

    Downloader

    Download: Pro versionLite version

    Related posts:

    1. MX Video Player: best AVI/MKV player for Android
    2. Neat Calendar Widget
    3. Adobe Flash Player 10.1 on Droid X

    by Jeff at March 30, 2014 01:18 PM

    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

    February 08, 2014

    Grails based survey system, the android app

    Some time back I wrote an article describing the roosearch system I developed using grails. This is the second part, the android client, please checkout the previous article otherwise this might not make much sense! After completing the grails component, I had a RESTful API available to me, and I just needed to build an […]

    by James Elsey at February 08, 2014 09:56 AM

    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

    December 07, 2013

    Robots! Part 2, the android client

    Continuing on from my previous post, I’ve created an android client that I can use to send commands to my python server. Ultimately I want to be able to control the robot remotely, the best way to do this would be to control the robot from a tablet or a phone which communicates wirelessly with […]

    by James Elsey at December 07, 2013 11:01 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() &amp; 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() &amp; MotionEvent.ACTION_POINTER_INDEX_MASK) &gt;&gt; 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) &gt; mTouchSlop || Math.abs(dy) &gt; 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 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 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

    April 08, 2013

    Switch The Party On with Native Union’s Bluetooth Speaker

    With Native Union’s SWITCH Bluetooth wireless speaker, you’ll be able to share your favorite music with everyone in the room. It’s also a great way to amplify games and movies from Bluetooth-enabled devices, and it can be used as a professional conference call solution with its full duplex microphone.

    amwiblog nativeunion switch beach sm Switch The Party On with Native Unions Bluetooth SpeakerDesigned by professional sound engineers to ensure exceptional sound and optimal clarity throughout the frequency range, the SWITCH features three powerful speakers — including an active sub-woofer and has an enhanced bass-reflex system. Featuring an intuitive volume control the SWITCH also enables you to effortlessly alternate between music and calls for up to 14 hours at a time. The battery is so powerful, the SWITCH can also function as a power bank for your mobile devices.

    The SWITCH can be used either vertically or horizontally, and it features a soft touch exterior that’s available in multiple colors. Check it out today, and get your party started.

    April 08, 2013 01:00 AM

    March 26, 2013

    Jabra Adds a New Dimension of Sound

    Delivering state-of-the-art design, ease-of-use, and outstanding sound quality, Jabra’s newest corded and wireless stereo headphones are perfect for hard-wearing, everyday use and portability. The lineup includes the over-the-head Jabra Revo — available in corded and Wireless versions — and the small but tough in-ear Jabra Vox.

    amwiblog jabra revowireless sm Jabra Adds a New Dimension of Sound

    The Jabra Revo Wireless

    Jabra has upped the ante sonically with the addition of Dolby Digital Plus technology for all three models. With Jabra’s exclusive Sound App for iOS and Android devices, you’ll enjoy a richer and fuller sound that is often missing in digitally compressed audio, breathing new life into your favorite music while giving it extra depth and dimension.

    Jabra Revo Corded and Wireless

    Both the Jabra Revo Wireless (a 2013 red dot design award winner) and Jabra Revo corded headphones (the latter available in gray and white) are solidly constructed using an aluminium frame, steel hinges, and a shatter-proof headband for extreme flexibility. Both the corded and Wireless versions are super comfortable with a padded headband and plush, memory foam ear cups. They feature a foldable design for quick, compact storage and come with a detachable cord and USB charging for convenience.

    Play or pause music, skip tracks, and take calls with ease by using in-line controls on the corded version instead of searching around for your phone. The Revo Wireless utilizes both Bluetooth and Near Field Communication (NFC) technologies to pair with your device, and its Turntable Touch Control allows you to easily play, skip, or pause your music while also managing calls.

    amwiblog jabra vox sm Jabra Adds a New Dimension of Sound

    The corded Jabra Vox


    Jabra Vox

    Size matters… especially when earphones so small command massive sound like Jabra Vox. Optimized for superior sound and performance with portable devices, the Jabra Vox really packs a punch. Get the perfect fit with specially designed ColorCore EarGels for enhanced comfort and deep sound. Vox’s earbuds are engineered to rest comfortably for extended use. The Vox also includes in-line controls for playing or pausing music as well as taking calls.

    Dolby Digital Plus

    With Jabra’s exclusive Sound App (available for iOS and Android devices), Dolby Digital Plus adds that extra depth and dimension to your music — extending bass performance and enhancing high frequencies so your music retains its clarity.

    The Jabra Sound App automatically identifies your music files so it’s easy to get started. Simply download the App, and you’re ready to go. Use the App to create and browse through playlists, share music on Facebook or Twitter and adjust the graphic equalizer so you can play your tracks as you want to hear them.

    Find the right headphone for your needs today, whether it be the corded in-ear Vox, corded over-the-head Revo (in gray and white), or the Revo Wireless for the ultimate in freedom.

    March 26, 2013 03:56 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

    December 22, 2012

    InDrive: Custom Car Home 1.0

    We are pleased to announce the launch of a new Android application that may appeal to everyone who uses their phone while driving.

    InDrive is a GPS-enabled application that combines the standard car home functionality with a trip computer and Poweramp support. The app makes it very easy to launch your favorite applications, directly dial numbers, view your trip information and control music playback*. It will auto launch when placed in a compatible car dock. If you don’t have a physical car dock, InDrive provides an option to force the phone into car mode, in which it will override the Home button.

      

    * The music screen is designed to work in conjunction with Poweramp. Without Poweramp installed, you will only be able to do very basic controls such as switching to the next song in the default Android music player. Support for other media players is not guaranteed.

    Please download the app from Google Play and tell us what you think. Your feedback is much appreciated.

    by Jeff at December 22, 2012 01:59 PM

    July 23, 2012

    Transfer of data using Intents (Part 2)

    Hi everyone!

    In spite of trying hard, I couldn’t prevent the delay. I am again sorry for that. Let’s move on. In the last post, I introduced the concept of transfer of data between activities. I also described the code for declaring an Intent which could help us in accomplishing the task.

    Now, it’s time to look at the code of SecondActivity.java, the second activity which will help us in adding new tasks to the list. As mentioned earlier, this activity will have an EditText to allow the user to input the task name and a Button, which when clicked, will take the user back to HelloWorldActivity.java and add the task to the List. The code for the click listener for this button looks as follows:

    1. String taskName = taskEdit.getText().toString();
    2. Intent intent = this.getIntent();
    3. intent.putExtra(“task”, taskName);
    4. setResult(RESULT_OK, intent);
    5. finish();

    Here, taskEdit is an object of class EditText. The first line extracts the data input to the taskEdit, converts it into string and stores it in a variable. Second line is used to grab access to the intent which called this activity. The third line is the one which actually does the job of putting the data onto the intent. intent.putExtra function used in this line basically adds the information contained in the second parameter to the intent and the first parameter provides a way to access it. We will see the use of the first parameter in a greater detail later, when we will try to access this information in HelloWorldActivity.java. I hope that the fourth and fifth lines will be pretty easy to understand. If not, please refer to the last three posts on Intents.

    The above code ensures that the clicking of the button takes us back to the initial activity with an intent which contains the name of the new task that is to be added to the list.

    Clearly, the callback function described in Part 1 of this post will be used to access the information carried by the intent since this function will be automatically called when the control is given back to this activity via an intent. Straight away, let’s look at the code!

    String extraData=data.getStringExtra(“task”);
    taskText.append(extraData+”\n”);

    I think it is self-explanatory. We are extracting the information from the variable data using the value of the first parameter of the function in Line 4 above, and saving it in a variable called extraData. The second line just appends this value to the list (referred by taskText).

    In this way, we received the name of the task from a different activity and display it in our main activity. This provides a clean and user-friendly interface which is the basis of a useful app.

    But here, we have not taken care of the situation when the user calls the intent to SecondActivity.java but wants to cancel it later. This is not perfect programming, though it can be dealt very easily. How?

    In the next post, we will finish our discussion on intent and move on to explore some new concepts in Android App Development.

    Till then, BYE!


    by Nikhil Gupta at July 23, 2012 12:44 PM

    July 11, 2012

    Transfer of data using Intents (Part 1)

    Hi all!

    Last time, we had looked at the most basic communication which can be achieved among activities. It allowed us to switch between activities back and forth, which is an important concept used in almost all the android apps these days.

    Moving on, it’s time to look at the data transfer using Intents. Consider the case of a simple Task application, in which a To-do list is shown in one activity while another activity performs the task of adding new items to the list. So, what’s happening here?

    Basically, we need to create a new task in the second Activity and somehow transfer it to the first activity so that it could add it in the existing list. Note that we are not using any database. If we do so which is done most of the times, this app will be useless in itself. But, I am still discussing this app because I feel that it’s the best in order to understand the concept of transfer of data which you may need in various other apps.

    In this post, I will not go through the layout or the entire code of the app. I may go through it later. But, I hope that you will be able to do so after going through the previous posts. As a hint, we will be using a TextView (to display the list) and a Button while making the first activity, while the second Activity will have an EditText and a Button.

    Assuming that we have an EditText in the second Activity and when the user presses enter, the string in the EditText is captured in a string variable called NewTask, we need to simply tranfer the contents of NewTask to the first activity.

    To achieve this, we need to call the intent when the button in pressed in the first activity in such a way that the Android platform knows that some data will be coming back to this activity. Continuing with the app from the previous post by replacing the startActivity(intent); by

    startActivityForResult(intent, 1);

    as a parameter acts as a unique code used to distinguish data received by this intent from the data received by other intents if more intents are used. Using the above functin, we have been able to call the intent, but we have not yet accessed the data which comes back with this intent.

    To achieve this, we need to use a callback function which will called automatically when the intent returns. Let’s look at the code for this function:

    public void onActivityResult(int requestCode,int resultCode,Intent data)
    {
              super.onActivityResult(requestCode, resultCode, data);
              if(resultCode==RESULT_OK)
              {
                          //Code to extract the required information from the variable data
              }
    }

    In our case, requestCode is 1. resultCode is a variable which is set to value RESULT_OK if the intent was successfully handled. data is the variable which contains the data received from the other activity.

    In the next post, we will look at the code to extract the information as well as the code for the second Activity which puts the information in the intent.

    Till then, BYE!


    by Nikhil Gupta at July 11, 2012 05:36 AM

    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 26, 2012

    Kikoriki: The Beginning

    Kikoriki: The Beginning [by HeroCraft] is yet another arcade adventure android game from the people that brought you Dragon and Dracula. The game is based on the Russian cartoon series “Smeshariki”, but the show is known by different names in other countries.

    Kikoriki - GameplayKikoriki - Gameplay

    The characters of the animated series become superheroes in this adventure, which is always fun for kids and adults. Children will probably enjoy it more than adults due to the excruciatingly child friendly atmosphere of the game. However, some grown-ups might give it a go just to try out the various super powers each hero possesses.

    Kikoriki - GameplayKikoriki - Gameplay

    Your mission is to vanquish evil and thus save the boring grown up world from destruction. How does one do that? Well, by working together of course, just like best friends should! The power of friendship is demonstrated in the game by allowing the player to switch between two characters during gameplay and use their individual super powers to solve puzzles, defeat bosses and do anything to complete the level.

    Kikoriki - GameplayKikoriki - Gameplay

    The three chapters of the story take you from the happy land of Kikoriki to the boring grey Megapolis. Each chapter tells a different story and allows you to play various characters. The game has brightly colored, simple and yet well drawn cartoon style graphics with smooth animation. The controls might take a bit of getting used to, the joystick in particular. I do like the soundtrack, which reminded me of the music from good old cartoons like Tom & Jerry. Kikoriki will only set you back $1, unless you don’t really love your children that much, in which case you can opt for the lite version. Either way, the game will help keep your kids preoccupied and will not only help them learn about friendship and growing up, but will also teach them that if you touch purple butterflies it will make you sneeze stars.

    by Gamer-K at June 26, 2012 04:44 PM

    Dragon and Dracula

    Dragon and Dracula [by HeroCraft] is a fun and challenging arcade android game that is sure to touch the hearts of the Mario and Spyro the Dragon generation. It takes the jumping, coin collecting and shrooms – the inspiration for many 90’s games – from Mario, giving the role of the hero to an increasingly awesome dragon, whose job is to defeat Dracula.

    Dragon and Dracula - GameplayDragon and Dracula - Gameplay

    The fact that you start the game with just a little baby dragon that jumps can be disappointing, at first. However, as you progress through the 25 levels of the game, learning new skills, collecting artifacts and battling enemies, you will see the little guy go through three stages of evolution. With every new form the dragon grows, acquiring fire breathing, flying, climbing and head bashing abilities, not to mention a mean look.

    Dragon and Dracula - GameplayDragon and Dracula - Gameplay

    The dragon’s natural abilities are enhanced with the always popular temporary perks such as invulnerability, increased speed, regeneration and many more. They will be of great help on the quest to destroy the Dark Lord’s minions and defeat the legendary vampire that is Dracula. Gamers who find the adventure to be unfulfilling can enjoy some mini games that are unlocked during gameplay.

    Dragon and Dracula - Gameplay

    Controls might take a couple of deaths to get used to and actually made me play with my tongue out, which I have not done in a while. The menu is very well thought through, easy to navigate and has all the information on game controls, settings, stats and sharing options. Thanks to the simple yet visually pleasing and familiar graphics, the gameplay is smooth. Not a fan of the soundtrack though, which sounds like old Japanese game techno music. For only $1 Dragon and Dracula has a lot to offer with tricky levels, epic boss fights, addictive mini games and main character customizations. If you are just looking for a fun adventure or want to prove yourself on a global scale, this is the bargain to go for.

    by Gamer-K at June 26, 2012 04:33 PM

    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