The Android | What is Android | Androids | Android Market | App for Android | Android Apps | Android Application | Download Android | Tablet Android | Tablet PC | Phone Android | Android 2.2 | Android 2.3 | Android Free | Games for Android | Android Samsung | Galaxy Android | Android Google | Games Android | アンドロイド | Android | Android 2 | Android PC | Google Android | Android Galaxy | Phones with Android | Which Android Phone | What is an Android Tablet | What is an Android Phone
Keko Band
Keko _ memitre >> 4shared.
Keko _ MengulaThe Android | What is Android | Androids | Android Market | App for Android | Android Apps | Android Application | Download Android | Tablet Android | Tablet PC | Phone Android | Android 2.2 | Android 2.3 | Android Free | Games for Android | Android Samsung | Galaxy Android | Android Google | Games Android | アンドロイド | Android | Android 2 | Android PC | Google Android | Android Galaxy | Phones with Android | Which Android Phone | What is an Android Tablet | What is an Android Phone >> 4shared.
Keko _ Percume >> 4shared.
Keko _ PPR (para penguase rengke) >> 4shared.
Watch out for XmlPullParser.nextText()
[This post is by Jesse Wilson from the Dalvik team. —Tim Bray]
Using XmlPullParser is an efficient and maintainable way to parse XML on Android. Historically Android has had two implementations of this interface:
KXmlParser, via XmlPullParserFactory.newPullParser().
ExpatPullParser, via Xml.newPullParser().
The implementation from Xml.newPullParser()
had a bug where calls to nextText()
didn’t always advance to the END_TAG
as the documentation promised it would. As a consequence, some apps may be working around the bug with extra calls to next()
or nextTag()
:
public void parseXml(Reader reader)
throws XmlPullParserException, IOException {
XmlPullParser parser = Xml.newPullParser();
parser.setInput(reader);
parser.nextTag();
parser.require(XmlPullParser.START_TAG, null, "menu");
while (parser.nextTag() == XmlPullParser.START_TAG) {
parser.require(XmlPullParser.START_TAG, null, "item");
String itemText = parser.nextText();
parser.nextTag(); // this call shouldn’t be necessary!
parser.require(XmlPullParser.END_TAG, null, "item");
System.out.println("menu option: " + itemText);
}
parser.require(XmlPullParser.END_TAG, null, "menu");
}
public static void main(String[] args) throws Exception {
new Menu().parseXml(new StringReader("<?xml version='1.0'?>"
+ "<menu>"
+ " <item>Waffles</item>"
+ " <item>Coffee</item>"
+ "</menu>"));
}
In Ice Cream Sandwich we changed Xml.newPullParser()
to return a KxmlParser and deleted our ExpatPullParser class. This fixes the nextTag()
bug. Unfortunately, apps that currently work around the bug may crash under Ice Cream Sandwich:
org.xmlpull.v1.XmlPullParserException: expected: END_TAG {null}item (position:START_TAG <item>@1:37 in java.io.StringReader@40442fa8)
at org.kxml2.io.KXmlParser.require(KXmlParser.java:2046)
at com.publicobject.waffles.Menu.parseXml(Menu.java:25)
at com.publicobject.waffles.Menu.main(Menu.java:32)
The fix is to call nextTag()
after a call to nextText()
only if the current position is not an END_TAG
:
while (parser.nextTag() == XmlPullParser.START_TAG) {
parser.require(XmlPullParser.START_TAG, null, "item");
String itemText = parser.nextText();
if (parser.getEventType() != XmlPullParser.END_TAG) {
parser.nextTag();
}
parser.require(XmlPullParser.END_TAG, null, "item");
System.out.println("menu option: " + itemText);
}
The code above will parse XML correctly on all releases. If your application uses nextText()
extensively, use this helper method in place of calls to nextText()
:
private String safeNextText(XmlPullParser parser)
throws XmlPullParserException, IOException {
String result = parser.nextText();
if (parser.getEventType() != XmlPullParser.END_TAG) {
parser.nextTag();
}
return result;
}
Moving to a single XmlPullParser simplifies maintenance and allows us to spend more energy on improving system performance.
Cara Install Aplikasi Android lewat PC.. APK dan ada brapa app APK disini
- Pertama: Cari file aplikasi atau game The Android | What is Android | Androids | Android Market | App for Android | Android Apps | Android Application | Download Android | Tablet Android | Tablet PC | Phone Android | Android 2.2 | Android 2.3 | Android Free | Games for Android | Android Samsung | Galaxy Android | Android Google | Games Android | アンドロイド | Android | Android 2 | Android PC | Google Android | Android Galaxy | Phones with Android | Which Android Phone | What is an Android Tablet | What is an Android Phone anda inginkan menggunakan komputer lalu unduh. Sebagai informasi, nama file aplikasi untuk handphone Android berakhiran atau berekstensi “.apk”
- Kedua: Hubungkan ponsel ke komputer menggunakan kabel data lalu tranfer file APK dari komputer ke SD card. Bila tidak memiliki kabel data, gunakan card reader untuk mentransfer file APK dari komputer ke SD card. Anda dapat juga menggunakan Bluetooth untuk melakukan transfer file.
- Ketiga: Masukkan SD card ke handphone atau lepaskan kabel data dari komputer > buka aplikasi file manager (My Files / “file Saya” / File Browser) di handphone Android > cari file APK The Android | What is Android | Androids | Android Market | App for Android | Android Apps | Android Application | Download Android | Tablet Android | Tablet PC | Phone Android | Android 2.2 | Android 2.3 | Android Free | Games for Android | Android Samsung | Galaxy Android | Android Google | Games Android | アンドロイド | Android | Android 2 | Android PC | Google Android | Android Galaxy | Phones with Android | Which Android Phone | What is an Android Tablet | What is an Android Phone tadi di transfer > klik pada file APK untuk melakukan instalasi
- Apabila pada handphone Android anda tidak terdapat aplikasi file manager, anda dapat mengunduhnya terlebih dahulu diLing dibawah
- Beberapa handphone Android versi lawas belum terinstall Android Market. Handphone The Android | What is Android | Androids | Android Market | App for Android | Android Apps | Android Application | Download Android | Tablet Android | Tablet PC | Phone Android | Android 2.2 | Android 2.3 | Android Free | Games for Android | Android Samsung | Galaxy Android | Android Google | Games Android | アンドロイド | Android | Android 2 | Android PC | Google Android | Android Galaxy | Phones with Android | Which Android Phone | What is an Android Tablet | What is an Android Phone belum memiliki Android Market biasanya masih bersistem operasi Android versi 1.5 (Cupcake). Bila pada handphone anda belum terinstall Android Market, anda dapat mencoba menggunakan App sya dgan klik link dibawah
Internet
Facebook + Chat.apk
Facebook_for_Android_APK
operamini.apk
Twitter.apk
eBuddy_IM.apk
google plus.apk
Wifi_Analyzer.apk
GPS_Status303.apk
GPS_Speedo.apk
GPS_OnOff.apk
Google_Maps.apk
Google Helper.apk
Goggle Plus.apk
Media
Video_Player.apk
Winamp_Pro.apk
GAME
Army_sniper_kamyab-android.apk
Game Boid_Lite.apk
Mikro Pool.apk
Cannon Defense:US Civil War v1.0.apk
Alert Terrorist v1.3.apk
Cannon Defense:US Civil War v1.0.apk
Shine Runner v1.0.apkInertia HD v1.1.apk
Tank Riders v1.0.apk
FIFA12 v1.2.5.apk
THE DEAD: Chapter One v1.1.apk
Gitar sloite.apk
Themes
beust android translate.apk
Google_Translat.apk
Android_themes 3D.apk
Aplikasi
File_Manager.apk
Android_Market.apk
File_System_Explorer.apk
Bluetooth_File_Transfer.apk
anti virus_free.apk
anti virus.apk
Brighetenees live.apk
masih banyak lagi App The Android | What is Android | Androids | Android Market | App for Android | Android Apps | Android Application | Download Android | Tablet Android | Tablet PC | Phone Android | Android 2.2 | Android 2.3 | Android Free | Games for Android | Android Samsung | Galaxy Android | Android Google | Games Android | アンドロイド | Android | Android 2 | Android PC | Google Android | Android Galaxy | Phones with Android | Which Android Phone | What is an Android Tablet | What is an Android Phone blom traUpload....TUNGGU YA...!!!!
Android 4.0.3 Platform and Updated SDK tools
Today we are announcing Android 4.0.3, an incremental release of the Android 4.0 (Ice Cream Sandwich) platform. The new release includes a variety of optimizations and bug fixes for phones and tablets, as well as a small number of new APIs for developers. The new API level is 15.
Some of the new APIs in Android 4.0.3 include:
Social stream API in Contacts provider: Applications that use social stream data such as status updates and check-ins can now sync that data with each of the user’s contacts, providing items in a stream along with photos for each. This new API lets apps show users what the people they know are doing or saying, in addition to their photos and contact information.
Calendar provider enhancements. Apps can now add color to events, for easier tracking, and new attendee types and states are now available.
New camera capabilities. Apps can now check and manage video stabilization and use QVGA resolution profiles where needed.
Accessibility refinements. Improved content access for screen readers and new status and error reporting for text-to-speech engines.
Incremental improvements in graphics, database, spell-checking, Bluetooth, and more.
For a complete overview of what’s new in the platform, see the Android 4.0.3 API Overview.
Going forward, we’ll be focusing our partners on Android 4.0.3 as the base version of Ice Cream Sandwich. The new platform will be rolling out to production phones and tablets in the weeks ahead, so we strongly encourage you to test your applications on Android 4.0.3 as soon as possible.
We would also like to remind developers that we recently released new version of the SDK Tools (r16) and of the Eclipse plug-in (ADT 16.0.1). We have also updated the NDK to r7.
Visit the Android Developers site for more information about Android 4.0.3 and other platform versions. To get started developing or testing on the new platform, you can download it into your SDK using the Android SDK Manager.
Introducing Android Training
[This post is by Reto Meier, Android Developer Relations Tech Lead. — Tim Bray]
Today I’m thrilled to announce the beta launch of Android Training — a collection of classes that we hope will help you to build better Android apps.
From designing effective navigation, to managing audio playback, to optimizing battery life, these classes are designed to demonstrate best practices for solving common Android development problems.
Each class explains the steps required to solve a problem, or implement a feature, with plenty of code snippets and sample code for you to use within your own apps.
We’re starting small and this is just the beginning for Android Training. Over the coming months we will be increasing the number of classes available, as well as introducing over-arching courses and sample apps to further help your development experience.
Helping developers build great apps is what the Android Developer Relations team is all about, so we’re excited to see how you use these classes to make your apps even better.
We’d love to know what you think of these classes, and what classes you’d like to see next.
Galaxy Nexus now available in the U.S.
Galaxy Nexus is the first phone with Android 4.0, Ice Cream Sandwich and combines the latest Google software with cutting-edge Samsung hardware. With a super slim profile, Galaxy Nexus features a 4.65” Contour Display with a true high definition (720p) resolution HD Super AMOLED screen. Galaxy Nexus also features a lightning-fast dual-core 1.2GHz processor combined with 4G LTE or HSPA+ technology. To see Galaxy Nexus in action, check out this video:
Paired with Ice Cream Sandwich, the latest Android software, Galaxy Nexus is simple and beautiful. WIth innovations like Android Beam, a camera with fun Live Effects and zero-shutter lag for instant photo capturing, a deeply integrated Google+ experience, and a new People app, Galaxy Nexus is beyond smart. Galaxy Nexus is also the first device to feature Face Unlock, which uses state-of-the-art facial recognition technology to unlock your phone. For a look at how powerful your smile can be, check out the video below.
Posted by Andy Rubin, Senior Vice President of Mobile
More Android Games that Play Nice
[This post is by Dan Galpin, who lives the Android Games lifestyle every day. — Tim Bray]
Making a game on Android is easy. Making a great game for a mobile, multitasking, often multi-core, multi-purpose system like Android is trickier. Even the best developers frequently make mistakes in the way they interact with the Android system and with other applications — mistakes that don’t affect the quality of gameplay, but which affect the quality of the user’s experience in other ways.
A truly great Android game knows how to play nice: how to fit seamlessly into the system of apps, services, and UI features that run on Android devices. In this multi-part series of posts, Android Developer Relations engineers who specialize in games explain what it takes to make your game play nice.
II: Navigation and Lifecycle
Android users get used to using the back key. We expect the volume keys to work in some intuitive fashion. We expect that the home key behaves in a manner consistent with the Android navigation paradigm. Sometimes we even expect the menu key to do something.
1. Problem: There’s no place like [Home]
I’m playing [insert favorite game here] and I accidentally hit the [Home] key or the [Back] key. This is probably happening because I’m furiously using the touchscreen to actually play the game. Whether I’ve been cutting ropes, controlling aircraft, cleaving fruit, or flinging birds, I’m almost certainly angry if I’ve suddenly lost all of my game progress.
What went wrong?
Lots of developers assume that pressing the Home key exits a game. Perhaps this is because on some mobile devices the Home key is a somewhat-difficult-to-press physical button. Depending on the device and Android release, it might be a physical, capacitive, or soft button. This means that it is relatively easy to hit accidentally. Having progress lost by such an event as an incoming call is even worse.
How to avoid Angry Users
Save as much about the status of the game into the Bundle in onSaveInstanceState() as you can. This helper function will get called whenever your application receives an onPause() callback. Note that you can save byte arrays into that bundle, so it can easily be used for raw data.
If your game takes lots of native system resources, consider dumping large textures (or all textures and geometry) during onPause() or onStop(). (GLSurfaceView will do this automatically unless you tell it not to — at least you can tell it not to do so starting in API level 11). This will help your title continue to reside in memory, which will typically speed task-switching back to your game for very large titles that might otherwise be swapped out of memory, but may slow things down for smaller titles that can more efficiently multitask if they don’t bother to do this.
When your game resumes, restore the state from the bundle in onRestoreInstanceState(). If there is any sort of time-consuming loading that has to be done, make sure that you notify the user of what is happening to give them the best possible experience.
- Test thoroughly!
2. Problem: [Back] I say!
I’m in the middle of playing a game and I hit the back key. One of several bad things can happen here:
The game exits immediately, losing all state and leading to Angry User Syndrome. (see Problem 1).
The game does nothing.
What went wrong?
We already know what is wrong with scenario 1. It’s essentially a data loss scenario, and it’s worse than pigs stealing your eggs. What is wrong with scenario 2?
The [Back] key is an essential part of the Android navigation paradigm. If the back key doesn’t return to the previous screen in the activity stack (or in the game hierarchy) there better be a very good reason, such as an active document with no capability to save a draft.
What to do about it
If the user is in the middle of gameplay It is customary to display some sort of dialog asking the user if they intended the action:
“Are you sure you wish to exit now? That monster looks hungry.”
In an extreme action game, you might also wish to do something similar to what Replica Island (RI) did. RI assumed that any [Back] keypress that happened within 200ms of another touch event was invalid in order to make it a bit more challenging to accidentally press the key.
At the Main Menu of the game, you can decide whether it makes sense to prompt the user or not. If your game has very long load times, you might want to prompt the user.
3. Problem: Quiet [Down]!
There’s nothing worse than wanting to settle down for a good session of [insert favorite game here] in some sort of public place with your volume turned up. Suddenly everyone has learned that you prefer pummelling produce to predicting present progressions and that’s practically profane in your profession.
What went wrong?
By default, volume keys in most Android devices will control the ringer volume, and your application must pass the volume keys through to the super class so this continues to work.
What to do about it
In order to make these keys control the music volume (which is the channel that your game will be using), you need to call setVolumeControlStream(AudioManager.STREAM_MUSIC). As stated previously, all you need to do is pass these keys through to the framework and you’ll get control of the audio in the standard and proper way. Do it as early as possible so a user can start changing the volume far before you begin playing anything.
Add Voice Typing To Your IME
[This post is by Luca Zanolin, an Android engineer who works on voice typing. — Tim Bray]
A new feature available in Android 4.0 is voice typing: the difference for users is that the recognition results appear in the text box while they are still speaking. If you are an IME developer, you can easily integrate with voice typing.
To simplify the integration, if you download this library and modify your IME as described below, everything will work smoothly on any device with Android 2.2 or later. On 4.0+, users will get voice typing, and earlier versions will use standard voice recognition; the difference is illustrated below.
To see how to integrate voice typing you can take a look at this sample IME. The IME is really simple and contains only one button: a microphone. By pressing the microphone, the user triggers voice recognition.
Here are the steps that you need to follow to integrate voice recognition into your IME.
Download the library
Download this library and add it to your IME APK.
Create the voice recognition trigger
The library contains the VoiceRecognitionTrigger helper class. Create an instance of it inside the InputMethodService#onCreate method in your IME.
public void onCreate() {
super.onCreate();
...
mVoiceRecognitionTrigger = new VoiceRecognitionTrigger(this);
}
Add the microphone icon to your IME
You need to modify the UI of your IME, add a microphone icon, and register an OnClickListener to trigger voice recognition. You can find the assets inside the sample IME. The microphone icon should be displayed only if voice recognition is installed; use VoiceRecognitionTrigger#isInstalled().
public View onCreateInputView() {
LayoutInflater inflater = (LayoutInflater) getSystemService(
Service.LAYOUT_INFLATER_SERVICE);
mView = inflater.inflate(R.layout.ime, null);
...
mButton = (ImageButton) mView.findViewById(R.id.mic_button);
if (mVoiceRecognitionTrigger.isInstalled()) {
mButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mVoiceRecognitionTrigger.startVoiceRecognition();
}
});
mButton.setVisibility(View.VISIBLE);
} else {
mButton.setVisibility(View.GONE);
}
return mView;
}
If your IME supports multiple languages, you can specify in which language recognition should be done as a parameter of startVoiceRecognition().
Notify the trigger when your IME starts
When your IME starts, you need to notify the trigger, so it can insert into the text view any pending recognition results.
@Override
public void onStartInputView(EditorInfo info, boolean restarting) {
super.onStartInputView(info, restarting);
if (mVoiceRecognitionTrigger != null) {
mVoiceRecognitionTrigger.onStartInputView();
}
}
Modify your AndroidManifest
In order to start a voice recognition through the Intent API, the library uses a service and an activity, and you need to add them into your manifest.
<manifest ... >
<application ...>
...
<service android:name="com.google.android.voiceime.ServiceHelper" />
<activity
android:name="com.google.android.voiceime.ActivityHelper"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:excludeFromRecents="true"
android:windowSoftInputMode="stateAlwaysHidden"
android:finishOnTaskLaunch="true"
android:configChanges="keyboard|keyboardHidden|navigation
|orientation"/>
</application>
</manifest>
Update the microphone icon dynamically (optional)
This step is optional, but you should implement it if possible as it will improve the user experience. Voice recognition requires network access, and if there is no network, your IME should notify the user that voice recognition is currently disabled. To achieve this, you need to register the VoiceRecognitionTrigger.Listener and enable/disable the microphone accordingly.
The listener is registered in InputMethodService#onCreate, and you have to unregister it in InputMethodService#onDestroy, otherwise you will leak the listener.
@Override
public void onCreate() {
super.onCreate();
...
mVoiceRecognitionTrigger = new VoiceRecognitionTrigger(this);
mVoiceRecognitionTrigger.register(new VoiceRecognitionTrigger.Listener() {
@Override
public void onVoiceImeEnabledStatusChange() {
updateVoiceImeStatus();
}
});
}
...
@Override
public void onDestroy() {
...
if (mVoiceRecognitionTrigger != null) {
mVoiceRecognitionTrigger.unregister(this);
}
super.onDestroy();
}
private void updateVoiceImeStatus() {
if (mVoiceRecognitionTrigger.isInstalled()) {
mButton.setVisibility(View.VISIBLE);
if (mVoiceRecognitionTrigger.isEnabled()) {
mButton.setEnabled(true);
} else {
mButton.setEnabled(false);
}
} else {
mButton.setVisibility(View.GONE);
}
mView.invalidate();
}
And add this permission into your manifest:
<manifest ... >
...
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
...
</manifest>
That’s all there is to it
Voice recognition makes it easy for users to do more with their Android devices, so we appreciate your support in adding it to your IMEs.
Androidify yourself with new winter gear
Posted by Thomas Gayno, Marketing Manager, Creative Lab
Now playing: Faster movie search on Android and iPhone
With the December movie season in full swing, we’ve just made it even faster and easier to discover movies, showtimes and theaters, all from your smartphone. Now when you search for [movies] or your favorite theater like [century san francisco] on Google.com from your phone, you’ll see interactive results for movies in a new swipeable ribbon, with the most relevant information displayed at the top of the page.
For each movie, you’ll see the movie poster, a short summary, ratings and the nearest theaters and showtimes. Designed to help you quickly browse what’s playing in theaters now, this information instantly updates as you slide through the movie posters -- no need to wait for a page to load or to use the back button.
To learn more about a movie, tap the movie title to find details like the cast and a full summary. And if you see a play button on the movie poster, you can tap to view the official trailer. You can even buy tickets directly from your smartphone by tapping on underlined showtimes -- and skip past those long holiday box office lines!
So the next time you head out to see sagas of vampires, the world’s biggest Muppets fan, dancing penguins or nearly impossible heists, try the new interactive results for movies by visiting Google.com on your iOS or Android phone’s browser and searching for [movies], [theaters] or a movie title. This feature is available in English, in the US.
Posted by Toshi Tajima, Software Engineer
Google Currents is hot off the press
We’ve worked with more than 150 publishing partners to offer full-length articles from more than 180 editions including CNET, AllThingsD, Forbes, Saveur, PBS, Huffington Post, Fast Company and more. Content is optimized for smartphones and tablets, allowing you to intuitively navigate between words, pictures and video on large and small screens alike, even if you’re offline.
To get started, simply download the app and choose the publications you want to subscribe to for free. You can also add RSS, video and photo feeds, public Google+ streams and Google Reader subscriptions you’re already following. In addition to consuming your favorite media, you can also use the trending tab to discover related content that matches your tastes.
Ready for publishers
Alongside Google Currents, we’re also launching a self-service platform that gives publishers the flexibility to design, brand and customize their web content. For example, if you’re a small regional news outlet, a non-profit organization without access to a mobile development team, or a national TV network with web content, you can effortlessly create hands-on digital publications for Google Currents.
Google Currents is now available for download in Android Market and the Apple App Store for US users. Whether you’re a reader or a publisher, we hope that Google Currents helps you easily experience the best content on the web. Try it here now and stay tuned for more to come.
Posted by Mussie Shore, Product Manager, and Sami Shalabi, Technical Lead
A Closer Look at 10 Billion Downloads
[This post is by Eric Chu, Android Developer Ecosystem. —Dirk Dougherty]
On Tuesday, we announced that Android Market passed 10 Billion app downloads. We wanted to look a little deeper at that huge number. First question: which app was lucky number 10 billion? Photobucket Mobile. They’ll be getting a great prize package, including tickets to next year’s Google I/O developer conference.
Remember we still have 8 days left to celebrate 10 billion downloads with 10-cent apps on Android Market. You can follow which apps are promoted each day on +Android, our Google+ page.
Here’s a graphical deep dive into 10 billion downloads...
Tablet image results in new carousel view
In July, we started to evolve the Google design and experience on Android and iOS tablets by updating features like larger touch targets and enhanced image viewing to make searching faster and easier. Today, we’re building on that foundation by adding a new image carousel for viewing large image results within a few swipes.
As someone who enjoys being outdoors, I like exploring beautiful images of nature. With the new image carousel, I can discover photos of bright sea anemones or colorful lorikeet birds on my tablet in a more interactive and immersive way. Now when I tap on an image result, it’ll expand in the carousel view and I can swipe through the search results. To learn more about an image, a tap on the web page preview, title, description or URL will take me directly to the webpage. See how you can take the image carousel for a spin:
Try out the new image carousel by going to Google on your iOS or Android tablet’s browser and searching for your favorite images. This feature is currently available in over 40 languages.
I hope you enjoy searching for beautiful images in this new view.
Posted by Nathan Beach, Product Manager
Continuous improvements with Google Goggles 1.7
10 Billion Android Market Downloads and Counting
[This post is by Eric Chu, Android Developer Ecosystem. —Dirk Dougherty]
One billion is a pretty big number by any measurement. However, when it’s describing the speed at which something is growing, it’s simply amazing. This past weekend, thanks to Android users around the world, Android Market exceeded 10 billion app downloads—with a growth rate of one billion app downloads per month. We can’t wait to see where this accelerating growth takes us in 2012.
To celebrate this milestone, we partnered with some of the Android developers who contributed to this milestone to make a bunch of great Android apps available at an amazing price. Starting today for the next 10 days, we’ll have a new set of awesome apps available each day for only 10 cents each. Today, we are starting with Asphalt 6 HD, Color & Draw for Kids, Endomondo Sports Tracker Pro, Fieldrunners HD, Great Little War Game, Minecraft, Paper Camera, Sketchbook Mobile, Soundhound Infinity and Swiftkey X.
Of course, none of these apps would have existed if it weren’t for the developers who created them. Every day, these developers continue to push the limits on what’s possible and delight us in the process. For that, we thank them.
Please join us in this 10-day celebration and check in every day to see what new apps our developer partners are making available on Android Market—for only a dime.
10 Billion Android Market downloads and counting
One billion is a pretty big number by any measurement. However, when it’s describing the speed at which something is growing, it’s simply amazing. This past weekend, thanks to Android users around the world, Android Market exceeded 10 billion app downloads—with a growth rate of one billion app downloads per month. We can’t wait to see where this accelerating growth takes us in 2012.
To celebrate this milestone, we partnered with some of the Android developers who contributed to this milestone to make a bunch of great Android apps available at an amazing price. Starting today for the next 10 days, we’ll have a new set of awesome apps available each day for only 10 cents each. Today, we are starting with Asphalt 6 HD, Color & Draw for Kids, Endomondo Sports Tracker Pro, Fieldrunners HD, Great Little War Game, Minecraft, Paper Camera, Sketchbook Mobile, Soundhound Infinity & Swiftkey X.
Of course, none of these apps would have existed if it weren’t for the developers who created them. Every day, these developers continue to push the limits on what’s possible and delight us in the process. For that, we thank them.
Please join us in this 10-day celebration and check in every day to see what new apps our developer partners are making available on Android Market - for only a dime.
Posted by Eric Chu, Director, Android Developer Ecosystem
Voice Search arrives in the Middle East
Go indoors with Google Maps 6.0 for Android
Mapping the vast indoors
When you’re inside an airport, shopping mall, retail store, or other public space, Google Maps 6.0 for Android brings the freestanding map directory to the palm of your hands -- helping you determine where you are, what floor you're on, and where to go indoors. For example, in this busy travel season, you can use Google Maps 6.0 to help you find your way around airports.
Detailed floor plans automatically appear when you’re viewing the map and zoomed-in on a building where indoor map data is available. The familiar “blue dot” icon indicates your location within several meters, and when you move up or down a level in a building with multiple floors, the map will automatically update to display which floor you’re on.
See the full announcement for more details or to demo indoor Google Maps, start here.
Switching between features gets easier
When you open Google Maps for Android, you can do many things: view your location on the map, discover where to go with Places, get GPS turn-by-turn directions with Navigation, check in to share your location, and more. We wanted to make it easier to hop from one feature to another; so, we’ve added a drop-down menu to the top toolbar for quick access.
We hope this menu helps you get to your favorite parts of Google Maps faster or shows you some features you haven’t tried yet.
Discovering what’s great nearby with the new Places home screen
The new Places home screen includes popular searches for your current location, so you can find the best spots in any area you travel.
To start using Google Maps 6.0 for Android, download the update from Android Market. This update works for Android OS 2.1+ devices everywhere Google Maps is currently available.
Posted by Chikai Ohazama, Product Management Director
Games Coming to Android Market in Korea
[This post is by Eric Chu, Android Developer Ecosystem. —Dirk Dougherty]
In the 24 months since the first Android device became available locally, Korea has quickly become one of the top countries in Android device activations. In parallel, we’ve also seen tremendous growth in app downloads from Android Market. Korea is now the second-largest consumer of apps worldwide. Today we are adding to this momentum by bringing games to Android Market in Korea.
Starting right away, Android users in Korea can explore the many thousands of popular game titles available in Android Market and download them onto their devices. For paid games, purchasing is fast and convenient through direct carrier billing, which lets users in Korea easily charge their purchases to their monthly mobile operator bills.
If you are a game developer, now is the time to localize your game resources, app descriptions, and marketing assets to take advantage of this new opportunity. When you are ready, please visit the Android Market developer console to target your app for distribution in South Korea and set prices in Korean Won (KRW). If you don’t want to distribute to Korea right away, you can also exclude it.
With the huge popularity of games on Android and the convenience of direct carrier billing in Korea, we expect to see a jump in game purchases and downloads in the weeks ahead. For game developers worldwide, it’s “game on” in Korea!
Google Catalogs is now available for Android tablets
Starting today, Google Catalogs is available for Android tablets, as well as the iPad, giving you a new way to shop from the comfort of your couch. With rich product images, videos, and the ability to curate your own personal collages to share with friends, Google Catalogs makes browsing your favorite mail order catalogs easy, fun and interactive.
Google Catalogs features more than 125 brands you know and love like Nordstrom, Williams-Sonoma, Nike and Sephora. The app currently has over 400 digital catalog issues to browse across categories such as mens & women’s apparel, jewelry, gifts, gourmet, toys, kids, gadgets, sports & athletics and outdoor adventure.
Download the free Google Catalogs app for Android available in the US from Android Market or the iPad from the App Store today. To learn more, visit www.google.com/catalogs.
Interactive weather results, now in 34 languages
Making Android Games that Play Nice
[This post is by Ian Ni-Lewis, a Developer Advocate who devotes most of his time to making Android games more awesome. — Tim Bray]
Making a game on Android is easy. Making a great game for a mobile, multitasking, often multi-core, multi-purpose system like Android is trickier. Even the best developers frequently make mistakes in the way they interact with the Android system and with other applications — mistakes that don’t affect the quality of gameplay, but which affect the quality of the user’s experience in other ways.
A truly great Android game knows how to play nice: how to fit seamlessly into the system of apps, services, and UI features that run on Android devices. In this multi-part series of posts, Android Developer Relations engineers who specialize in games explain what it takes to make your game play nice.
I: The Audio Lifecycle (or, why is there music coming from my pants?)
One of the most awesome things about Android is that it can do so much stuff in the background. But when apps aren’t careful about their background behaviors, it can get annoying. Take my own personal pet peeve: game audio that doesn’t know when to quit.
The problem
I’m on the bus to work, passing the time with a great Android game. I’m completely entranced by whatever combination of birds, ropes, and ninjas is popular this week. Suddenly I panic: I’ve almost missed my stop! I leap up, quickly locking my phone as I shove it into a pocket.
I arrive breathless at my first meeting of the day. The boss, perhaps sensing my vulnerability, asks me a tough question. Not tough enough to stump me, though — I’ve got the answer to that right here on my Android phone! I whip out my phone and press the unlock button... and the room dissolves in laughter as a certain well-known game ditty blares out from the device.
The initial embarrassment is bad enough, but what’s this? I can’t even mute the thing! The phone is showing the lock screen and the volume buttons are inactive. My stress level is climbing and it takes me three tries to successfully type in my unlock code. Finally I get the thing unlocked, jam my finger on the home button and breathe a sigh of relief as the music stops. But the damage is done — my boss is glowering and for the rest of the week my co-workers make video game noises whenever they pass my desk.
What went wrong?
It’s a common mistake: the developer of the game assumed that if the game received an onResume() message, it was safe to resume audio. The problem is that onResume() doesn’t necessarily mean your app is visible — only that it’s active. In the case of a locked phone, onResume() is sent as soon as the screen turns on, even though the phone’s display is on the lock screen and the volume buttons aren’t enabled.
Fixing this is trickier than it sounds. Some games wait for onWindowFocusChanged() instead of onResume(), which works pretty well on Gingerbread. But on Honeycomb and higher, onWindowFocusChanged() is sent when certain foreground windows — like, ironically, the volume control display window — take focus. The result is that when the user changes the volume, all of the sound is muted. Not the developer’s original intent!
Waiting for onResume() and onFocusChanged() seems like a possible fix, and it works pretty well in a large number of cases. But even this approach has its Achilles’ heel. If the device falls asleep on its own, or if the user locks the phone and then immediately unlocks it, your app may not receive any focus changed messages at all.
What to do about it
Here’s the easy two-step way to avoid user embarrassment:
Pause the game (and all sound effects) whenever you receive an onPause() message. When gameplay is interrupted — whether because the phone is locked, or the user received a call, or for some other reason — the game should be paused.
After the game is paused, require user input to continue. The biggest mistake most game developers make is to automatically restart gameplay and audio as soon as the user returns to the game. This isn’t just a question of solving the “music over lock screen” issue. Users like to come back to a paused game. It’s no fun to switch back to a game, only to realize you’re about to die because gameplay has resumed before you expected it.
Some game designers don’t like the idea of pausing the background music when the game is paused. If you absolutely must resume music as soon as your game regains focus, then you should do the following:
Pause playback when you receive onPause().
When you receive onResume():
If you have previously received an onFocusChanged(false) message, wait for an onFocusChanged(true) message to arrive before resuming playback.
If you have not previously received an onFocusChanged(false) message, then resume audio immediately.
Test thoroughly!
Fixing audio embarrassments is almost always a quick and easy process. Take the time to do it right, and your users will thank you.
The new Google Search app for iPad
Once you pick a web page to visit, you’ll see the page load on a new, slide-in pane that will layer over the search results. You can slide the pane to the right to get back to your search results, and even keep scrolling through the results as your web page is loading. This allows you to go back and forth from results to web pages quickly to get the information you are looking for.
View search results on the left and a web page on the right in the slide-in pane
More visual
Swipe through the image carousel
Often you may be looking to find something you have seen before again or are continuing research on a topic. But on a tablet, typing can be a challenge. That is why we have created a visual way to explore your search history. Swipe right to view snapshots of pages you’ve visited, stacked and organized by search term. You can also manage your search history from this new view.
See your past searches with a new, visual history
With this release, we also brought Instant Previews to the app so you can quickly compare web pages before you choose your result. Tapping on an icon in the top right of the screen brings you into a visual preview of the pages for your search result, easy to scroll through with the swipe of a finger.
Find easily
After you’ve selected a result, a new tool helps you find exactly what you need within a web page. Tap the magnifying glass on the top right-hand corner to highlight the most relevant section of the page. You can recommend pages you like with the new +1 button, right next to the magnifying glass, and help others find relevant sites more easily as well.
Helpful tools while you search
We’ve also made it easier to find and use your favorite Google services like Google News, Calendar and more in the new Apps menu. Tap on an icon to quickly read an email in Gmail, or share a post on Google+ within the slide-in pane. When you slide the pane to the right, you’ll be right back to searching.
Easily find more Google services
The app is available worldwide for iPads with iOS 4.0+. Download it in the App Store and start enjoying a faster and more interactive experience now.
Posted by Daniel Fish, Software Engineer, Google Search app