<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5064045025533767050</id><updated>2024-08-29T04:15:59.369-07:00</updated><category term="Devices"/><category term="Forum"/><category term="Samsung"/><category term="Android"/><category term="HTC"/><category term="ICS"/><category term="motorola"/><category term="LG"/><category term="Sony"/><category term="US"/><category term="update"/><category term="Galaxy S III"/><category term="Google"/><category term="HD"/><category term="Huawei"/><category term="Optimus"/><category term="ROM"/><category term="Xperia arc S"/><category term="AMOLED"/><category term="AT"/><category term="Android 4.0"/><category term="CPU"/><category term="Droid"/><category term="Exynos"/><category term="Facebook"/><category term="Galaxy"/><category term="Galaxy Nexus"/><category term="Germany"/><category term="Gingerbread"/><category term="Google Play store"/><category term="HSPA"/><category term="India"/><category term="Japan"/><category term="LTE"/><category term="MAXX"/><category term="News"/><category term="One X"/><category term="Qualcomm"/><category term="RAZR"/><category term="Sweden"/><category term="UK"/><category term="Verizon"/><category term="Xperia"/><category term="Xperia Play"/><category term="linux"/><category term="mobile"/><category term="opengl"/><category term="3DTV"/><category term="A116"/><category term="A500"/><category term="Acer"/><category term="Ascend"/><category term="Battery"/><category term="Bitmap"/><category term="Canada"/><category term="Canvas"/><category term="Cyanogenmod"/><category term="Desire C"/><category term="Digitimes"/><category term="Drawable"/><category term="Droid RAZR Maxx"/><category term="Duos"/><category term="EDGE"/><category term="Elite"/><category term="Ericsson"/><category term="France"/><category term="GLONASS"/><category term="GPS"/><category term="GPU"/><category term="Galaxy S"/><category term="Great Britain"/><category term="HDTV"/><category term="Ice Cream Sandwich"/><category term="Iconia"/><category term="Instagram"/><category term="Italy"/><category term="KDDI"/><category term="Karbonn"/><category term="Kindle Fire"/><category term="Korea"/><category term="LCD"/><category term="Lava"/><category term="ListView"/><category term="MWC"/><category term="MediaTek"/><category term="Micromax"/><category term="NFC"/><category term="NTT Docomo"/><category term="NVIDIA"/><category term="North America"/><category term="OLED"/><category term="OTA"/><category term="One S"/><category term="Poland"/><category term="Portugal"/><category term="Processors"/><category term="Quad"/><category term="Russia"/><category term="SIII"/><category term="SIM"/><category term="Snapdragon"/><category term="Softbank"/><category term="T-Mobile"/><category term="TouchPad"/><category term="Ville C"/><category term="Virgin"/><category term="WVGA"/><category term="Xperia P"/><category term="Xperia U"/><category term="Xperia go"/><category term="Xperia mini"/><category term="Xperia neo V"/><category term="Xperia pro"/><category term="Xperia ray"/><category term="android 11"/><category term="books"/><category term="bootloader"/><category term="case"/><category term="communication"/><category term="corona"/><category term="count"/><category term="debug"/><category term="density"/><category term="dimension"/><category term="dip"/><category term="dp"/><category term="dual-core"/><category term="eclipse"/><category term="filter"/><category term="gallery"/><category term="iPhone"/><category term="internet"/><category term="keyboard"/><category term="kivy"/><category term="macos"/><category term="mi-500"/><category term="movies"/><category term="music"/><category term="neo"/><category term="phonegap"/><category term="px"/><category term="python"/><category term="soft"/><category term="sp"/><category term="spice"/><category term="sql"/><category term="stellar"/><category term="timeout"/><category term="titanium"/><category term="transparent"/><title type='text'>Giant Android</title><subtitle type='html'>Stuff for android programmer &amp;amp;  android lovers.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>125</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-6663505008364709009</id><published>2020-08-08T01:42:00.004-07:00</published><updated>2020-08-08T01:42:31.225-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android 11"/><title type='text'>Android 11 is almost ready </title><content type='html'>&lt;p&gt;Android 11 is almost ready and we have got beta release from google now.&lt;/p&gt;&lt;p&gt;Google calling it as release candidate for final release.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;a href=&quot;https://developer.android.com/android11&quot;&gt;https://developer.android.com/android11&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/6663505008364709009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2020/08/android-11-is-almost-ready.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/6663505008364709009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/6663505008364709009'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2020/08/android-11-is-almost-ready.html' title='Android 11 is almost ready '/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-3941721620039340097</id><published>2016-04-11T05:20:00.000-07:00</published><updated>2016-04-11T05:24:40.862-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="case"/><category scheme="http://www.blogger.com/atom/ns#" term="count"/><category scheme="http://www.blogger.com/atom/ns#" term="sql"/><title type='text'>SQL Performance enhancement for count function</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
SQL count aggregate function with case is helpful to reduce time to process sql db.&lt;br /&gt;
If you want count for any column bases on the value we can use the count function with case to reduce the processing time.&lt;br /&gt;
&lt;br /&gt;
e..g. select count(case column1 when &#39;value1&#39; then 1 else null end) as count1, count(case column1 when &#39;value2&#39; then 1 else null end) as count2 from table1&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/3941721620039340097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2016/04/sql-performance-enhancement-for-count.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/3941721620039340097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/3941721620039340097'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2016/04/sql-performance-enhancement-for-count.html' title='SQL Performance enhancement for count function'/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-6296983853103731915</id><published>2016-02-24T03:10:00.000-08:00</published><updated>2016-02-24T03:10:06.684-08:00</updated><title type='text'>Gradle </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;post-1243 post type-post status-publish format-standard hentry category-alm category-java tag-build tag-gradle tag-java-2&quot; id=&quot;post-1243&quot;&gt;
&lt;h1 class=&quot;entry-title&quot;&gt;
The Gradle build system&lt;/h1&gt;
&lt;!-- .entry-meta --&gt;

     &lt;br /&gt;
&lt;div class=&quot;entry-content&quot;&gt;
Since the Gradle build system (&lt;a href=&quot;http://www.gradle.org/&quot;&gt;http://www.gradle.org&lt;/a&gt;) gets more and more attention I decided to have a look at how it works. This article should give you a brief overview of some of the features so that you get the taste of Gradle. It is not meant to be a tutorial to get you started and it’s recommended that you know about another build system. &lt;span id=&quot;more-1243&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h2&gt;
What is it?&lt;/h2&gt;
Gradle is a build system that combines and extends the best features of Ant and Maven. It supports task based build processes like Ant and follows convention over configuration like Maven. On top of that, Gradle build scripts are written in the Groovy language allowing to define more complex behaviour in cases where it is necessary. But you don’t need to be a Groovy expert because Gradle comes with a domain specific language (DSL) to define the builds.&lt;br /&gt;
Dependencies can be managed using Ivy and Maven repositories or by yourself if that is required. Most of the behaviour is defined in Gradle plug-ins that ship with its distribution. They can be used out of the box and adapted to your needs.&lt;br /&gt;
&lt;h2&gt;
A simple example&lt;/h2&gt;
A simple example of a &lt;code&gt;build.gradle&lt;/code&gt; script for a Java project looks like this:&lt;br /&gt;
&lt;div&gt;
&lt;div class=&quot;syntaxhighlighter  groovy&quot; id=&quot;highlighter_576033&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot;&gt;
1&lt;/div&gt;
&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;div class=&quot;container&quot;&gt;
&lt;div class=&quot;line number1 index0 alt2&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;apply plugin: &lt;/code&gt;&lt;code class=&quot;groovy string&quot;&gt;&#39;java&#39;&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
It expects the default layout from Maven which consists of &lt;code&gt;src/main/java&lt;/code&gt;, &lt;code&gt;src/main/resource&lt;/code&gt;, &lt;code&gt;src/test/java&lt;/code&gt; and &lt;code&gt;src/test/resource&lt;/code&gt;. And it expects the source to be compatible with the current JVM it is running on. To change these properties of the ‘java’ plug-in you can use Gradle’s DSL:&lt;br /&gt;
&lt;div&gt;
&lt;div class=&quot;syntaxhighlighter  groovy&quot; id=&quot;highlighter_827726&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot;&gt;
1&lt;/div&gt;
&lt;div class=&quot;line number2 index1 alt1&quot;&gt;
2&lt;/div&gt;
&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;div class=&quot;container&quot;&gt;
&lt;div class=&quot;line number1 index0 alt2&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;sourceSets.main.java.srcDirs = [&lt;/code&gt;&lt;code class=&quot;groovy string&quot;&gt;&#39;src/java&#39;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;, &lt;/code&gt;&lt;code class=&quot;groovy string&quot;&gt;&#39;src/generated&#39;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;]&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number2 index1 alt1&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;sourceCompatibility = &lt;/code&gt;&lt;code class=&quot;groovy value&quot;&gt;1.6&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;
Dependency management&lt;/h2&gt;
&lt;h3&gt;
Repositories&lt;/h3&gt;
Gradle can access Maven and Ivy repositories. Here are some samples how to configure the repositories:&lt;br /&gt;
&lt;div&gt;
&lt;div class=&quot;syntaxhighlighter  groovy&quot; id=&quot;highlighter_824093&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot;&gt;
1&lt;/div&gt;
&lt;div class=&quot;line number2 index1 alt1&quot;&gt;
2&lt;/div&gt;
&lt;div class=&quot;line number3 index2 alt2&quot;&gt;
3&lt;/div&gt;
&lt;div class=&quot;line number4 index3 alt1&quot;&gt;
4&lt;/div&gt;
&lt;div class=&quot;line number5 index4 alt2&quot;&gt;
5&lt;/div&gt;
&lt;div class=&quot;line number6 index5 alt1&quot;&gt;
6&lt;/div&gt;
&lt;div class=&quot;line number7 index6 alt2&quot;&gt;
7&lt;/div&gt;
&lt;div class=&quot;line number8 index7 alt1&quot;&gt;
8&lt;/div&gt;
&lt;div class=&quot;line number9 index8 alt2&quot;&gt;
9&lt;/div&gt;
&lt;div class=&quot;line number10 index9 alt1&quot;&gt;
10&lt;/div&gt;
&lt;div class=&quot;line number11 index10 alt2&quot;&gt;
11&lt;/div&gt;
&lt;div class=&quot;line number12 index11 alt1&quot;&gt;
12&lt;/div&gt;
&lt;div class=&quot;line number13 index12 alt2&quot;&gt;
13&lt;/div&gt;
&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;div class=&quot;container&quot;&gt;
&lt;div class=&quot;line number1 index0 alt2&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;repositories {&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number2 index1 alt1&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;mavenLocal()&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number3 index2 alt2&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;maven {&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number4 index3 alt1&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;url &lt;/code&gt;&lt;code class=&quot;groovy string&quot;&gt;&quot;&lt;a href=&quot;http://repo.mycompany.com/repo&quot;&gt;http://repo.mycompany.com/repo&lt;/a&gt;&quot;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number5 index4 alt2&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number6 index5 alt1&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;mavenCentral()&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number7 index6 alt2&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number8 index7 alt1&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;line number9 index8 alt2&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;repositories {&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number10 index9 alt1&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;ivy {&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number11 index10 alt2&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;url &lt;/code&gt;&lt;code class=&quot;groovy string&quot;&gt;&quot;&lt;a href=&quot;http://repo.mycompany.com/repo&quot;&gt;http://repo.mycompany.com/repo&lt;/a&gt;&quot;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number12 index11 alt1&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number13 index12 alt2&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
The look-ups will be done in the order given within the repositories section. So in the above Maven example it will first look in the local repository of the user, then on the company’s server and finally on Maven Central.&lt;br /&gt;
&lt;h3&gt;
Dependencies&lt;/h3&gt;
To depend on an internal module, i.e. a module from the same project, you just write:&lt;br /&gt;
&lt;div&gt;
&lt;div class=&quot;syntaxhighlighter  groovy&quot; id=&quot;highlighter_415727&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot;&gt;
1&lt;/div&gt;
&lt;div class=&quot;line number2 index1 alt1&quot;&gt;
2&lt;/div&gt;
&lt;div class=&quot;line number3 index2 alt2&quot;&gt;
3&lt;/div&gt;
&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;div class=&quot;container&quot;&gt;
&lt;div class=&quot;line number1 index0 alt2&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;dependencies {&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number2 index1 alt1&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;compile project(&lt;/code&gt;&lt;code class=&quot;groovy string&quot;&gt;&#39;:shared&#39;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;)&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number3 index2 alt2&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
You can also add dependencies to external modules from Maven or Ivy repositories if you have defined them as described above.&lt;br /&gt;
&lt;div&gt;
&lt;div class=&quot;syntaxhighlighter  groovy&quot; id=&quot;highlighter_761237&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot;&gt;
1&lt;/div&gt;
&lt;div class=&quot;line number2 index1 alt1&quot;&gt;
2&lt;/div&gt;
&lt;div class=&quot;line number3 index2 alt2&quot;&gt;
3&lt;/div&gt;
&lt;div class=&quot;line number4 index3 alt1&quot;&gt;
4&lt;/div&gt;
&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;div class=&quot;container&quot;&gt;
&lt;div class=&quot;line number1 index0 alt2&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;dependencies {&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number2 index1 alt1&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;runtime group: &lt;/code&gt;&lt;code class=&quot;groovy string&quot;&gt;&#39;org.hibernate&#39;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;, name: &lt;/code&gt;&lt;code class=&quot;groovy string&quot;&gt;&#39;hibernate&#39;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;, version: &lt;/code&gt;&lt;code class=&quot;groovy string&quot;&gt;&#39;3.0.5&#39;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number3 index2 alt2&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;testRuntime &lt;/code&gt;&lt;code class=&quot;groovy string&quot;&gt;&#39;org.mockito:mockito-core:1.8.4&#39;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number4 index3 alt1&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
The above sample contains the long and the short version of a module identifier. If you have a dependency on a local file then you can specify it with:&lt;br /&gt;
&lt;div&gt;
&lt;div class=&quot;syntaxhighlighter  groovy&quot; id=&quot;highlighter_99730&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot;&gt;
1&lt;/div&gt;
&lt;div class=&quot;line number2 index1 alt1&quot;&gt;
2&lt;/div&gt;
&lt;div class=&quot;line number3 index2 alt2&quot;&gt;
3&lt;/div&gt;
&lt;div class=&quot;line number4 index3 alt1&quot;&gt;
4&lt;/div&gt;
&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;div class=&quot;container&quot;&gt;
&lt;div class=&quot;line number1 index0 alt2&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;dependencies {&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number2 index1 alt1&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;compile files(&lt;/code&gt;&lt;code class=&quot;groovy string&quot;&gt;&#39;libs/a.jar&#39;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;, &lt;/code&gt;&lt;code class=&quot;groovy string&quot;&gt;&#39;libs/b.jar&#39;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;)&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number3 index2 alt2&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;testCompile fileTree(dir: &lt;/code&gt;&lt;code class=&quot;groovy string&quot;&gt;&#39;testlibs&#39;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;, include: &lt;/code&gt;&lt;code class=&quot;groovy string&quot;&gt;&#39;*.jar&#39;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;)&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number4 index3 alt1&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
More sophisticated features can be found in the documentation and include stuff like:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;overwriting transitive dependencies&lt;/li&gt;
&lt;li&gt;use Ivy specific dependency features&lt;/li&gt;
&lt;li&gt;etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
Tasks&lt;/h2&gt;
Tasks are the central building blocks of the build process. They consist of two lists of actions. One list is to configure the task and the other to execute it. Here is a sample:&lt;br /&gt;
&lt;div&gt;
&lt;div class=&quot;syntaxhighlighter  groovy&quot; id=&quot;highlighter_92274&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot;&gt;
1&lt;/div&gt;
&lt;div class=&quot;line number2 index1 alt1&quot;&gt;
2&lt;/div&gt;
&lt;div class=&quot;line number3 index2 alt2&quot;&gt;
3&lt;/div&gt;
&lt;div class=&quot;line number4 index3 alt1&quot;&gt;
4&lt;/div&gt;
&lt;div class=&quot;line number5 index4 alt2&quot;&gt;
5&lt;/div&gt;
&lt;div class=&quot;line number6 index5 alt1&quot;&gt;
6&lt;/div&gt;
&lt;div class=&quot;line number7 index6 alt2&quot;&gt;
7&lt;/div&gt;
&lt;div class=&quot;line number8 index7 alt1&quot;&gt;
8&lt;/div&gt;
&lt;div class=&quot;line number9 index8 alt2&quot;&gt;
9&lt;/div&gt;
&lt;div class=&quot;line number10 index9 alt1&quot;&gt;
10&lt;/div&gt;
&lt;div class=&quot;line number11 index10 alt2&quot;&gt;
11&lt;/div&gt;
&lt;div class=&quot;line number12 index11 alt1&quot;&gt;
12&lt;/div&gt;
&lt;div class=&quot;line number13 index12 alt2&quot;&gt;
13&lt;/div&gt;
&lt;div class=&quot;line number14 index13 alt1&quot;&gt;
14&lt;/div&gt;
&lt;div class=&quot;line number15 index14 alt2&quot;&gt;
15&lt;/div&gt;
&lt;div class=&quot;line number16 index15 alt1&quot;&gt;
16&lt;/div&gt;
&lt;div class=&quot;line number17 index16 alt2&quot;&gt;
17&lt;/div&gt;
&lt;div class=&quot;line number18 index17 alt1&quot;&gt;
18&lt;/div&gt;
&lt;div class=&quot;line number19 index18 alt2&quot;&gt;
19&lt;/div&gt;
&lt;div class=&quot;line number20 index19 alt1&quot;&gt;
20&lt;/div&gt;
&lt;div class=&quot;line number21 index20 alt2&quot;&gt;
21&lt;/div&gt;
&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;div class=&quot;container&quot;&gt;
&lt;div class=&quot;line number1 index0 alt2&quot;&gt;
&lt;code class=&quot;groovy comments&quot;&gt;// Just define an empty task&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number2 index1 alt1&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;task myTaskA&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number3 index2 alt2&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;line number4 index3 alt1&quot;&gt;
&lt;code class=&quot;groovy comments&quot;&gt;// Add a configuration action&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number5 index4 alt2&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;myTaskA {&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number6 index5 alt1&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy functions&quot;&gt;println&lt;/code&gt; &lt;code class=&quot;groovy string&quot;&gt;&quot;config A&quot;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number7 index6 alt2&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number8 index7 alt1&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;line number9 index8 alt2&quot;&gt;
&lt;code class=&quot;groovy comments&quot;&gt;// Add an execution action&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number10 index9 alt1&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;myTaskA &amp;lt;&amp;lt; {&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number11 index10 alt2&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy functions&quot;&gt;println&lt;/code&gt; &lt;code class=&quot;groovy string&quot;&gt;&quot;action A&quot;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number12 index11 alt1&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number13 index12 alt2&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;line number14 index13 alt1&quot;&gt;
&lt;code class=&quot;groovy comments&quot;&gt;// Another task depending on myTaskA with configuration and action&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number15 index14 alt2&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;task myTaskB (dependsOn: myTaskA) {&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number16 index15 alt1&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy functions&quot;&gt;println&lt;/code&gt; &lt;code class=&quot;groovy string&quot;&gt;&quot;config B&quot;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number17 index16 alt2&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;line number18 index17 alt1&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;doLast {&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number19 index18 alt2&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy functions&quot;&gt;println&lt;/code&gt; &lt;code class=&quot;groovy string&quot;&gt;&quot;action B&quot;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number20 index19 alt1&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number21 index20 alt2&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
Now you can start it:&lt;br /&gt;
&lt;div&gt;
&lt;div class=&quot;syntaxhighlighter  bash&quot; id=&quot;highlighter_653695&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot;&gt;
1&lt;/div&gt;
&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;div class=&quot;container&quot;&gt;
&lt;div class=&quot;line number1 index0 alt2&quot;&gt;
&lt;code class=&quot;bash plain&quot;&gt;$ gradle myTaskB&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
The configuration steps will be executed first. And since myTaskB depends on myTaskA the output will be:&lt;br /&gt;
&lt;div&gt;
&lt;div class=&quot;syntaxhighlighter  bash&quot; id=&quot;highlighter_993398&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot;&gt;
1&lt;/div&gt;
&lt;div class=&quot;line number2 index1 alt1&quot;&gt;
2&lt;/div&gt;
&lt;div class=&quot;line number3 index2 alt2&quot;&gt;
3&lt;/div&gt;
&lt;div class=&quot;line number4 index3 alt1&quot;&gt;
4&lt;/div&gt;
&lt;div class=&quot;line number5 index4 alt2&quot;&gt;
5&lt;/div&gt;
&lt;div class=&quot;line number6 index5 alt1&quot;&gt;
6&lt;/div&gt;
&lt;div class=&quot;line number7 index6 alt2&quot;&gt;
7&lt;/div&gt;
&lt;div class=&quot;line number8 index7 alt1&quot;&gt;
8&lt;/div&gt;
&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;div class=&quot;container&quot;&gt;
&lt;div class=&quot;line number1 index0 alt2&quot;&gt;
&lt;code class=&quot;bash plain&quot;&gt;config A&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number2 index1 alt1&quot;&gt;
&lt;code class=&quot;bash plain&quot;&gt;config B&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number3 index2 alt2&quot;&gt;
&lt;code class=&quot;bash plain&quot;&gt;:myTaskA&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number4 index3 alt1&quot;&gt;
&lt;code class=&quot;bash plain&quot;&gt;action A&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number5 index4 alt2&quot;&gt;
&lt;code class=&quot;bash plain&quot;&gt;:myTaskB&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number6 index5 alt1&quot;&gt;
&lt;code class=&quot;bash plain&quot;&gt;action B&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number7 index6 alt2&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;line number8 index7 alt1&quot;&gt;
&lt;code class=&quot;bash plain&quot;&gt;BUILD SUCCESSFUL&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
Tasks can also be of a predefined type. The follwoing example uses the JavaExec type to start some Java code:&lt;br /&gt;
&lt;div&gt;
&lt;div class=&quot;syntaxhighlighter  groovy&quot; id=&quot;highlighter_54616&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot;&gt;
1&lt;/div&gt;
&lt;div class=&quot;line number2 index1 alt1&quot;&gt;
2&lt;/div&gt;
&lt;div class=&quot;line number3 index2 alt2&quot;&gt;
3&lt;/div&gt;
&lt;div class=&quot;line number4 index3 alt1&quot;&gt;
4&lt;/div&gt;
&lt;div class=&quot;line number5 index4 alt2&quot;&gt;
5&lt;/div&gt;
&lt;div class=&quot;line number6 index5 alt1&quot;&gt;
6&lt;/div&gt;
&lt;div class=&quot;line number7 index6 alt2&quot;&gt;
7&lt;/div&gt;
&lt;div class=&quot;line number8 index7 alt1&quot;&gt;
8&lt;/div&gt;
&lt;div class=&quot;line number9 index8 alt2&quot;&gt;
9&lt;/div&gt;
&lt;div class=&quot;line number10 index9 alt1&quot;&gt;
10&lt;/div&gt;
&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;div class=&quot;container&quot;&gt;
&lt;div class=&quot;line number1 index0 alt2&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;apply plugin: &lt;/code&gt;&lt;code class=&quot;groovy string&quot;&gt;&#39;java&#39;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number2 index1 alt1&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;line number3 index2 alt2&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;… &lt;/code&gt;&lt;code class=&quot;groovy comments&quot;&gt;// dependencies, repositories etc.&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number4 index3 alt1&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;line number5 index4 alt2&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;task startMain(type: JavaExec, dependsOn: classes) {&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number6 index5 alt1&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;main = &lt;/code&gt;&lt;code class=&quot;groovy string&quot;&gt;&#39;mypackage.Main&#39;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number7 index6 alt2&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;args = &lt;/code&gt;&lt;code class=&quot;groovy string&quot;&gt;&quot;-x -y -z&quot;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;.split().&lt;/code&gt;&lt;code class=&quot;groovy functions&quot;&gt;toList&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;()&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number8 index7 alt1&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;classpath sourceSets.main.classesDir&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number9 index8 alt2&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;classpath configurations.compile&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number10 index9 alt1&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
The command &lt;code&gt;gradle startMain&lt;/code&gt; prepares the classes and then starts the program using the classes and also the external dependencies as classpath.&lt;br /&gt;
&lt;h2&gt;
Maven sample comparison&lt;/h2&gt;
Just to be clear: this is not an A is better than B comparison. The purpose is only to show you the two different versions of a Maven and a Gradle build script that achieve the same thing.&lt;br /&gt;
&lt;div&gt;
&lt;div class=&quot;syntaxhighlighter  xml&quot; id=&quot;highlighter_913359&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot;&gt;
1&lt;/div&gt;
&lt;div class=&quot;line number2 index1 alt1&quot;&gt;
2&lt;/div&gt;
&lt;div class=&quot;line number3 index2 alt2&quot;&gt;
3&lt;/div&gt;
&lt;div class=&quot;line number4 index3 alt1&quot;&gt;
4&lt;/div&gt;
&lt;div class=&quot;line number5 index4 alt2&quot;&gt;
5&lt;/div&gt;
&lt;div class=&quot;line number6 index5 alt1&quot;&gt;
6&lt;/div&gt;
&lt;div class=&quot;line number7 index6 alt2&quot;&gt;
7&lt;/div&gt;
&lt;div class=&quot;line number8 index7 alt1&quot;&gt;
8&lt;/div&gt;
&lt;div class=&quot;line number9 index8 alt2&quot;&gt;
9&lt;/div&gt;
&lt;div class=&quot;line number10 index9 alt1&quot;&gt;
10&lt;/div&gt;
&lt;div class=&quot;line number11 index10 alt2&quot;&gt;
11&lt;/div&gt;
&lt;div class=&quot;line number12 index11 alt1&quot;&gt;
12&lt;/div&gt;
&lt;div class=&quot;line number13 index12 alt2&quot;&gt;
13&lt;/div&gt;
&lt;div class=&quot;line number14 index13 alt1&quot;&gt;
14&lt;/div&gt;
&lt;div class=&quot;line number15 index14 alt2&quot;&gt;
15&lt;/div&gt;
&lt;div class=&quot;line number16 index15 alt1&quot;&gt;
16&lt;/div&gt;
&lt;div class=&quot;line number17 index16 alt2&quot;&gt;
17&lt;/div&gt;
&lt;div class=&quot;line number18 index17 alt1&quot;&gt;
18&lt;/div&gt;
&lt;div class=&quot;line number19 index18 alt2&quot;&gt;
19&lt;/div&gt;
&lt;div class=&quot;line number20 index19 alt1&quot;&gt;
20&lt;/div&gt;
&lt;div class=&quot;line number21 index20 alt2&quot;&gt;
21&lt;/div&gt;
&lt;div class=&quot;line number22 index21 alt1&quot;&gt;
22&lt;/div&gt;
&lt;div class=&quot;line number23 index22 alt2&quot;&gt;
23&lt;/div&gt;
&lt;div class=&quot;line number24 index23 alt1&quot;&gt;
24&lt;/div&gt;
&lt;div class=&quot;line number25 index24 alt2&quot;&gt;
25&lt;/div&gt;
&lt;div class=&quot;line number26 index25 alt1&quot;&gt;
26&lt;/div&gt;
&lt;div class=&quot;line number27 index26 alt2&quot;&gt;
27&lt;/div&gt;
&lt;div class=&quot;line number28 index27 alt1&quot;&gt;
28&lt;/div&gt;
&lt;div class=&quot;line number29 index28 alt2&quot;&gt;
29&lt;/div&gt;
&lt;div class=&quot;line number30 index29 alt1&quot;&gt;
30&lt;/div&gt;
&lt;div class=&quot;line number31 index30 alt2&quot;&gt;
31&lt;/div&gt;
&lt;div class=&quot;line number32 index31 alt1&quot;&gt;
32&lt;/div&gt;
&lt;div class=&quot;line number33 index32 alt2&quot;&gt;
33&lt;/div&gt;
&lt;div class=&quot;line number34 index33 alt1&quot;&gt;
34&lt;/div&gt;
&lt;div class=&quot;line number35 index34 alt2&quot;&gt;
35&lt;/div&gt;
&lt;div class=&quot;line number36 index35 alt1&quot;&gt;
36&lt;/div&gt;
&lt;div class=&quot;line number37 index36 alt2&quot;&gt;
37&lt;/div&gt;
&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;div class=&quot;container&quot;&gt;
&lt;div class=&quot;line number1 index0 alt2&quot;&gt;
&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;project&lt;/code&gt; &lt;code class=&quot;xml color1&quot;&gt;xmlns&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;=&lt;/code&gt;&lt;code class=&quot;xml string&quot;&gt;&quot;&lt;a href=&quot;http://maven.apache.org/POM/4.0.0&quot;&gt;http://maven.apache.org/POM/4.0.0&lt;/a&gt;&quot;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number2 index1 alt1&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml color1&quot;&gt;xmlns:xsi&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;=&lt;/code&gt;&lt;code class=&quot;xml string&quot;&gt;&quot;&lt;a href=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/a&gt;&quot;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number3 index2 alt2&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml color1&quot;&gt;xsi:schemaLocation&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;=&lt;/code&gt;&lt;code class=&quot;xml string&quot;&gt;&quot;&lt;a href=&quot;http://maven.apache.org/POM/4.0.0&quot;&gt;http://maven.apache.org/POM/4.0.0&lt;/a&gt; &lt;a href=&quot;http://maven.apache.org/xsd/maven-4.0.0.xsd&quot;&gt;http://maven.apache.org/xsd/maven-4.0.0.xsd&lt;/a&gt;&quot;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number4 index3 alt1&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;line number5 index4 alt2&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;modelVersion&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;4.0.0&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;modelVersion&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number6 index5 alt1&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;line number7 index6 alt2&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;groupId&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;ch.bbv.mavendemo&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;groupId&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number8 index7 alt1&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;artifactId&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;simpleMavenDemo&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;artifactId&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number9 index8 alt2&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;version&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;0.0.1-SNAPSHOT&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;version&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number10 index9 alt1&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;line number11 index10 alt2&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;properties&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number12 index11 alt1&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;java.source.version&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;1.7&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;java.source.version&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number13 index12 alt2&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;junit.version&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;4.8.2&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;junit.version&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number14 index13 alt1&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;properties&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number15 index14 alt2&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;line number16 index15 alt1&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;dependencies&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number17 index16 alt2&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;dependency&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number18 index17 alt1&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;groupId&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;junit&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;groupId&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number19 index18 alt2&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;artifactId&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;junit&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;artifactId&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number20 index19 alt1&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;version&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;${junit.version}&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;version&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number21 index20 alt2&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;scope&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;test&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;scope&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number22 index21 alt1&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;dependency&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number23 index22 alt2&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;dependencies&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number24 index23 alt1&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;line number25 index24 alt2&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;build&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number26 index25 alt1&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;plugins&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number27 index26 alt2&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;plugin&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number28 index27 alt1&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;artifactId&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;maven-compiler-plugin&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;artifactId&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number29 index28 alt2&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;version&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;2.3.1&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;version&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number30 index29 alt1&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;configuration&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number31 index30 alt2&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;source&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;${java.source.version}&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;source&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number32 index31 alt1&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;target&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;${java.source.version}&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;target&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number33 index32 alt2&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;configuration&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number34 index33 alt1&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;plugin&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number35 index34 alt2&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;plugins&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number36 index35 alt1&quot;&gt;
&lt;code class=&quot;xml spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;build&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number37 index36 alt2&quot;&gt;
&lt;code class=&quot;xml plain&quot;&gt;&amp;lt;/&lt;/code&gt;&lt;code class=&quot;xml keyword&quot;&gt;project&lt;/code&gt;&lt;code class=&quot;xml plain&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
In Gradle this would be:&lt;br /&gt;
&lt;div&gt;
&lt;div class=&quot;syntaxhighlighter  groovy&quot; id=&quot;highlighter_631453&quot;&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td class=&quot;gutter&quot;&gt;&lt;div class=&quot;line number1 index0 alt2&quot;&gt;
1&lt;/div&gt;
&lt;div class=&quot;line number2 index1 alt1&quot;&gt;
2&lt;/div&gt;
&lt;div class=&quot;line number3 index2 alt2&quot;&gt;
3&lt;/div&gt;
&lt;div class=&quot;line number4 index3 alt1&quot;&gt;
4&lt;/div&gt;
&lt;div class=&quot;line number5 index4 alt2&quot;&gt;
5&lt;/div&gt;
&lt;div class=&quot;line number6 index5 alt1&quot;&gt;
6&lt;/div&gt;
&lt;div class=&quot;line number7 index6 alt2&quot;&gt;
7&lt;/div&gt;
&lt;div class=&quot;line number8 index7 alt1&quot;&gt;
8&lt;/div&gt;
&lt;div class=&quot;line number9 index8 alt2&quot;&gt;
9&lt;/div&gt;
&lt;div class=&quot;line number10 index9 alt1&quot;&gt;
10&lt;/div&gt;
&lt;div class=&quot;line number11 index10 alt2&quot;&gt;
11&lt;/div&gt;
&lt;div class=&quot;line number12 index11 alt1&quot;&gt;
12&lt;/div&gt;
&lt;div class=&quot;line number13 index12 alt2&quot;&gt;
13&lt;/div&gt;
&lt;div class=&quot;line number14 index13 alt1&quot;&gt;
14&lt;/div&gt;
&lt;div class=&quot;line number15 index14 alt2&quot;&gt;
15&lt;/div&gt;
&lt;div class=&quot;line number16 index15 alt1&quot;&gt;
16&lt;/div&gt;
&lt;div class=&quot;line number17 index16 alt2&quot;&gt;
17&lt;/div&gt;
&lt;div class=&quot;line number18 index17 alt1&quot;&gt;
18&lt;/div&gt;
&lt;div class=&quot;line number19 index18 alt2&quot;&gt;
19&lt;/div&gt;
&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;div class=&quot;container&quot;&gt;
&lt;div class=&quot;line number1 index0 alt2&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;apply plugin: &lt;/code&gt;&lt;code class=&quot;groovy string&quot;&gt;&#39;java&#39;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number2 index1 alt1&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;apply plugin: &lt;/code&gt;&lt;code class=&quot;groovy string&quot;&gt;&#39;maven&#39;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number3 index2 alt2&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;line number4 index3 alt1&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;group = &lt;/code&gt;&lt;code class=&quot;groovy string&quot;&gt;&#39;ch.bbv.gradledemo&#39;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number5 index4 alt2&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;version = &lt;/code&gt;&lt;code class=&quot;groovy string&quot;&gt;&#39;0.0.1-SNAPSHOT&#39;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number6 index5 alt1&quot;&gt;
&lt;code class=&quot;groovy comments&quot;&gt;//the default artifact id is the project name, which is per default the directory name of the project&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number7 index6 alt2&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;line number8 index7 alt1&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;project.ext.junitVersion=&lt;/code&gt;&lt;code class=&quot;groovy string&quot;&gt;&#39;4.8.2&#39;&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number9 index8 alt2&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;line number10 index9 alt1&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;sourceCompatibility = &lt;/code&gt;&lt;code class=&quot;groovy value&quot;&gt;1.7&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number11 index10 alt2&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;targetCompatibility = &lt;/code&gt;&lt;code class=&quot;groovy value&quot;&gt;1.7&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number12 index11 alt1&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;line number13 index12 alt2&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;repositories {&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number14 index13 alt1&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;mavenCentral()&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number15 index14 alt2&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number16 index15 alt1&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;line number17 index16 alt2&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;dependencies {&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number18 index17 alt1&quot;&gt;
&lt;code class=&quot;groovy spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;testCompile &lt;/code&gt;&lt;code class=&quot;groovy string&quot;&gt;&#39;junit:junit:&#39;&lt;/code&gt;&lt;code class=&quot;groovy plain&quot;&gt;+junitVersion&lt;/code&gt;&lt;/div&gt;
&lt;div class=&quot;line number19 index18 alt2&quot;&gt;
&lt;code class=&quot;groovy plain&quot;&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
The ‘maven’ plug-in allows you to install the artifact in your local Maven repository. Gradle’s DSL makes the build script much easier to read. Of course one could use polyglot Maven but that didn’t take off yet.&lt;br /&gt;
&lt;h2&gt;
IDE integration&lt;/h2&gt;
The first thing I tried was the Gradle plug-in called ‘eclipse’ (it’s a bit unlucky that everything is now called plug-in). This plug-in can generate eclipse configuration files with settings, project and classpath. This works quite well but you have to update and refresh the project yourself after changing the build.gradle file.&lt;br /&gt;
The opposite way around there are also plug-ins for eclipse. The first one is Groovy support so you can edit Groovy code in eclipse. The second one is the Gradle plug-in itself which manages the dependencies of your project, allows you to start Gradle tasks and more.&lt;br /&gt;
There is support for other IDEs as well. The current state of tooling can be found here: &lt;a href=&quot;http://www.gradle.org/tooling&quot;&gt;http://www.gradle.org/tooling&lt;/a&gt;&lt;br /&gt;
&lt;h2&gt;
Documentation&lt;/h2&gt;
Gradle comes with a comprehensive set of documentation including a user guide, reference material and even a book titled “Building and Testing with Gradle”. You can read the book online if you register on Gradleware’s web site. It’s a good read and covers all the stuff you need to get started with Gradle.&lt;br /&gt;
The user guide documents all the parts of Gradle and will be continuously extended as Gradle grows. The reference material is generated Java/Groovy doc for Gradle’s API and DSL.&lt;br /&gt;
&lt;h2&gt;
Conclusion&lt;/h2&gt;
I see three scenarios where Gradle can be a good candidate for your build system.&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;If you are currently using Ant and the build.xmls get too complicated to handle. With the task based build and the support for existing Ant tasks, Gradle support the migration from Ant.&lt;/li&gt;
&lt;li&gt;You have trouble to get Maven to do what you want and maybe already started to write your own Maven plug-ins. Gradle supports the convention over configuration paradigm similar to Maven but can also be scripted with Groovy to do more powerful stuff.&lt;/li&gt;
&lt;li&gt;You start a new project.&lt;/li&gt;
&lt;/ol&gt;
Gradle as a build system makes a very good impression to me. Hopefully there will be more plug-ins developed when more and more projects use it. I’ve seen that a Jacoco plug-in is under development for example. Gradle itself will continuously be extended and there is also a short- and long-term road-map available. It is licensed under the Apache License, Version 2.0 and is used by open source projects like Spring and Hibernate and also by commercial entities.&lt;br /&gt;
Even though it has a bit of a steep learning curve it is worth a closer look.&lt;/div&gt;
&lt;!-- .entry-content --&gt;


     &lt;br /&gt;
&lt;div class=&quot;entry-utility&quot;&gt;
This entry was posted in &lt;a href=&quot;http://blog.bbv.ch/category/alm/&quot; rel=&quot;category tag&quot;&gt;ALM&lt;/a&gt;, &lt;a href=&quot;http://blog.bbv.ch/category/java/&quot; rel=&quot;category tag&quot;&gt;Java&lt;/a&gt; and tagged &lt;a href=&quot;http://blog.bbv.ch/tag/build/&quot; rel=&quot;tag&quot;&gt;Build&lt;/a&gt;, &lt;a href=&quot;http://blog.bbv.ch/tag/gradle/&quot; rel=&quot;tag&quot;&gt;Gradle&lt;/a&gt;, &lt;a href=&quot;http://blog.bbv.ch/tag/java-2/&quot; rel=&quot;tag&quot;&gt;java&lt;/a&gt;. Bookmark the &lt;a href=&quot;http://blog.bbv.ch/2012/09/12/the-gradle-build-system-a-short-overview/&quot; rel=&quot;bookmark&quot; title=&quot;Permalink to The Gradle build system: a short overview&quot;&gt;permalink&lt;/a&gt;.           &lt;/div&gt;
&lt;!-- .entry-utility --&gt;
    &lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/6296983853103731915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2016/02/gradle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/6296983853103731915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/6296983853103731915'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2016/02/gradle.html' title='Gradle '/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-2271684904668939866</id><published>2013-05-28T04:08:00.000-07:00</published><updated>2013-05-28T04:08:03.592-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Forum"/><title type='text'>Firefox OS</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: large;&quot;&gt;FireFox OS&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;div style=&quot;color: #333333; font-size: 14px; line-height: 1.5em; margin-bottom: 1.286em; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;strong&gt;Firefox OS&amp;nbsp;&lt;/strong&gt;is a new mobile operating system developed by Mozilla. It uses a Linux kernel and boots into a Gecko-based runtime engine, which lets users run applications developed entirely using&amp;nbsp;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/HTML&quot; style=&quot;color: #6699cc; text-decoration: none;&quot; title=&quot;en-US/docs/HTML&quot;&gt;HTML&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/JavaScript&quot; style=&quot;color: #6699cc; text-decoration: none;&quot; title=&quot;en-US/docs/JavaScript&quot;&gt;JavaScript&lt;/a&gt;, and other open web application APIs.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-size: 14px; line-height: 1.5em; margin-bottom: 1.286em; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Firefox OS is currently under heavy development; we are constantly working on ways to make it easier for you to use and hack on Gaia (the default set of apps) and create your own. However, you need knowledge about systems in order to do things like build the entire Firefox OS stack, or flash a phone with a build of Firefox OS. Linked below are guides meant for Web developers interested in running and making changes to Gaia or developing apps to run on Firefox OS devices.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-size: 14px; line-height: 1.5em; margin-bottom: 1.286em; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;check this&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://developer.mozilla.org/en/docs/Mozilla/Firefox_OS&quot;&gt;https://developer.mozilla.org/en/docs/Mozilla/Firefox_OS&lt;/a&gt;&amp;nbsp;for more details.&lt;/div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Here are the steps to install firefox os on your phone&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;a href=&quot;http://support.mozilla.org/en-US/kb/download-and-install-applications-firefox-os&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;http://support.mozilla.org/en-US/kb/download-and-install-applications-firefox-os&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/2271684904668939866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2013/05/firefox-os.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/2271684904668939866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/2271684904668939866'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2013/05/firefox-os.html' title='Firefox OS'/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-3085125526860736423</id><published>2013-05-28T03:56:00.000-07:00</published><updated>2013-05-28T03:56:00.501-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Forum"/><title type='text'>receive screen OnOff or Headset plug broadcast </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;There are some broadcast in android which you can&#39;t detect just declaring receiver with intent-filters in Android-Manifest.xml to detect them you need one active component service or activity which will register Custom broadcast receiver at run time as follows&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Times, Times New Roman, serif;&quot;&gt;MyReceiver br = new&amp;nbsp;MyReceiver();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Times, Times New Roman, serif;&quot;&gt;IntentFilter theFilter1 = new IntentFilter(Intent.ACTION_HEADSET_PLUG);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Times, Times New Roman, serif;&quot;&gt;IntentFilter theFilter2 = new IntentFilter(Intent.ACTION_SCREEN_ON);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Times, Times New Roman, serif;&quot;&gt;registerReceiver(br, theFilter1);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Times, Times New Roman, serif;&quot;&gt;registerReceiver(br, theFilter2);&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/3085125526860736423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2013/05/receive-screen-onoff-or-headset-plug.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/3085125526860736423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/3085125526860736423'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2013/05/receive-screen-onoff-or-headset-plug.html' title='receive screen OnOff or Headset plug broadcast '/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-8296894992231815393</id><published>2013-02-18T22:35:00.001-08:00</published><updated>2013-02-18T22:35:55.340-08:00</updated><title type='text'>Android Emulator soft/hard key shortcuts</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Android Emulator soft/hard key shortcuts &lt;br /&gt;
&lt;br /&gt;
Home&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Home Button&lt;br /&gt;
F2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Left Softkey / Menu / Settings button (or Page up)&lt;br /&gt;
Shift+f2&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Right Softkey / Star button (or Page down)&lt;br /&gt;
Esc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Back Button&lt;br /&gt;
F3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Call/ dial Button&lt;br /&gt;
F4&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Hang up / end call button&lt;br /&gt;
F5&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Search Button&lt;br /&gt;
Ctrl+F5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Volume up (or + on numeric keyboard with Num Lock off)&lt;br /&gt;Ctrl+F6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Volume down (or + on numeric keyboard with Num Lock off)&lt;br /&gt;F7&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Power Button&lt;br /&gt;Ctrl+F3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Camera Button&lt;br /&gt;Ctrl+F11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Switch layout orientation portrait/landscape backwards&lt;br /&gt;Ctrl+F12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Switch layout orientation portrait/landscape forwards&lt;br /&gt;F8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Toggle cell network&lt;br /&gt;F9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Toggle code profiling&lt;br /&gt;Alt+Enter&amp;nbsp;&amp;nbsp; Toggle fullscreen mode&lt;br /&gt;F6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Toggle trackball mode&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/8296894992231815393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2013/02/android-emulator-softhard-key-shortcuts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/8296894992231815393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/8296894992231815393'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2013/02/android-emulator-softhard-key-shortcuts.html' title='Android Emulator soft/hard key shortcuts'/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-2113464184223435757</id><published>2013-01-21T23:06:00.000-08:00</published><updated>2013-01-21T23:14:58.945-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="A116"/><category scheme="http://www.blogger.com/atom/ns#" term="Canvas"/><category scheme="http://www.blogger.com/atom/ns#" term="India"/><category scheme="http://www.blogger.com/atom/ns#" term="MediaTek"/><category scheme="http://www.blogger.com/atom/ns#" term="Micromax"/><category scheme="http://www.blogger.com/atom/ns#" term="WVGA"/><title type='text'>Micromax A116 Canvas HD goes official with 5&quot; screen, quad CPU</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Micromax has announced the latest Canvas series smartphone
 today and it is called A116 Canvas HD unlike the rumours of Canvas 3. 
Packing a MediaTek 6589 quad-core processor, it will go on sale starting
 the first week of next month (i.e. February). Company has revealed that
 it wants to price A116 Canvas HD under INR 15K, which will surely make 
it an instant hit.
&lt;br /&gt;
We thought it was time that we compared Micromax A116 with previous iteration of Canvas smartphones from Micromax.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKr79qt16K20q0Z05e4SXSqoOpLYwsEOzhDTYlFj1g_XD3FSekABmPZL4v-I34Bug3_QM8rktM67M_6IBjX-PJFcWR8SOyxo1DGLkFfQfWCMCPxzw-Zv4v1ZgzwA_w3n0bFyiaMlZkHCw/s1600/Micromax_A116.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;245&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKr79qt16K20q0Z05e4SXSqoOpLYwsEOzhDTYlFj1g_XD3FSekABmPZL4v-I34Bug3_QM8rktM67M_6IBjX-PJFcWR8SOyxo1DGLkFfQfWCMCPxzw-Zv4v1ZgzwA_w3n0bFyiaMlZkHCw/s320/Micromax_A116.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Micromax A116 is significant improvement over the previous versions, 
considering that it packs a 720p display, quad-core processor and 1GB 
RAM. Canvas 1 and Canvas only have 512MB RAM, single and dual core 
processors respectively and WVGA resolution displays.&lt;span id=&quot;more-37291&quot;&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/2113464184223435757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2013/01/micromax-a116-canvas-hd-goes-official.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/2113464184223435757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/2113464184223435757'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2013/01/micromax-a116-canvas-hd-goes-official.html' title='Micromax A116 Canvas HD goes official with 5&quot; screen, quad CPU'/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKr79qt16K20q0Z05e4SXSqoOpLYwsEOzhDTYlFj1g_XD3FSekABmPZL4v-I34Bug3_QM8rktM67M_6IBjX-PJFcWR8SOyxo1DGLkFfQfWCMCPxzw-Zv4v1ZgzwA_w3n0bFyiaMlZkHCw/s72-c/Micromax_A116.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-998882872401110471</id><published>2012-10-09T11:49:00.000-07:00</published><updated>2012-10-09T11:49:08.271-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="opengl"/><title type='text'>opengl with android part I</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;OpenGL&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
OpenGL (originally called Open Graphics Library) is a 2D and 3D graphics API that was&lt;br /&gt;developed by Silicon Graphics, Inc. (SGI) for its Unix workstations. Although SGI’s&lt;br /&gt;version of OpenGL has been around for a long time, the first standardized spec of&lt;br /&gt;OpenGL emerged in 1992. Now widely adopted on all operating systems, the OpenGL&lt;br /&gt;standard forms the basis of much of the gaming, computer-aided design (CAD), and&lt;br /&gt;even virtual reality (VR) industries.&lt;br /&gt;The OpenGL standard is currently being managed by an industry consortium called The&lt;br /&gt;Khronos Group (http://www.khronos.org), founded in 2000 by companies such as&lt;br /&gt;NVIDIA, Sun Microsystems, ATI Technologies, and SGI. You can learn more about the&lt;br /&gt;OpenGL spec at the consortium’s web site:&lt;br /&gt;http://www.khronos.org/opengl/&lt;br /&gt;
&lt;br /&gt;The official documentation page for OpenGL is available here:&lt;br /&gt;http://www.opengl.org/documentation/&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;OpenGL ES&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;
The Khronos Group is also responsible for two additional standards that are tied to&lt;br /&gt;OpenGL: OpenGL ES, and the EGL Native Platform Graphics Interface (known simply as&lt;br /&gt;EGL). As we mentioned, OpenGL ES is a smaller version of OpenGL intended for&lt;br /&gt;embedded systems.&lt;br /&gt;
The EGL standard is essentially an enabling interface between the underlying operating&lt;br /&gt;system and the rendering APIs offered by OpenGL ES. Because OpenGL and OpenGL&lt;br /&gt;ES are general-purpose interfaces for drawing, each operating system needs to provide&lt;br /&gt;a standard hosting environment for OpenGL and OpenGL ES to interact with. Android&lt;br /&gt;SDK, starting with its 1.5 release, hides these platform specifics quite well. We will learn&lt;br /&gt;about this in the second section titled “Interfacing OpenGL ES with Android.”&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Fundamentals of OpenGL&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
This section will help you understand the concepts behind OpenGL and the OpenGL ES&lt;br /&gt;API. We’ll explain all the key APIs. To supplement the information from this chapter, you&lt;br /&gt;might want to refer to the “Resources” section towards the end of this chapter. The&lt;br /&gt;indicated resources there include the Red book, JSR 239 documentation, and the&lt;br /&gt;Khronps Group API reference.&lt;br /&gt;
&lt;br /&gt;
here is list of some of this api&lt;br /&gt;
&lt;br /&gt;
glVertexPointer&lt;br /&gt;glDrawElements&lt;br /&gt;&amp;nbsp;glColor&lt;br /&gt;&amp;nbsp;glClear&lt;br /&gt;&amp;nbsp;gluLookAt&lt;br /&gt; glFrustum&lt;br /&gt;&amp;nbsp;glViewport&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/998882872401110471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2012/10/opengl-with-android-part-i.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/998882872401110471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/998882872401110471'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2012/10/opengl-with-android-part-i.html' title='opengl with android part I'/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-4199239815563150213</id><published>2012-10-09T11:35:00.002-07:00</published><updated>2012-10-09T11:35:40.649-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="dual-core"/><category scheme="http://www.blogger.com/atom/ns#" term="mi-500"/><category scheme="http://www.blogger.com/atom/ns#" term="spice"/><category scheme="http://www.blogger.com/atom/ns#" term="stellar"/><title type='text'>cheapest dual core android india  stellar horizon</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj47r-QURRiizRDR9Uei_khg-4ASJ6O9mCcEWp3ukmpNpibF4ijMyqcA7ZUETUxoBcujzVBV8goDXjcpkhF9xXEKNBruJk7n3It5UdP_KhqKCRmEsRKt6_y8NXYBuf2pVFH5tZcCYGmbic/s1600/spice-mi-500-stellar-horizon-mobile-phone-large-1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot; title=&quot;cheapest dual core android india  stellar horizon&quot;&gt;&lt;img alt=&quot;cheapest dual core android india  stellar horizon&quot; border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj47r-QURRiizRDR9Uei_khg-4ASJ6O9mCcEWp3ukmpNpibF4ijMyqcA7ZUETUxoBcujzVBV8goDXjcpkhF9xXEKNBruJk7n3It5UdP_KhqKCRmEsRKt6_y8NXYBuf2pVFH5tZcCYGmbic/s320/spice-mi-500-stellar-horizon-mobile-phone-large-1.jpg&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;width: 100%px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td valign=&quot;top&quot; width=&quot;50%&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;width: 100%px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;b class=&quot;specifichead&quot;&gt;General Information&lt;/b&gt;&lt;/td&gt;
                                                    &lt;/tr&gt;
&lt;tr&gt;
                                                        &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Brand&lt;/b&gt;&lt;/td&gt;
                                                        &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Spice&lt;/td&gt;
                                                    &lt;/tr&gt;
&lt;tr&gt;
                                                        &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Model&lt;/b&gt;&lt;/td&gt;
                                                        &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Mi-500 Stellar Horizon&lt;/td&gt;
                                                    &lt;/tr&gt;
&lt;tr&gt;
                                                        &lt;td valign=&quot;top&quot;&gt;&lt;b&gt;Weight&lt;/b&gt;&lt;/td&gt;
                                                        &lt;td valign=&quot;top&quot;&gt;0&amp;nbsp;G&lt;/td&gt;
                                                    &lt;/tr&gt;
&lt;tr&gt;
                                                        &lt;td valign=&quot;top&quot;&gt;&lt;b&gt;Form Factor&lt;/b&gt;&lt;/td&gt;
                                                        &lt;td valign=&quot;top&quot;&gt;Touch Bar&lt;/td&gt;
                                                    &lt;/tr&gt;
&lt;tr&gt;
                                                        &lt;td valign=&quot;top&quot;&gt;&lt;b&gt;Dimensions&lt;/b&gt;&lt;/td&gt;
                                                        &lt;td valign=&quot;top&quot;&gt;0x0x0&amp;nbsp;MM&lt;/td&gt;
                                                    &lt;/tr&gt;
&lt;tr&gt;
                                                        &lt;td&gt;&lt;b&gt;Operating  Frequency&lt;/b&gt;&lt;/td&gt;
                                                        &lt;td valign=&quot;top&quot;&gt;GSM 900 / 1800 / UMTS 2100 MHz       | GSM 900 / 1800 / UMTS 2100 MHz&lt;/td&gt;
                                                    &lt;/tr&gt;
&lt;tr&gt;
                                                        &lt;td&gt;&lt;b&gt;Dual Sim&lt;/b&gt;&lt;/td&gt;
                                                        &lt;td valign=&quot;top&quot;&gt;Yes, Dual SIM, Dual Standby&lt;/td&gt;
                                                    &lt;/tr&gt;
&lt;tr&gt;
                                                        &lt;td&gt;&lt;b&gt;Touch Screen&lt;/b&gt;&lt;/td&gt;
                                                        &lt;td valign=&quot;top&quot;&gt;Yes, Capacitive Touchscreen&lt;/td&gt;
                                                    &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;width: 100%px;&quot;&gt;
                                                &lt;tbody&gt;
&lt;tr&gt;
                                                    &lt;td colspan=&quot;2&quot;&gt;&lt;b class=&quot;specifichead&quot;&gt;Display Details&lt;/b&gt;&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Display Color&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;5.0 inches Capacitive Touchscreen&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Display Size&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Spice Mi-500 Stellar Horizon has a display size of 480 x 800 px&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;width: 100%px;&quot;&gt;
                                                &lt;tbody&gt;
&lt;tr&gt;
                                                    &lt;td colspan=&quot;2&quot;&gt;&lt;b class=&quot;specifichead&quot;&gt;Camera&lt;/b&gt;&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Camera&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes,
 Rear Camera : 5.0 MP Camera (2592x1944 Pixels) with Auto Focus and LED 
Flash, Front Camera : 0.3 MP, VGA Camera (640x480 Pixels)&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Camera Res.&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;2592 x 1944 Pixels&amp;nbsp;&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Zoom&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes, Digital Zoom&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Video&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Video Recording&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Video Player&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes, MP4 Player&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;width: 100%px;&quot;&gt;
                                                &lt;tbody&gt;
&lt;tr&gt;
                                                    &lt;td colspan=&quot;2&quot;&gt;&lt;b class=&quot;specifichead&quot;&gt;Software&lt;/b&gt;&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Games&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Java&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Browser&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Operating System&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Android OS, v2.3 (Gingerbread), upgrade to v4.0&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;width: 100%px;&quot;&gt;
                                                &lt;tbody&gt;
&lt;tr&gt;
                                                    &lt;td colspan=&quot;2&quot;&gt;&lt;b class=&quot;specifichead&quot;&gt;Call Records&lt;/b&gt;&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Phone Book&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Practically Unlimited&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Missed Calls&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Practically unlimited&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Received Calls&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Practically unlimited&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Dialed Calls&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Practically unlimited&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;width: 100%px;&quot;&gt;
                                                &lt;tbody&gt;
&lt;tr&gt;
                                                    &lt;td colspan=&quot;2&quot;&gt;&lt;b class=&quot;specifichead&quot;&gt;Battery&lt;/b&gt;&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Stand By Time&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;N/A&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Talk Time&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;N/A&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Li-ion&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;2150 mAH&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/td&gt;
                                &lt;td valign=&quot;top&quot; width=&quot;50%&quot;&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;width: 100%px;&quot;&gt;
                                                &lt;tbody&gt;
&lt;tr&gt;
                                                    &lt;td colspan=&quot;2&quot;&gt;&lt;b class=&quot;specifichead&quot;&gt;Memory&lt;/b&gt;&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Internal Memory&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes, Internal Memory : 4 GB ROM + 512 MB RAM&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;External Memory&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes, Up to 32 GB&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Memory Slot&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes, Micro SD/T-Flash Card&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;width: 100%px;&quot;&gt;
                                                &lt;tbody&gt;
&lt;tr&gt;
                                                    &lt;td colspan=&quot;2&quot;&gt;&lt;b class=&quot;specifichead&quot;&gt;Message&lt;/b&gt;&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;SMS&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;MMS&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Email&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Instant Messaging&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Social Networking Services&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;width: 100%px;&quot;&gt;
                                                &lt;tbody&gt;
&lt;tr&gt;
                                                    &lt;td colspan=&quot;2&quot;&gt;&lt;b class=&quot;specifichead&quot;&gt;Music&lt;/b&gt;&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Ring Tone&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Vibration, Polyphonic, MP3           &lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;FM&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes, FM Radio&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Music&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes, Music Formats : MP3, AAC, AAC+, WAV with Loud Speaker, 3.5mm Audio Jack&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Speaker&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Headset &lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;width: 100%px;&quot;&gt;
                                                &lt;tbody&gt;
&lt;tr&gt;
                                                    &lt;td colspan=&quot;2&quot;&gt;&lt;b class=&quot;specifichead&quot;&gt;Data&lt;/b&gt;&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;GPRS&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Bluetooth&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Wirless Protocol&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes, Wi-Fi 802.11 b/g, Wi-Fi Tethering&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Port&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes, USB Port&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Edge&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Infra Red&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;No&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;3G&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;GPS&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;CPU&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Yes, Dual core 1GHz processor&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Salespack&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;Handset, Battery, Charger, Earphone, USB Cable, User Manual, Warranty Card&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;width: 100%px;&quot;&gt;
                                                                        
                                                                        
        &lt;tbody&gt;
&lt;tr&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;14%&quot;&gt;&lt;b&gt;Others&lt;/b&gt;&lt;/td&gt;
                                                    &lt;td valign=&quot;top&quot; width=&quot;36%&quot;&gt;&lt;div class=&quot;headOfLeft&quot;&gt;
Applications :&lt;/div&gt;
&lt;div class=&quot;dataTextRight&quot;&gt;
Secured by NQ Mobile Security Apps&lt;/div&gt;
&lt;br clear=&quot;all&quot; /&gt;
&lt;div class=&quot;headOfLeft1&quot;&gt;
Colours&lt;/div&gt;
&lt;div class=&quot;dataTextRight1&quot;&gt;
Black&lt;/div&gt;
&lt;br clear=&quot;all&quot; /&gt;
&lt;br clear=&quot;all&quot; /&gt;&lt;/td&gt;
                                                &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/td&gt;
                                &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br clear=&quot;all&quot; /&gt;
&lt;ins style=&quot;border: none; display: inline-table; height: 90px; margin: 0; padding: 0; position: relative; visibility: visible; width: 728px;&quot;&gt;&lt;ins id=&quot;aswift_1_anchor&quot; style=&quot;border: none; display: block; height: 90px; margin: 0; padding: 0; position: relative; visibility: visible; width: 728px;&quot;&gt;&lt;/ins&gt;&lt;/ins&gt;&lt;br clear=&quot;all&quot; /&gt;
&lt;h2 id=&quot;mobilevideos&quot; style=&quot;width: 311px;&quot;&gt;
Spice MI-500&lt;/h2&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/4199239815563150213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2012/10/cheapest-dual-core-android-india.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/4199239815563150213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/4199239815563150213'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2012/10/cheapest-dual-core-android-india.html' title='cheapest dual core android india  stellar horizon'/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj47r-QURRiizRDR9Uei_khg-4ASJ6O9mCcEWp3ukmpNpibF4ijMyqcA7ZUETUxoBcujzVBV8goDXjcpkhF9xXEKNBruJk7n3It5UdP_KhqKCRmEsRKt6_y8NXYBuf2pVFH5tZcCYGmbic/s72-c/spice-mi-500-stellar-horizon-mobile-phone-large-1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-5020014474675770187</id><published>2012-08-08T11:38:00.000-07:00</published><updated>2012-08-08T11:38:00.808-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="filter"/><category scheme="http://www.blogger.com/atom/ns#" term="ListView"/><title type='text'>create nice looking ListView filter on Android</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;post-text&quot;&gt;
First, you need to create an XML layout that has both an EditText, and a ListView. &lt;br /&gt;


&lt;pre class=&quot;default prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;LinearLayout&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; 
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;atn&quot;&gt;xmlns:android&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot;&gt;&quot;http://schemas.android.com/apk/res/android&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;atn&quot;&gt;android:layout_width&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot;&gt;&quot;fill_parent&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;atn&quot;&gt;android:layout_height&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot;&gt;&quot;fill_parent&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;atn&quot;&gt;android:orientation&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot;&gt;&quot;vertical&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;

&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;com&quot;&gt;&amp;lt;!-- Pretty hint text, and maxLines --&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;EditText&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;atn&quot;&gt;android:id&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot;&gt;&quot;@+building_list/search_box&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; 
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;atn&quot;&gt;android:layout_width&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot;&gt;&quot;fill_parent&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;atn&quot;&gt;android:layout_height&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot;&gt;&quot;wrap_content&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;atn&quot;&gt;android:hint&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot;&gt;&quot;type to filter&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;atn&quot;&gt;android:inputType&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot;&gt;&quot;text&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;atn&quot;&gt;android:maxLines&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot;&gt;&quot;1&quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;

&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;com&quot;&gt;&amp;lt;!-- Set height to 0, and let the weight param expand it --&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;com&quot;&gt;&amp;lt;!-- Note the use of the default ID! This lets us use a 
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ListActivity still! --&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;ListView&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;atn&quot;&gt;android:id&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot;&gt;&quot;@android:id/list&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;atn&quot;&gt;android:layout_width&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot;&gt;&quot;fill_parent&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;atn&quot;&gt;android:layout_height&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot;&gt;&quot;0dip&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;atn&quot;&gt;android:layout_weight&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot;&gt;&quot;1&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; 
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; 
&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/LinearLayout&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
This will lay everything out properly, with a nice EditText above the
 ListView. Next, create a ListActivity as you would normally, but add a &lt;code&gt;setContentView()&lt;/code&gt; call in the &lt;code&gt;onCreate()&lt;/code&gt; method so we use our recently declared layout. Remember that we ID&#39;ed the &lt;code&gt;ListView&lt;/code&gt; specially, with &lt;code&gt;android:id=&quot;@android:id/list&quot;&lt;/code&gt;. This allows the &lt;code&gt;ListActivity&lt;/code&gt; to know which &lt;code&gt;ListView&lt;/code&gt; we want to use in our declared layout. &lt;br /&gt;


&lt;pre class=&quot;default prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;pln&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;lit&quot;&gt;@Override&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;protected&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; onCreate&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;Bundle&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; savedInstanceState&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;onCreate&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;savedInstanceState&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;

&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; setContentView&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;R&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;filterable_listview&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;

&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; setListAdapter&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;ArrayAdapter&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;R&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;simple_list_item_1&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; 
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;getStringArrayList&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;());&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
Running the app now should show your previous &lt;code&gt;ListView&lt;/code&gt;, 
with a nice box above. In order to make that box do something, we need 
to take the input from it, and make that input filter the list. While a 
lot of people have tried to do this manually, &lt;em&gt;most&lt;/em&gt; &lt;code&gt;ListView&lt;/code&gt; &lt;code&gt;Adapter&lt;/code&gt; classes come with a &lt;code&gt;Filter&lt;/code&gt; object that can be used to perform the filtering automagically. We just need to pipe the input from the &lt;code&gt;EditText&lt;/code&gt; into the &lt;code&gt;Filter&lt;/code&gt;. Turns out that is pretty easy. To run a quick test, add this line to your &lt;code&gt;onCreate()&lt;/code&gt; call&lt;br /&gt;


&lt;pre class=&quot;default prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;pln&quot;&gt;adapter&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;getFilter&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;().&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;filter&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
Notice that you will need to save your &lt;code&gt;ListAdapter&lt;/code&gt; to a variable to make this work - I have saved my &lt;code&gt;ArrayAdapter&amp;lt;String&amp;gt;&lt;/code&gt; from earlier into a variable called &#39;adapter&#39;.&lt;br /&gt;


Next step is to get the input from the &lt;code&gt;EditText&lt;/code&gt;. This actually takes a bit of thought. You could add an &lt;code&gt;OnKeyListener()&lt;/code&gt; to your &lt;code&gt;EditText&lt;/code&gt;. However, this listener only receives &lt;em&gt;some key events&lt;/em&gt;.
 For example, if a user enters &#39;wyw&#39;, the predictive text will likely 
recommend &#39;eye&#39;. Until the user chooses either &#39;wyw&#39; or &#39;eye&#39;, your &lt;code&gt;OnKeyListener&lt;/code&gt;
 will not receive a key event. Some may prefer this solution, but I 
found it frustrating. I wanted every key event, so I had the choice of 
filtering or not filtering. The solution is a &lt;code&gt;TextWatcher&lt;/code&gt;. Simply create and add a &lt;code&gt;TextWatcher&lt;/code&gt; to the &lt;code&gt;EditText&lt;/code&gt;, and pass the &lt;code&gt;ListAdapter&lt;/code&gt; &lt;code&gt;Filter&lt;/code&gt; a filter request every time the text changes. Remember to remove the &lt;code&gt;TextWatcher&lt;/code&gt; in &lt;code&gt;OnDestroy()&lt;/code&gt;! Here is the final solution:&lt;br /&gt;


&lt;pre class=&quot;default prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;kwd&quot;&gt;private&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;EditText&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; filterText &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;ArrayAdapter&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; adapter &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;lit&quot;&gt;@Override&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;protected&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; onCreate&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;Bundle&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; savedInstanceState&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;onCreate&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;savedInstanceState&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;

&amp;nbsp; &amp;nbsp; setContentView&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;R&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;filterable_listview&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;

&amp;nbsp; &amp;nbsp; filterText &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;EditText&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; findViewById&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;R&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;search_box&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; filterText&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;addTextChangedListener&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;filterTextWatcher&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;

&amp;nbsp; &amp;nbsp; setListAdapter&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;ArrayAdapter&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;android&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;R&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;simple_list_item_1&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; 
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;getStringArrayList&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;());&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;private&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;TextWatcher&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; filterTextWatcher &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;TextWatcher&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;

&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;public&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; afterTextChanged&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;Editable&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; s&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;

&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;public&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; beforeTextChanged&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;CharSequence&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; s&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; start&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; count&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; after&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;

&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;public&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; onTextChanged&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;CharSequence&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; s&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; start&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; before&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; count&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; adapter&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;getFilter&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;().&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;filter&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;};&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;lit&quot;&gt;@Override&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;protected&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; onDestroy&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;onDestroy&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;();&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; filterText&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;removeTextChangedListener&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;filterTextWatcher&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/5020014474675770187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2012/08/create-nice-looking-listview-filter-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/5020014474675770187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/5020014474675770187'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2012/08/create-nice-looking-listview-filter-on.html' title='create nice looking ListView filter on Android'/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-3003502346606904223</id><published>2012-08-08T11:30:00.002-07:00</published><updated>2012-08-08T11:30:35.111-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Bitmap"/><category scheme="http://www.blogger.com/atom/ns#" term="Drawable"/><title type='text'>convert Drawable to Bitmap</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;post-text&quot;&gt;
This piece of code helps.&lt;br /&gt;


&lt;pre class=&quot;default prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;typ&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;default prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;typ&quot;&gt;Bitmap&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; icon &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;BitmapFactory&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;decodeResource&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;context&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;getResources&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(),&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;R&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;drawable&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;icon_resource&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;strong&gt;Edit:&lt;/strong&gt; Here a version where the image gets downloaded.&lt;br /&gt;


&lt;pre class=&quot;default prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;typ&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; name &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; c&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;getString&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;str_url&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
URL url_value &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; URL&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;ImageView&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; profile &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;ImageView&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;findViewById&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;R&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;vdo_icon&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;profile &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;!=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;Bitmap&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; mIcon1 &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;BitmapFactory&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;decodeStream&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;url_value&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;openConnection&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;().&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;getInputStream&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;());&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; profile&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;setImageBitmap&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;mIcon1&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;default prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;pun&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;post-text&quot;&gt;
This converts a BitmapDrawable to a Bitmap.&lt;br /&gt;


&lt;pre class=&quot;default prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;typ&quot;&gt;Drawable&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; d &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;ImagesArrayList&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;get&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;lit&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;Bitmap&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; bitmap &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;BitmapDrawable&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;d&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;getBitmap&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;();&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;pre class=&quot;default prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;pun&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/3003502346606904223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2012/08/convert-drawable-to-bitmap.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/3003502346606904223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/3003502346606904223'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2012/08/convert-drawable-to-bitmap.html' title='convert Drawable to Bitmap'/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-8503505799653808934</id><published>2012-08-08T11:27:00.000-07:00</published><updated>2012-08-08T11:27:14.363-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="transparent"/><title type='text'>transparent activity android</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;post-text&quot;&gt;
Add the following style In your res/values/styles.xml file (if you don’t have one, create it.) Here’s a complete file:&lt;br /&gt;


&lt;pre class=&quot;default prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;pun&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;xml version&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&quot;1.0&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; encoding&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;resources&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;style&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;atn&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot;&gt;&quot;Theme.Transparent&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;atn&quot;&gt;parent&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot;&gt;&quot;android:Theme&quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;item name&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&quot;android:windowIsTranslucent&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;item name&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&quot;android:windowBackground&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;gt;@&lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;android&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;transparent&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;item name&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&quot;android:windowContentOverlay&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;gt;@&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;item name&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&quot;android:windowNoTitle&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;item name&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&quot;android:windowIsFloating&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;item name&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&quot;android:backgroundDimEnabled&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/resources&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
(the value @color/transparent is the color value #00000000 which I 
put in res/values/color.xml file. You can also use 
@android:color/transparent in later Android versions)&lt;br /&gt;


Then apply the style to your activity, for example:&lt;br /&gt;


&lt;pre class=&quot;default prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;activity&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;atn&quot;&gt;android:name&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot;&gt;&quot;.SampleActivity&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;atn&quot;&gt;android:theme&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot;&gt;&quot;@style/Theme.Transparent&quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
...&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/activity&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/8503505799653808934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2012/08/transparent-activity-android.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/8503505799653808934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/8503505799653808934'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2012/08/transparent-activity-android.html' title='transparent activity android'/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-2751865986814967226</id><published>2012-08-08T11:25:00.001-07:00</published><updated>2012-08-08T11:25:32.641-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="gallery"/><title type='text'>pick a image from gallery (SD Card) for my app in android</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Here&#39;s some sample code on how to do that:

&lt;br /&gt;
&lt;pre class=&quot;default prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;kwd&quot;&gt;protected&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; onActivityResult&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; requestCode&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; resultCode&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;Intent&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; imageReturnedIntent&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; 
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;onActivityResult&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;requestCode&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; resultCode&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; imageReturnedIntent&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; 

&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;switch&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;requestCode&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; 
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;case&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; REQ_CODE_PICK_IMAGE&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;resultCode &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; RESULT_OK&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;Uri&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; selectedImage &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; imageReturnedIntent&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;getData&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;();&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;[]&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; filePathColumn &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;MediaStore&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;Images&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;Media&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;DATA&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;};&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;

&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;Cursor&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; cursor &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; getContentResolver&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;().&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;query&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;selectedImage&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; filePathColumn&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cursor&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;moveToFirst&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;();&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;

&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; columnIndex &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; cursor&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;getColumnIndex&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;filePathColumn&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;lit&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;]);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; filePath &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; cursor&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;getString&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;columnIndex&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cursor&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;close&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;();&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;


&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;Bitmap&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; yourSelectedImage &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;BitmapFactory&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;decodeFile&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;filePath&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/2751865986814967226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2012/08/pick-image-from-gallery-sd-card-for-my.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/2751865986814967226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/2751865986814967226'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2012/08/pick-image-from-gallery-sd-card-for-my.html' title='pick a image from gallery (SD Card) for my app in android'/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-5487392891174295731</id><published>2012-08-08T11:23:00.002-07:00</published><updated>2012-08-08T11:23:39.410-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="timeout"/><title type='text'>set HttpResponse timeout for Android in Java</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;pre class=&quot;lang-java prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;typ&quot;&gt;HttpGet&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; httpGet &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;HttpGet&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;HttpParams&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; httpParameters &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;BasicHttpParams&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;();&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;com&quot;&gt;// Set the timeout in milliseconds until a connection is established.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;com&quot;&gt;// The default value is zero, that means the timeout is not used. &lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; timeoutConnection &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;lit&quot;&gt;3000&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;HttpConnectionParams&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;setConnectionTimeout&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;httpParameters&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; timeoutConnection&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;com&quot;&gt;// Set the default socket timeout (SO_TIMEOUT) &lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;com&quot;&gt;// in milliseconds which is the timeout for waiting for data.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; timeoutSocket &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;lit&quot;&gt;5000&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;HttpConnectionParams&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;setSoTimeout&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;httpParameters&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; timeoutSocket&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;DefaultHttpClient&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; httpClient &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;DefaultHttpClient&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;httpParameters&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;HttpResponse&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; response &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; httpClient&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;execute&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;httpGet&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;lang-java prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
If you want to set the Parameters of any 
existing HTTPClient (e.g. DefaultHttpClient or AndroidHttpClient) you 
can use the function &lt;strong&gt;setParams()&lt;/strong&gt;.&lt;br /&gt;


&lt;code&gt;&lt;span class=&quot;pln&quot;&gt;httpClient&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;setParams&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;httpParameters&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;

    
    
    
&lt;br /&gt;

&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/5487392891174295731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2012/08/set-httpresponse-timeout-for-android-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/5487392891174295731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/5487392891174295731'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2012/08/set-httpresponse-timeout-for-android-in.html' title='set HttpResponse timeout for Android in Java'/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-2923351266125954951</id><published>2012-08-08T11:21:00.002-07:00</published><updated>2012-08-08T11:21:57.373-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="internet"/><title type='text'>check internet access on android</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
here is the code which will help to check internet available&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;default prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;kwd&quot;&gt;public&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;boolean&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; isOnline&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;ConnectivityManager&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; cm &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;ConnectivityManager&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; getSystemService&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;Context&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;CONNECTIVITY_SERVICE&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;NetworkInfo&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; netInfo &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; cm&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;getActiveNetworkInfo&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;();&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;netInfo &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;!=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; netInfo&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;isConnectedOrConnecting&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;())&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/2923351266125954951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2012/08/check-internet-access-on-android.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/2923351266125954951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/2923351266125954951'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2012/08/check-internet-access-on-android.html' title='check internet access on android'/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-6825073072354099152</id><published>2012-08-08T11:14:00.000-07:00</published><updated>2012-08-08T11:14:07.449-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="opengl"/><title type='text'>Tutorials and libraries for OpenGL-ES games on Android</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Android tutorials:  &lt;br /&gt;


&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.droidnova.com/android-3d-game-tutorial-part-i,312.html&quot;&gt;DroidNova: Basic tutorial covering polygons, no textures&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.anddev.org/tut-sequence_android_gl_-_learning_opengl_from_scratch-t229.html&quot;&gt;anddev forum with some tutorials&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
Other Android OpenGL-ES information:  &lt;br /&gt;


&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=U4Bk5rmIpic&quot;&gt;Google IO lecture&lt;/a&gt; regarding games, not 
much OpenGLES  &lt;/li&gt;
&lt;li&gt;The &lt;a href=&quot;http://www.khronos.org/opengles/sdk/1.1/docs/man/&quot;&gt;The Khronos Reference Manual&lt;/a&gt; is also relevant to have, but its not exactly the best place to start.&lt;/li&gt;
&lt;/ul&gt;
iPhone OpenGL-ES tutorials (where the OpenGl-ES information is probably useful):  &lt;br /&gt;


&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://web.me.com/smaurice/AppleCoder/iPhone_OpenGL/Archive.html&quot;&gt;http://web.me.com/smaurice/AppleCoder/iPhone_OpenGL/Archive.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://iphonedevelopment.blogspot.com/2009/05/opengl-es-from-ground-up-table-of.html&quot;&gt;http://iphonedevelopment.blogspot.com/2009/05/opengl-es-from-ground-up-table-of.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
As for libraries which a beginner might use to get a simpler hands-on experience with OpenGL-ES, I have only found &lt;a href=&quot;http://rokon-android.blogspot.com/&quot;&gt;Rokon&lt;/a&gt;,
 which is recently started, thus has many holes and bugs. And it&#39;s 
gnuGPL licensed (at the moment) which means it cannot be used, if we 
wish to sell our games.&lt;br /&gt;
&lt;br /&gt;
1.&amp;nbsp; &lt;a href=&quot;http://insanitydesign.com/wp/projects/nehe-android-ports/&quot; rel=&quot;nofollow&quot;&gt;INsanityDesign&lt;/a&gt;&lt;br /&gt;
2.&amp;nbsp; &lt;a href=&quot;http://nehe.gamedev.net/&quot; rel=&quot;nofollow&quot;&gt;nehe&lt;/a&gt; &lt;br /&gt;


&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/6825073072354099152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2012/08/tutorials-and-libraries-for-opengl-es.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/6825073072354099152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/6825073072354099152'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2012/08/tutorials-and-libraries-for-opengl-es.html' title='Tutorials and libraries for OpenGL-ES games on Android'/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-7902927651360525402</id><published>2012-08-06T10:41:00.001-07:00</published><updated>2012-08-06T10:41:29.240-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="corona"/><category scheme="http://www.blogger.com/atom/ns#" term="phonegap"/><category scheme="http://www.blogger.com/atom/ns#" term="titanium"/><title type='text'>Difference between Corona, Phonegap, Titanium</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;

&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;br /&gt;
PhoneGap is not just a native wrapper of a web app. Through the 
PhoneGap javascript APIs, the &quot;web app&quot; has access to the mobile phone 
functions such as Geolocation, Accelerometer Camera, Contacts, Database,
 File system, etc. Basically any function that the mobile phone SDK 
provides can be &quot;bridged&quot; to the javascript world. On the other hand, a 
normal web app that runs on the mobile web browser does not have access 
to most of these functions (security being the primary reason). 
Therefore, a PhoneGap app is more of a mobile app than a web app. You 
can certainly use PhoneGap to wrap a web app that does not use any 
PhoneGap APIs at all, but that is not what PhoneGap was created for.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Titanium does NOT compile your html, css or javascript code into 
&quot;native bits&quot;. They are packaged as resources to the executable bundle, 
much like an embedded image file. When the application runs, these 
resources are loaded into a UIWebView control and run there (as 
javascript, not native bits, of course). There is no such thing as a 
javascript-to-native-code (or to-objective-c) compiler. This is done the
 same way in PhoneGap as well. From architectural standpoint, these two 
frameworks are very similar.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;3. &lt;b&gt;Corona SDK&lt;/b&gt; is a software development kit created by Walter Luh, co-founder of Corona Labs (formerly known as Ansca Mobile). &lt;sup class=&quot;reference&quot; id=&quot;cite_ref-0&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Corona_%28software_development_kit%29#cite_note-0&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/sup&gt; It allows software programmers to build mobile applications for the iPhone, iPad, and Android devices.&lt;br /&gt;

Corona lets developers use integrated Lua, layered on top of C++/OpenGL,
 to build graphically rich applications that are also lightweight in 
size and quick in development time. The SDK does not charge per-app 
royalty or impose any branding requirement, and has a subscription-based
 purchase model that allows new features to be rolled out immediately to
 users.&lt;sup class=&quot;reference&quot; id=&quot;cite_ref-InformationWeek1_1-0&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/sup&gt;&lt;sup class=&quot;reference&quot; id=&quot;cite_ref-VentureBeat1_2-0&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Corona_%28software_development_kit%29#cite_note-VentureBeat1-2&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/sup&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/7902927651360525402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2012/08/difference-between-corona-phonegap.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/7902927651360525402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/7902927651360525402'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2012/08/difference-between-corona-phonegap.html' title='Difference between Corona, Phonegap, Titanium'/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-8167335801321551835</id><published>2012-08-06T10:27:00.001-07:00</published><updated>2012-08-06T10:27:36.741-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="keyboard"/><category scheme="http://www.blogger.com/atom/ns#" term="soft"/><title type='text'>hide Android Soft Keyboard</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 itemprop=&quot;name&quot; style=&quot;font-weight: normal; text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;hide Android Soft Keyboard&lt;/span&gt;&lt;/h2&gt;
&lt;h2 itemprop=&quot;name&quot; style=&quot;font-weight: normal; text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp;You can force Android to hide the virtual keyboard using the &lt;a href=&quot;http://developer.android.com/reference/android/view/inputmethod/InputMethodManager.html&quot;&gt;InputMethodManager&lt;/a&gt;, calling &lt;code&gt;hideSoftInputFromWindow&lt;/code&gt;, passing in the token of the window containing your edit field.&lt;/span&gt;&lt;/h2&gt;
&lt;div class=&quot;post-text&quot;&gt;

&lt;pre class=&quot;default prettyprint&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;code&gt;&lt;span class=&quot;typ&quot;&gt;InputMethodManager&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; imm &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;InputMethodManager&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;getSystemService&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;Context&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;INPUT_METHOD_SERVICE&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
imm&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;hideSoftInputFromWindow&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;myEditText&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;getWindowToken&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(),&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;lit&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;This will force the keyboard to be hidden in all situations. In some cases you will want to pass in &lt;code&gt;InputMethodManager.HIDE_IMPLICIT_ONLY&lt;/code&gt;
 as the second parameter to ensure you only hide the keyboard when the 
user didn&#39;t explicitly force it to appear (by holding down menu).&lt;/span&gt;&lt;br /&gt;

&lt;/div&gt;
&lt;h2 itemprop=&quot;name&quot; style=&quot;font-weight: normal; text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp;Also useful for hiding the soft keyboard is:&lt;/span&gt;&lt;/h2&gt;
&lt;div class=&quot;post-text&quot;&gt;

&lt;pre class=&quot;default prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;pln&quot;&gt;getWindow&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;().&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;setSoftInputMode&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;WindowManager&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;LayoutParams&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;SOFT_INPUT_STATE_ALWAYS_HIDDEN&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
This can be used to suppress the keyboard until the user actually touches the edittext view.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;

&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/8167335801321551835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2012/08/hide-android-soft-keyboard.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/8167335801321551835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/8167335801321551835'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2012/08/hide-android-soft-keyboard.html' title='hide Android Soft Keyboard'/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-5719871797233758129</id><published>2012-08-06T10:23:00.001-07:00</published><updated>2012-08-06T10:23:28.431-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="kivy"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="macos"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><title type='text'>python on android</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Python on Android&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://kivy.org/#home&quot;&gt;http://kivy.org/#home&lt;/a&gt;

&lt;br /&gt;
&quot;Open source library for rapid development of applications
that make use of innovative user interfaces, such as multi-touch apps.&quot;&lt;br /&gt;


&quot;Kivy is running on Linux, Windows, MacOSX and Android. You can run the same [python] code on all supported platforms.&quot;&lt;br /&gt;


Kivy Showcase app&lt;br /&gt;
&lt;a href=&quot;https://market.android.com/details?id=org.kivy.showcase&amp;amp;hl=en&quot;&gt;https://market.android.com/details?id=org.kivy.showcase&amp;amp;hl=en&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;post-text&quot;&gt;
There is also the new ASE project, it looks awesome, and has some integration with native Android components. &lt;a href=&quot;http://www.talkandroid.com/1225-android-scripting-environment/&quot; rel=&quot;nofollow&quot;&gt;Android Scripting Environment&lt;/a&gt;&lt;br /&gt;

&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/5719871797233758129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2012/08/python-on-android.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/5719871797233758129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/5719871797233758129'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2012/08/python-on-android.html' title='python on android'/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-1681028485783806259</id><published>2012-08-06T10:13:00.001-07:00</published><updated>2012-08-06T10:13:45.358-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="density"/><category scheme="http://www.blogger.com/atom/ns#" term="dimension"/><category scheme="http://www.blogger.com/atom/ns#" term="dip"/><category scheme="http://www.blogger.com/atom/ns#" term="dp"/><category scheme="http://www.blogger.com/atom/ns#" term="px"/><category scheme="http://www.blogger.com/atom/ns#" term="sp"/><title type='text'>Difference between px, dp, dip and sp in Android</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
A dimension value defined in XML. A dimension
is specified with a number followed by a unit of measure.
For example: 10px, 2in, 5sp. The following units of measure are supported by Android:&lt;br /&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;code&gt;dp&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Density-independent Pixels - An abstract unit that is based on the physical density of the
screen. These units are relative to a 160 dpi (dots per inch) screen, on which 1dp is roughly equal
to 1px. When running on a higher density screen, the number of pixels used to draw 1dp is scaled up
by a factor appropriate for the screen&#39;s dpi. Likewise, when on a lower density screen, the number
of pixels used for 1dp is scaled down. The ratio of dp-to-pixel will change with the screen density,
but not necessarily in direct proportion. Using dp units (instead of px units) is a simple solution
to making the view dimensions in your layout resize properly for different screen densities. In
other words, it provides consistency for the real-world sizes of your UI elements across different
devices.&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;sp&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Scale-independent Pixels - This is like the dp unit, but it is also scaled by the user&#39;s font
    size preference. It is recommend you use this unit when specifying font sizes, so they will be adjusted
    for both the screen density and the user&#39;s preference.&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;pt&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Points - 1/72 of an inch based on the physical size of the screen.&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;px&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Pixels - Corresponds to actual pixels on the screen. This unit of measure is not recommended because
    the actual representation can vary across devices; each devices may have a different number of pixels
    per inch and may have more or fewer total pixels available on the screen.&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;mm&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Millimeters - Based on the physical size of the screen.&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;in&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Inches - Based on the physical size of the screen.&lt;/dd&gt;&lt;/dl&gt;
&lt;div class=&quot;note&quot;&gt;
&lt;strong&gt;Note:&lt;/strong&gt; A dimension is a simple resource that is referenced
using the value provided in the &lt;code&gt;name&lt;/code&gt; attribute (not the name of the XML file). As
such, you can combine dimension resources with other simple resources in the one XML file,
under one &lt;code&gt;&amp;lt;resources&amp;gt;&lt;/code&gt; element.&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/1681028485783806259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2012/08/difference-between-px-dp-dip-and-sp-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/1681028485783806259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/1681028485783806259'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2012/08/difference-between-px-dp-dip-and-sp-in.html' title='Difference between px, dp, dip and sp in Android'/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-8177207413407876963</id><published>2012-08-06T10:10:00.000-07:00</published><updated>2012-08-06T10:10:14.886-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="debug"/><category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><title type='text'>“Debug certificate expired” error in Eclipse Android plugins</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Here is the solution for your problem&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;post-text&quot;&gt;
Delete your debug certificate under &lt;code&gt;~/.android/debug.keystore&lt;/code&gt; on &lt;strong&gt;Linux and Mac OS X&lt;/strong&gt;; the directory is something like &lt;code&gt;%USERPROFILE%/.android&lt;/code&gt;on &lt;strong&gt;Windows&lt;/strong&gt;.&lt;br /&gt;


The Eclipse plugin should then generate a new certificate when you 
next try to build a debug package. You may need to clean and then build 
to generate the certificate.&lt;br /&gt;

&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/8177207413407876963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2012/08/debug-certificate-expired-error-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/8177207413407876963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/8177207413407876963'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2012/08/debug-certificate-expired-error-in.html' title='“Debug certificate expired” error in Eclipse Android plugins'/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-4794207364660912613</id><published>2012-06-02T08:59:00.001-07:00</published><updated>2012-06-02T08:59:21.549-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Gingerbread"/><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Ice Cream Sandwich"/><title type='text'>Google: Ice Cream Sandwich now accounts for 7.1 percent of Android user base</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Well, it&#39;s about time that Ice Cream Sandwich
 made some headway -- even if the process is much slower than consumers 
deserve. According to the Android developer hub, Android 4.0 now 
accounts for 7.1 percent of all Android smartphone and tablet 
installations, which is a sharp and welcome increase over the 2.9 percent figure that we reported just two months ago. Naturally, Gingerbread
 users still account for the lion&#39;s share of the Android ecosystem with 
65 percent, but it&#39;s worth pointing out that this segment &lt;em&gt;also&lt;/em&gt; 
grew during the last month -- no doubt at the expense of Froyo and 
Eclair. Don&#39;t know about you, but we like our desserts fresh, thank you 
very much. Go ahead and hop the break to see the full breakdown.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/4794207364660912613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2012/06/google-ice-cream-sandwich-now-accounts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/4794207364660912613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/4794207364660912613'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2012/06/google-ice-cream-sandwich-now-accounts.html' title='Google: Ice Cream Sandwich now accounts for 7.1 percent of Android user base'/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-5382179952959295345</id><published>2012-06-02T08:57:00.001-07:00</published><updated>2012-06-02T08:57:36.111-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Desire C"/><category scheme="http://www.blogger.com/atom/ns#" term="HTC"/><category scheme="http://www.blogger.com/atom/ns#" term="UK"/><title type='text'>HTC Desire C goes on sale at Three UK</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
HTC&#39;s Desire C has made its way onto Three&#39;s speedy network in the UK. The budget-conscious handset (C is rumored to stand for &quot;cheap&quot;)
 comes with 4GB storage, microSD slot and a 5-megapixel camera. You&#39;ll 
be pawing at Ice Cream Sandwich via a 480 x 320 display which is driven 
by a surprisingly decent 600MHz processor. You can snatch one on 
contract for as little as £13 a month, or buy the thing outright for 
£150 from today.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/5382179952959295345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2012/06/htc-desire-c-goes-on-sale-at-three-uk.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/5382179952959295345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/5382179952959295345'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2012/06/htc-desire-c-goes-on-sale-at-three-uk.html' title='HTC Desire C goes on sale at Three UK'/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-9102096960738094029</id><published>2012-06-02T08:55:00.001-07:00</published><updated>2012-06-02T08:55:59.346-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="HTC"/><category scheme="http://www.blogger.com/atom/ns#" term="One S"/><category scheme="http://www.blogger.com/atom/ns#" term="Snapdragon"/><category scheme="http://www.blogger.com/atom/ns#" term="Ville C"/><title type='text'>Filed Under Cellphones HTC One S shows up in Taiwan with 1.7GHz Snapdragon S3, speed lovers wail</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
We&#39;d been wondering just where the HTC Ville C would go with its odd mix of a 1.7GHz Snapdragon S3 and the One S&#39;
 otherwise sleek hardware. Of all places, it&#39;s HTC&#39;s home turf of 
Taiwan: although the One S is still branded as the same phone, the usual
 28-nanometer, 1.5GHz Snapdragon S4 we&#39;ve come to love has been replaced
 with a high-frequency version of its ancestor. When grilled about the 
switch by &lt;em&gt;ePrice&lt;/em&gt;, HTC insisted that the new version would 
&quot;provide consumers [with] the same experience.&quot; We&#39;re not so sure after 
having seen lower Nenamark scores, but we suspect many owners will be 
too happy with the micro arc oxidized body
 and rapid-fire camera to notice. All the same, charging NT$17,900 
($600) for a less efficient take on the same formula makes us wonder if 
supply for the 28-nanometer S4 didn&#39;t force a swap.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/9102096960738094029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2012/06/filed-under-cellphones-htc-one-s-shows.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/9102096960738094029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/9102096960738094029'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2012/06/filed-under-cellphones-htc-one-s-shows.html' title='Filed Under Cellphones HTC One S shows up in Taiwan with 1.7GHz Snapdragon S3, speed lovers wail'/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5064045025533767050.post-323740140084274220</id><published>2012-06-02T08:27:00.000-07:00</published><updated>2012-06-02T08:27:05.758-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="communication"/><category scheme="http://www.blogger.com/atom/ns#" term="mobile"/><category scheme="http://www.blogger.com/atom/ns#" term="Sony"/><category scheme="http://www.blogger.com/atom/ns#" term="Xperia"/><category scheme="http://www.blogger.com/atom/ns#" term="Xperia arc S"/><category scheme="http://www.blogger.com/atom/ns#" term="Xperia go"/><title type='text'>Sony announces water/dust-proof Xperia go, acro S</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;strong&gt;&lt;/strong&gt;
&lt;br /&gt;
&lt;blockquote&gt;
Sony Mobile Communications (“Sony Mobile”) today 
announced two new Xperia™ smartphones for consumers looking for premium 
specifications and beautiful design with extra durability and water 
resistance. Xperia go and Xperia acro S have scratch resistant mineral 
glass displays and meet industry standard IP ratings* (International 
Protection) for protection against dust and water immersion.&lt;br /&gt;

Xperia go and Xperia acro S enable easy connectivity to share and 
enjoy content on TV, smartphone, laptop or tablet. They also come 
preloaded with Music Unlimited and Video Unlimited from Sony 
Entertainment Network giving access to Hollywood blockbusters, TV series
 and millions and millions of music tracks. Xperia go and Xperia acro S 
will be available globally from the third quarter of 2012.&lt;br /&gt;

Consumer demand for durable and water resistant smartphones&lt;br /&gt;

Industry research demonstrates that consumers consider durability and
 water resistance as important features when purchasing a smartphone. 
For example, a study conducted in Japan by Mobile Marketing Data Labo** 
highlighted water resistance in the top three most important features 
for smartphone buyers. In a recent poll*** on Sony Mobile’s Facebook 
community more than a third of participants stated durability as the 
most important feature when choosing a smartphone. Also, Xperia acro HD,
 which has the same durability and water resistance features as Xperia 
acro S, has been the best selling smartphone in Japan since its launch 
in March****, further demonstrating the appeal of durability and water 
resistance.&lt;br /&gt;

Xperia go – the stylish Sony smartphone made for extra durability&lt;br /&gt;

With Xperia go consumers can watch the latest movies and TV shows in 
razor sharp quality and with super fast performance. Its sleek and 
stylish design means durable and water resistant smartphones no longer 
have to look bulky and ruggedized.&lt;br /&gt;

Xperia acro S – The stylish water resistant HD smartphone&lt;br /&gt;

Xperia acro S boasts a 4.3” HD Reality Display for razor sharp 
clarity, full HD video recording, HD video chat and easy HDMI TV 
connectivity to enjoy content on the big screen. NFC enabled, Xperia 
acro S can easily open applications with one touch against an Xperia 
SmartTag.&lt;/blockquote&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://giantandroid.blogspot.com/feeds/323740140084274220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://giantandroid.blogspot.com/2012/06/sony-announces-waterdust-proof-xperia.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/323740140084274220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5064045025533767050/posts/default/323740140084274220'/><link rel='alternate' type='text/html' href='http://giantandroid.blogspot.com/2012/06/sony-announces-waterdust-proof-xperia.html' title='Sony announces water/dust-proof Xperia go, acro S'/><author><name>Vishal</name><uri>http://www.blogger.com/profile/08151593813097585438</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>