Showing posts with label Android. Show all posts
Showing posts with label Android. Show all posts

Monday, September 10, 2012

Google Drive: Updates for iOS and Android


[Cross posted from the Google Official Blog]



Every day, more and more people are choosing to live online and get things done in the cloud the cloud. Helping to make this experience as seamless as possible, Google Drive is one place where you can create, share and keep all your stuff. Drive is available on the web, as well as Mac, Windows and Android and iOS.



Updates for iOS

Starting today, if you’re using the Drive app on your iOS device you can also edit Google documents, just as you can with the Android app. From your iPhone or iPad, you can create a new document, edit an existing one or format text. And, just like on your computer, you’ll be able to see other people’s edits instantly as they’re made.







You’ll also notice other new improvements to the iOS Drive app. For example, you can now view Google presentations on your iPhone or iPad, including speaker notes, full-screen mode and the ability to swipe between slides. You can also create new folders, move files into folders and upload stuff (like photos and videos) from your device directly in the Drive app.



Updates for Android 

We’re also updating the Drive app for Android phones and tablets today. You can now add comments, reply to existing comments and view tables in your Google documents. And you’ll have the same new abilities to view presentations and organize your stuff as your friends with iPhones do.



More to come... 

Looking ahead, we have plenty more planned for the Drive mobile apps—including native editing and real-time collaboration for Google spreadsheets. Stay tuned.







Get Drive in the App Store for your iPhone, iPad or iPod touch and visit the Play Store to get the latest on your Android phone or tablet. To learn more about Google Drive, visit drive.google.com/start




Posted by Anil Sabharwal, Senior Product Manager

Tuesday, August 14, 2012

Map of the Week: runtastic PRO

Map of the Week: runtastic PRO

Why we like it: runtastic is using Google Earth to show a user 3D Earth View video playback of every run or GPS activity they track with runtastic PRO for Android. In addition to retracing a route, runtastic displays the time, pace, elevation, places of interest, and more. Users can also choose to review their activities with three zoom levels and three playback speeds.


[Editor’s note: For this week’s “Map of the Week” post, we’ve asked Stephan Brunner, Head of Android Development at runtastic, to write a guest blog post about what his team used to create runtastic Earth View - Paul Saxman]


Whether you’re running your first half marathon, biking across the Golden Gate Bridge, or hiking in Nepal, runtastic’s Google Earth playback feature allows you to hold on to the memory and imagery of your activity.


How do we make this happen? The runtastic app captures GPS coordinate data and transforms it into a KML file, and then starts the Google Earth app with an Android Intent, passing a reference to the file in the Intent URI. The Google Earth app loads the track and takes it from there.









The <gx:Track> and <gx:Tour> extension to KML are the perfect tools for making the new 3D experience happen. The <gx:Track> element contains the entire GPS data recorded by the runtastic app, and <gx:Tour> defines the camera animations, overhead view and angle. The Google Earth app matches the elements of both lists using the time-span information from each list element. The result is a smooth animation of the track being painted based on the data from a run, which makes the user feel like they’re flying along it!




runtastic PRO Google Earth Tour on Galaxy Nexusruntastic PRO Google Earth Tour on Nexus 7


With this great new 3D Earth View, we think that there is no reason to stay on the couch. Get out there and record some amazing activities!



Posted by Paul Saxman, Google Maps API Developer Relations Team

Monday, July 23, 2012

AdMob SDK 6.1 Released

Last week, we released AdMob SDK v6.1 for both Android and iOS. This SDK contains a number of important bug fixes and exciting new features including:





Additional DoubleClick support

DoubleClick publishers will be happy to know that AdMob now provides support for app events, giving them the ability to execute custom code in their application when a creative dispatches an app event. Additionally, the new SDK provides support for multiple ad sizes using the same banner.





Easy access to Google Analytics

You’ll notice we’ve included the latest Google Analytics package in the “Add-Ons” directory. The new mobile app analytics provides the same best-in-class Google Analytics reporting, but for mobile apps.





If you have any questions about the AdMob SDK, please let us know on the forum or hang out during our upcoming AdMob/DFP office hours. For more information about this new SDK, take a look at our release notes.





Thursday, June 21, 2012

Show a Custom Image When No AdMob Ad Is Available: Part 2

We previously discussed how to show a custom image using the Google AdMob SDK when an ad request can’t be filled. In the second and final part of this series, we’ll explain how to resume showing AdMob ads if, for example, internet connectivity is restored.



In part 1, we demonstrated how to hide the ad and display a custom image when the first ad request fails. However, the AdMob SDK doesn't make another ad request until it successfully receives an ad, so you must schedule your own refresh. Here’s how to do it:




private final Handler refreshHandler = new Handler();
private final Runnable refreshRunnable = new RefreshRunnable();
private boolean firstAdReceived = false;

@Override
public void onFailedToReceiveAd(Ad ad, ErrorCode code) {
if (!firstAdReceived) {
// Keep code from part 1.
...
// Schedule an ad refresh.
refreshHandler.removeCallbacks(refreshRunnable);
refreshHandler.postDelayed(
refreshRunnable, REFRESH_RATE_IN_SECONDS * 1000);
}
}

private class RefreshRunnable implements Runnable {
@Override
public void run() {
// Load an ad with an ad request.
adView.loadAd(new AdRequest());
}
}


A Handler is used to schedule an ad refresh at your desired refresh rate. Before making the postDelayed call, the handler removes any pending posts that may be queued.



With these changes, your application will request an AdMob ad at a regular interval. Once a request is successful, the existing code in onReceiveAd swaps out your custom image with an AdMob ad, and AdMob starts refreshing automatically.



If the user either leaves your app or clicks on your custom ad, you want to pause your refresh handler when your app is not visible to the user. This is an Android best practice that will help preserve battery life. You can override Android’s onStop and onStart callbacks to stop and start ad refreshes, as shown below:




@Override
public void onStop() {
super.onStop();
// Remove any pending ad refreshes.
refreshHandler.removeCallbacks(refreshRunnable);
}

@Override
public void onStart() {
super.onStart();
if (!firstAdReceived) {
// Request a new ad immediately.
refreshHandler.post(refreshRunnable);
}
}


This code prevents your app from making ad requests when the user exits your app but immediately requests an ad when the user returns to your app.



That’s it! You’ve successfully integrated a placeholder image into your application to stand in when an ad request can’t be filled. Check out the full example if you have trouble setting up the code.

As always, let us know on the forum if you have any questions about the Google AdMob SDK, or join us during office hours.