<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/&quot;Ck4BQ3Y4eyp7ImA9WhRUF0s.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212</id><updated>2012-01-28T06:29:12.833-08:00</updated><category term="gphone" /><category term="setup" /><category term="introduction" /><category term="emulator" /><category term="development" /><category term="tutorial" /><title>Android-er</title><subtitle type="html">Beginner to beginner</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Erik</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>623</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/Android-er" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="android-er" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;Ck8CSHw7eip7ImA9WhRUF0s.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-6014126834900927384</id><published>2012-01-28T06:26:00.001-08:00</published><updated>2012-01-28T06:27:49.202-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-28T06:27:49.202-08:00</app:edited><title>Implement Fade-Out transition effect using TransitionDrawable.reverseTransition()</title><content type="html">Modify from last exercise "&lt;a href="http://android-er.blogspot.com/2012/01/implement-fade-in-transition-effect.html"&gt;Implement Fade-In transition effect&lt;/a&gt;" to add Fade-Out transition effect when button pressed.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-Bl1dx0i4_2w/TyQFneEWVaI/AAAAAAAAC54/raQUZoAMDAQ/s1600/reverseTransition.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 400px;" src="http://2.bp.blogspot.com/-Bl1dx0i4_2w/TyQFneEWVaI/AAAAAAAAC54/raQUZoAMDAQ/s400/reverseTransition.png" border="0" alt="Implement Fade-Out transition effect using TransitionDrawable.reverseTransition()" title="Implement Fade-Out transition effect using TransitionDrawable.reverseTransition()" id="BLOGGER_PHOTO_ID_5702689203802232226" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Modify main.xml to add a button to start reverse transition.&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt;    android:layout_width="fill_parent"&lt;br /&gt;    android:layout_height="fill_parent"&lt;br /&gt;    android:orientation="vertical" &amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;TextView&lt;br /&gt;        android:layout_width="fill_parent"&lt;br /&gt;        android:layout_height="wrap_content"&lt;br /&gt;        android:text="@string/hello" /&amp;gt;&lt;br /&gt; &amp;lt;Button &lt;br /&gt;     android:id="@+id/starttransition"&lt;br /&gt;     android:layout_width="wrap_content"&lt;br /&gt;     android:layout_height="wrap_content"&lt;br /&gt;     android:text="Start Transition" /&amp;gt;&lt;br /&gt; &amp;lt;Button &lt;br /&gt;     android:id="@+id/reversetransition"&lt;br /&gt;     android:layout_width="wrap_content"&lt;br /&gt;     android:layout_height="wrap_content"&lt;br /&gt;     android:text="Reverse Transition" /&amp;gt;&lt;br /&gt; &amp;lt;ImageView&lt;br /&gt;     android:id="@+id/mytransition"&lt;br /&gt;     android:layout_width="wrap_content"&lt;br /&gt;     android:layout_height="wrap_content"&lt;br /&gt;     android:src="@anim/fadein" /&amp;gt;&lt;br /&gt;&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Modify activity java code to call myTransitionDrawable.reverseTransition(1000) when button pressed.&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;package com.exercise.AndroidFadeInFadeOut;&lt;br /&gt;&lt;br /&gt;import android.app.Activity;&lt;br /&gt;import android.graphics.drawable.TransitionDrawable;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;import android.view.View;&lt;br /&gt;import android.widget.Button;&lt;br /&gt;import android.widget.ImageView;&lt;br /&gt;&lt;br /&gt;public class AndroidFadeInFadeOutActivity extends Activity {&lt;br /&gt;    /** Called when the activity is first created. */&lt;br /&gt;    @Override&lt;br /&gt;    public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;        super.onCreate(savedInstanceState);&lt;br /&gt;        setContentView(R.layout.main);&lt;br /&gt;        &lt;br /&gt;        ImageView myImage = (ImageView)findViewById(R.id.mytransition);&lt;br /&gt;        final TransitionDrawable myTransitionDrawable = (TransitionDrawable)myImage.getDrawable();&lt;br /&gt;        &lt;br /&gt;        Button startTransition = (Button)findViewById(R.id.starttransition);&lt;br /&gt;        startTransition.setOnClickListener(new Button.OnClickListener(){&lt;br /&gt;&lt;br /&gt;   @Override&lt;br /&gt;   public void onClick(View arg0) {&lt;br /&gt;    // TODO Auto-generated method stub&lt;br /&gt;    myTransitionDrawable.startTransition(1000);&lt;br /&gt;   }});&lt;br /&gt;        &lt;br /&gt;        Button reverseTransition = (Button)findViewById(R.id.reversetransition);&lt;br /&gt;        reverseTransition.setOnClickListener(new Button.OnClickListener(){&lt;br /&gt;&lt;br /&gt;   @Override&lt;br /&gt;   public void onClick(View arg0) {&lt;br /&gt;    // TODO Auto-generated method stub&lt;br /&gt;    myTransitionDrawable.reverseTransition(1000);&lt;br /&gt;   }});&lt;br /&gt;        &lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/androidersite/download/AndroidFadeInFadeOut_120128a.zip?attredirects=0&amp;d=1"&gt;&lt;img style="width: 18px; height: 21px;" src="http://2.bp.blogspot.com/_J90P-hyr9o8/SmR6wLejZpI/AAAAAAAAAbg/iSloE1vTVnE/s200/icons_download.gif" alt="" id="BLOGGER_PHOTO_ID_5360544424610981522" border="0" /&gt;Download the files&lt;/a&gt;.&lt;br /&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-6014126834900927384?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/L3TbwnnaxWKxScVP-Ik5lC-Oxr8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/L3TbwnnaxWKxScVP-Ik5lC-Oxr8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/L3TbwnnaxWKxScVP-Ik5lC-Oxr8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/L3TbwnnaxWKxScVP-Ik5lC-Oxr8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=ouOia8ozh7o:nnBjUz9yAfs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=ouOia8ozh7o:nnBjUz9yAfs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/6014126834900927384/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=6014126834900927384" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/6014126834900927384?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/6014126834900927384?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/implement-fade-out-transition-effect.html" title="Implement Fade-Out transition effect using TransitionDrawable.reverseTransition()" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-Bl1dx0i4_2w/TyQFneEWVaI/AAAAAAAAC54/raQUZoAMDAQ/s72-c/reverseTransition.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;Ck4BQ3Y-cCp7ImA9WhRUF0s.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-4437818494856858728</id><published>2012-01-26T04:54:00.000-08:00</published><updated>2012-01-28T06:29:12.858-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-28T06:29:12.858-08:00</app:edited><title>Implement Fade-In transition effect</title><content type="html">&lt;a href="http://3.bp.blogspot.com/-_fDmKbVfbuE/TyFOmHVniOI/AAAAAAAAC5k/88kEgOhZ-fM/s1600/FadeIn.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 234px;" src="http://3.bp.blogspot.com/-_fDmKbVfbuE/TyFOmHVniOI/AAAAAAAAC5k/88kEgOhZ-fM/s400/FadeIn.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5701925019939473634" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;iframe width="480" height="360" src="http://www.youtube.com/embed/hisE6q9FItI" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;- Download and copy the graphs to /res/drawable.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-JZOgtwC0XBA/TyFNvE0v15I/AAAAAAAAC5Y/VwAjUUlyyKg/s1600/android.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 180px; height: 50px;" src="http://3.bp.blogspot.com/-JZOgtwC0XBA/TyFNvE0v15I/AAAAAAAAC5Y/VwAjUUlyyKg/s320/android.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5701924074371930002" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-ofC8gMYidMA/TyFNrW--A_I/AAAAAAAAC5M/L-QFvbE63dg/s1600/developer.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 180px; height: 50px;" src="http://3.bp.blogspot.com/-ofC8gMYidMA/TyFNrW--A_I/AAAAAAAAC5M/L-QFvbE63dg/s320/developer.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5701924010527163378" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Create /res/anim/fadein.xml&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;transition&lt;br /&gt; xmlns:android="http://schemas.android.com/apk/res/android"&amp;gt;&lt;br /&gt; &amp;lt;item android:drawable="@drawable/android" /&amp;gt;&lt;br /&gt; &amp;lt;item android:drawable="@drawable/developer" /&amp;gt;&lt;br /&gt;&amp;lt;/transition&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Modify main.xml&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt; android:layout_width="fill_parent"&lt;br /&gt; android:layout_height="fill_parent"&lt;br /&gt; android:orientation="vertical" &amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;TextView&lt;br /&gt;     android:layout_width="fill_parent"&lt;br /&gt;     android:layout_height="wrap_content"&lt;br /&gt;     android:text="@string/hello" /&amp;gt;&lt;br /&gt;&amp;lt;Button&lt;br /&gt;  android:id="@+id/starttransition"&lt;br /&gt;  android:layout_width="wrap_content"&lt;br /&gt;  android:layout_height="wrap_content"&lt;br /&gt;  android:text="Start Transition" /&amp;gt;&lt;br /&gt;&amp;lt;ImageView&lt;br /&gt;  android:id="@+id/mytransition"&lt;br /&gt;  android:layout_width="wrap_content"&lt;br /&gt;  android:layout_height="wrap_content"&lt;br /&gt;  android:src="@anim/fadein" /&amp;gt;&lt;br /&gt;&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;AndroidFadeInFadeOutActivity.java&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;package com.exercise.AndroidFadeInFadeOut;&lt;br /&gt;&lt;br /&gt;import android.app.Activity;&lt;br /&gt;import android.graphics.drawable.TransitionDrawable;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;import android.view.View;&lt;br /&gt;import android.widget.Button;&lt;br /&gt;import android.widget.ImageView;&lt;br /&gt;&lt;br /&gt;public class AndroidFadeInFadeOutActivity extends Activity {&lt;br /&gt; /** Called when the activity is first created. */&lt;br /&gt; @Override&lt;br /&gt; public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;     super.onCreate(savedInstanceState);&lt;br /&gt;     setContentView(R.layout.main);&lt;br /&gt;  &lt;br /&gt;     ImageView myImage = (ImageView)findViewById(R.id.mytransition);&lt;br /&gt;     final TransitionDrawable myTransitionDrawable = (TransitionDrawable)myImage.getDrawable();&lt;br /&gt;  &lt;br /&gt;     Button startTransition = (Button)findViewById(R.id.starttransition);&lt;br /&gt;     startTransition.setOnClickListener(new Button.OnClickListener(){&lt;br /&gt;&lt;br /&gt;@Override&lt;br /&gt;public void onClick(View arg0) {&lt;br /&gt; // TODO Auto-generated method stub&lt;br /&gt; myTransitionDrawable.startTransition(1000);&lt;br /&gt;}});&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/androidersite/download/AndroidFadeInFadeOut_120126a.zip?attredirects=0&amp;d=1"&gt;&lt;img style="width: 18px; height: 21px;" src="http://2.bp.blogspot.com/_J90P-hyr9o8/SmR6wLejZpI/AAAAAAAAAbg/iSloE1vTVnE/s200/icons_download.gif" alt="" id="BLOGGER_PHOTO_ID_5360544424610981522" border="0" /&gt;Download the files&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;next:&lt;br /&gt;- &lt;a href="http://android-er.blogspot.com/2012/01/implement-fade-out-transition-effect.html"&gt;Implement Fade-Out transition effect using TransitionDrawable.reverseTransition()&lt;/a&gt;&lt;br /&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-4437818494856858728?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-BwRnpCX_Yyl-cJ90tOqw74NkSQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-BwRnpCX_Yyl-cJ90tOqw74NkSQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-BwRnpCX_Yyl-cJ90tOqw74NkSQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-BwRnpCX_Yyl-cJ90tOqw74NkSQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=DhRnS2GUfaI:rLeIUTibkuc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=DhRnS2GUfaI:rLeIUTibkuc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/4437818494856858728/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=4437818494856858728" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/4437818494856858728?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/4437818494856858728?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/implement-fade-in-transition-effect.html" title="Implement Fade-In transition effect" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-_fDmKbVfbuE/TyFOmHVniOI/AAAAAAAAC5k/88kEgOhZ-fM/s72-c/FadeIn.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEcHRHY_fCp7ImA9WhRUFU0.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-4712735188036343930</id><published>2012-01-25T07:35:00.000-08:00</published><updated>2012-01-25T07:40:35.844-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-25T07:40:35.844-08:00</app:edited><title>Create AnimationDrawable using Java code</title><content type="html">In previous exercises, the AnimationDrawable was created using XML. It can be created using Java code also.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-5cmYw9gN2cM/TyAhg-yCZ1I/AAAAAAAAC48/peKLmbz8Flo/s1600/AndroidAnimation_05.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 400px;" src="http://4.bp.blogspot.com/-5cmYw9gN2cM/TyAhg-yCZ1I/AAAAAAAAC48/peKLmbz8Flo/s400/AndroidAnimation_05.png" border="0" alt="Create AnimationDrawable using Java code" title="Create AnimationDrawable using Java code" id="BLOGGER_PHOTO_ID_5701593978743449426" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Same as previous exercise, you have to copy some graphic in /res/drawable folder, refer to the post "&lt;a href="http://android-er.blogspot.com/2012/01/create-frame-animation-with.html"&gt;Create frame animation with AnimationDrawable&lt;/a&gt;".&lt;br /&gt;&lt;br /&gt;Modify main.xml, add a ImageView with predefined layout_width and android:layout_height.&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt;  android:layout_width="fill_parent"&lt;br /&gt;  android:layout_height="fill_parent"&lt;br /&gt;  android:orientation="vertical" &amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;TextView&lt;br /&gt;      android:layout_width="fill_parent"&lt;br /&gt;      android:layout_height="wrap_content"&lt;br /&gt;      android:text="@string/hello" /&amp;gt;&lt;br /&gt;  &amp;lt;TextView&lt;br /&gt;      android:layout_width="fill_parent"&lt;br /&gt;      android:layout_height="wrap_content"&lt;br /&gt;      android:text="Set Alpha" /&amp;gt;&lt;br /&gt;  &amp;lt;SeekBar&lt;br /&gt;      android:id="@+id/setalpha"&lt;br /&gt;      android:layout_width="fill_parent"&lt;br /&gt;      android:layout_height="wrap_content"&lt;br /&gt;      android:progress="255"&lt;br /&gt;      android:max="255" /&amp;gt;&lt;br /&gt;  &amp;lt;Button&lt;br /&gt;      android:id="@+id/startanimation"&lt;br /&gt;      android:layout_width="fill_parent"&lt;br /&gt;      android:layout_height="wrap_content"&lt;br /&gt;      android:text="Start Animation" /&amp;gt;&lt;br /&gt;  &amp;lt;Button&lt;br /&gt;      android:id="@+id/stopanimation"&lt;br /&gt;      android:layout_width="fill_parent"&lt;br /&gt;      android:layout_height="wrap_content"&lt;br /&gt;      android:text="Stop Animation" /&amp;gt;&lt;br /&gt;  &amp;lt;ImageView&lt;br /&gt;      android:id="@+id/myanimation"&lt;br /&gt;      android:layout_width="114dp"&lt;br /&gt;      android:layout_height="16dp"&lt;br /&gt;      /&amp;gt;&lt;br /&gt;&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Modify the code of the activity.&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;package com.exercise.AndroidAnimation;&lt;br /&gt;&lt;br /&gt;import android.app.Activity;&lt;br /&gt;import android.graphics.drawable.AnimationDrawable;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;import android.view.View;&lt;br /&gt;import android.widget.Button;&lt;br /&gt;import android.widget.ImageView;&lt;br /&gt;import android.widget.SeekBar;&lt;br /&gt;&lt;br /&gt;public class AndroidAnimationActivity extends Activity {&lt;br /&gt;  /** Called when the activity is first created. */&lt;br /&gt;  @Override&lt;br /&gt;  public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;      super.onCreate(savedInstanceState);&lt;br /&gt;      setContentView(R.layout.main);&lt;br /&gt;    &lt;br /&gt;      ImageView myAnimation = (ImageView)findViewById(R.id.myanimation);&lt;br /&gt;&lt;br /&gt;      //Create a new AnimationDrawable&lt;br /&gt;      final AnimationDrawable myAnimationDrawable&lt;br /&gt;       = createAnimationDrawable();&lt;br /&gt;&lt;br /&gt;      //apply the new AnimationDrawable&lt;br /&gt;      myAnimation.setImageDrawable(myAnimationDrawable);&lt;br /&gt;    &lt;br /&gt;      SeekBar setAnimationAlpha = (SeekBar)findViewById(R.id.setalpha);&lt;br /&gt;      Button startAnimation = (Button)findViewById(R.id.startanimation);&lt;br /&gt;      Button stopAnimation = (Button)findViewById(R.id.stopanimation);&lt;br /&gt;    &lt;br /&gt;      startAnimation.setOnClickListener(new Button.OnClickListener(){&lt;br /&gt;&lt;br /&gt;   @Override&lt;br /&gt;   public void onClick(View arg0) {&lt;br /&gt;    // TODO Auto-generated method stub&lt;br /&gt;    if(!myAnimationDrawable.isRunning()){&lt;br /&gt;     myAnimationDrawable.start();&lt;br /&gt;    }&lt;br /&gt;   }});&lt;br /&gt;    &lt;br /&gt;      stopAnimation.setOnClickListener(new Button.OnClickListener(){&lt;br /&gt;&lt;br /&gt;   @Override&lt;br /&gt;   public void onClick(View arg0) {&lt;br /&gt;    // TODO Auto-generated method stub&lt;br /&gt;    if(myAnimationDrawable.isRunning()){&lt;br /&gt;     myAnimationDrawable.stop();&lt;br /&gt;    }&lt;br /&gt;   }});&lt;br /&gt;    &lt;br /&gt;      setAnimationAlpha.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){&lt;br /&gt;&lt;br /&gt;   @Override&lt;br /&gt;   public void onProgressChanged(SeekBar seekBar, int progress,&lt;br /&gt;     boolean fromUser) {&lt;br /&gt;    myAnimationDrawable.setAlpha(progress);&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   @Override&lt;br /&gt;   public void onStartTrackingTouch(SeekBar seekBar) {&lt;br /&gt;    // TODO Auto-generated method stub&lt;br /&gt;    &lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   @Override&lt;br /&gt;   public void onStopTrackingTouch(SeekBar seekBar) {&lt;br /&gt;    // TODO Auto-generated method stub&lt;br /&gt;    &lt;br /&gt;   }});&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  private AnimationDrawable createAnimationDrawable(){&lt;br /&gt;   &lt;br /&gt;   AnimationDrawable newAnim = new AnimationDrawable();&lt;br /&gt;   &lt;br /&gt;   newAnim.addFrame(getResources().getDrawable(R.drawable.android_1), 500);&lt;br /&gt;   newAnim.addFrame(getResources().getDrawable(R.drawable.android_2), 500);&lt;br /&gt;   newAnim.addFrame(getResources().getDrawable(R.drawable.android_3), 500);&lt;br /&gt;   newAnim.addFrame(getResources().getDrawable(R.drawable.android_4), 500);&lt;br /&gt;   newAnim.addFrame(getResources().getDrawable(R.drawable.android_5), 500);&lt;br /&gt;   newAnim.addFrame(getResources().getDrawable(R.drawable.android_6), 500);&lt;br /&gt;   newAnim.addFrame(getResources().getDrawable(R.drawable.android_7), 500);&lt;br /&gt;   newAnim.setOneShot(false);&lt;br /&gt;   &lt;br /&gt;   return newAnim;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/androidersite/download/AndroidAnimation_120125a.zip?attredirects=0&amp;d=1"&gt;&lt;img style="width: 18px; height: 21px;" src="http://2.bp.blogspot.com/_J90P-hyr9o8/SmR6wLejZpI/AAAAAAAAAbg/iSloE1vTVnE/s200/icons_download.gif" alt="" id="BLOGGER_PHOTO_ID_5360544424610981522" border="0" /&gt;Download the files&lt;/a&gt;.&lt;br /&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-4712735188036343930?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/8ckjO2ksqQziJnDgJJiBFSrZf50/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8ckjO2ksqQziJnDgJJiBFSrZf50/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/8ckjO2ksqQziJnDgJJiBFSrZf50/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8ckjO2ksqQziJnDgJJiBFSrZf50/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=IRNSqIStfv0:-XNiBEdVfnY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=IRNSqIStfv0:-XNiBEdVfnY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/4712735188036343930/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=4712735188036343930" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/4712735188036343930?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/4712735188036343930?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/create-animationdrawable-using-java.html" title="Create AnimationDrawable using Java code" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-5cmYw9gN2cM/TyAhg-yCZ1I/AAAAAAAAC48/peKLmbz8Flo/s72-c/AndroidAnimation_05.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUQNSXY6fip7ImA9WhRUFEw.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-437004096385548211</id><published>2012-01-24T06:59:00.000-08:00</published><updated>2012-01-24T07:03:18.816-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-24T07:03:18.816-08:00</app:edited><title>Creaete AnimationDrawable and copy frames from another AnimationDrawable</title><content type="html">Modify from ast exercise "&lt;a href="http://android-er.blogspot.com/2012/01/set-alpha-of-animationdrawable.html"&gt;Set alpha of AnimationDrawable&lt;/a&gt;", we are going to create a new AnimationDrawable, copy frame from the original myAnimationDrawable, and re-arrange frame order in reverse.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-JZyC8Y-hjnY/Tx7IFolWUPI/AAAAAAAAC4U/xbGKqSudXcA/s1600/AndroidAnimation_04.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 400px;" src="http://1.bp.blogspot.com/-JZyC8Y-hjnY/Tx7IFolWUPI/AAAAAAAAC4U/xbGKqSudXcA/s400/AndroidAnimation_04.png" border="0" alt="Creaete AnimationDrawable and copy frames from another AnimationDrawable" title="Creaete AnimationDrawable and copy frames from another AnimationDrawable" id="BLOGGER_PHOTO_ID_5701214177416597746" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Modify main.xml to add a ImageView for the new animation.&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt;  android:layout_width="fill_parent"&lt;br /&gt;  android:layout_height="fill_parent"&lt;br /&gt;  android:orientation="vertical" &amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;TextView&lt;br /&gt;      android:layout_width="fill_parent"&lt;br /&gt;      android:layout_height="wrap_content"&lt;br /&gt;      android:text="@string/hello" /&amp;gt;&lt;br /&gt;  &amp;lt;TextView&lt;br /&gt;      android:layout_width="fill_parent"&lt;br /&gt;      android:layout_height="wrap_content"&lt;br /&gt;      android:text="Set Alpha" /&amp;gt;&lt;br /&gt;  &amp;lt;SeekBar&lt;br /&gt;      android:id="@+id/setalpha"&lt;br /&gt;      android:layout_width="fill_parent"&lt;br /&gt;      android:layout_height="wrap_content"&lt;br /&gt;      android:progress="255"&lt;br /&gt;      android:max="255" /&amp;gt;&lt;br /&gt;  &amp;lt;Button&lt;br /&gt;      android:id="@+id/startanimation"&lt;br /&gt;      android:layout_width="fill_parent"&lt;br /&gt;      android:layout_height="wrap_content"&lt;br /&gt;      android:text="Start Animation" /&amp;gt;&lt;br /&gt;  &amp;lt;Button&lt;br /&gt;      android:id="@+id/stopanimation"&lt;br /&gt;      android:layout_width="fill_parent"&lt;br /&gt;      android:layout_height="wrap_content"&lt;br /&gt;      android:text="Stop Animation" /&amp;gt;&lt;br /&gt;  &amp;lt;ImageView&lt;br /&gt;      android:id="@+id/myanimation"&lt;br /&gt;      android:layout_width="wrap_content"&lt;br /&gt;      android:layout_height="wrap_content"&lt;br /&gt;      android:src="@anim/anim_android"&lt;br /&gt;      /&amp;gt;&lt;br /&gt;  &amp;lt;ImageView&lt;br /&gt;      android:id="@+id/myanimation2"&lt;br /&gt;      android:layout_width="fill_parent"&lt;br /&gt;      android:layout_height="fill_parent"&lt;br /&gt;      /&amp;gt;&lt;br /&gt;&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Modify the Java code, implement a new method copyReversedAnim(). It return the new AnimationDrawable. Then set it the ImageDrawable of the ImageView.&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;package com.exercise.AndroidAnimation;&lt;br /&gt;&lt;br /&gt;import android.app.Activity;&lt;br /&gt;import android.graphics.drawable.AnimationDrawable;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;import android.view.View;&lt;br /&gt;import android.widget.Button;&lt;br /&gt;import android.widget.ImageView;&lt;br /&gt;import android.widget.SeekBar;&lt;br /&gt;import android.widget.Toast;&lt;br /&gt;&lt;br /&gt;public class AndroidAnimationActivity extends Activity {&lt;br /&gt;  /** Called when the activity is first created. */&lt;br /&gt;  @Override&lt;br /&gt;  public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;      super.onCreate(savedInstanceState);&lt;br /&gt;      setContentView(R.layout.main);&lt;br /&gt;    &lt;br /&gt;      ImageView myAnimation = (ImageView)findViewById(R.id.myanimation);&lt;br /&gt;      ImageView myAnimation2 = (ImageView)findViewById(R.id.myanimation2);&lt;br /&gt;      final AnimationDrawable myAnimationDrawable&lt;br /&gt;       = (AnimationDrawable)myAnimation.getDrawable();&lt;br /&gt;    &lt;br /&gt;      //Copy a new AnimationDrawable in reversed order&lt;br /&gt;      final AnimationDrawable reversedAnimationDrawable = copyReversedAnim(myAnimationDrawable);&lt;br /&gt;      //apply the new AnimationDrawable&lt;br /&gt;      myAnimation2.setImageDrawable(reversedAnimationDrawable);&lt;br /&gt;    &lt;br /&gt;      SeekBar setAnimationAlpha = (SeekBar)findViewById(R.id.setalpha);&lt;br /&gt;      Button startAnimation = (Button)findViewById(R.id.startanimation);&lt;br /&gt;      Button stopAnimation = (Button)findViewById(R.id.stopanimation);&lt;br /&gt;    &lt;br /&gt;      startAnimation.setOnClickListener(new Button.OnClickListener(){&lt;br /&gt;&lt;br /&gt;   @Override&lt;br /&gt;   public void onClick(View arg0) {&lt;br /&gt;    // TODO Auto-generated method stub&lt;br /&gt;    if(!reversedAnimationDrawable.isRunning()){&lt;br /&gt;     myAnimationDrawable.start();&lt;br /&gt;     reversedAnimationDrawable.start();&lt;br /&gt;    }&lt;br /&gt;   }});&lt;br /&gt;    &lt;br /&gt;      stopAnimation.setOnClickListener(new Button.OnClickListener(){&lt;br /&gt;&lt;br /&gt;   @Override&lt;br /&gt;   public void onClick(View arg0) {&lt;br /&gt;    // TODO Auto-generated method stub&lt;br /&gt;    if(reversedAnimationDrawable.isRunning()){&lt;br /&gt;     myAnimationDrawable.stop();&lt;br /&gt;     reversedAnimationDrawable.stop();&lt;br /&gt;    }&lt;br /&gt;   }});&lt;br /&gt;    &lt;br /&gt;      setAnimationAlpha.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){&lt;br /&gt;&lt;br /&gt;   @Override&lt;br /&gt;   public void onProgressChanged(SeekBar seekBar, int progress,&lt;br /&gt;     boolean fromUser) {&lt;br /&gt;    myAnimationDrawable.setAlpha(progress);&lt;br /&gt;    reversedAnimationDrawable.setAlpha(progress);&lt;br /&gt;    &lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   @Override&lt;br /&gt;   public void onStartTrackingTouch(SeekBar seekBar) {&lt;br /&gt;    // TODO Auto-generated method stub&lt;br /&gt;    &lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   @Override&lt;br /&gt;   public void onStopTrackingTouch(SeekBar seekBar) {&lt;br /&gt;    // TODO Auto-generated method stub&lt;br /&gt;    &lt;br /&gt;   }});&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  private AnimationDrawable copyReversedAnim(AnimationDrawable src){&lt;br /&gt;   &lt;br /&gt;   AnimationDrawable newAnim = new AnimationDrawable();&lt;br /&gt;   &lt;br /&gt;   int numberOfFrame = src.getNumberOfFrames();&lt;br /&gt;   &lt;br /&gt;   for(int i = 0; i &amp;lt; numberOfFrame; i++){&lt;br /&gt;    newAnim.addFrame(&lt;br /&gt;      src.getFrame(numberOfFrame - i - 1),&lt;br /&gt;      src.getDuration(numberOfFrame - i - 1));&lt;br /&gt;   }&lt;br /&gt;   newAnim.setOneShot(false);&lt;br /&gt;   &lt;br /&gt;   return newAnim;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/androidersite/download/AndroidAnimation_120124b.zip?attredirects=0&amp;amp;d=1"&gt;&lt;img style="width: 18px; height: 21px;" src="http://2.bp.blogspot.com/_J90P-hyr9o8/SmR6wLejZpI/AAAAAAAAAbg/iSloE1vTVnE/s200/icons_download.gif" alt="" id="BLOGGER_PHOTO_ID_5360544424610981522" border="0" /&gt;Download the files&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-437004096385548211?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/g2vhrctiFWG7KfaLnoe-7Pnxjtw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g2vhrctiFWG7KfaLnoe-7Pnxjtw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/g2vhrctiFWG7KfaLnoe-7Pnxjtw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g2vhrctiFWG7KfaLnoe-7Pnxjtw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=xpp_hkes2gg:14FBCosZd9k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=xpp_hkes2gg:14FBCosZd9k:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/437004096385548211/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=437004096385548211" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/437004096385548211?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/437004096385548211?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/creaete-animationdrawable-and-copy.html" title="Creaete AnimationDrawable and copy frames from another AnimationDrawable" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-JZyC8Y-hjnY/Tx7IFolWUPI/AAAAAAAAC4U/xbGKqSudXcA/s72-c/AndroidAnimation_04.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUMDR306fCp7ImA9WhRUFEw.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-7455273178326363901</id><published>2012-01-23T09:12:00.001-08:00</published><updated>2012-01-24T07:04:36.314-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-24T07:04:36.314-08:00</app:edited><title>Set alpha of AnimationDrawable</title><content type="html">Alpha of a AnimationDrawable can be changed using setAlpha(int alpha), Specify an alpha value for the AnimationDrawable. 0 means fully transparent, and 255 means fully opaque.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-duoZ30G6-uc/Tx2VC3hrCmI/AAAAAAAAC4E/ugQefyj49OE/s1600/AndroidAnimation_03.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 400px;" src="http://2.bp.blogspot.com/-duoZ30G6-uc/Tx2VC3hrCmI/AAAAAAAAC4E/ugQefyj49OE/s400/AndroidAnimation_03.png" border="0" alt="Set alpha of AnimationDrawable" title="Set alpha of AnimationDrawable" id="BLOGGER_PHOTO_ID_5700876579818375778" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Modify from last exercise "&lt;a href="http://android-er.blogspot.com/2012/01/start-and-stop-frame-animation-with.html"&gt;Start and Stop frame animation with AnimationDrawable&lt;/a&gt;", add a SeekBar to set alpha of the animation.&lt;br /&gt;&lt;br /&gt;main.xml&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt; android:layout_width="fill_parent"&lt;br /&gt; android:layout_height="fill_parent"&lt;br /&gt; android:orientation="vertical" &amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;TextView&lt;br /&gt;     android:layout_width="fill_parent"&lt;br /&gt;     android:layout_height="wrap_content"&lt;br /&gt;     android:text="@string/hello" /&amp;gt;&lt;br /&gt; &amp;lt;TextView&lt;br /&gt;     android:layout_width="fill_parent"&lt;br /&gt;     android:layout_height="wrap_content"&lt;br /&gt;     android:text="Set Alpha" /&amp;gt;&lt;br /&gt; &amp;lt;SeekBar&lt;br /&gt;     android:id="@+id/setalpha"&lt;br /&gt;     android:layout_width="fill_parent"&lt;br /&gt;     android:layout_height="wrap_content"&lt;br /&gt;     android:progress="255"&lt;br /&gt;     android:max="255" /&amp;gt;&lt;br /&gt; &amp;lt;Button&lt;br /&gt;     android:id="@+id/startanimation"&lt;br /&gt;     android:layout_width="fill_parent"&lt;br /&gt;     android:layout_height="wrap_content"&lt;br /&gt;     android:text="Start Animation" /&amp;gt;&lt;br /&gt; &amp;lt;Button&lt;br /&gt;     android:id="@+id/stopanimation"&lt;br /&gt;     android:layout_width="fill_parent"&lt;br /&gt;     android:layout_height="wrap_content"&lt;br /&gt;     android:text="Stop Animation" /&amp;gt;&lt;br /&gt; &amp;lt;ImageView&lt;br /&gt;     android:id="@+id/myanimation"&lt;br /&gt;     android:layout_width="wrap_content"&lt;br /&gt;     android:layout_height="wrap_content"&lt;br /&gt;     android:src="@anim/anim_android"&lt;br /&gt;     /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Modify the code of the actiity&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;package com.exercise.AndroidAnimation;&lt;br /&gt;&lt;br /&gt;import android.app.Activity;&lt;br /&gt;import android.graphics.drawable.AnimationDrawable;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;import android.view.View;&lt;br /&gt;import android.widget.Button;&lt;br /&gt;import android.widget.ImageView;&lt;br /&gt;import android.widget.SeekBar;&lt;br /&gt;&lt;br /&gt;public class AndroidAnimationActivity extends Activity {&lt;br /&gt; /** Called when the activity is first created. */&lt;br /&gt; @Override&lt;br /&gt; public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;     super.onCreate(savedInstanceState);&lt;br /&gt;     setContentView(R.layout.main);&lt;br /&gt;  &lt;br /&gt;     ImageView myAnimation = (ImageView)findViewById(R.id.myanimation);&lt;br /&gt;     final AnimationDrawable myAnimationDrawable&lt;br /&gt;      = (AnimationDrawable)myAnimation.getDrawable();&lt;br /&gt;  &lt;br /&gt;     SeekBar setAnimationAlpha = (SeekBar)findViewById(R.id.setalpha);&lt;br /&gt;     Button startAnimation = (Button)findViewById(R.id.startanimation);&lt;br /&gt;     Button stopAnimation = (Button)findViewById(R.id.stopanimation);&lt;br /&gt;  &lt;br /&gt;     startAnimation.setOnClickListener(new Button.OnClickListener(){&lt;br /&gt;&lt;br /&gt;  @Override&lt;br /&gt;  public void onClick(View arg0) {&lt;br /&gt;   // TODO Auto-generated method stub&lt;br /&gt;   if(!myAnimationDrawable.isRunning()){&lt;br /&gt;    myAnimationDrawable.start();&lt;br /&gt;   }&lt;br /&gt;  }});&lt;br /&gt;  &lt;br /&gt;     stopAnimation.setOnClickListener(new Button.OnClickListener(){&lt;br /&gt;&lt;br /&gt;  @Override&lt;br /&gt;  public void onClick(View arg0) {&lt;br /&gt;   // TODO Auto-generated method stub&lt;br /&gt;   if(myAnimationDrawable.isRunning()){&lt;br /&gt;    myAnimationDrawable.stop();&lt;br /&gt;   }&lt;br /&gt;  }});&lt;br /&gt;  &lt;br /&gt;     setAnimationAlpha.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){&lt;br /&gt;&lt;br /&gt;  @Override&lt;br /&gt;  public void onProgressChanged(SeekBar seekBar, int progress,&lt;br /&gt;    boolean fromUser) {&lt;br /&gt;   myAnimationDrawable.setAlpha(progress);&lt;br /&gt;  &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  @Override&lt;br /&gt;  public void onStartTrackingTouch(SeekBar seekBar) {&lt;br /&gt;   // TODO Auto-generated method stub&lt;br /&gt;  &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  @Override&lt;br /&gt;  public void onStopTrackingTouch(SeekBar seekBar) {&lt;br /&gt;   // TODO Auto-generated method stub&lt;br /&gt;  &lt;br /&gt;  }});&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/androidersite/download/AndroidAnimation_120124a.zip?attredirects=0&amp;d=1"&gt;&lt;img style="width: 18px; height: 21px;" src="http://2.bp.blogspot.com/_J90P-hyr9o8/SmR6wLejZpI/AAAAAAAAAbg/iSloE1vTVnE/s200/icons_download.gif" alt="" id="BLOGGER_PHOTO_ID_5360544424610981522" border="0" /&gt;Download the files&lt;/a&gt;.&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;Next:&lt;br /&gt;- &lt;a href="http://android-er.blogspot.com/2012/01/creaete-animationdrawable-and-copy.html"&gt;Creaete AnimationDrawable and copy frames from another AnimationDrawable&lt;/a&gt;&lt;br /&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-7455273178326363901?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JEeLan791xCzWacG0o_YtDMFKKE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JEeLan791xCzWacG0o_YtDMFKKE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JEeLan791xCzWacG0o_YtDMFKKE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JEeLan791xCzWacG0o_YtDMFKKE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=YbKSeDEhWk0:WNn921O0xls:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=YbKSeDEhWk0:WNn921O0xls:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/7455273178326363901/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=7455273178326363901" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/7455273178326363901?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/7455273178326363901?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/set-alpha-of-animationdrawable.html" title="Set alpha of AnimationDrawable" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-duoZ30G6-uc/Tx2VC3hrCmI/AAAAAAAAC4E/ugQefyj49OE/s72-c/AndroidAnimation_03.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0UEQnw4fCp7ImA9WhRUE04.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-4163014304502254558</id><published>2012-01-22T11:53:00.000-08:00</published><updated>2012-01-23T09:20:03.234-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-23T09:20:03.234-08:00</app:edited><title>Start and Stop frame animation with AnimationDrawable</title><content type="html">Modify from the last exercise "&lt;a href="http://android-er.blogspot.com/2012/01/create-frame-animation-with.html"&gt;Create frame animation with AnimationDrawable&lt;/a&gt;", add two buttons top start and stop frame animation by calling AnimationDrawable.start() and AnimationDrawable.stop()&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-sf243sPtuEA/TxxqGlWFfKI/AAAAAAAAC30/Epq8x4R9qGI/s1600/AndroidAnimation_02.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 400px;" src="http://2.bp.blogspot.com/-sf243sPtuEA/TxxqGlWFfKI/AAAAAAAAC30/Epq8x4R9qGI/s400/AndroidAnimation_02.png" border="0" alt="Start and Stop frame animation with AnimationDrawable" title="Start and Stop frame animation with AnimationDrawable" id="BLOGGER_PHOTO_ID_5700547889680710818" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;package com.exercise.AndroidAnimation;&lt;br /&gt;&lt;br /&gt;import android.app.Activity;&lt;br /&gt;import android.graphics.drawable.AnimationDrawable;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;import android.view.View;&lt;br /&gt;import android.widget.Button;&lt;br /&gt;import android.widget.ImageView;&lt;br /&gt;&lt;br /&gt;public class AndroidAnimationActivity extends Activity {&lt;br /&gt;/** Called when the activity is first created. */&lt;br /&gt;@Override&lt;br /&gt;public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;    super.onCreate(savedInstanceState);&lt;br /&gt;    setContentView(R.layout.main);&lt;br /&gt;&lt;br /&gt;    ImageView myAnimation = (ImageView)findViewById(R.id.myanimation);&lt;br /&gt;    final AnimationDrawable myAnimationDrawable&lt;br /&gt;     = (AnimationDrawable)myAnimation.getDrawable();&lt;br /&gt;&lt;br /&gt;    Button startAnimation = (Button)findViewById(R.id.startanimation);&lt;br /&gt;    Button stopAnimation = (Button)findViewById(R.id.stopanimation);&lt;br /&gt;&lt;br /&gt;    startAnimation.setOnClickListener(new Button.OnClickListener(){&lt;br /&gt;&lt;br /&gt;   @Override&lt;br /&gt;   public void onClick(View arg0) {&lt;br /&gt;    // TODO Auto-generated method stub&lt;br /&gt;    if(!myAnimationDrawable.isRunning()){&lt;br /&gt;     myAnimationDrawable.start();&lt;br /&gt;    }&lt;br /&gt;   }});&lt;br /&gt;&lt;br /&gt;    stopAnimation.setOnClickListener(new Button.OnClickListener(){&lt;br /&gt;&lt;br /&gt;   @Override&lt;br /&gt;   public void onClick(View arg0) {&lt;br /&gt;    // TODO Auto-generated method stub&lt;br /&gt;    if(myAnimationDrawable.isRunning()){&lt;br /&gt;     myAnimationDrawable.stop();&lt;br /&gt;    }&lt;br /&gt;   }});&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;main.xml&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt;android:layout_width="fill_parent"&lt;br /&gt;android:layout_height="fill_parent"&lt;br /&gt;android:orientation="vertical" &amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;TextView&lt;br /&gt;    android:layout_width="fill_parent"&lt;br /&gt;    android:layout_height="wrap_content"&lt;br /&gt;    android:text="@string/hello" /&amp;gt;&lt;br /&gt;&amp;lt;Button&lt;br /&gt;    android:id="@+id/startanimation"&lt;br /&gt;    android:layout_width="fill_parent"&lt;br /&gt;    android:layout_height="wrap_content"&lt;br /&gt;    android:text="Start Animation" /&amp;gt;&lt;br /&gt;&amp;lt;Button&lt;br /&gt;    android:id="@+id/stopanimation"&lt;br /&gt;    android:layout_width="fill_parent"&lt;br /&gt;    android:layout_height="wrap_content"&lt;br /&gt;    android:text="Stop Animation" /&amp;gt;&lt;br /&gt;&amp;lt;ImageView&lt;br /&gt;    android:id="@+id/myanimation"&lt;br /&gt;    android:layout_width="wrap_content"&lt;br /&gt;    android:layout_height="wrap_content"&lt;br /&gt;    android:src="@anim/anim_android"&lt;br /&gt;    /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/androidersite/download/AndroidAnimation_120123a.zip?attredirects=0&amp;amp;d=1"&gt;&lt;img style="width: 18px; height: 21px;" src="http://2.bp.blogspot.com/_J90P-hyr9o8/SmR6wLejZpI/AAAAAAAAAbg/iSloE1vTVnE/s200/icons_download.gif" alt="" id="BLOGGER_PHOTO_ID_5360544424610981522" border="0" /&gt;Download the files&lt;/a&gt;.&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;next:&lt;br /&gt;- &lt;a href="http://android-er.blogspot.com/2012/01/set-alpha-of-animationdrawable.html"&gt;Set alpha of AnimationDrawable&lt;/a&gt;&lt;br /&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-4163014304502254558?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5IiRIm-GPn-QFY030RmPk6zXXGQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5IiRIm-GPn-QFY030RmPk6zXXGQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5IiRIm-GPn-QFY030RmPk6zXXGQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5IiRIm-GPn-QFY030RmPk6zXXGQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=Jv0TuZZou0k:zY3c4zUICBM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=Jv0TuZZou0k:zY3c4zUICBM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/4163014304502254558/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=4163014304502254558" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/4163014304502254558?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/4163014304502254558?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/start-and-stop-frame-animation-with.html" title="Start and Stop frame animation with AnimationDrawable" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-sf243sPtuEA/TxxqGlWFfKI/AAAAAAAAC30/Epq8x4R9qGI/s72-c/AndroidAnimation_02.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEYFQX84fyp7ImA9WhRUFU0.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-7537917568641751806</id><published>2012-01-18T12:54:00.000-08:00</published><updated>2012-01-25T07:41:50.137-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-25T07:41:50.137-08:00</app:edited><title>Create frame animation with AnimationDrawable</title><content type="html">&lt;a href="http://4.bp.blogspot.com/-akvd0Q4yIsM/Txcy2NxO_XI/AAAAAAAAC2Y/NOaM5jt7jJM/s1600/AndroidAnimation_01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 234px;" src="http://4.bp.blogspot.com/-akvd0Q4yIsM/Txcy2NxO_XI/AAAAAAAAC2Y/NOaM5jt7jJM/s400/AndroidAnimation_01.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5699079760451140978" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;iframe width="480" height="360" src="http://www.youtube.com/embed/okuBGfnuFWc" frameborder="0" allowfullscreen=""&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;Before we start coding for our frame animation, we have to prepare some .png graph for our frames, named android_1.png ~ android_7.png. Copy all graphs to /res/drawable folder.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-LdeLW7GVowQ/TxcyHeTqI5I/AAAAAAAAC2A/ogG4TGoc9qs/s1600/android_1.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 114px; height: 16px;" src="http://1.bp.blogspot.com/-LdeLW7GVowQ/TxcyHeTqI5I/AAAAAAAAC2A/ogG4TGoc9qs/s400/android_1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5699078957436642194" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-ixrWYTKtMiA/TxcyEXI9GtI/AAAAAAAAC10/Z7wDPCpWRfQ/s1600/android_2.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 114px; height: 16px;" src="http://4.bp.blogspot.com/-ixrWYTKtMiA/TxcyEXI9GtI/AAAAAAAAC10/Z7wDPCpWRfQ/s400/android_2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5699078903973092050" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-SF7Hfxh07hE/Txcx_9jCbLI/AAAAAAAAC1o/mEVhnlWAM_M/s1600/android_3.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 114px; height: 16px;" src="http://3.bp.blogspot.com/-SF7Hfxh07hE/Txcx_9jCbLI/AAAAAAAAC1o/mEVhnlWAM_M/s400/android_3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5699078828383694002" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-WxqMMP_xtRk/Txcx7orqHRI/AAAAAAAAC1c/_akXgLroPrg/s1600/android_4.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 114px; height: 16px;" src="http://2.bp.blogspot.com/-WxqMMP_xtRk/Txcx7orqHRI/AAAAAAAAC1c/_akXgLroPrg/s400/android_4.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5699078754063228178" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-1jAGieiIu78/Txcx2OG-6sI/AAAAAAAAC1Q/Vgk50NOCIbg/s1600/android_5.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 114px; height: 16px;" src="http://4.bp.blogspot.com/-1jAGieiIu78/Txcx2OG-6sI/AAAAAAAAC1Q/Vgk50NOCIbg/s400/android_5.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5699078661030734530" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-D9fA7fkwVic/Txcxt_3bPdI/AAAAAAAAC1E/zU_w7hoJSHM/s1600/android_6.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 114px; height: 16px;" src="http://4.bp.blogspot.com/-D9fA7fkwVic/Txcxt_3bPdI/AAAAAAAAC1E/zU_w7hoJSHM/s400/android_6.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5699078519768432082" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-Bv708NbcPj4/TxcxleZZReI/AAAAAAAAC04/BJrqRg_RHY4/s1600/android_7.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 114px; height: 16px;" src="http://4.bp.blogspot.com/-Bv708NbcPj4/TxcxleZZReI/AAAAAAAAC04/BJrqRg_RHY4/s400/android_7.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5699078373345150434" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Create a file /res/anim/anim_android.xml&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;animation-list xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt;android:oneshot="false"&lt;br /&gt;&amp;gt;&lt;br /&gt;&amp;lt;item&lt;br /&gt;android:drawable="@drawable/android_1"&lt;br /&gt;android:duration="100"/&amp;gt;&lt;br /&gt;&amp;lt;item&lt;br /&gt;android:drawable="@drawable/android_2"&lt;br /&gt;android:duration="100"/&amp;gt;&lt;br /&gt;&amp;lt;item&lt;br /&gt;android:drawable="@drawable/android_3"&lt;br /&gt;android:duration="100"/&amp;gt;&lt;br /&gt;&amp;lt;item&lt;br /&gt;android:drawable="@drawable/android_4"&lt;br /&gt;android:duration="100"/&amp;gt;&lt;br /&gt;&amp;lt;item&lt;br /&gt;android:drawable="@drawable/android_5"&lt;br /&gt;android:duration="100"/&amp;gt;&lt;br /&gt;&amp;lt;item&lt;br /&gt;android:drawable="@drawable/android_6"&lt;br /&gt;android:duration="100"/&amp;gt;&lt;br /&gt;&amp;lt;item&lt;br /&gt;android:drawable="@drawable/android_7"&lt;br /&gt;android:duration="100"/&amp;gt;&lt;br /&gt;&amp;lt;/animation-list&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Modify main.xml, add a ImageView with android:src="@anim/anim_android".&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt;android:layout_width="fill_parent"&lt;br /&gt;android:layout_height="fill_parent"&lt;br /&gt;android:orientation="vertical" &amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;TextView&lt;br /&gt;android:layout_width="fill_parent"&lt;br /&gt;android:layout_height="wrap_content"&lt;br /&gt;android:text="@string/hello" /&amp;gt;&lt;br /&gt;&amp;lt;ImageView&lt;br /&gt;android:id="@+id/myanimation"&lt;br /&gt;android:layout_width="wrap_content"&lt;br /&gt;android:layout_height="wrap_content"&lt;br /&gt;android:src="@anim/anim_android"&lt;br /&gt;/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Modify our activity:&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;package com.exercise.AndroidAnimation;&lt;br /&gt;&lt;br /&gt;import android.app.Activity;&lt;br /&gt;import android.graphics.drawable.AnimationDrawable;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;import android.widget.ImageView;&lt;br /&gt;&lt;br /&gt;public class AndroidAnimationActivity extends Activity {&lt;br /&gt;/** Called when the activity is first created. */&lt;br /&gt;@Override&lt;br /&gt;public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;super.onCreate(savedInstanceState);&lt;br /&gt;setContentView(R.layout.main);&lt;br /&gt;&lt;br /&gt;ImageView myAnimation = (ImageView)findViewById(R.id.myanimation);&lt;br /&gt;final AnimationDrawable myAnimationDrawable&lt;br /&gt;= (AnimationDrawable)myAnimation.getDrawable();&lt;br /&gt;&lt;br /&gt;myAnimation.post(&lt;br /&gt;new Runnable(){&lt;br /&gt;&lt;br /&gt;  @Override&lt;br /&gt;  public void run() {&lt;br /&gt;   myAnimationDrawable.start();&lt;br /&gt;  }&lt;br /&gt;});&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/androidersite/download/AndroidAnimation_120119a.zip?attredirects=0&amp;amp;d=1"&gt;&lt;img style="width: 18px; height: 21px;" src="http://2.bp.blogspot.com/_J90P-hyr9o8/SmR6wLejZpI/AAAAAAAAAbg/iSloE1vTVnE/s200/icons_download.gif" alt="" id="BLOGGER_PHOTO_ID_5360544424610981522" border="0" /&gt;Download the files&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Next:&lt;br /&gt;- &lt;a href="http://android-er.blogspot.com/2012/01/start-and-stop-frame-animation-with.html"&gt;Start and Stop frame animation with AnimationDrawable&lt;/a&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;Related:&lt;br /&gt;- &lt;a href="http://android-er.blogspot.com/2012/01/create-animationdrawable-using-java.html"&gt;Create AnimationDrawable using Java code&lt;/a&gt;&lt;br /&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-7537917568641751806?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dhnQIoei1NOD67U5KnGoFJ0sDrk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dhnQIoei1NOD67U5KnGoFJ0sDrk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dhnQIoei1NOD67U5KnGoFJ0sDrk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dhnQIoei1NOD67U5KnGoFJ0sDrk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=0pSj9NBOeHc:5rhVXZBOBRU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=0pSj9NBOeHc:5rhVXZBOBRU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/7537917568641751806/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=7537917568641751806" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/7537917568641751806?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/7537917568641751806?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/create-frame-animation-with.html" title="Create frame animation with AnimationDrawable" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-akvd0Q4yIsM/Txcy2NxO_XI/AAAAAAAAC2Y/NOaM5jt7jJM/s72-c/AndroidAnimation_01.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEEBSHg7eyp7ImA9WhRVGEw.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-7113319138332543094</id><published>2012-01-17T07:01:00.000-08:00</published><updated>2012-01-17T07:04:19.603-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-17T07:04:19.603-08:00</app:edited><title>English-language Wikipedia will  black out for 24 hours!</title><content type="html">&lt;i&gt;&lt;span style="font-family: sans-serif; font-size: 15px; line-height: 23px; text-align: -webkit-auto; background-color: rgb(250, 249, 242); "&gt;The Wikipedia community &lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/en:Wikipedia:SOPA_initiative/Action" class="extiw" title="w:en:Wikipedia:SOPA initiative/Action" style="text-decoration: none; color: rgb(102, 51, 102); background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(250, 249, 242); padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: sans-serif; font-size: 15px; line-height: 23px; text-align: -webkit-auto; "&gt;announced its decision&lt;/a&gt;&lt;span style="font-family: sans-serif; font-size: 15px; line-height: 23px; text-align: -webkit-auto; background-color: rgb(250, 249, 242); "&gt; to black out the English-language Wikipedia for 24 hours, worldwide, beginning at 05:00 UTC on Wednesday, January 18 (you can read the &lt;/span&gt;&lt;a href="http://wikimediafoundation.org/wiki/Press_releases/English_Wikipedia_to_go_dark" title="Press releases/English Wikipedia to go dark" style="text-decoration: none; color: rgb(11, 0, 128); background-image: none !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: rgb(250, 249, 242); padding-top: 0px !important; padding-right: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; font-family: sans-serif; font-size: 15px; line-height: 23px; text-align: -webkit-auto; "&gt;statement from the Wikimedia Foundation here&lt;/a&gt;&lt;span style="font-family: sans-serif; font-size: 15px; line-height: 23px; text-align: -webkit-auto; background-color: rgb(250, 249, 242); "&gt;). The blackout is a protest against proposed legislation in the United States—the &lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/en:Stop_Online_Piracy_Act" class="extiw" title="w:en:Stop Online Piracy Act" style="text-decoration: none; color: rgb(102, 51, 102); background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(250, 249, 242); padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: sans-serif; font-size: 15px; line-height: 23px; text-align: -webkit-auto; "&gt;Stop Online Piracy Act (SOPA)&lt;/a&gt;&lt;span style="font-family: sans-serif; font-size: 15px; line-height: 23px; text-align: -webkit-auto; background-color: rgb(250, 249, 242); "&gt; in the U.S. House of Representatives, and the &lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/en:PROTECT_IP_Act" class="extiw" title="w:en:PROTECT IP Act" style="text-decoration: none; color: rgb(102, 51, 102); background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(250, 249, 242); padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: sans-serif; font-size: 15px; line-height: 23px; text-align: -webkit-auto; "&gt;PROTECT IP Act (PIPA)&lt;/a&gt;&lt;span style="font-family: sans-serif; font-size: 15px; line-height: 23px; text-align: -webkit-auto; background-color: rgb(250, 249, 242); "&gt; in the U.S. Senate—that, if passed, would seriously damage the free and open Internet, including Wikipedia.&lt;/span&gt;&lt;/i&gt;&lt;div&gt;&lt;span style="font-family: sans-serif; font-size: 15px; line-height: 23px; text-align: -webkit-auto; background-color: rgb(250, 249, 242); "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: sans-serif; font-size: 15px; line-height: 23px; text-align: -webkit-auto; background-color: rgb(250, 249, 242); "&gt;Read the full details: &lt;/span&gt;&lt;a href="http://wikimediafoundation.org/wiki/English_Wikipedia_anti-SOPA_blackout"&gt;http://wikimediafoundation.org/wiki/English_Wikipedia_anti-SOPA_blackout&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-7113319138332543094?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/yi96zIWOVw4sYGBrahj_YjWJ9hE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yi96zIWOVw4sYGBrahj_YjWJ9hE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/yi96zIWOVw4sYGBrahj_YjWJ9hE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yi96zIWOVw4sYGBrahj_YjWJ9hE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=wValoMEtX4c:bkrXI5XvmtA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=wValoMEtX4c:bkrXI5XvmtA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/7113319138332543094/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=7113319138332543094" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/7113319138332543094?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/7113319138332543094?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/english-language-wikipedia-will-black.html" title="English-language Wikipedia will  black out for 24 hours!" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEUMSH4yfCp7ImA9WhRVF0U.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-2034294515811168018</id><published>2012-01-16T22:36:00.000-08:00</published><updated>2012-01-16T22:38:09.094-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-16T22:38:09.094-08:00</app:edited><title>Delete Android system file data/system/batterystats.bin cannot help in battery life!</title><content type="html">Recently, somebody said that delete the file data/system/batterystats.bin in Android system can improve the battery life!&lt;br /&gt;&lt;br /&gt;Android Framework Engineer, &lt;a href="https://plus.google.com/105051985738280261832/"&gt;Dianne Hackborn&lt;/a&gt; have a &lt;a href="https://plus.google.com/105051985738280261832/posts/FV3LVtdVxPT"&gt;post in Google+&lt;/a&gt;, stated that This file is used to maintain, across reboots, low-level data about the kinds of operations the device and your apps are doing between battery changes. That is, it is solely used to compute the blame for battery usage shown in the "Battery Use" UI in settings...It has no impact on your battery life.&lt;br /&gt;&lt;br /&gt;Read the full post: &lt;a href="https://plus.google.com/105051985738280261832/posts/FV3LVtdVxPT"&gt;https://plus.google.com/105051985738280261832/posts/FV3LVtdVxPT&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-hRlCXumaZpc/TxUXMR-Ej4I/AAAAAAAAC0s/Fnvq1CqV4qo/s1600/batteryLife.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 214px;" src="http://1.bp.blogspot.com/-hRlCXumaZpc/TxUXMR-Ej4I/AAAAAAAAC0s/Fnvq1CqV4qo/s400/batteryLife.png" border="0" alt="Delete Android system file data/system/batterystats.bin cannot help in battery life!" title="Delete Android system file data/system/batterystats.bin cannot help in battery life!" id="BLOGGER_PHOTO_ID_5698486403256848258" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-2034294515811168018?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2d1W3b9vTmfY7MB-zIrkxloL0wA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2d1W3b9vTmfY7MB-zIrkxloL0wA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2d1W3b9vTmfY7MB-zIrkxloL0wA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2d1W3b9vTmfY7MB-zIrkxloL0wA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=SzrUthAh0D8:3YNw8Rlgz9s:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=SzrUthAh0D8:3YNw8Rlgz9s:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/2034294515811168018/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=2034294515811168018" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/2034294515811168018?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/2034294515811168018?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/delete-android-system-file.html" title="Delete Android system file data/system/batterystats.bin cannot help in battery life!" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-hRlCXumaZpc/TxUXMR-Ej4I/AAAAAAAAC0s/Fnvq1CqV4qo/s72-c/batteryLife.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUEERXY7eyp7ImA9WhRVFk8.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-3907887941826485430</id><published>2012-01-15T03:37:00.000-08:00</published><updated>2012-01-15T03:40:04.803-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-15T03:40:04.803-08:00</app:edited><title>ListFragment</title><content type="html">ListFragment (for API Level 11, Android 3.0, or higher) hosts a ListView object that can be bound to different data sources, typically either an array or a Cursor holding query results. Binding, screen layout, and row layout are discussed in the following sections.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-ISEtxwBCje0/TxK66hVw1SI/AAAAAAAAC0c/mrr389CGY-A/s1600/ListFragment.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 234px;" src="http://3.bp.blogspot.com/-ISEtxwBCje0/TxK66hVw1SI/AAAAAAAAC0c/mrr389CGY-A/s400/ListFragment.png" border="0" alt="ListFragment" title="ListFragment" id="BLOGGER_PHOTO_ID_5697821993121928482" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Create a new /res/layout/listfragment1.xml file, it's the layout of out ListFragment. &lt;br /&gt;(If the list is empty, the TextView empty will be shown.)&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt; &amp;lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt;         android:orientation="vertical"&lt;br /&gt;         android:layout_width="match_parent"&lt;br /&gt;         android:layout_height="match_parent"&lt;br /&gt;         android:paddingLeft="8dp"&lt;br /&gt;         android:paddingRight="8dp"&amp;gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;ListView android:id="@id/android:list"&lt;br /&gt;               android:layout_width="match_parent"&lt;br /&gt;               android:layout_height="match_parent"&lt;br /&gt;               android:layout_weight="1"&lt;br /&gt;               android:drawSelectorOnTop="false"/&amp;gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;TextView android:id="@id/android:empty"&lt;br /&gt;               android:layout_width="match_parent"&lt;br /&gt;               android:layout_height="match_parent"&lt;br /&gt;               android:text="No data"/&amp;gt;&lt;br /&gt; &amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Create a new MyListFragment1.java class, extends com.exercise.AndroidListFragment. Override onCreate(), onCreateView() and onListItemClick() methods.&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;package com.exercise.AndroidListFragment;&lt;br /&gt;&lt;br /&gt;import android.app.ListFragment;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;import android.view.LayoutInflater;&lt;br /&gt;import android.view.View;&lt;br /&gt;import android.view.ViewGroup;&lt;br /&gt;import android.widget.ArrayAdapter;&lt;br /&gt;import android.widget.ListAdapter;&lt;br /&gt;import android.widget.ListView;&lt;br /&gt;import android.widget.Toast;&lt;br /&gt;&lt;br /&gt;public class MyListFragment1 extends ListFragment {&lt;br /&gt; &lt;br /&gt; String[] month ={&lt;br /&gt;   "January", &lt;br /&gt;   "February", &lt;br /&gt;   "March", &lt;br /&gt;   "April",&lt;br /&gt;   "May", &lt;br /&gt;   "June", &lt;br /&gt;   "July", &lt;br /&gt;   "August",&lt;br /&gt;   "September", &lt;br /&gt;   "October", &lt;br /&gt;   "November", &lt;br /&gt;   "December"&lt;br /&gt; };&lt;br /&gt; &lt;br /&gt; @Override&lt;br /&gt; public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;  super.onCreate(savedInstanceState);&lt;br /&gt;  ListAdapter myListAdapter = new ArrayAdapter&amp;lt;String&amp;gt;(&lt;br /&gt;    getActivity(),&lt;br /&gt;    android.R.layout.simple_list_item_1,&lt;br /&gt;    month);&lt;br /&gt;  setListAdapter(myListAdapter);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; @Override&lt;br /&gt; public View onCreateView(LayoutInflater inflater, ViewGroup container,&lt;br /&gt;   Bundle savedInstanceState) {&lt;br /&gt;  return inflater.inflate(R.layout.listfragment1, container, false);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; @Override&lt;br /&gt; public void onListItemClick(ListView l, View v, int position, long id) {&lt;br /&gt;  // TODO Auto-generated method stub&lt;br /&gt;  Toast.makeText(&lt;br /&gt;    getActivity(), &lt;br /&gt;    getListView().getItemAtPosition(position).toString(), &lt;br /&gt;    Toast.LENGTH_LONG).show();&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Add another dummy Fragment. &lt;br /&gt;&lt;br /&gt;Create a new /res/layout/fragment2.xml, the layout of the second Fragment.&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt;    android:layout_width="match_parent"&lt;br /&gt;    android:layout_height="match_parent"&lt;br /&gt;    android:orientation="vertical" &amp;gt;&lt;br /&gt;    &lt;br /&gt;    &amp;lt;TextView&lt;br /&gt;        android:id="@+id/fragment2text"&lt;br /&gt;        android:layout_width="match_parent"&lt;br /&gt;        android:layout_height="wrap_content"&lt;br /&gt;        android:text="Hello! It's Fragment2" /&amp;gt;&lt;br /&gt;&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Fragment2.java, extends android.app.Fragment. Override onCreateView() method.&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;package com.exercise.AndroidListFragment;&lt;br /&gt;&lt;br /&gt;import android.app.Fragment;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;import android.view.LayoutInflater;&lt;br /&gt;import android.view.View;&lt;br /&gt;import android.view.ViewGroup;&lt;br /&gt;&lt;br /&gt;public class Fragment2 extends Fragment {&lt;br /&gt;&lt;br /&gt; @Override&lt;br /&gt; public View onCreateView(LayoutInflater inflater, ViewGroup container,&lt;br /&gt;   Bundle savedInstanceState) {&lt;br /&gt;  // TODO Auto-generated method stub&lt;br /&gt;  return inflater.inflate(R.layout.fragment2, container, false);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Modify main.xml to include both Fragments&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt;    android:layout_width="fill_parent"&lt;br /&gt;    android:layout_height="fill_parent"&lt;br /&gt;    android:orientation="horizontal" &amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;fragment&lt;br /&gt;      android:name="com.exercise.AndroidListFragment.MyListFragment1"&lt;br /&gt;      android:id="@+id/fragment1"&lt;br /&gt;      android:layout_weight="1"&lt;br /&gt;      android:layout_width="0px"&lt;br /&gt;      android:layout_height="match_parent" /&amp;gt;&lt;br /&gt;  &amp;lt;fragment&lt;br /&gt;      android:name="com.exercise.AndroidListFragment.Fragment2"&lt;br /&gt;      android:id="@+id/fragment2"&lt;br /&gt;      android:layout_weight="2"&lt;br /&gt;      android:layout_width="0px"&lt;br /&gt;      android:layout_height="match_parent" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/androidersite/download/AndroidListFragment_120115a.zip?attredirects=0&amp;d=1"&gt;&lt;img style="width: 18px; height: 21px;" src="http://2.bp.blogspot.com/_J90P-hyr9o8/SmR6wLejZpI/AAAAAAAAAbg/iSloE1vTVnE/s200/icons_download.gif" alt="" id="BLOGGER_PHOTO_ID_5360544424610981522" border="0" /&gt;Download the files&lt;/a&gt;.&lt;br /&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-3907887941826485430?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/W8WCb9zsGGkEOQJBBOUqALDElJo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/W8WCb9zsGGkEOQJBBOUqALDElJo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/W8WCb9zsGGkEOQJBBOUqALDElJo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/W8WCb9zsGGkEOQJBBOUqALDElJo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=ugQ2uWAdlT0:vF7Zpzc-Wio:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=ugQ2uWAdlT0:vF7Zpzc-Wio:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/3907887941826485430/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=3907887941826485430" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/3907887941826485430?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/3907887941826485430?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/listfragment.html" title="ListFragment" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-ISEtxwBCje0/TxK66hVw1SI/AAAAAAAAC0c/mrr389CGY-A/s72-c/ListFragment.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CE4CR3czfSp7ImA9WhRVFEU.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-1068735954331269464</id><published>2012-01-13T11:28:00.000-08:00</published><updated>2012-01-13T11:29:26.985-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-13T11:29:26.985-08:00</app:edited><title>Texas Instruments first-ever OMAP 5 reference Design Demo</title><content type="html">&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/fNVcJDUIMBI" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;Texas Instruments promised us a new helping of OMAP right around a year ago, and sure enough, OMAP 5 processors will be sampling to partners as early as next week. Texas Instruments' Remi El-Ouazzane (VP of OMAP) just debuted an OMAP 5-based reference design (or "development platform," if you will) on our CES stage, a solid four years after OMAP 3 debuted on a nondescript Archos tablet. OMAP 5 brings along a pair of cores and plenty of power savings, a dual-GPU architecture and more raw horsepower than the average simpleton is used to handling in a single palm. We saw quite a bit of swiping through Android 4.0.1, and as you'd expect, everything looked decidedly snappy. 720p video at 30 frames per second is no real chore, with the platform capable of pushing 1080p material at 64 frames per second (130 frames per second without screen refresh limitations). Of course, with everything being hardware accelerated, we can't feign surprise about its future on netbooks and laptops.&lt;br /&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-1068735954331269464?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3UT434C_MviB0ahDW0SkyFhAcOg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3UT434C_MviB0ahDW0SkyFhAcOg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3UT434C_MviB0ahDW0SkyFhAcOg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3UT434C_MviB0ahDW0SkyFhAcOg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=7UhsvZSDrNQ:iksi6doZYBM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=7UhsvZSDrNQ:iksi6doZYBM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/1068735954331269464/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=1068735954331269464" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/1068735954331269464?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/1068735954331269464?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/texas-instruments-first-ever-omap-5.html" title="Texas Instruments first-ever OMAP 5 reference Design Demo" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/fNVcJDUIMBI/default.jpg" height="72" width="72" /><thr:total>2</thr:total></entry><entry gd:etag="W/&quot;AkQFRXg_eCp7ImA9WhRVFE4.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-2008931803912606686</id><published>2012-01-12T22:59:00.000-08:00</published><updated>2012-01-12T23:05:14.640-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-12T23:05:14.640-08:00</app:edited><title>Google release Android Design Site</title><content type="html">&lt;img style="float:right; margin:0 0 10px 10px; width: 200px; height: 182px;" src="http://3.bp.blogspot.com/-hfVL0CsRdLc/Tw_XgvRbVzI/AAAAAAAACy8/JzXdXC63V2o/s200/Android%2BDesign.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5697009011092313906" /&gt;&lt;br /&gt;Google are introducing &lt;a href="http://developer.android.com/design/"&gt;Android Design&lt;/a&gt; for developers to learn about principles, building blocks, and patterns for creating world-class Android user interfaces. Whether you’re a UI professional or a developer playing that role, these docs show you how to make good design decisions, big and small.  In the coming months, it will be expanded with more in-depth content.&lt;br /&gt;&lt;br /&gt;- &lt;a href="http://developer.android.com/design/"&gt;Android Design&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-2008931803912606686?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oi9IPsVLjx1hRs9-Mb4-lXaGztQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oi9IPsVLjx1hRs9-Mb4-lXaGztQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/oi9IPsVLjx1hRs9-Mb4-lXaGztQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oi9IPsVLjx1hRs9-Mb4-lXaGztQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=-2CkyCIo7v0:_fnltDQl67c:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=-2CkyCIo7v0:_fnltDQl67c:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/2008931803912606686/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=2008931803912606686" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/2008931803912606686?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/2008931803912606686?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/google-release-android-design-site.html" title="Google release Android Design Site" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-hfVL0CsRdLc/Tw_XgvRbVzI/AAAAAAAACy8/JzXdXC63V2o/s72-c/Android%2BDesign.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A04FRnw-eyp7ImA9WhRVE0U.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-4188905986618293335</id><published>2012-01-12T09:37:00.000-08:00</published><updated>2012-01-12T09:38:37.253-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-12T09:38:37.253-08:00</app:edited><title>Always Innovating OMAP4 HDMI Dongle</title><content type="html">&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/YminTjV00wU" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;Always Innovating fits the Texas Instruments OMAP4 motherboard with all the needed features for a Desktop, Set-top-box and 3D home console into a USB stick sized device that connects to the HDMI port of your HDTV and gets power from USB. It has Bluetooth for Bluetooth keyboards and game controllers. Its USB can do USB host.&lt;br /&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-4188905986618293335?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/R8-zGBRizFNK0y-jkQkpgKzyEMQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/R8-zGBRizFNK0y-jkQkpgKzyEMQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/R8-zGBRizFNK0y-jkQkpgKzyEMQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/R8-zGBRizFNK0y-jkQkpgKzyEMQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=R7NhLBrNde0:6T9F34FcE7o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=R7NhLBrNde0:6T9F34FcE7o:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/4188905986618293335/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=4188905986618293335" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/4188905986618293335?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/4188905986618293335?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/always-innovating-omap4-hdmi-dongle.html" title="Always Innovating OMAP4 HDMI Dongle" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/YminTjV00wU/default.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUYAR3s9cCp7ImA9WhRVE0U.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-8913562808952671072</id><published>2012-01-12T08:51:00.001-08:00</published><updated>2012-01-12T08:52:26.568-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-12T08:52:26.568-08:00</app:edited><title>DialogFragment</title><content type="html">android.app.DialogFragment, was introduced from API Level 11 (Android 3.0), displays a dialog window, floating on top of its activity's window.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-XMAx94rm8Lk/Tw8PmG3hgiI/AAAAAAAACys/vMWw3-mtdjw/s1600/DialogFragment.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 234px;" src="http://3.bp.blogspot.com/-XMAx94rm8Lk/Tw8PmG3hgiI/AAAAAAAACys/vMWw3-mtdjw/s400/DialogFragment.png" border="0" alt="DialogFragment" title="DialogFragment" id="BLOGGER_PHOTO_ID_5696789200999907874" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Create a new MyDialogFragment.java class extends android.app.DialogFragment.&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;package com.exercise.AndroidDialogFragment;&lt;br /&gt;&lt;br /&gt;import android.app.AlertDialog;&lt;br /&gt;import android.app.Dialog;&lt;br /&gt;import android.app.DialogFragment;&lt;br /&gt;import android.content.DialogInterface;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;&lt;br /&gt;public class MyDialogFragment extends DialogFragment {&lt;br /&gt; &lt;br /&gt; static MyDialogFragment newInstance() {&lt;br /&gt;  &lt;br /&gt;  String title = "My Fragment";&lt;br /&gt;  &lt;br /&gt;        MyDialogFragment f = new MyDialogFragment();&lt;br /&gt;        Bundle args = new Bundle();&lt;br /&gt;        args.putString("title", title);&lt;br /&gt;        f.setArguments(args);&lt;br /&gt;        return f;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt; @Override&lt;br /&gt; public Dialog onCreateDialog(Bundle savedInstanceState) {&lt;br /&gt;  String title = getArguments().getString("title");&lt;br /&gt;  Dialog myDialog = new AlertDialog.Builder(getActivity())&lt;br /&gt;     .setIcon(R.drawable.ic_launcher)&lt;br /&gt;     .setTitle(title)&lt;br /&gt;     .setPositiveButton("OK", &lt;br /&gt;       new DialogInterface.OnClickListener() {&lt;br /&gt;        &lt;br /&gt;        @Override&lt;br /&gt;        public void onClick(DialogInterface dialog, int which) {&lt;br /&gt;         ((AndroidDialogFragmentActivity)getActivity()).okClicked();&lt;br /&gt;        }&lt;br /&gt;       })&lt;br /&gt;     .setNegativeButton("Cancel", &lt;br /&gt;       new DialogInterface.OnClickListener() {&lt;br /&gt;        &lt;br /&gt;        @Override&lt;br /&gt;        public void onClick(DialogInterface dialog, int which) {&lt;br /&gt;         ((AndroidDialogFragmentActivity)getActivity()).cancelClicked();&lt;br /&gt;        }&lt;br /&gt;       })&lt;br /&gt;     .create();&lt;br /&gt;&lt;br /&gt;  return myDialog;&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;- Modify main.xml layout to add a button to open the dialog.&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt;    android:layout_width="fill_parent"&lt;br /&gt;    android:layout_height="fill_parent"&lt;br /&gt;    android:orientation="vertical" &amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;TextView&lt;br /&gt;        android:layout_width="fill_parent"&lt;br /&gt;        android:layout_height="wrap_content"&lt;br /&gt;        android:text="@string/hello" /&amp;gt;&lt;br /&gt;    &amp;lt;Button&lt;br /&gt;        android:id="@+id/opendialog"&lt;br /&gt;        android:layout_width="fill_parent"&lt;br /&gt;        android:layout_height="wrap_content"&lt;br /&gt;        android:text="Open Dialog" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;- Main activity, AndroidDialogFragmentActivity.java&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;package com.exercise.AndroidDialogFragment;&lt;br /&gt;&lt;br /&gt;import android.app.Activity;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;import android.view.View;&lt;br /&gt;import android.widget.Button;&lt;br /&gt;import android.widget.Toast;&lt;br /&gt;&lt;br /&gt;public class AndroidDialogFragmentActivity extends Activity {&lt;br /&gt;    /** Called when the activity is first created. */&lt;br /&gt;    @Override&lt;br /&gt;    public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;        super.onCreate(savedInstanceState);&lt;br /&gt;        setContentView(R.layout.main);&lt;br /&gt;&lt;br /&gt;        &lt;br /&gt;        Button buttonOpenDialog = (Button)findViewById(R.id.opendialog);&lt;br /&gt;        buttonOpenDialog.setOnClickListener(new Button.OnClickListener(){&lt;br /&gt;&lt;br /&gt;   @Override&lt;br /&gt;   public void onClick(View arg0) {&lt;br /&gt;    OpenDialog();&lt;br /&gt;   }});&lt;br /&gt;        &lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    void OpenDialog(){&lt;br /&gt;     MyDialogFragment myDialogFragment = MyDialogFragment.newInstance();&lt;br /&gt;     myDialogFragment.show(getFragmentManager(), "myDialogFragment");&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt; public void okClicked() {&lt;br /&gt;  Toast.makeText(AndroidDialogFragmentActivity.this, &lt;br /&gt;    "OK Clicked!", &lt;br /&gt;    Toast.LENGTH_LONG).show();&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void cancelClicked() {&lt;br /&gt;  Toast.makeText(AndroidDialogFragmentActivity.this, &lt;br /&gt;    "Cancel Clicked!", &lt;br /&gt;    Toast.LENGTH_LONG).show();&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/androidersite/download/AndroidDialogFragment_120113a.zip?attredirects=0&amp;d=1"&gt;&lt;img style="width: 18px; height: 21px;" src="http://2.bp.blogspot.com/_J90P-hyr9o8/SmR6wLejZpI/AAAAAAAAAbg/iSloE1vTVnE/s200/icons_download.gif" alt="" id="BLOGGER_PHOTO_ID_5360544424610981522" border="0" /&gt;Download the files&lt;/a&gt;.&lt;br /&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-8913562808952671072?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/40E4vk2nTx0dif4L6bEAlTUF3SU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/40E4vk2nTx0dif4L6bEAlTUF3SU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/40E4vk2nTx0dif4L6bEAlTUF3SU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/40E4vk2nTx0dif4L6bEAlTUF3SU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=JvF6-hgIsAQ:FxHjSIIbsok:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=JvF6-hgIsAQ:FxHjSIIbsok:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/8913562808952671072/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=8913562808952671072" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/8913562808952671072?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/8913562808952671072?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/dialogfragment.html" title="DialogFragment" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-XMAx94rm8Lk/Tw8PmG3hgiI/AAAAAAAACys/vMWw3-mtdjw/s72-c/DialogFragment.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;AkUDSHs9eyp7ImA9WhRVEkU.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-2695328864943987532</id><published>2012-01-11T05:21:00.000-08:00</published><updated>2012-01-11T05:24:39.563-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-11T05:24:39.563-08:00</app:edited><title>Lenovo K800 Intel Medfield smartphone hands-on at CES 2012</title><content type="html">&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/jJ43b_1Dq6M" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;Just announced Lenovo K800: the first Intel Medfield powered smartphone. &lt;br /&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-2695328864943987532?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oWYpVUtxmzK5Y1ZcbeXFamY9Msw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oWYpVUtxmzK5Y1ZcbeXFamY9Msw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/oWYpVUtxmzK5Y1ZcbeXFamY9Msw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oWYpVUtxmzK5Y1ZcbeXFamY9Msw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=znmWC3NaIlM:te6CH3vnR0s:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=znmWC3NaIlM:te6CH3vnR0s:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/2695328864943987532/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=2695328864943987532" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/2695328864943987532?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/2695328864943987532?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/lenovo-k800-intel-medfield-smartphone.html" title="Lenovo K800 Intel Medfield smartphone hands-on at CES 2012" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/jJ43b_1Dq6M/default.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;AkINR3c9eCp7ImA9WhRVEkw.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-6503786729892244212</id><published>2012-01-10T10:02:00.000-08:00</published><updated>2012-01-10T10:03:16.960-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-10T10:03:16.960-08:00</app:edited><title>Intel Smartphone running Android Hands On - CES 2012</title><content type="html">&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/uoCbpHPfZaA" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-6503786729892244212?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-ngBWz6j9xUyQuzosFS7cc2ed3M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-ngBWz6j9xUyQuzosFS7cc2ed3M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-ngBWz6j9xUyQuzosFS7cc2ed3M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-ngBWz6j9xUyQuzosFS7cc2ed3M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=ydRBBRFPPbg:-f-01I-64-Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=ydRBBRFPPbg:-f-01I-64-Q:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/6503786729892244212/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=6503786729892244212" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/6503786729892244212?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/6503786729892244212?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/intel-smartphone-running-android-hands.html" title="Intel Smartphone running Android Hands On - CES 2012" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/uoCbpHPfZaA/default.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;AkYESHgzcSp7ImA9WhRVEU4.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-7844968157657320681</id><published>2012-01-09T11:34:00.000-08:00</published><updated>2012-01-09T11:41:49.689-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-09T11:41:49.689-08:00</app:edited><title>Event handler of VideoView - OnCompletion, OnPrepared and OnError</title><content type="html">Refer to the old exercise "&lt;a href="http://android-er.blogspot.com/2010/07/displays-video-in-videoview.html"&gt;Displays video in VideoView&lt;/a&gt;", we can play video on VideoView easily. We can also implement our own event handlers and register with our VideoView using the methods setOnCompletionListener(), setOnPreparedListener() and setOnErrorListener().&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-KFblVDW3kb0/TwtCnS196iI/AAAAAAAACxg/VubVLW8_d20/s1600/VideoView_event.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 400px;" src="http://4.bp.blogspot.com/-KFblVDW3kb0/TwtCnS196iI/AAAAAAAACxg/VubVLW8_d20/s400/VideoView_event.png" border="0" alt="Event handler of VideoView" title="Event handler of VideoView" id="BLOGGER_PHOTO_ID_5695719396580649506" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Main code, AndroidVideoViewActivity.java&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;package com.exercise.AndroidVideoView;&lt;br /&gt;&lt;br /&gt;import android.app.Activity;&lt;br /&gt;import android.media.MediaPlayer;&lt;br /&gt;import android.net.Uri;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;import android.widget.MediaController;&lt;br /&gt;import android.widget.Toast;&lt;br /&gt;import android.widget.VideoView;&lt;br /&gt;&lt;br /&gt;public class AndroidVideoViewActivity extends Activity {&lt;br /&gt;/** Called when the activity is first created. */&lt;br /&gt;@Override&lt;br /&gt;public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;    super.onCreate(savedInstanceState);&lt;br /&gt;    setContentView(R.layout.main);&lt;br /&gt;&lt;br /&gt;    VideoView myVideoView = (VideoView)findViewById(R.id.videoview);&lt;br /&gt;&lt;br /&gt;    String viewSource ="rtsp://v5.cache1.c.youtube.com/CjYLENy73wIaLQklThqIVp_AsxMYESARFEIJbXYtZ29vZ2xlSARSBWluZGV4YIvJo6nmx9DvSww=/0/0/0/video.3gp";&lt;br /&gt;&lt;br /&gt;    myVideoView.setVideoURI(Uri.parse(viewSource));&lt;br /&gt;    myVideoView.setMediaController(new MediaController(this));&lt;br /&gt;&lt;br /&gt;    myVideoView.setOnCompletionListener(myVideoViewCompletionListener);&lt;br /&gt;    myVideoView.setOnPreparedListener(MyVideoViewPreparedListener);&lt;br /&gt;    myVideoView.setOnErrorListener(myVideoViewErrorListener);&lt;br /&gt;&lt;br /&gt;    myVideoView.requestFocus();&lt;br /&gt;    myVideoView.start();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;MediaPlayer.OnCompletionListener myVideoViewCompletionListener&lt;br /&gt;= new MediaPlayer.OnCompletionListener(){&lt;br /&gt;&lt;br /&gt;  @Override&lt;br /&gt;  public void onCompletion(MediaPlayer arg0) {&lt;br /&gt;   Toast.makeText(AndroidVideoViewActivity.this,&lt;br /&gt;     "End of Video",&lt;br /&gt;     Toast.LENGTH_LONG).show();&lt;br /&gt;  }};&lt;br /&gt;  &lt;br /&gt; MediaPlayer.OnPreparedListener MyVideoViewPreparedListener&lt;br /&gt; = new MediaPlayer.OnPreparedListener(){&lt;br /&gt;&lt;br /&gt;  @Override&lt;br /&gt;  public void onPrepared(MediaPlayer arg0) {&lt;br /&gt;   Toast.makeText(AndroidVideoViewActivity.this,&lt;br /&gt;     "Media file is loaded and ready to go",&lt;br /&gt;     Toast.LENGTH_LONG).show();&lt;br /&gt;   &lt;br /&gt;  }};&lt;br /&gt;  &lt;br /&gt; MediaPlayer.OnErrorListener myVideoViewErrorListener&lt;br /&gt; = new MediaPlayer.OnErrorListener(){&lt;br /&gt;&lt;br /&gt;  @Override&lt;br /&gt;  public boolean onError(MediaPlayer arg0, int arg1, int arg2) {&lt;br /&gt;   Toast.makeText(AndroidVideoViewActivity.this,&lt;br /&gt;     "Error!!!",&lt;br /&gt;     Toast.LENGTH_LONG).show();&lt;br /&gt;   return true;&lt;br /&gt;  }};&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Layout, main.xml&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt;android:orientation="vertical"&lt;br /&gt;android:layout_width="fill_parent"&lt;br /&gt;android:layout_height="fill_parent"&lt;br /&gt;&amp;gt;&lt;br /&gt;&amp;lt;TextView&lt;br /&gt;android:layout_width="fill_parent"&lt;br /&gt;android:layout_height="wrap_content"&lt;br /&gt;android:text="@string/hello"&lt;br /&gt;/&amp;gt;&lt;br /&gt;&amp;lt;VideoView&lt;br /&gt;android:id="@+id/videoview"&lt;br /&gt;android:layout_width="fill_parent"&lt;br /&gt;android:layout_height="fill_parent"&lt;br /&gt;/&amp;gt;&lt;br /&gt;&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/androidersite/download/AndroidVideoView_120110a.tar.gz?attredirects=0&amp;amp;d=1"&gt;&lt;img style="width: 18px; height: 21px;" src="http://2.bp.blogspot.com/_J90P-hyr9o8/SmR6wLejZpI/AAAAAAAAAbg/iSloE1vTVnE/s200/icons_download.gif" alt="" id="BLOGGER_PHOTO_ID_5360544424610981522" border="0" /&gt;Download the files&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-7844968157657320681?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/C1jSqoTXmQ8xCFOjCjquyFX2rrA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/C1jSqoTXmQ8xCFOjCjquyFX2rrA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/C1jSqoTXmQ8xCFOjCjquyFX2rrA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/C1jSqoTXmQ8xCFOjCjquyFX2rrA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=X4FSuNTFMfM:MjGNpxcqy-I:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=X4FSuNTFMfM:MjGNpxcqy-I:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/7844968157657320681/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=7844968157657320681" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/7844968157657320681?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/7844968157657320681?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/event-handler-of-videoview-oncompletion.html" title="Event handler of VideoView - OnCompletion, OnPrepared and OnError" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-KFblVDW3kb0/TwtCnS196iI/AAAAAAAACxg/VubVLW8_d20/s72-c/VideoView_event.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEEDRns9eCp7ImA9WhRVEEQ.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-898663240044358055</id><published>2012-01-08T23:02:00.000-08:00</published><updated>2012-01-08T23:04:37.560-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-08T23:04:37.560-08:00</app:edited><title>Show Action Item with icon and text</title><content type="html">Refer to last exercise "&lt;a href="http://android-er.blogspot.com/2012/01/show-as-action-item-with-icon.html"&gt;Show as Action Item with icon&lt;/a&gt;"; to show action item with icon and text, call setShowAsAction() method with MenuItem.SHOW_AS_ACTION_IF_ROOM|MenuItem.SHOW_AS_ACTION_WITH_TEXT.&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; @Override&lt;br /&gt; public boolean onCreateOptionsMenu(Menu menu) {&lt;br /&gt;  super.onCreateOptionsMenu(menu);&lt;br /&gt;  &lt;br /&gt;  /*&lt;br /&gt;   *  menu.add(int groupId, int itemId, int order, CharSequence title);&lt;br /&gt;   */&lt;br /&gt;  MenuItem menu0 = menu.add(0, 0, 0, "Action Item 0");&lt;br /&gt;  {&lt;br /&gt;   menu0.setIcon(R.drawable.ic_launcher);&lt;br /&gt;   menu0.setShowAsAction(&lt;br /&gt;     MenuItem.SHOW_AS_ACTION_IF_ROOM&lt;br /&gt;     |MenuItem.SHOW_AS_ACTION_WITH_TEXT);&lt;br /&gt;  }&lt;br /&gt;  menu.add(0, 1, 1, "Action Item 1");&lt;br /&gt;  menu.add(0, 2, 2, "Action Item 2");&lt;br /&gt;  menu.add(0, 3, 3, "Action Item 3");&lt;br /&gt;  menu.add(0, 4, 4, "Action Item 4");&lt;br /&gt; &lt;br /&gt;  return true;&lt;br /&gt; }&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-ZMbqD0xYAc8/TwqRSvARKgI/AAAAAAAACxQ/Sjr1Th616Ok/s1600/ActionItemWithIconAndText.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 234px;" src="http://4.bp.blogspot.com/-ZMbqD0xYAc8/TwqRSvARKgI/AAAAAAAACxQ/Sjr1Th616Ok/s400/ActionItemWithIconAndText.png" border="0" alt="Show Action Item with icon and text" title="Show Action Item with icon and text" id="BLOGGER_PHOTO_ID_5695524429804677634" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-898663240044358055?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/HReqESUiRqiJPi9zOXCS1hBGxG8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HReqESUiRqiJPi9zOXCS1hBGxG8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/HReqESUiRqiJPi9zOXCS1hBGxG8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HReqESUiRqiJPi9zOXCS1hBGxG8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=NZzUm6no0uM:BZa2JOHlAQU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=NZzUm6no0uM:BZa2JOHlAQU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/898663240044358055/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=898663240044358055" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/898663240044358055?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/898663240044358055?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/show-action-item-with-icon-and-text.html" title="Show Action Item with icon and text" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-ZMbqD0xYAc8/TwqRSvARKgI/AAAAAAAACxQ/Sjr1Th616Ok/s72-c/ActionItemWithIconAndText.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUUBRHY5fSp7ImA9WhRVEEo.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-7210120223158752869</id><published>2012-01-08T18:46:00.000-08:00</published><updated>2012-01-08T18:47:35.825-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-08T18:47:35.825-08:00</app:edited><title>Beginning Android Tablet Games Programming</title><content type="html">&lt;iframe src="http://rcm.amazon.com/e/cm?t=pointe&amp;o=1&amp;p=8&amp;l=as1&amp;asins=1430238526&amp;ref=tf_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;p style="font-family: verdana, arial, helvetica, sans-serif; text-align: -webkit-auto; background-color: rgb(255, 255, 255); font-size: small; "&gt;Android games programmers now have the power to write games for Android tablets. &lt;em&gt;Beginning Android Tablet Games Programming&lt;/em&gt; explains how to enhance your Android games using the new tablet interface and the additional screen estate. You'll learn how to bring your programming skills up to date and into a world where touch screens, games physics, and artificial intelligence come together in new and surprising ways.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Beginning Android Tablet Games Programming&lt;/em&gt; shows how to quickly and easily set up an Android development environment—in no time at all, you'll be programming away. You'll begin with some simple games using sprites and choreographed movement. Next, you'll learn how to handle user input in the modern age of touch screens and motion.&lt;br /&gt;&lt;br /&gt;Along the way, you'll discover how to use that extra screen space on a tablet to provide more relaxed and more interesting user interactions in your games. You'll learn how to use sound and music, for instance, to make your application menus more user-friendly.&lt;br /&gt;&lt;br /&gt;The Android operating system has recently acquired multicore functionality to meet the demands of multicore devices now entering the tablet market. With &lt;em&gt;Beginning Android Tablet Games Programming&lt;/em&gt;, you'll discover how to harness that new power with your games programming through more process-demanding and fun techniques, including physics modeling, rich game world representation, artificial intelligence, and multiplayer interactions. &lt;br /&gt;&lt;br /&gt;Throughout each chapter of &lt;em&gt;Beginning Android Tablet Games Programming, &lt;/em&gt;you'll find code that you can add or adapt to your own games to create the components you want. You can also work up to wrapping everything together into a complete Mario-type example game.&lt;br /&gt;&lt;br /&gt;Finally, when you have your first games ready, learn how developers have released their games and made a profit. You'll find tips on how to present your games in the Android and other application markets, and a solid approach to games marketing and monetization.&lt;/p&gt;&lt;h3 style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 0px; font-family: verdana, arial, helvetica, sans-serif; text-align: -webkit-auto; background-color: rgb(255, 255, 255); "&gt;What you’ll learn&lt;/h3&gt;&lt;ul style="margin-top: 20px; margin-right: 20px; margin-bottom: 20px; margin-left: 20px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, arial, helvetica, sans-serif; text-align: -webkit-auto; background-color: rgb(255, 255, 255); font-size: small; "&gt;&lt;li style="margin-top: 0.5em; margin-right: 0em; margin-bottom: 0.5em; margin-left: 0em; "&gt;How to set up an Android tablet programming environment&lt;/li&gt;&lt;li style="margin-top: 0.5em; margin-right: 0em; margin-bottom: 0.5em; margin-left: 0em; "&gt;How to program for touchscreens and other input devices&lt;/li&gt;&lt;li style="margin-top: 0.5em; margin-right: 0em; margin-bottom: 0.5em; margin-left: 0em; "&gt;Techniques to take advantage of the extra screen size of a tablet&lt;/li&gt;&lt;li style="margin-top: 0.5em; margin-right: 0em; margin-bottom: 0.5em; margin-left: 0em; "&gt;How to take advantage of multicore processing power in your games&lt;/li&gt;&lt;li style="margin-top: 0.5em; margin-right: 0em; margin-bottom: 0.5em; margin-left: 0em; "&gt;How to program a multiplayer game&lt;/li&gt;&lt;li style="margin-top: 0.5em; margin-right: 0em; margin-bottom: 0.5em; margin-left: 0em; "&gt;How to add artificial intelligence to in-game opponents&lt;/li&gt;&lt;li style="margin-top: 0.5em; margin-right: 0em; margin-bottom: 0.5em; margin-left: 0em; "&gt;How to program game modes, game states, and game worlds&lt;/li&gt;&lt;li style="margin-top: 0.5em; margin-right: 0em; margin-bottom: 0.5em; margin-left: 0em; "&gt;How to program a complete game&lt;/li&gt;&lt;li style="margin-top: 0.5em; margin-right: 0em; margin-bottom: 0.5em; margin-left: 0em; "&gt;About in-app marketing and games monetization&lt;/li&gt;&lt;/ul&gt;&lt;h3 style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 0px; font-family: verdana, arial, helvetica, sans-serif; text-align: -webkit-auto; background-color: rgb(255, 255, 255); "&gt;Who this book is for&lt;/h3&gt;&lt;p style="font-family: verdana, arial, helvetica, sans-serif; text-align: -webkit-auto; background-color: rgb(255, 255, 255); font-size: small; "&gt;This is a book for Java programmers new to Honeycomb, tablets and games programming. An experienced games programmer can also use this book to migrate their existing expertise to the Android and the tablet environment.&lt;/p&gt;&lt;h3 style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 0px; font-family: verdana, arial, helvetica, sans-serif; text-align: -webkit-auto; background-color: rgb(255, 255, 255); "&gt;Table of Contents&lt;/h3&gt;&lt;ol style="font-family: verdana, arial, helvetica, sans-serif; text-align: -webkit-auto; background-color: rgb(255, 255, 255); font-size: small; "&gt;&lt;li&gt;Setting Up for Android 3.0 Java Development&lt;/li&gt;&lt;li&gt;Creating Simple Games with Sprites and Movement&lt;/li&gt;&lt;li&gt;Creating Gathering User Input &lt;/li&gt;&lt;li&gt;Adding Sounds Effects, Music, and Video&lt;/li&gt;&lt;li&gt;One-Player Game with Obstacles &lt;/li&gt;&lt;li&gt;A Ball and Paddle Game&lt;/li&gt;&lt;li&gt;Building a Two-Player Game &lt;/li&gt;&lt;li&gt;A One-Player Strategy Game Part I &lt;/li&gt;&lt;li&gt;A One-Player Strategy Game Part II &lt;/li&gt;&lt;li&gt;Publishing the Game&lt;/li&gt;&lt;li&gt;Testing Android Games on a Real Device&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-7210120223158752869?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SX9Mi-mL6MJpkCH7vq3vRHTy6nM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SX9Mi-mL6MJpkCH7vq3vRHTy6nM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SX9Mi-mL6MJpkCH7vq3vRHTy6nM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SX9Mi-mL6MJpkCH7vq3vRHTy6nM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=kPkCZmBc5XY:rgBkbIJNkws:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=kPkCZmBc5XY:rgBkbIJNkws:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/7210120223158752869/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=7210120223158752869" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/7210120223158752869?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/7210120223158752869?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/beginning-android-tablet-games.html" title="Beginning Android Tablet Games Programming" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEABRX84fip7ImA9WhRVEEQ.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-7798093858842076767</id><published>2012-01-08T08:02:00.000-08:00</published><updated>2012-01-08T23:05:54.136-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-08T23:05:54.136-08:00</app:edited><title>Show as Action Item with icon</title><content type="html">Modify from last article "&lt;a href="http://android-er.blogspot.com/2012/01/add-and-respond-action-items-on-action.html"&gt;Add and respond Action Items on Action Bar&lt;/a&gt;", we can display individual item seperately on with icon, instead of within the overflow action item.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-Wy8R0ANSV2U/Twm-b6WcH0I/AAAAAAAACxA/UX8moULAxdI/s1600/ActionItemWithIcon.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 234px;" src="http://3.bp.blogspot.com/-Wy8R0ANSV2U/Twm-b6WcH0I/AAAAAAAACxA/UX8moULAxdI/s400/ActionItemWithIcon.png" border="0" alt="Show as Action Item with icon" title="Show as Action Item with icon" id="BLOGGER_PHOTO_ID_5695292590515822402" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Notice the the code of menu0 in onCreateOptionsMenu() method:&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;package com.exercise.AndroidActionBar;&lt;br /&gt;&lt;br /&gt;import android.app.ActionBar;&lt;br /&gt;import android.app.Activity;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;import android.view.Menu;&lt;br /&gt;import android.view.MenuItem;&lt;br /&gt;import android.view.View;&lt;br /&gt;import android.widget.Button;&lt;br /&gt;import android.widget.Toast;&lt;br /&gt;&lt;br /&gt;public class AndroidActionBarActivity extends Activity {&lt;br /&gt; /** Called when the activity is first created. */&lt;br /&gt; @Override&lt;br /&gt; public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;     super.onCreate(savedInstanceState);&lt;br /&gt;     setContentView(R.layout.main);&lt;br /&gt;  &lt;br /&gt;     Button showActionBar = (Button)findViewById(R.id.showactionbar);&lt;br /&gt;     Button hideActionBar = (Button)findViewById(R.id.hideactionbar);&lt;br /&gt;  &lt;br /&gt;     showActionBar.setOnClickListener(new Button.OnClickListener(){&lt;br /&gt;&lt;br /&gt;  @Override&lt;br /&gt;  public void onClick(View arg0) {&lt;br /&gt;   ActionBar actionBar = getActionBar();&lt;br /&gt;   actionBar.show();&lt;br /&gt;  }});&lt;br /&gt;  &lt;br /&gt;     hideActionBar.setOnClickListener(new Button.OnClickListener(){&lt;br /&gt;&lt;br /&gt;  @Override&lt;br /&gt;  public void onClick(View arg0) {&lt;br /&gt;   ActionBar actionBar = getActionBar();&lt;br /&gt;   actionBar.hide();&lt;br /&gt;  }});&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;@Override&lt;br /&gt;public boolean onCreateOptionsMenu(Menu menu) {&lt;br /&gt; super.onCreateOptionsMenu(menu);&lt;br /&gt;&lt;br /&gt; /*&lt;br /&gt;  *  menu.add(int groupId, int itemId, int order, CharSequence title);&lt;br /&gt;  */&lt;br /&gt; MenuItem menu0 = menu.add(0, 0, 0, "Action Item 0");&lt;br /&gt; {&lt;br /&gt;  menu0.setIcon(R.drawable.ic_launcher);&lt;br /&gt;  menu0.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);&lt;br /&gt; }&lt;br /&gt; menu.add(0, 1, 1, "Action Item 1");&lt;br /&gt; menu.add(0, 2, 2, "Action Item 2");&lt;br /&gt; menu.add(0, 3, 3, "Action Item 3");&lt;br /&gt; menu.add(0, 4, 4, "Action Item 4");&lt;br /&gt;&lt;br /&gt; return true;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;@Override&lt;br /&gt;public boolean onOptionsItemSelected(MenuItem item) {&lt;br /&gt;&lt;br /&gt; switch(item.getItemId()){&lt;br /&gt; case 0:&lt;br /&gt;  Toast.makeText(AndroidActionBarActivity.this,&lt;br /&gt;    "Action Item 0 selected!",&lt;br /&gt;    Toast.LENGTH_LONG).show();&lt;br /&gt;  return true;&lt;br /&gt; case 1:&lt;br /&gt;  Toast.makeText(AndroidActionBarActivity.this,&lt;br /&gt;    "Action Item 1 selected!",&lt;br /&gt;    Toast.LENGTH_LONG).show();&lt;br /&gt;  return true;&lt;br /&gt; case 2:&lt;br /&gt;  Toast.makeText(AndroidActionBarActivity.this,&lt;br /&gt;    "Action Item 2 selected!",&lt;br /&gt;    Toast.LENGTH_LONG).show();&lt;br /&gt;  return true;&lt;br /&gt; case 3:&lt;br /&gt;  Toast.makeText(AndroidActionBarActivity.this,&lt;br /&gt;    "Action Item 3 selected!",&lt;br /&gt;    Toast.LENGTH_LONG).show();&lt;br /&gt;  return true;&lt;br /&gt; case 4:&lt;br /&gt;  Toast.makeText(AndroidActionBarActivity.this,&lt;br /&gt;    "Action Item 4 selected!",&lt;br /&gt;    Toast.LENGTH_LONG).show();&lt;br /&gt;  return true;&lt;br /&gt; default:&lt;br /&gt;  return false;&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;next:&lt;br /&gt;- &lt;a href="http://android-er.blogspot.com/2012/01/show-action-item-with-icon-and-text.html"&gt;Show Action Item with icon and text&lt;/a&gt;&lt;br /&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-7798093858842076767?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/gYjOWOJZ-SwlmJ3VwRR8k9WaLvE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gYjOWOJZ-SwlmJ3VwRR8k9WaLvE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/gYjOWOJZ-SwlmJ3VwRR8k9WaLvE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gYjOWOJZ-SwlmJ3VwRR8k9WaLvE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=cI6l4DllmU4:1wQUzKgOWa0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=cI6l4DllmU4:1wQUzKgOWa0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/7798093858842076767/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=7798093858842076767" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/7798093858842076767?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/7798093858842076767?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/show-as-action-item-with-icon.html" title="Show as Action Item with icon" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-Wy8R0ANSV2U/Twm-b6WcH0I/AAAAAAAACxA/UX8moULAxdI/s72-c/ActionItemWithIcon.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;C04BQXY-cCp7ImA9WhRWGU4.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-1792167029293310580</id><published>2012-01-07T02:22:00.000-08:00</published><updated>2012-01-07T02:25:50.858-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-07T02:25:50.858-08:00</app:edited><title>Easter egg@Android.com - a Snowman</title><content type="html">A funny Easter egg, it's a snowman game at Android.com.&lt;br /&gt;&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/J7UZ84m8vyk" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Browser to &lt;a href="http://www.android.com/"&gt;http://www.android.com/&lt;/a&gt;, scroll-down to bottom. Click on the green Android on the bottom-left will start the game:)&lt;br /&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-1792167029293310580?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pSSxdZiLwSW3h0udeQ5RJKhMY9M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pSSxdZiLwSW3h0udeQ5RJKhMY9M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/pSSxdZiLwSW3h0udeQ5RJKhMY9M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pSSxdZiLwSW3h0udeQ5RJKhMY9M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=8Fo7ZB7wmSA:CquyIiqqTHY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=8Fo7ZB7wmSA:CquyIiqqTHY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/1792167029293310580/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=1792167029293310580" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/1792167029293310580?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/1792167029293310580?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/easter-eggandroidcom-snowman.html" title="Easter egg@Android.com - a Snowman" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/J7UZ84m8vyk/default.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;AkAARnc-eyp7ImA9WhRVEE4.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-1833879306776160824</id><published>2012-01-05T23:58:00.001-08:00</published><updated>2012-01-08T08:05:47.953-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-08T08:05:47.953-08:00</app:edited><title>Add and respond Action Items on Action Bar</title><content type="html">We can override onCreateOptionsMenu() and onOptionsItemSelected() to add and respond Action Items on Action Bar.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-4H32aDdwhUg/Twapp5ffrjI/AAAAAAAACws/SSoxPrly9fk/s1600/ActionBar_ActionItem.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 234px;" src="http://3.bp.blogspot.com/-4H32aDdwhUg/Twapp5ffrjI/AAAAAAAACws/SSoxPrly9fk/s400/ActionBar_ActionItem.png" border="0" alt="Action Items on Action Bar" title="Action Items on Action Bar" id="BLOGGER_PHOTO_ID_5694425316129222194" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;package com.exercise.AndroidActionBar;&lt;br /&gt;&lt;br /&gt;import android.app.ActionBar;&lt;br /&gt;import android.app.Activity;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;import android.view.Menu;&lt;br /&gt;import android.view.MenuItem;&lt;br /&gt;import android.view.View;&lt;br /&gt;import android.widget.Button;&lt;br /&gt;import android.widget.Toast;&lt;br /&gt;&lt;br /&gt;public class AndroidActionBarActivity extends Activity {&lt;br /&gt;    /** Called when the activity is first created. */&lt;br /&gt;    @Override&lt;br /&gt;    public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;        super.onCreate(savedInstanceState);&lt;br /&gt;        setContentView(R.layout.main);&lt;br /&gt;        &lt;br /&gt;        Button showActionBar = (Button)findViewById(R.id.showactionbar);&lt;br /&gt;        Button hideActionBar = (Button)findViewById(R.id.hideactionbar);&lt;br /&gt;        &lt;br /&gt;        showActionBar.setOnClickListener(new Button.OnClickListener(){&lt;br /&gt;&lt;br /&gt;   @Override&lt;br /&gt;   public void onClick(View arg0) {&lt;br /&gt;    ActionBar actionBar = getActionBar();&lt;br /&gt;    actionBar.show();&lt;br /&gt;   }});&lt;br /&gt;        &lt;br /&gt;        hideActionBar.setOnClickListener(new Button.OnClickListener(){&lt;br /&gt;&lt;br /&gt;   @Override&lt;br /&gt;   public void onClick(View arg0) {&lt;br /&gt;    ActionBar actionBar = getActionBar();&lt;br /&gt;    actionBar.hide();&lt;br /&gt;   }});&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt; @Override&lt;br /&gt; public boolean onCreateOptionsMenu(Menu menu) {&lt;br /&gt;  super.onCreateOptionsMenu(menu);&lt;br /&gt;  &lt;br /&gt;  /*&lt;br /&gt;   *  menu.add(int groupId, int itemId, int order, CharSequence title);&lt;br /&gt;   */&lt;br /&gt;  menu.add(0, 0, 0, "Action Item 0");&lt;br /&gt;  menu.add(0, 1, 1, "Action Item 1");&lt;br /&gt;  menu.add(0, 2, 2, "Action Item 2");&lt;br /&gt;  menu.add(0, 3, 3, "Action Item 3");&lt;br /&gt;  menu.add(0, 4, 4, "Action Item 4");&lt;br /&gt;  &lt;br /&gt;  return true;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; @Override&lt;br /&gt; public boolean onOptionsItemSelected(MenuItem item) {&lt;br /&gt;  &lt;br /&gt;  switch(item.getItemId()){&lt;br /&gt;  case 0:&lt;br /&gt;   Toast.makeText(AndroidActionBarActivity.this, &lt;br /&gt;     "Action Item 0 selected!", &lt;br /&gt;     Toast.LENGTH_LONG).show();&lt;br /&gt;   return true;&lt;br /&gt;  case 1:&lt;br /&gt;   Toast.makeText(AndroidActionBarActivity.this, &lt;br /&gt;     "Action Item 1 selected!", &lt;br /&gt;     Toast.LENGTH_LONG).show();&lt;br /&gt;   return true;&lt;br /&gt;  case 2:&lt;br /&gt;   Toast.makeText(AndroidActionBarActivity.this, &lt;br /&gt;     "Action Item 2 selected!", &lt;br /&gt;     Toast.LENGTH_LONG).show();&lt;br /&gt;   return true;&lt;br /&gt;  case 3:&lt;br /&gt;   Toast.makeText(AndroidActionBarActivity.this, &lt;br /&gt;     "Action Item 3 selected!", &lt;br /&gt;     Toast.LENGTH_LONG).show();&lt;br /&gt;   return true;&lt;br /&gt;  case 4:&lt;br /&gt;   Toast.makeText(AndroidActionBarActivity.this, &lt;br /&gt;     "Action Item 4 selected!", &lt;br /&gt;     Toast.LENGTH_LONG).show();&lt;br /&gt;   return true;&lt;br /&gt;  default:&lt;br /&gt;   return false;&lt;br /&gt;  &lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;next:&lt;br /&gt;- &lt;a href="http://android-er.blogspot.com/2012/01/show-as-action-item-with-icon.html"&gt;Show as Action Item with icon&lt;/a&gt;&lt;br /&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-1833879306776160824?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/IabkRq5x8LSOHdVeZw2DDFuqlBo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IabkRq5x8LSOHdVeZw2DDFuqlBo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/IabkRq5x8LSOHdVeZw2DDFuqlBo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IabkRq5x8LSOHdVeZw2DDFuqlBo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=uIVbWW_psf8:oSxunEAEdV8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=uIVbWW_psf8:oSxunEAEdV8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/1833879306776160824/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=1833879306776160824" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/1833879306776160824?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/1833879306776160824?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/add-and-respond-action-items-on-action.html" title="Add and respond Action Items on Action Bar" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-4H32aDdwhUg/Twapp5ffrjI/AAAAAAAACws/SSoxPrly9fk/s72-c/ActionBar_ActionItem.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DE8ASXc-eip7ImA9WhRWGE4.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-2821787387970544989</id><published>2012-01-05T03:59:00.001-08:00</published><updated>2012-01-06T00:00:48.952-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-06T00:00:48.952-08:00</app:edited><title>Turn On/Off Action Bar</title><content type="html">ActionBar on Android 3.0 (API level 11) is a window feature that identifies the application and user location, and provides user actions and navigation modes.&lt;br /&gt;&lt;br /&gt;To turn it on/off programmatically, call ActionBar.show() and ActionBar.hide().&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-vgGNkW9zg_Y/TwWQ2zAEF6I/AAAAAAAACwQ/R6uZIEnQdfE/s1600/ActionBar_on.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 234px;" src="http://3.bp.blogspot.com/-vgGNkW9zg_Y/TwWQ2zAEF6I/AAAAAAAACwQ/R6uZIEnQdfE/s400/ActionBar_on.png" border="0" alt="Action Bar On" title="Action Bar On" id="BLOGGER_PHOTO_ID_5694116574957672354" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-r-n8EDcM8yM/TwWQyjWOV_I/AAAAAAAACwE/X0hHIgshFss/s1600/ActionBar_off.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 234px;" src="http://4.bp.blogspot.com/-r-n8EDcM8yM/TwWQyjWOV_I/AAAAAAAACwE/X0hHIgshFss/s400/ActionBar_off.png" border="0" alt="Action Bar Off" title="Action Bar Off" id="BLOGGER_PHOTO_ID_5694116502036174834" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;package com.exercise.AndroidActionBar;&lt;br /&gt;&lt;br /&gt;import android.app.ActionBar;&lt;br /&gt;import android.app.Activity;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;import android.view.View;&lt;br /&gt;import android.widget.Button;&lt;br /&gt;&lt;br /&gt;public class AndroidActionBarActivity extends Activity {&lt;br /&gt;    /** Called when the activity is first created. */&lt;br /&gt;    @Override&lt;br /&gt;    public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;        super.onCreate(savedInstanceState);&lt;br /&gt;        setContentView(R.layout.main);&lt;br /&gt;        &lt;br /&gt;        Button showActionBar = (Button)findViewById(R.id.showactionbar);&lt;br /&gt;        Button hideActionBar = (Button)findViewById(R.id.hideactionbar);&lt;br /&gt;        &lt;br /&gt;        showActionBar.setOnClickListener(new Button.OnClickListener(){&lt;br /&gt;&lt;br /&gt;   @Override&lt;br /&gt;   public void onClick(View arg0) {&lt;br /&gt;    ActionBar actionBar = getActionBar();&lt;br /&gt;    actionBar.show();&lt;br /&gt;   }});&lt;br /&gt;        &lt;br /&gt;        hideActionBar.setOnClickListener(new Button.OnClickListener(){&lt;br /&gt;&lt;br /&gt;   @Override&lt;br /&gt;   public void onClick(View arg0) {&lt;br /&gt;    ActionBar actionBar = getActionBar();&lt;br /&gt;    actionBar.hide();&lt;br /&gt;   }});&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt;    android:layout_width="fill_parent"&lt;br /&gt;    android:layout_height="fill_parent"&lt;br /&gt;    android:orientation="vertical" &amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;TextView&lt;br /&gt;        android:layout_width="fill_parent"&lt;br /&gt;        android:layout_height="wrap_content"&lt;br /&gt;        android:text="@string/hello" /&amp;gt;&lt;br /&gt;    &amp;lt;Button&lt;br /&gt;        android:id="@+id/showactionbar"&lt;br /&gt;        android:layout_width="fill_parent"&lt;br /&gt;        android:layout_height="wrap_content"&lt;br /&gt;        android:text="Show Action Bar" /&amp;gt;&lt;br /&gt;    &amp;lt;Button&lt;br /&gt;        android:id="@+id/hideactionbar"&lt;br /&gt;        android:layout_width="fill_parent"&lt;br /&gt;        android:layout_height="wrap_content"&lt;br /&gt;        android:text="Hide Action Bar" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;Related Article:&lt;br /&gt;- &lt;a href="http://android-er.blogspot.com/2012/01/add-and-respond-action-items-on-action.html"&gt;Add and respond Action Items on Action Bar&lt;/a&gt;&lt;br /&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-2821787387970544989?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0vAEMi8YY8Yr-w9tcvzwnlBYiLQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0vAEMi8YY8Yr-w9tcvzwnlBYiLQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0vAEMi8YY8Yr-w9tcvzwnlBYiLQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0vAEMi8YY8Yr-w9tcvzwnlBYiLQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=ib7Xp-X2xl4:GiJdHGiL3zk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=ib7Xp-X2xl4:GiJdHGiL3zk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/2821787387970544989/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=2821787387970544989" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/2821787387970544989?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/2821787387970544989?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/turn-onoff-action-bar.html" title="Turn On/Off Action Bar" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-vgGNkW9zg_Y/TwWQ2zAEF6I/AAAAAAAACwQ/R6uZIEnQdfE/s72-c/ActionBar_on.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;Ak8HSXw5cSp7ImA9WhRWFks.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-9156583473926142686</id><published>2012-01-04T01:20:00.001-08:00</published><updated>2012-01-04T01:20:38.229-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-04T01:20:38.229-08:00</app:edited><title>High-performance graphics for Android</title><content type="html">High-performance graphics for Android - DevFestParis2011&lt;br /&gt;&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/ykPrVWeyV_0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;How to program outstanding graphics in your Android app. A comprehensive walkthrough of Android's graphics APIs by developer advocate Rich Hyndman.&lt;br /&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-9156583473926142686?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EyKSAXgdYHhI6yRC2r4f8xOoF3Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EyKSAXgdYHhI6yRC2r4f8xOoF3Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EyKSAXgdYHhI6yRC2r4f8xOoF3Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EyKSAXgdYHhI6yRC2r4f8xOoF3Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=JapuN__PI6U:f1GSk2ubQdw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=JapuN__PI6U:f1GSk2ubQdw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/9156583473926142686/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=9156583473926142686" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/9156583473926142686?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/9156583473926142686?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/high-performance-graphics-for-android.html" title="High-performance graphics for Android" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/ykPrVWeyV_0/default.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;AkMASH04eip7ImA9WhRWFkg.&quot;"><id>tag:blogger.com,1999:blog-89878749563391212.post-5185860573615917710</id><published>2012-01-03T22:22:00.001-08:00</published><updated>2012-01-03T22:27:29.332-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-03T22:27:29.332-08:00</app:edited><title>Apply Android Holo Theme</title><content type="html">To apply Theme for Application (or individual activity), you can add android:theme property under &amp;lt;application&amp;gt; (or &amp;lt;activity&amp;gt;) in AndroidManifest.xml. Android 3.0 (API Level 11) or higher, the platform provide a new holographic theme. To apply this newer theme, modify AndroidManifest.xml:&lt;br /&gt;&lt;pre style="border: 1px solid black;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt;    package="com.exercise.AndroidDualFragment"&lt;br /&gt;    android:versionCode="1"&lt;br /&gt;    android:versionName="1.0" &amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;uses-sdk android:minSdkVersion="11" /&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;application&lt;br /&gt;        android:icon="@drawable/ic_launcher"&lt;br /&gt;        android:label="@string/app_name" &lt;br /&gt;        android:theme="@android:style/Theme.Holo" &amp;gt;&lt;br /&gt;        &amp;lt;activity&lt;br /&gt;            android:name=".AndroidDualFragmentActivity"&lt;br /&gt;            android:label="@string/app_name" &amp;gt;&lt;br /&gt;            &amp;lt;intent-filter&amp;gt;&lt;br /&gt;                &amp;lt;action android:name="android.intent.action.MAIN" /&amp;gt;&lt;br /&gt;&lt;br /&gt;                &amp;lt;category android:name="android.intent.category.LAUNCHER" /&amp;gt;&lt;br /&gt;            &amp;lt;/intent-filter&amp;gt;&lt;br /&gt;        &amp;lt;/activity&amp;gt;&lt;br /&gt;    &amp;lt;/application&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/manifest&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-uxXSeHZ5uxQ/TwPxHooJqxI/AAAAAAAACvw/Gr05HA1L3Hg/s1600/Theme.Holo.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 234px;" src="http://1.bp.blogspot.com/-uxXSeHZ5uxQ/TwPxHooJqxI/AAAAAAAACvw/Gr05HA1L3Hg/s400/Theme.Holo.png" border="0" alt="Theme.Holo" title="Theme.Holo" id="BLOGGER_PHOTO_ID_5693659467393641234" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-gTBAjrSSX0c/TwPw_smiH1I/AAAAAAAACvk/17vnNkDvyyo/s1600/Theme.Holo.Light.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 234px;" src="http://2.bp.blogspot.com/-gTBAjrSSX0c/TwPw_smiH1I/AAAAAAAACvk/17vnNkDvyyo/s400/Theme.Holo.Light.png" border="0" alt="Theme.Holo.Light" title="Theme.Holo.Light" id="BLOGGER_PHOTO_ID_5693659331021643602" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-8FSFq4wabZo/TwPwvx8Y2UI/AAAAAAAACvY/bIlYxXiaYNM/s1600/Theme.Holo.Light.DialogWhenLarge.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 234px;" src="http://1.bp.blogspot.com/-8FSFq4wabZo/TwPwvx8Y2UI/AAAAAAAACvY/bIlYxXiaYNM/s400/Theme.Holo.Light.DialogWhenLarge.png" border="0" alt="Theme.Holo.Light.DialogWhenLarge" title="Theme.Holo.Light.DialogWhenLarge" id="BLOGGER_PHOTO_ID_5693659057577580866" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/89878749563391212-5185860573615917710?l=android-er.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qR__EYXTFREId67JuiaIC076y64/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qR__EYXTFREId67JuiaIC076y64/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/qR__EYXTFREId67JuiaIC076y64/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qR__EYXTFREId67JuiaIC076y64/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=TVoXQTjsYUM:ICnxUGub9KI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Android-er?a=TVoXQTjsYUM:ICnxUGub9KI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Android-er?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://android-er.blogspot.com/feeds/5185860573615917710/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=89878749563391212&amp;postID=5185860573615917710" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/5185860573615917710?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/89878749563391212/posts/default/5185860573615917710?v=2" /><link rel="alternate" type="text/html" href="http://android-er.blogspot.com/2012/01/apply-android-holo-theme.html" title="Apply Android Holo Theme" /><author><name>Android Er</name><uri>http://www.blogger.com/profile/04983894331825656853</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="29" height="32" src="http://4.bp.blogspot.com/_C5a2qH8Y_jk/SndkX0GrLYI/AAAAAAAAAAM/r1XMHvATAI8/S220/Android.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-uxXSeHZ5uxQ/TwPxHooJqxI/AAAAAAAACvw/Gr05HA1L3Hg/s72-c/Theme.Holo.png" height="72" width="72" /><thr:total>0</thr:total></entry></feed>

