<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Adding Icons to Your Android Application</title>
	<atom:link href="http://www.firstclown.us/2008/12/11/adding-icons-to-your-android-application/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.firstclown.us/2008/12/11/adding-icons-to-your-android-application/</link>
	<description>firstclown at firstclown.us</description>
	<lastBuildDate>Sat, 26 Jun 2010 12:47:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: FirstClown</title>
		<link>http://www.firstclown.us/2008/12/11/adding-icons-to-your-android-application/comment-page-1/#comment-48125</link>
		<dc:creator>FirstClown</dc:creator>
		<pubDate>Sat, 19 Sep 2009 19:19:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.firstclown.us/?p=361#comment-48125</guid>
		<description>Here&#039;s the whole class (hopefully it formats properly):&lt;br&gt;&lt;code&gt;&lt;br&gt;package us.firstclown.android.steap.tea_timer.activity;&lt;br&gt;&lt;br&gt;import us.firstclown.android.steap.tea_timer.R;&lt;br&gt;import us.firstclown.android.steap.tea_timer.TeaDAO;&lt;br&gt;import android.app.Activity;&lt;br&gt;import android.content.ContentValues;&lt;br&gt;import android.content.Intent;&lt;br&gt;import android.net.Uri;&lt;br&gt;import android.os.Bundle;&lt;br&gt;import android.util.Log;&lt;br&gt;import android.view.View;&lt;br&gt;import android.view.View.OnClickListener;&lt;br&gt;import android.widget.Button;&lt;br&gt;import android.widget.EditText;&lt;br&gt;import android.widget.ImageButton;&lt;br&gt;import android.widget.TextView;&lt;br&gt;&lt;br&gt;public class AddTea extends Activity {&lt;br&gt;    private TeaDAO dao;&lt;br&gt;    private long id = 0;&lt;br&gt;    private String iconUri;&lt;br&gt;    private String name;&lt;br&gt;    private int iconWidth = 50;&lt;br&gt;    private int iconHeight = 50;&lt;br&gt;    private static final String TAG = &quot;AddTea&quot;;&lt;br&gt;    public static final int CREATE_TEA = 1;&lt;br&gt;    public static final int EDIT_TEA = 2;&lt;br&gt;    public static final int ADD_ICON = 3;&lt;br&gt;    public static final int CROP_ICON = 4;&lt;br&gt;&lt;br&gt;    /*&lt;br&gt;     * (non-Javadoc)&lt;br&gt;     * &lt;br&gt;     * @see android.app.Activity#onCreate(android.os.Bundle)&lt;br&gt;     */&lt;br&gt;    @Override&lt;br&gt;    protected void onCreate(Bundle savedInstanceState) {&lt;br&gt;        super.onCreate(savedInstanceState);&lt;br&gt;        setContentView(R.layout.add_tea);&lt;br&gt;        dao = new TeaDAO(this);&lt;br&gt;&lt;br&gt;        Bundle extras = getIntent().getExtras();&lt;br&gt;        if (extras != null) {&lt;br&gt;            id = extras.getLong(&quot;id&quot;);&lt;br&gt;            ContentValues values = dao.fetchTea(id);&lt;br&gt;            iconUri = values.getAsString(&quot;iconUri&quot;);&lt;br&gt;            name = values.getAsString(&quot;name&quot;);&lt;br&gt;            String type = values.getAsString(&quot;type&quot;);&lt;br&gt;            String time = values.getAsString(&quot;time&quot;);&lt;br&gt;&lt;br&gt;            ImageButton iconField = (ImageButton) findViewById(R.id.iconButton);&lt;br&gt;            showIconButton(iconUri);&lt;br&gt;            iconField.setOnClickListener(cmdIconListener);&lt;br&gt;&lt;br&gt;            TextView nameField = (TextView) findViewById(R.id.nameField);&lt;br&gt;            nameField.setText(name);&lt;br&gt;&lt;br&gt;            TextView typeField = (TextView) findViewById(R.id.typeField);&lt;br&gt;            typeField.setText(type);&lt;br&gt;&lt;br&gt;            TextView timeField = (TextView) findViewById(R.id.timeField);&lt;br&gt;            timeField.setText(time);&lt;br&gt;        }&lt;br&gt;&lt;br&gt;        Button saveButton = (Button) findViewById(R.id.saveButton);&lt;br&gt;        Button cancelButton = (Button) findViewById(R.id.cancelButton);&lt;br&gt;&lt;br&gt;        saveButton.setOnClickListener(cmdSaveListener);&lt;br&gt;        cancelButton.setOnClickListener(cmdCancelListener);&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    protected void showIconButton(String iconUri) {&lt;br&gt;        if (iconUri != null) {&lt;br&gt;            ImageButton iconField = (ImageButton) findViewById(R.id.iconButton);&lt;br&gt;            Log.d(TAG, &quot;iconUri: &quot; + iconUri);&lt;br&gt;            iconField.setImageURI(null);&lt;br&gt;            iconField.setImageURI(Uri.parse(iconUri));&lt;br&gt;            Log.d(TAG, &quot;Cache is &quot;&lt;br&gt;                    + (iconField.getDrawingCache() == null ? &quot;&quot; : &quot;not&quot;)&lt;br&gt;                    + &quot; null&quot;);&lt;br&gt;            iconField.invalidate();&lt;br&gt;        }&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    protected OnClickListener cmdSaveListener = new OnClickListener() {&lt;br&gt;        // @Override&lt;br&gt;        public void onClick(View arg0) {&lt;br&gt;            String name = ((EditText) findViewById(R.id.nameField)).getText()&lt;br&gt;                    .toString();&lt;br&gt;            String type = ((EditText) findViewById(R.id.typeField)).getText()&lt;br&gt;                    .toString();&lt;br&gt;            String time = ((EditText) findViewById(R.id.timeField)).getText()&lt;br&gt;                    .toString();&lt;br&gt;&lt;br&gt;            if (id != 0) {&lt;br&gt;                dao.updateTea(id, iconUri, name, type, time);&lt;br&gt;            } else {&lt;br&gt;                dao.createTea(iconUri, name, type, time);&lt;br&gt;            }&lt;br&gt;&lt;br&gt;            Intent i = new Intent();&lt;br&gt;            setResult(RESULT_OK, i);&lt;br&gt;            finish();&lt;br&gt;        }&lt;br&gt;    };&lt;br&gt;&lt;br&gt;    protected OnClickListener cmdCancelListener = new OnClickListener() {&lt;br&gt;        // @Override&lt;br&gt;        public void onClick(View arg0) {&lt;br&gt;            Intent i = new Intent();&lt;br&gt;            setResult(RESULT_OK, i);&lt;br&gt;            finish();&lt;br&gt;        }&lt;br&gt;    };&lt;br&gt;&lt;br&gt;    protected OnClickListener cmdIconListener = new OnClickListener() {&lt;br&gt;        // @Override&lt;br&gt;        public void onClick(View arg0) {&lt;br&gt;            Intent i = new Intent(&quot;android.intent.action.GET_CONTENT&quot;);&lt;br&gt;            i.setType(&quot;image/*&quot;);&lt;br&gt;            startActivityForResult(i, AddTea.ADD_ICON);&lt;br&gt;        }&lt;br&gt;    };&lt;br&gt;&lt;br&gt;    protected void onActivityResult(int requestCode, int resultCode, Intent data) {&lt;br&gt;        // See which child activity is calling us back.&lt;br&gt;        switch (requestCode) {&lt;br&gt;        case AddTea.ADD_ICON:&lt;br&gt;            // This is the standard resultCode that is sent back if the&lt;br&gt;            // activity crashed or didn&#039;t doesn&#039;t supply an explicit result.&lt;br&gt;            if (resultCode != RESULT_CANCELED) {&lt;br&gt;                Intent i = new Intent(&quot;com.android.camera.action.CROP&quot;);&lt;br&gt;                i.setClassName(&quot;com.android.camera&quot;,&lt;br&gt;                        &quot;com.android.camera.CropImage&quot;);&lt;br&gt;                i.setData(data.getData());&lt;br&gt;                Log.d(TAG, &quot;path: &quot; + data.getData().getPath());&lt;br&gt;                i.putExtra(&quot;noFaceDetection&quot;, true);&lt;br&gt;                i.putExtra(&quot;outputX&quot;, iconWidth);&lt;br&gt;                i.putExtra(&quot;outputY&quot;, iconHeight);&lt;br&gt;                i.putExtra(&quot;aspectX&quot;, iconWidth);&lt;br&gt;                i.putExtra(&quot;aspectY&quot;, iconHeight);&lt;br&gt;                i.putExtra(&quot;scale&quot;, true);&lt;br&gt;&lt;br&gt;                if (iconUri == null) {&lt;br&gt;                    ContentValues values = new ContentValues();&lt;br&gt;                    values.put(android.provider.MediaStore.Images.Media.TITLE,&lt;br&gt;                            name + &quot; Icon&quot;);&lt;br&gt;                    values.put(&lt;br&gt;                            android.provider.MediaStore.Images.Media.BUCKET_ID,&lt;br&gt;                            &quot;STeaP_Tea_Timer_Icons&quot;);&lt;br&gt;                    values&lt;br&gt;                            .put(&lt;br&gt;                                    android.provider.MediaStore.Images.Media.BUCKET_DISPLAY_NAME,&lt;br&gt;                                    &quot;STeaP Tea Timer Icons&quot;);&lt;br&gt;                    values&lt;br&gt;                            .put(&lt;br&gt;                                    android.provider.MediaStore.Images.Media.IS_PRIVATE,&lt;br&gt;                                    1);&lt;br&gt;                    iconUri = getContentResolver()&lt;br&gt;                            .insert(&lt;br&gt;                                    android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI,&lt;br&gt;                                    values).toString();&lt;br&gt;                }&lt;br&gt;                i.putExtra(&quot;output&quot;, Uri.parse(iconUri));&lt;br&gt;                startActivityForResult(i, CROP_ICON);&lt;br&gt;            }&lt;br&gt;            break;&lt;br&gt;        case AddTea.CROP_ICON:&lt;br&gt;            if (resultCode != RESULT_CANCELED) {&lt;br&gt;                Log.d(TAG, &quot;Data String: &quot; + iconUri);&lt;br&gt;                showIconButton(iconUri);&lt;br&gt;            }&lt;br&gt;        default:&lt;br&gt;            break;&lt;br&gt;        }&lt;br&gt;&lt;br&gt;    }&lt;br&gt;}&lt;br&gt;&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p>Here&#39;s the whole class (hopefully it formats properly):<br /><code><br />package us.firstclown.android.steap.tea_timer.activity;</p>
<p>import us.firstclown.android.steap.tea_timer.R;<br />import us.firstclown.android.steap.tea_timer.TeaDAO;<br />import android.app.Activity;<br />import android.content.ContentValues;<br />import android.content.Intent;<br />import android.net.Uri;<br />import android.os.Bundle;<br />import android.util.Log;<br />import android.view.View;<br />import android.view.View.OnClickListener;<br />import android.widget.Button;<br />import android.widget.EditText;<br />import android.widget.ImageButton;<br />import android.widget.TextView;</p>
<p>public class AddTea extends Activity {<br />    private TeaDAO dao;<br />    private long id = 0;<br />    private String iconUri;<br />    private String name;<br />    private int iconWidth = 50;<br />    private int iconHeight = 50;<br />    private static final String TAG = "AddTea";<br />    public static final int CREATE_TEA = 1;<br />    public static final int EDIT_TEA = 2;<br />    public static final int ADD_ICON = 3;<br />    public static final int CROP_ICON = 4;</p>
<p>    /*<br />     * (non-Javadoc)<br />     * <br />     * @see android.app.Activity#onCreate(android.os.Bundle)<br />     */<br />    @Override<br />    protected void onCreate(Bundle savedInstanceState) {<br />        super.onCreate(savedInstanceState);<br />        setContentView(R.layout.add_tea);<br />        dao = new TeaDAO(this);</p>
<p>        Bundle extras = getIntent().getExtras();<br />        if (extras != null) {<br />            id = extras.getLong("id");<br />            ContentValues values = dao.fetchTea(id);<br />            iconUri = values.getAsString("iconUri");<br />            name = values.getAsString("name");<br />            String type = values.getAsString("type");<br />            String time = values.getAsString("time");</p>
<p>            ImageButton iconField = (ImageButton) findViewById(R.id.iconButton);<br />            showIconButton(iconUri);<br />            iconField.setOnClickListener(cmdIconListener);</p>
<p>            TextView nameField = (TextView) findViewById(R.id.nameField);<br />            nameField.setText(name);</p>
<p>            TextView typeField = (TextView) findViewById(R.id.typeField);<br />            typeField.setText(type);</p>
<p>            TextView timeField = (TextView) findViewById(R.id.timeField);<br />            timeField.setText(time);<br />        }</p>
<p>        Button saveButton = (Button) findViewById(R.id.saveButton);<br />        Button cancelButton = (Button) findViewById(R.id.cancelButton);</p>
<p>        saveButton.setOnClickListener(cmdSaveListener);<br />        cancelButton.setOnClickListener(cmdCancelListener);<br />    }</p>
<p>    protected void showIconButton(String iconUri) {<br />        if (iconUri != null) {<br />            ImageButton iconField = (ImageButton) findViewById(R.id.iconButton);<br />            Log.d(TAG, "iconUri: " + iconUri);<br />            iconField.setImageURI(null);<br />            iconField.setImageURI(Uri.parse(iconUri));<br />            Log.d(TAG, "Cache is "<br />                    + (iconField.getDrawingCache() == null ? "" : "not")<br />                    + " null");<br />            iconField.invalidate();<br />        }<br />    }</p>
<p>    protected OnClickListener cmdSaveListener = new OnClickListener() {<br />        // @Override<br />        public void onClick(View arg0) {<br />            String name = ((EditText) findViewById(R.id.nameField)).getText()<br />                    .toString();<br />            String type = ((EditText) findViewById(R.id.typeField)).getText()<br />                    .toString();<br />            String time = ((EditText) findViewById(R.id.timeField)).getText()<br />                    .toString();</p>
<p>            if (id != 0) {<br />                dao.updateTea(id, iconUri, name, type, time);<br />            } else {<br />                dao.createTea(iconUri, name, type, time);<br />            }</p>
<p>            Intent i = new Intent();<br />            setResult(RESULT_OK, i);<br />            finish();<br />        }<br />    };</p>
<p>    protected OnClickListener cmdCancelListener = new OnClickListener() {<br />        // @Override<br />        public void onClick(View arg0) {<br />            Intent i = new Intent();<br />            setResult(RESULT_OK, i);<br />            finish();<br />        }<br />    };</p>
<p>    protected OnClickListener cmdIconListener = new OnClickListener() {<br />        // @Override<br />        public void onClick(View arg0) {<br />            Intent i = new Intent("android.intent.action.GET_CONTENT");<br />            i.setType("image/*");<br />            startActivityForResult(i, AddTea.ADD_ICON);<br />        }<br />    };</p>
<p>    protected void onActivityResult(int requestCode, int resultCode, Intent data) {<br />        // See which child activity is calling us back.<br />        switch (requestCode) {<br />        case AddTea.ADD_ICON:<br />            // This is the standard resultCode that is sent back if the<br />            // activity crashed or didn&#39;t doesn&#39;t supply an explicit result.<br />            if (resultCode != RESULT_CANCELED) {<br />                Intent i = new Intent("com.android.camera.action.CROP");<br />                i.setClassName("com.android.camera",<br />                        "com.android.camera.CropImage");<br />                i.setData(data.getData());<br />                Log.d(TAG, "path: " + data.getData().getPath());<br />                i.putExtra("noFaceDetection", true);<br />                i.putExtra("outputX", iconWidth);<br />                i.putExtra("outputY", iconHeight);<br />                i.putExtra("aspectX", iconWidth);<br />                i.putExtra("aspectY", iconHeight);<br />                i.putExtra("scale", true);</p>
<p>                if (iconUri == null) {<br />                    ContentValues values = new ContentValues();<br />                    values.put(android.provider.MediaStore.Images.Media.TITLE,<br />                            name + " Icon");<br />                    values.put(<br />                            android.provider.MediaStore.Images.Media.BUCKET_ID,<br />                            "STeaP_Tea_Timer_Icons");<br />                    values<br />                            .put(<br />                                    android.provider.MediaStore.Images.Media.BUCKET_DISPLAY_NAME,<br />                                    "STeaP Tea Timer Icons");<br />                    values<br />                            .put(<br />                                    android.provider.MediaStore.Images.Media.IS_PRIVATE,<br />                                    1);<br />                    iconUri = getContentResolver()<br />                            .insert(<br />                                    android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI,<br />                                    values).toString();<br />                }<br />                i.putExtra("output", Uri.parse(iconUri));<br />                startActivityForResult(i, CROP_ICON);<br />            }<br />            break;<br />        case AddTea.CROP_ICON:<br />            if (resultCode != RESULT_CANCELED) {<br />                Log.d(TAG, "Data String: " + iconUri);<br />                showIconButton(iconUri);<br />            }<br />        default:<br />            break;<br />        }</p>
<p>    }<br />}<br /></code></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bala_eventurers</title>
		<link>http://www.firstclown.us/2008/12/11/adding-icons-to-your-android-application/comment-page-1/#comment-48124</link>
		<dc:creator>bala_eventurers</dc:creator>
		<pubDate>Sat, 19 Sep 2009 16:38:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.firstclown.us/?p=361#comment-48124</guid>
		<description>very nice and useful code i used the scrop coding only it works but its through error after scrop so pls send or upload the AddTea class file.</description>
		<content:encoded><![CDATA[<p>very nice and useful code i used the scrop coding only it works but its through error after scrop so pls send or upload the AddTea class file.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bala_eventurers</title>
		<link>http://www.firstclown.us/2008/12/11/adding-icons-to-your-android-application/comment-page-1/#comment-48123</link>
		<dc:creator>bala_eventurers</dc:creator>
		<pubDate>Sat, 19 Sep 2009 16:37:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.firstclown.us/?p=361#comment-48123</guid>
		<description>pls upload the AddTea class file i got error when i scrop and save the image it wont set as icon</description>
		<content:encoded><![CDATA[<p>pls upload the AddTea class file i got error when i scrop and save the image it wont set as icon</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: FirstClown</title>
		<link>http://www.firstclown.us/2008/12/11/adding-icons-to-your-android-application/comment-page-1/#comment-47559</link>
		<dc:creator>FirstClown</dc:creator>
		<pubDate>Sat, 19 Sep 2009 15:19:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.firstclown.us/?p=361#comment-47559</guid>
		<description>Here&#039;s the whole class (hopefully it formats properly):&lt;br&gt;&lt;br&gt;package us.firstclown.android.steap.tea_timer.activity;&lt;br&gt;&lt;br&gt;import us.firstclown.android.steap.tea_timer.R;&lt;br&gt;import us.firstclown.android.steap.tea_timer.TeaDAO;&lt;br&gt;import android.app.Activity;&lt;br&gt;import android.content.ContentValues;&lt;br&gt;import android.content.Intent;&lt;br&gt;import android.net.Uri;&lt;br&gt;import android.os.Bundle;&lt;br&gt;import android.util.Log;&lt;br&gt;import android.view.View;&lt;br&gt;import android.view.View.OnClickListener;&lt;br&gt;import android.widget.Button;&lt;br&gt;import android.widget.EditText;&lt;br&gt;import android.widget.ImageButton;&lt;br&gt;import android.widget.TextView;&lt;br&gt;&lt;br&gt;public class AddTea extends Activity {&lt;br&gt;    private TeaDAO dao;&lt;br&gt;    private long id = 0;&lt;br&gt;    private String iconUri;&lt;br&gt;    private String name;&lt;br&gt;    private int iconWidth = 50;&lt;br&gt;    private int iconHeight = 50;&lt;br&gt;    private static final String TAG = &quot;AddTea&quot;;&lt;br&gt;    public static final int CREATE_TEA = 1;&lt;br&gt;    public static final int EDIT_TEA = 2;&lt;br&gt;    public static final int ADD_ICON = 3;&lt;br&gt;    public static final int CROP_ICON = 4;&lt;br&gt;&lt;br&gt;    /*&lt;br&gt;     * (non-Javadoc)&lt;br&gt;     * &lt;br&gt;     * @see android.app.Activity#onCreate(android.os.Bundle)&lt;br&gt;     */&lt;br&gt;    @Override&lt;br&gt;    protected void onCreate(Bundle savedInstanceState) {&lt;br&gt;        super.onCreate(savedInstanceState);&lt;br&gt;        setContentView(R.layout.add_tea);&lt;br&gt;        dao = new TeaDAO(this);&lt;br&gt;&lt;br&gt;        Bundle extras = getIntent().getExtras();&lt;br&gt;        if (extras != null) {&lt;br&gt;            id = extras.getLong(&quot;id&quot;);&lt;br&gt;            ContentValues values = dao.fetchTea(id);&lt;br&gt;            iconUri = values.getAsString(&quot;iconUri&quot;);&lt;br&gt;            name = values.getAsString(&quot;name&quot;);&lt;br&gt;            String type = values.getAsString(&quot;type&quot;);&lt;br&gt;            String time = values.getAsString(&quot;time&quot;);&lt;br&gt;&lt;br&gt;            ImageButton iconField = (ImageButton) findViewById(R.id.iconButton);&lt;br&gt;            showIconButton(iconUri);&lt;br&gt;            iconField.setOnClickListener(cmdIconListener);&lt;br&gt;&lt;br&gt;            TextView nameField = (TextView) findViewById(R.id.nameField);&lt;br&gt;            nameField.setText(name);&lt;br&gt;&lt;br&gt;            TextView typeField = (TextView) findViewById(R.id.typeField);&lt;br&gt;            typeField.setText(type);&lt;br&gt;&lt;br&gt;            TextView timeField = (TextView) findViewById(R.id.timeField);&lt;br&gt;            timeField.setText(time);&lt;br&gt;        }&lt;br&gt;&lt;br&gt;        Button saveButton = (Button) findViewById(R.id.saveButton);&lt;br&gt;        Button cancelButton = (Button) findViewById(R.id.cancelButton);&lt;br&gt;&lt;br&gt;        saveButton.setOnClickListener(cmdSaveListener);&lt;br&gt;        cancelButton.setOnClickListener(cmdCancelListener);&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    protected void showIconButton(String iconUri) {&lt;br&gt;        if (iconUri != null) {&lt;br&gt;            ImageButton iconField = (ImageButton) findViewById(R.id.iconButton);&lt;br&gt;            Log.d(TAG, &quot;iconUri: &quot; + iconUri);&lt;br&gt;            iconField.setImageURI(null);&lt;br&gt;            iconField.setImageURI(Uri.parse(iconUri));&lt;br&gt;            Log.d(TAG, &quot;Cache is &quot;&lt;br&gt;                    + (iconField.getDrawingCache() == null ? &quot;&quot; : &quot;not&quot;)&lt;br&gt;                    + &quot; null&quot;);&lt;br&gt;            iconField.invalidate();&lt;br&gt;        }&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    protected OnClickListener cmdSaveListener = new OnClickListener() {&lt;br&gt;        // @Override&lt;br&gt;        public void onClick(View arg0) {&lt;br&gt;            String name = ((EditText) findViewById(R.id.nameField)).getText()&lt;br&gt;                    .toString();&lt;br&gt;            String type = ((EditText) findViewById(R.id.typeField)).getText()&lt;br&gt;                    .toString();&lt;br&gt;            String time = ((EditText) findViewById(R.id.timeField)).getText()&lt;br&gt;                    .toString();&lt;br&gt;&lt;br&gt;            if (id != 0) {&lt;br&gt;                dao.updateTea(id, iconUri, name, type, time);&lt;br&gt;            } else {&lt;br&gt;                dao.createTea(iconUri, name, type, time);&lt;br&gt;            }&lt;br&gt;&lt;br&gt;            Intent i = new Intent();&lt;br&gt;            setResult(RESULT_OK, i);&lt;br&gt;            finish();&lt;br&gt;        }&lt;br&gt;    };&lt;br&gt;&lt;br&gt;    protected OnClickListener cmdCancelListener = new OnClickListener() {&lt;br&gt;        // @Override&lt;br&gt;        public void onClick(View arg0) {&lt;br&gt;            Intent i = new Intent();&lt;br&gt;            setResult(RESULT_OK, i);&lt;br&gt;            finish();&lt;br&gt;        }&lt;br&gt;    };&lt;br&gt;&lt;br&gt;    protected OnClickListener cmdIconListener = new OnClickListener() {&lt;br&gt;        // @Override&lt;br&gt;        public void onClick(View arg0) {&lt;br&gt;            Intent i = new Intent(&quot;android.intent.action.GET_CONTENT&quot;);&lt;br&gt;            i.setType(&quot;image/*&quot;);&lt;br&gt;            startActivityForResult(i, AddTea.ADD_ICON);&lt;br&gt;        }&lt;br&gt;    };&lt;br&gt;&lt;br&gt;    protected void onActivityResult(int requestCode, int resultCode, Intent data) {&lt;br&gt;        // See which child activity is calling us back.&lt;br&gt;        switch (requestCode) {&lt;br&gt;        case AddTea.ADD_ICON:&lt;br&gt;            // This is the standard resultCode that is sent back if the&lt;br&gt;            // activity crashed or didn&#039;t doesn&#039;t supply an explicit result.&lt;br&gt;            if (resultCode != RESULT_CANCELED) {&lt;br&gt;                Intent i = new Intent(&quot;com.android.camera.action.CROP&quot;);&lt;br&gt;                i.setClassName(&quot;com.android.camera&quot;,&lt;br&gt;                        &quot;com.android.camera.CropImage&quot;);&lt;br&gt;                i.setData(data.getData());&lt;br&gt;                Log.d(TAG, &quot;path: &quot; + data.getData().getPath());&lt;br&gt;                i.putExtra(&quot;noFaceDetection&quot;, true);&lt;br&gt;                i.putExtra(&quot;outputX&quot;, iconWidth);&lt;br&gt;                i.putExtra(&quot;outputY&quot;, iconHeight);&lt;br&gt;                i.putExtra(&quot;aspectX&quot;, iconWidth);&lt;br&gt;                i.putExtra(&quot;aspectY&quot;, iconHeight);&lt;br&gt;                i.putExtra(&quot;scale&quot;, true);&lt;br&gt;&lt;br&gt;                if (iconUri == null) {&lt;br&gt;                    ContentValues values = new ContentValues();&lt;br&gt;                    values.put(android.provider.MediaStore.Images.Media.TITLE,&lt;br&gt;                            name + &quot; Icon&quot;);&lt;br&gt;                    values.put(&lt;br&gt;                            android.provider.MediaStore.Images.Media.BUCKET_ID,&lt;br&gt;                            &quot;STeaP_Tea_Timer_Icons&quot;);&lt;br&gt;                    values&lt;br&gt;                            .put(&lt;br&gt;                                    android.provider.MediaStore.Images.Media.BUCKET_DISPLAY_NAME,&lt;br&gt;                                    &quot;STeaP Tea Timer Icons&quot;);&lt;br&gt;                    values&lt;br&gt;                            .put(&lt;br&gt;                                    android.provider.MediaStore.Images.Media.IS_PRIVATE,&lt;br&gt;                                    1);&lt;br&gt;                    iconUri = getContentResolver()&lt;br&gt;                            .insert(&lt;br&gt;                                    android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI,&lt;br&gt;                                    values).toString();&lt;br&gt;                }&lt;br&gt;                i.putExtra(&quot;output&quot;, Uri.parse(iconUri));&lt;br&gt;                startActivityForResult(i, CROP_ICON);&lt;br&gt;            }&lt;br&gt;            break;&lt;br&gt;        case AddTea.CROP_ICON:&lt;br&gt;            if (resultCode != RESULT_CANCELED) {&lt;br&gt;                Log.d(TAG, &quot;Data String: &quot; + iconUri);&lt;br&gt;                showIconButton(iconUri);&lt;br&gt;            }&lt;br&gt;        default:&lt;br&gt;            break;&lt;br&gt;        }&lt;br&gt;&lt;br&gt;    }&lt;br&gt;}</description>
		<content:encoded><![CDATA[<p>Here&#39;s the whole class (hopefully it formats properly):</p>
<p>package us.firstclown.android.steap.tea_timer.activity;</p>
<p>import us.firstclown.android.steap.tea_timer.R;<br />import us.firstclown.android.steap.tea_timer.TeaDAO;<br />import android.app.Activity;<br />import android.content.ContentValues;<br />import android.content.Intent;<br />import android.net.Uri;<br />import android.os.Bundle;<br />import android.util.Log;<br />import android.view.View;<br />import android.view.View.OnClickListener;<br />import android.widget.Button;<br />import android.widget.EditText;<br />import android.widget.ImageButton;<br />import android.widget.TextView;</p>
<p>public class AddTea extends Activity {<br />    private TeaDAO dao;<br />    private long id = 0;<br />    private String iconUri;<br />    private String name;<br />    private int iconWidth = 50;<br />    private int iconHeight = 50;<br />    private static final String TAG = &#8220;AddTea&#8221;;<br />    public static final int CREATE_TEA = 1;<br />    public static final int EDIT_TEA = 2;<br />    public static final int ADD_ICON = 3;<br />    public static final int CROP_ICON = 4;</p>
<p>    /*<br />     * (non-Javadoc)<br />     * <br />     * @see android.app.Activity#onCreate(android.os.Bundle)<br />     */<br />    @Override<br />    protected void onCreate(Bundle savedInstanceState) {<br />        super.onCreate(savedInstanceState);<br />        setContentView(R.layout.add_tea);<br />        dao = new TeaDAO(this);</p>
<p>        Bundle extras = getIntent().getExtras();<br />        if (extras != null) {<br />            id = extras.getLong(&#8220;id&#8221;);<br />            ContentValues values = dao.fetchTea(id);<br />            iconUri = values.getAsString(&#8220;iconUri&#8221;);<br />            name = values.getAsString(&#8220;name&#8221;);<br />            String type = values.getAsString(&#8220;type&#8221;);<br />            String time = values.getAsString(&#8220;time&#8221;);</p>
<p>            ImageButton iconField = (ImageButton) findViewById(R.id.iconButton);<br />            showIconButton(iconUri);<br />            iconField.setOnClickListener(cmdIconListener);</p>
<p>            TextView nameField = (TextView) findViewById(R.id.nameField);<br />            nameField.setText(name);</p>
<p>            TextView typeField = (TextView) findViewById(R.id.typeField);<br />            typeField.setText(type);</p>
<p>            TextView timeField = (TextView) findViewById(R.id.timeField);<br />            timeField.setText(time);<br />        }</p>
<p>        Button saveButton = (Button) findViewById(R.id.saveButton);<br />        Button cancelButton = (Button) findViewById(R.id.cancelButton);</p>
<p>        saveButton.setOnClickListener(cmdSaveListener);<br />        cancelButton.setOnClickListener(cmdCancelListener);<br />    }</p>
<p>    protected void showIconButton(String iconUri) {<br />        if (iconUri != null) {<br />            ImageButton iconField = (ImageButton) findViewById(R.id.iconButton);<br />            Log.d(TAG, &#8220;iconUri: &#8221; + iconUri);<br />            iconField.setImageURI(null);<br />            iconField.setImageURI(Uri.parse(iconUri));<br />            Log.d(TAG, &#8220;Cache is &#8220;<br />                    + (iconField.getDrawingCache() == null ? &#8220;&#8221; : &#8220;not&#8221;)<br />                    + &#8221; null&#8221;);<br />            iconField.invalidate();<br />        }<br />    }</p>
<p>    protected OnClickListener cmdSaveListener = new OnClickListener() {<br />        // @Override<br />        public void onClick(View arg0) {<br />            String name = ((EditText) findViewById(R.id.nameField)).getText()<br />                    .toString();<br />            String type = ((EditText) findViewById(R.id.typeField)).getText()<br />                    .toString();<br />            String time = ((EditText) findViewById(R.id.timeField)).getText()<br />                    .toString();</p>
<p>            if (id != 0) {<br />                dao.updateTea(id, iconUri, name, type, time);<br />            } else {<br />                dao.createTea(iconUri, name, type, time);<br />            }</p>
<p>            Intent i = new Intent();<br />            setResult(RESULT_OK, i);<br />            finish();<br />        }<br />    };</p>
<p>    protected OnClickListener cmdCancelListener = new OnClickListener() {<br />        // @Override<br />        public void onClick(View arg0) {<br />            Intent i = new Intent();<br />            setResult(RESULT_OK, i);<br />            finish();<br />        }<br />    };</p>
<p>    protected OnClickListener cmdIconListener = new OnClickListener() {<br />        // @Override<br />        public void onClick(View arg0) {<br />            Intent i = new Intent(&#8220;android.intent.action.GET_CONTENT&#8221;);<br />            i.setType(&#8220;image/*&#8221;);<br />            startActivityForResult(i, AddTea.ADD_ICON);<br />        }<br />    };</p>
<p>    protected void onActivityResult(int requestCode, int resultCode, Intent data) {<br />        // See which child activity is calling us back.<br />        switch (requestCode) {<br />        case AddTea.ADD_ICON:<br />            // This is the standard resultCode that is sent back if the<br />            // activity crashed or didn&#39;t doesn&#39;t supply an explicit result.<br />            if (resultCode != RESULT_CANCELED) {<br />                Intent i = new Intent(&#8220;com.android.camera.action.CROP&#8221;);<br />                i.setClassName(&#8220;com.android.camera&#8221;,<br />                        &#8220;com.android.camera.CropImage&#8221;);<br />                i.setData(data.getData());<br />                Log.d(TAG, &#8220;path: &#8221; + data.getData().getPath());<br />                i.putExtra(&#8220;noFaceDetection&#8221;, true);<br />                i.putExtra(&#8220;outputX&#8221;, iconWidth);<br />                i.putExtra(&#8220;outputY&#8221;, iconHeight);<br />                i.putExtra(&#8220;aspectX&#8221;, iconWidth);<br />                i.putExtra(&#8220;aspectY&#8221;, iconHeight);<br />                i.putExtra(&#8220;scale&#8221;, true);</p>
<p>                if (iconUri == null) {<br />                    ContentValues values = new ContentValues();<br />                    values.put(android.provider.MediaStore.Images.Media.TITLE,<br />                            name + &#8221; Icon&#8221;);<br />                    values.put(<br />                            android.provider.MediaStore.Images.Media.BUCKET_ID,<br />                            &#8220;STeaP_Tea_Timer_Icons&#8221;);<br />                    values<br />                            .put(<br />                                    android.provider.MediaStore.Images.Media.BUCKET_DISPLAY_NAME,<br />                                    &#8220;STeaP Tea Timer Icons&#8221;);<br />                    values<br />                            .put(<br />                                    android.provider.MediaStore.Images.Media.IS_PRIVATE,<br />                                    1);<br />                    iconUri = getContentResolver()<br />                            .insert(<br />                                    android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI,<br />                                    values).toString();<br />                }<br />                i.putExtra(&#8220;output&#8221;, Uri.parse(iconUri));<br />                startActivityForResult(i, CROP_ICON);<br />            }<br />            break;<br />        case AddTea.CROP_ICON:<br />            if (resultCode != RESULT_CANCELED) {<br />                Log.d(TAG, &#8220;Data String: &#8221; + iconUri);<br />                showIconButton(iconUri);<br />            }<br />        default:<br />            break;<br />        }</p>
<p>    }<br />}</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bala_eventurers</title>
		<link>http://www.firstclown.us/2008/12/11/adding-icons-to-your-android-application/comment-page-1/#comment-47558</link>
		<dc:creator>bala_eventurers</dc:creator>
		<pubDate>Sat, 19 Sep 2009 12:38:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.firstclown.us/?p=361#comment-47558</guid>
		<description>very nice and useful code i used the scrop coding only it works but its through error after scrop so pls send or upload the AddTea class file.</description>
		<content:encoded><![CDATA[<p>very nice and useful code i used the scrop coding only it works but its through error after scrop so pls send or upload the AddTea class file.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
