<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3254161708679601539</id><updated>2012-02-13T03:27:00.316-08:00</updated><category term='DDSteps'/><category term='Mail'/><category term='Personal'/><category term='Definition'/><category term='System Administration'/><category term='Jetty'/><category term='Subversion'/><category term='Ubuntu Linux'/><category term='Database'/><category term='Online Tools'/><category term='Spring'/><category term='Laptops'/><category term='Java'/><category term='Android'/><category term='Articles'/><category term='Web Service'/><category term='Ant'/><category term='Programming'/><category term='Blogging'/><title type='text'>Paul Labis</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.paullabis.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>34</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-1319859717102820117</id><published>2011-12-28T17:00:00.000-08:00</published><updated>2011-12-28T17:11:01.853-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu Linux'/><title type='text'>Encrypt and decrypt files in Ubuntu with ccrypt</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;ccrypt is a utility for encrypting and decrypting files and streams. It was based on Rijndael cipher, which was chosen candidate by U.S. government's for Advance Encryption Standard. This cipher is believed to provide a very strong security.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;1. Install CCrypt from repo&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;sudo apt-get install ccrypt&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;2. To encrypt a file, use one of the following command,&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;ccrypt -e file_name&lt;/b&gt; or &lt;b&gt;ccencrypt file_name&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;3. It will prompt you for Encryption Phrase aka Password, enter it.&amp;nbsp;for example,&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;ccrypt -e sample.text&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Enter encryption key: your_key&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Enter encryption key: (repeat) your_key&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Note: Don't forget the encryption phrase, there is no way to get back the original file without it.&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;To decrypt file/files,&amp;nbsp;use one of the following commands:&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;ccrypt -d file_name&lt;/b&gt;&amp;nbsp; or &amp;nbsp;&lt;b&gt;ccdecrypt&lt;/b&gt; &lt;b&gt;file_name&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;It will prompt you for encryption phrase, enter it. Original file is brought back!&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;To change the encryption key,&amp;nbsp;&lt;b&gt;ccrypt -x file_name&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;I guess that is all there is to share. Good luck!&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-1319859717102820117?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/1319859717102820117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2011/12/encrypt-and-decrypt-files-in-ubuntu.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/1319859717102820117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/1319859717102820117'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2011/12/encrypt-and-decrypt-files-in-ubuntu.html' title='Encrypt and decrypt files in Ubuntu with ccrypt'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-9162666970839507316</id><published>2011-10-10T09:43:00.000-07:00</published><updated>2011-10-10T09:48:50.187-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='System Administration'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>How to Backup and Restore PostgreSQL Database</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-fWAQrUWfHSY/TpMgl5sHVlI/AAAAAAAAAVo/dX7d1uC9w9k/s1600/pgsql-logo.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-fWAQrUWfHSY/TpMgl5sHVlI/AAAAAAAAAVo/dX7d1uC9w9k/s1600/pgsql-logo.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;There is an easy way to create backup file and restore your current PostgreSQL database using the Linux terminal. I am not sure though if this is the easiest way. &lt;br /&gt;&lt;br /&gt;As of the moment I am writing this article, I used the following command to backup and restore my database.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Using &lt;a href="http://www.postgresql.org/docs/current/static/app-pgdump.html"&gt;pg_dump&lt;/a&gt;&amp;nbsp;and &lt;a href="http://www.postgresql.org/docs/current/static/app-psql.html"&gt;psql&lt;/a&gt; will make your life easier. Below are the terminal command I use to backup and restore my database.&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Backup : &lt;b&gt;pg_dump&lt;/b&gt; -U {user_name} {database_name} -f {backup_file_name}&lt;/li&gt;&lt;li&gt;Restore : &lt;b&gt;psql&lt;/b&gt; -U {user_name} -d {database_name} -f {backup_file_name}&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;If you are getting an error:&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/div&gt;&lt;blockquote&gt;psql: FATAL: Ident authentication failed for user "username"...&lt;/blockquote&gt;&lt;div&gt;You then need to locate file &lt;b&gt;pg_hba.conf&lt;/b&gt;&amp;nbsp;and add or change if already existing to look something like below:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #111111; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; font-size: 14px; line-height: 22px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="background-attachment: initial; background-clip: initial; background-color: #eeeeee; background-image: initial; background-origin: initial; border-bottom-color: rgb(221, 221, 221); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(221, 221, 221); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(221, 221, 221); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(221, 221, 221); border-top-style: solid; border-top-width: 1px; clear: both; font-family: Consolas, 'Andale Mono', Monaco, Courier, 'Courier New', Verdana, sans-serif; font-size: 0.857em; line-height: 1.5em; margin-bottom: 1.833em; overflow-x: auto; overflow-y: auto; padding-bottom: 0.667em; padding-left: 0.917em; padding-right: 0.917em; padding-top: 0.667em;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #111111; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; font-size: 14px; line-height: 22px;"&gt;local all all trust&lt;br /&gt;host all 127.0.0.1/32 trust&lt;/span&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #111111; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; font-size: 14px; line-height: 22px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: left;"&gt;By the way, to locate file on your Ubuntu... Just run command "&lt;b&gt;locate pg_hba.conf&lt;/b&gt;" on your terminal.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: left;"&gt;After which, restart PostgreSQL database by running "&lt;b&gt;sudo /etc/init.d/postgresql_version restart&lt;/b&gt;". Hopefully the error should already be fixed.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;There are lots of articles online that you can read to backup and restore you database. I hope this article helps you in one way or another.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;I give all credits to &lt;a href="http://www.thegeekstuff.com/2009/01/how-to-backup-and-restore-postgres-database-using-pg_dump-and-psql/"&gt;www.thegeekstuff.com&lt;/a&gt; for doing a good job on explaining how you can use pg_dump and psql to backup your PostgreSQL database.&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-9162666970839507316?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/9162666970839507316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2011/10/how-to-backup-and-restore-postgresql.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/9162666970839507316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/9162666970839507316'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2011/10/how-to-backup-and-restore-postgresql.html' title='How to Backup and Restore PostgreSQL Database'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-fWAQrUWfHSY/TpMgl5sHVlI/AAAAAAAAAVo/dX7d1uC9w9k/s72-c/pgsql-logo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-373975021629804979</id><published>2011-10-05T23:42:00.000-07:00</published><updated>2011-10-05T23:47:03.236-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='System Administration'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Laptops'/><title type='text'>Recover Ubuntu Grub2 After Windows Installation</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-b4IBn7dY-xU/To1MuleDYtI/AAAAAAAAAVk/-3KetQojqgE/s1600/windows-y-linux-300x174.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="115" src="http://2.bp.blogspot.com/-b4IBn7dY-xU/To1MuleDYtI/AAAAAAAAAVk/-3KetQojqgE/s200/windows-y-linux-300x174.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;A month ago I decided to dual-boot my laptop with windows 7 and Ubuntu 10.04 version as my main operating system. So I first installed Ubuntu 10.04 then Windows 7 afterwards. After installing Windows 7, ubuntu&amp;nbsp;distribution&amp;nbsp;isn't&amp;nbsp;accessible. I am not sure but I think Windows installation might have wiped out Ubuntu grub.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;To be able to recover Grub2 menu along with the option to select either which operating system you want to use, I did the following recovery steps below.&lt;/div&gt;&lt;ol&gt;&lt;li&gt;Boot from Ubuntu Live CD - any Ubuntu distribution is okay to use for as long as you get access to linux terminal or bash shell.&lt;a name='more'&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Run command "sudo fdisk -l" - this is to find out where your Linux distribution is located or installed. &amp;nbsp;For instance, in the image below, my Linux is installed on sda1.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-5inBg2clD2w/To1Ht7x8RvI/AAAAAAAAAVg/p9tGHg3Fdd4/s1600/terminal.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="109" src="http://4.bp.blogspot.com/-5inBg2clD2w/To1Ht7x8RvI/AAAAAAAAAVg/p9tGHg3Fdd4/s320/terminal.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;Run command "sudo mount /dev/sda1 /mnt" - this is to tell Grub that your primary Linux is installed on such location. It should be pretty strait forward.&lt;/li&gt;&lt;li&gt;Run command "sudo grub-install --root-directory=/mnt/ /dev/sda" - this is to re-install/restore &amp;nbsp;your Grub2 menu with option to boot to your Windows 7 operating system.&lt;/li&gt;&lt;li&gt;Reboot your system either on GUI or bu running commands(eg. sudo shutdown -r now). You can already remove the Live CD now.&lt;/li&gt;&lt;li&gt;After reboot, you should update Grub2 by running command "sudo grub-update".&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;That is all you need to do! Easy isn't it? Unlike other ways, the steps above are simplest because you don't need to edit files.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I hope you find this article helpful and thanks for reading.&lt;/div&gt;&lt;div&gt;Like everyone else, I also did research and all credits to&amp;nbsp;&lt;a href="http://ulyssesonline.com/2010/09/20/recover-grub2-after-windows-install/"&gt;&lt;b&gt;ulyssesonline&lt;/b&gt;&lt;/a&gt;.&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-373975021629804979?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/373975021629804979/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2011/10/recover-ubuntu-grub2-after-windows.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/373975021629804979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/373975021629804979'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2011/10/recover-ubuntu-grub2-after-windows.html' title='Recover Ubuntu Grub2 After Windows Installation'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-b4IBn7dY-xU/To1MuleDYtI/AAAAAAAAAVk/-3KetQojqgE/s72-c/windows-y-linux-300x174.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-1945666722771990707</id><published>2011-08-20T21:20:00.000-07:00</published><updated>2011-08-20T21:23:26.917-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Laptops'/><title type='text'>Install NVIDIA driver manually for Asus K43 SV with Ubuntu Lucid 10.04</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;I just bought a new laptop Asus K43 SV and installed Ubuntu Lucid 10.04 LTS stable release. It has an i5 2nd generation processor with 4Gb of memory and 1 Gb of VRam. So far, I think this is the most affordable laptop I can look for in Philippine market offered free delivery through LBC by www.pccorner.com or www.laptopking.com from your online purchase.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Some of you might have difficulties in installing NVIDIA driver on your new bought Asus K43 SV laptop. I started researching online and found that there is a default yet not installed NVIDIA driver on synaptics. However, I had been screwing my desktop and as a result, I had to reformat my laptop again and again. I always backed-up my xorg.conf file but had difficulties on restoring it. Anyway, thats the end of story and in this article, I'm gonna share how to easily install NVIDIA driver manually on your k43SV.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;STEP 1&lt;/b&gt;: Download the driver from&amp;nbsp;&lt;a href="http://www.nvidia.com/Download/index.aspx"&gt;www.nvidia.com/Download/index.aspx&lt;/a&gt;. See below the form I filled up to download the driver. There is another option below. Either way works! Important thing is that you download the correct driver for you VRam. For me, I had downloaded the file named&amp;nbsp;NVIDIA-Linux-x86_64-280.13.run for my Lucid 10.04 64-bit OS.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-pLuj1B0liMs/TlCCWJst9sI/AAAAAAAAAO4/HQBXx7NheXE/s1600/Screenshot.png" imageanchor="1" rel="lightbox" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;img border="0" height="210" src="http://4.bp.blogspot.com/-pLuj1B0liMs/TlCCWJst9sI/AAAAAAAAAO4/HQBXx7NheXE/s400/Screenshot.png" width="400" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;STEP 2&lt;/b&gt;: Install the driver. Follow the steps bellow.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;hit keys &lt;b&gt;Ctrl + Alt + F1&lt;/b&gt; to login on tty1 - you'll be in command line mode&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;login with your username and password&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;kill x server by running command "sudo /etc/init.d/gdm stop"&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;install driver by running command "sudo chmod +x /path/to/file/driver.run | sh&amp;nbsp;/path/to/file/driver.run" - it will show you a step-by-step command line interface installation process which requires you to read and choose answer. It should be strait forward enough for anyone to handle so you'll be fine.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;start x server by running command "sudo /etc/init.d/gdm start"&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;restart your computer to see fresh Ubuntu UI running nvidia driver by running command "sudo reboot"&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;That is all that you need to do and your done. I hope this article helped with your problem. Enjoy and have fun with Ubuntu!&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-1945666722771990707?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/1945666722771990707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2011/08/install-nvidia-driver-for-asus-k43-sv.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/1945666722771990707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/1945666722771990707'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2011/08/install-nvidia-driver-for-asus-k43-sv.html' title='Install NVIDIA driver manually for Asus K43 SV with Ubuntu Lucid 10.04'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-pLuj1B0liMs/TlCCWJst9sI/AAAAAAAAAO4/HQBXx7NheXE/s72-c/Screenshot.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-6947354161335568065</id><published>2011-07-26T09:35:00.000-07:00</published><updated>2011-07-26T09:40:59.215-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Mail'/><title type='text'>Commons Email - Examples</title><content type='html'>&lt;div&gt;I found another good apache tool for sending emails. &lt;/div&gt;&lt;div&gt;Its easy to use and has good documentation.&lt;/div&gt;&lt;div&gt;Below is an example of an easy way to sending an email.&lt;/div&gt;&lt;div&gt;It is explained properly on apache user guide page which is embedded on the bottom part of this article.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import org.apache.commons.mail.*;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt; // Create the attachment&lt;br /&gt; EmailAttachment attachment = new EmailAttachment();&lt;br /&gt; attachment.setPath("mypictures/john.jpg");&lt;br /&gt; attachment.setDisposition(EmailAttachment.ATTACHMENT);&lt;br /&gt; attachment.setDescription("Picture of John");&lt;br /&gt; attachment.setName("John");&lt;br /&gt;&lt;br /&gt; // Create the email message&lt;br /&gt; MultiPartEmail email = new MultiPartEmail();&lt;br /&gt; email.setHostName("mail.myserver.com");&lt;br /&gt; email.addTo("jdoe@somewhere.org", "John Doe");&lt;br /&gt; email.setFrom("me@apache.org", "Me");&lt;br /&gt; email.setSubject("The picture");&lt;br /&gt; email.setMsg("Here is the picture you wanted");&lt;br /&gt;&lt;br /&gt; // add the attachment&lt;br /&gt; email.attach(attachment);&lt;br /&gt;&lt;br /&gt; // send the email&lt;br /&gt; email.send();&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Source: &lt;a href="http://commons.apache.org/email/userguide.html"&gt;Commons Email - Examples&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/3254161708679601539-6947354161335568065?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://commons.apache.org/email/userguide.html' title='Commons Email - Examples'/><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/6947354161335568065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2011/07/commons-email-examples.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/6947354161335568065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/6947354161335568065'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2011/07/commons-email-examples.html' title='Commons Email - Examples'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-8524959480047478175</id><published>2011-07-26T03:59:00.000-07:00</published><updated>2011-07-26T09:40:21.989-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Mail'/><title type='text'>Sending Mail with SMTP</title><content type='html'>&lt;div&gt;I was was having problem on sending emails through Java. &lt;/div&gt;&lt;div&gt;I researched and found this apache API SMTP for sending email. &lt;/div&gt;&lt;div&gt;I just want to share this simple tutorial article on Discursive blog to everyone who needs it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://www.discursive.com/books/cjcook/reference/io-network-sect-sending-mail"&gt;10.16. Sending Mail with SMTP | Discursive&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-8524959480047478175?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.discursive.com/books/cjcook/reference/io-network-sect-sending-mail' title='Sending Mail with SMTP'/><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/8524959480047478175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2011/07/sending-mail-with-smtp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/8524959480047478175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/8524959480047478175'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2011/07/sending-mail-with-smtp.html' title='Sending Mail with SMTP'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-5405697931944046704</id><published>2011-07-01T00:01:00.000-07:00</published><updated>2011-07-01T00:01:50.550-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu Linux'/><title type='text'>Check Ubuntu laptop temperature</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-sEe5QxLqQYQ/Tg1waZ65y0I/AAAAAAAAAMs/S-CvZH84zHg/s1600/hotlaptop" imageanchor="1" rel="lightbox" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-sEe5QxLqQYQ/Tg1waZ65y0I/AAAAAAAAAMs/S-CvZH84zHg/s1600/hotlaptop" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;I noticed my laptop temperature is getting hotter. I was a bit worried so I made a little research on how to check the temperature via the internal chip sensors and Ubuntu terminal/command line. The quickest way so far is through below:&lt;/span&gt;&lt;br style="font-family: Arial,Helvetica,sans-serif;" /&gt;&lt;br style="font-family: Arial,Helvetica,sans-serif;" /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;1. Make sure you lm-sensors are already installed. (In latest version as of 2010 - this was already configured) To know more about it goto http://packages.ubuntu.com/lucid/lm-sensors&lt;/span&gt;&lt;br style="font-family: Arial,Helvetica,sans-serif;" /&gt;&lt;br style="font-family: Arial,Helvetica,sans-serif;" /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;2. Open you terminal/command line and enter the command "sudo sensors-detect". You will be asked which hardware sensors to scan. Answer it yes or no.&lt;/span&gt;&lt;br style="font-family: Arial,Helvetica,sans-serif;" /&gt;&lt;br style="font-family: Arial,Helvetica,sans-serif;" /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;3. Get the temperature by running command "sensors" on your terminal.&lt;/span&gt;&lt;br style="font-family: Arial,Helvetica,sans-serif;" /&gt;&lt;br style="font-family: Arial,Helvetica,sans-serif;" /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;There we have it! Thats how I check my laptop temperature. There other ways to check and are probably better and accurate. Have fun and enjoy.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-5405697931944046704?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/5405697931944046704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2011/07/check-ubuntu-laptop-temperature.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/5405697931944046704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/5405697931944046704'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2011/07/check-ubuntu-laptop-temperature.html' title='Check Ubuntu laptop temperature'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-sEe5QxLqQYQ/Tg1waZ65y0I/AAAAAAAAAMs/S-CvZH84zHg/s72-c/hotlaptop' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-3386189185340309240</id><published>2011-04-25T16:01:00.000-07:00</published><updated>2011-04-25T16:02:42.633-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>April Blogging Comeback</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a rel="lightbox" href="http://1.bp.blogspot.com/-SlFacAp8z6Y/TbX9AXf4eCI/AAAAAAAAAMo/Pm5Uqjz1zAs/s1600/comeback_kid.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="133" src="http://1.bp.blogspot.com/-SlFacAp8z6Y/TbX9AXf4eCI/AAAAAAAAAMo/Pm5Uqjz1zAs/s200/comeback_kid.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;Oh yeah! Techieboy is back in sharing his experiences!&lt;br /&gt;&lt;br /&gt;Its been a while since I created an article on my experiences with technology. It was around October last year since I stopped due to busy schedules and work. I was also sent to Chicago, Illinois to assist our company client.&lt;br /&gt;&lt;br /&gt;It had a wonderful experience though. I was able to see and experience what politics was in software industry. I was exposed to high-end technologies such as Spring Roo and JQuery. Learn a lot on how to deal with management stuff particularly on strategies of motivating employees to make them productive. I had been quite on most of the time, but, I am very observant of thing happening around me.&lt;br /&gt;&lt;br /&gt;Anyway, I will cut this article for now. There will be a lot of articles coming up in few days. Have fun and keep in-touch.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-3386189185340309240?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/3386189185340309240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2011/04/april-blogging-comeback.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/3386189185340309240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/3386189185340309240'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2011/04/april-blogging-comeback.html' title='April Blogging Comeback'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-SlFacAp8z6Y/TbX9AXf4eCI/AAAAAAAAAMo/Pm5Uqjz1zAs/s72-c/comeback_kid.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-8084930710657817856</id><published>2010-09-24T05:48:00.000-07:00</published><updated>2010-09-24T08:17:13.070-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ant'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='DDSteps'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring'/><title type='text'>DDSteps Testing with Ant Tutorial</title><content type='html'>&lt;div style="text-align: right;"&gt;&lt;a href="http://4.bp.blogspot.com/_FGtHpu4BE5k/TJycxZFc_hI/AAAAAAAAAMQ/kOdWEsRSatk/s1600/Selection_011.png" imageanchor="1" rel="lightbox" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_FGtHpu4BE5k/TJycxZFc_hI/AAAAAAAAAMQ/kOdWEsRSatk/s1600/Selection_011.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;It has been almost a year that I've been using DDSteps for testing a back-end project module and I haven't been able to share or create an article about it. So to those people reading this article, I hope this helps you get started on DDSteps testing.&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;DDSteps&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt; is an integrated tool stack, combining the best open source testing tools for Java and adding the ability to resuse test cases and test data. &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;DataDriven so that when you want to test "sign up" on your site, you can test the same flow with both "George Bush" and "&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Владимир Путин&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;". Just add another row to spreadsheet, that's all!&amp;nbsp;- by ddsteps.org&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;In this tutorial, I will discuss a little about this simple java application I made focus on testing and generating html test results using ant. We will not deal much on the theories since those kind of information are already provided on &lt;/span&gt;&lt;a href="http://www.ddsteps.org/"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;www.ddsteps.org&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;. I usually use eclipse as my preferred IDE in developing the application. The application makes use of ant to generate the HTML JUnit reports.&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Alright! To get started with the app, I created first the project. Observe the files and directory structure. Below is the screenshot of my eclipse project.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_FGtHpu4BE5k/TJyCfxc6o9I/AAAAAAAAAME/HY_6gNXIdt4/s1600/Selection_009.png" imageanchor="1" rel="lightbox" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;img border="0" height="226" src="http://4.bp.blogspot.com/_FGtHpu4BE5k/TJyCfxc6o9I/AAAAAAAAAME/HY_6gNXIdt4/s320/Selection_009.png" width="320" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Calculator.java - Is a simple app that contains&amp;nbsp;calculateTotal(...) method that simply adds to float parameter.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;CalculateDDStepTestCase.java - Is the class that extends&amp;nbsp;DDStepsSpringTestCase. This class maps the fields(columns) and methods(sheet name) on the excel file. This is also the test class.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;CalculateDDStepTestCase-applicationContext.xml - Contains configuration and related settings for the data source definition and many other...&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;CalculateDDStepTestCase.xls - Contains test cases. Each row is a scenario. Every column represents a field. Every sheet represents a test method.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;ddsteps-context.properties - It is where you put config variables or properties.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;build.xml - Has the ant script responsible for running and generating html test results.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Alright then! I just gave you a little overview on project I did. For you to be able to&amp;nbsp;experiment&amp;nbsp;more, you should download this project. Click &lt;/span&gt;&lt;b&gt;&lt;a href="http://www.weebly.com/uploads/3/9/8/1/3981509/ddstepsreportapp.zip"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;HERE&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt; to download!&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_FGtHpu4BE5k/TJycWj57w0I/AAAAAAAAAMI/BskAXsszXl4/s1600/Selection_010.png" imageanchor="1" rel="lightbox" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;img border="0" height="266" src="http://2.bp.blogspot.com/_FGtHpu4BE5k/TJycWj57w0I/AAAAAAAAAMI/BskAXsszXl4/s400/Selection_010.png" width="400" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;DDSteps is pretty simple to implement and its great testing tool. I hope this example project helps!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-8084930710657817856?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/8084930710657817856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/09/ddsteps-testing-with-ant-tutorial.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/8084930710657817856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/8084930710657817856'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/09/ddsteps-testing-with-ant-tutorial.html' title='DDSteps Testing with Ant Tutorial'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_FGtHpu4BE5k/TJycxZFc_hI/AAAAAAAAAMQ/kOdWEsRSatk/s72-c/Selection_011.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-8734945950999018947</id><published>2010-08-08T08:47:00.000-07:00</published><updated>2011-04-15T15:00:36.220-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Laptops'/><title type='text'>Fix upside-down or inverted webcam on Ubuntu linux</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_FGtHpu4BE5k/TF7V7Ld3BuI/AAAAAAAAAL0/2YRazez2_5o/s1600/green-bubblehead-webcam.jpg" imageanchor="1" rel="lightbox" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;" title="Inverted camera"&gt;&lt;img border="0" height="170" src="http://3.bp.blogspot.com/_FGtHpu4BE5k/TF7V7Ld3BuI/AAAAAAAAAL0/2YRazez2_5o/s200/green-bubblehead-webcam.jpg" width="154" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;I am running Lucid Lynx 64 bit OS version on my Asus i3 K52J Series laptop. Like everyone else, I like using Skype video/chat as well as Cheese camera for taking pictures and videos. Not until then when I had a problem using it.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size: small;"&gt;NOTE: Not&amp;nbsp;advisable&amp;nbsp;to do "export LIBV4LCONTROL_FLAGS=3", LIBV4LCONTROL_FLAGS is for debugging purposes only. - by Hans De Goede(libv4l author and maintainer)&lt;/span&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;I was so disappointed that my camera display was inverted! I tried reading several blogs and posting comments on Ubuntu forum threads online for days and but none of their solutions helped solved my problem. It could have been easily solved if only there was an option to invert my camera on Video4Linux Device Preference. Sadly, there was not! So, I decided to find a way to flip the camera by looking into export options on&amp;nbsp;gtk-v4l(Video4Linux).&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Below are the 2 things I did to solve my problem.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;1. Add software source where libv4l-0 can be downloaded and install it by running the commands below on your terminal.&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;echo -e "\n# libv4l PPA\ndeb http://ppa.launchpad.net/libv4l/ppa/ubuntu `lsb_release -c | awk '{print $2}'` main" | sudo tee -a /etc/apt/sources.list&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com C3FFB4AA&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;sudo apt-get update&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;sudo apt-get install libv4l-0&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;2. Start cheese or skype from your terminal. (Note: The value of 3 on LIBV4LCONTROL_FLAGS flips the image both vertically and horizontally.)&lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;export LIBV4LCONTROL_FLAGS=3 &amp;amp;&amp;amp; &lt;b&gt;cheese &lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;export LIBV4LCONTROL_FLAGS=3 &amp;amp;&amp;amp; LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so &lt;b&gt;skype&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Alternatively, you can create a shortcut(custom application launcher) on your menu or on one of your panels.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Download &lt;a href="http://www.weebly.com/uploads/3/9/8/1/3981509/cheese.sh"&gt;&lt;b&gt;skype&lt;/b&gt;&lt;/a&gt; and &lt;a href="http://www.weebly.com/uploads/3/9/8/1/3981509/skype.sh"&gt;&lt;b&gt;cheese&lt;/b&gt;&lt;/a&gt; scripts.&amp;nbsp; &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Add custom application launcher on panel and point command to respective bash scripts.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Click icon and start using the applications normally!&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;If your having problem on your sound device on Skype, take a look on my previous article on &lt;a href="http://techieboycdo.blogspot.com/2010/08/fix-asus-k52j-sound-or-speaker-problem.html"&gt;fixing sound device&lt;/a&gt;. Alright then, thats all I did folks! Hope this helps. Have a good one. &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-8734945950999018947?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/8734945950999018947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/08/fix-upside-down-or-inverted-webcam-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/8734945950999018947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/8734945950999018947'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/08/fix-upside-down-or-inverted-webcam-on.html' title='Fix upside-down or inverted webcam on Ubuntu linux'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_FGtHpu4BE5k/TF7V7Ld3BuI/AAAAAAAAAL0/2YRazez2_5o/s72-c/green-bubblehead-webcam.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-3723436622356791436</id><published>2010-08-08T07:18:00.000-07:00</published><updated>2011-04-15T14:59:58.482-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Laptops'/><title type='text'>Fix Asus K52J Sound or Speaker Problem</title><content type='html'>&lt;div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;I just got a new replacement company laptop for my 2 year acer dual core laptop. I now have Asus i3 K52J Series Laptop. Like everyone else using Lucid Lynx on their Asus. I had a problem with my sound and audio device and drivers.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Some of my problems were:&lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Speakers do not mute when headphones are plugged in.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;HDMI sound out not working.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;External microphone not working.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Thanks to this &lt;a href="http://ubuntuforums.org/showthread.php?t=1460790"&gt;Ubuntu Forums Thread&lt;/a&gt; where a fix is posted though incomplete in my case. So, I decided to create one of my own and hope to help someone else looking for a solution &lt;/span&gt;&lt;span style="font-size: small;"&gt;online&lt;/span&gt;&lt;span style="font-size: small;"&gt;. The steps below are the things I did fixing this problem.&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Download linuxtant alsa driver at &lt;a href="http://www.linuxant.com/alsa-driver/"&gt;www.linuxant.com&lt;/a&gt;. The file you need is &lt;a href="http://www.linuxant.com/alsa-driver/archive/alsa-driver-linuxant-1.0.23.0/alsa-driver-linuxant_1.0.23.0_all.deb.zip"&gt;alsa-driver-linuxant_1.0.23.0_all.deb.zip&lt;/a&gt;. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;After downloading, extract the file and install by using gdebi-gtk(&lt;i&gt;eg. &lt;/i&gt;&lt;/span&gt; gdebi-gtk alsa-driver-linuxant_1.0.23.0_all.deb).&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Open a terminal and run command "$alsamixer"&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Unmute S/PDIF (you can do that pressing "m") &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Below is a screenshot of my alsamixer with a headset attached to audio jacks.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; font-family: Arial,Helvetica,sans-serif; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://i953.photobucket.com/albums/ae20/paullabis/paullabsBogger/Screenshot.png" imageanchor="1" rel="lightbox" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="152" src="http://i953.photobucket.com/albums/ae20/paullabis/paullabsBogger/Screenshot.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Alright then, your set and ready... Hope this article helps! Have a good one...&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-3723436622356791436?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/3723436622356791436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/08/fix-asus-k52j-sound-or-speaker-problem.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/3723436622356791436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/3723436622356791436'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/08/fix-asus-k52j-sound-or-speaker-problem.html' title='Fix Asus K52J Sound or Speaker Problem'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i953.photobucket.com/albums/ae20/paullabis/paullabsBogger/th_Screenshot.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-5087239800134526946</id><published>2010-05-29T20:30:00.000-07:00</published><updated>2010-05-29T20:31:22.782-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Use Arguments on Property File</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;The goal on this tutorial is to be able to format a value on a properties file given its parameter or arguments. It is best describe as passing value as a parameter and inserting those values on the string retrieved from the properties file.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;To better understand what I'm doing, read and understand my example code below.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Property File Sample&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;message.welcome= Welcome {0} to {1}!&lt;br /&gt;message.thank= Thank you for you visit {0}.&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;a name='more'&gt;&lt;/a&gt;Java Code using&amp;nbsp; ResourceBundle and MessageFormat&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;ResourceBundle resBundle = new ResourceBundle("path to property file"); &lt;br /&gt;String welcomeText=resBundle.getString("message.welcome");&lt;br /&gt;MessageFormat msgFormatter = new MessageFormat(welcomeText);&lt;br /&gt;&lt;br /&gt;// Create the dynamic args you want to replace&lt;br /&gt;Object[] messageArguments = {"Techie boy","Philippines"};&amp;nbsp; &lt;br /&gt;&lt;br /&gt;String finalText= msgFormatter.format(messageArguments);&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;The finalText will result to "Welcome Techie boy to Philippines!"&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-5087239800134526946?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/5087239800134526946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/05/use-arguments-on-property-file.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/5087239800134526946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/5087239800134526946'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/05/use-arguments-on-property-file.html' title='Use Arguments on Property File'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-181629386319720966</id><published>2010-05-26T09:41:00.000-07:00</published><updated>2011-01-26T18:59:38.195-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Service'/><category scheme='http://www.blogger.com/atom/ns#' term='Jetty'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring'/><title type='text'>Embedded Jetty in Spring MVC, IoC/DI</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;I was trying to configure embedded jetty in a &lt;/span&gt;&lt;span style="font-size: small;"&gt;spring application that implements MVC(Model View Controller). I want to utilize single spring applicationContext xml file &lt;/span&gt;for IoC(Inversion of Control) and DI(Dependency Injection) on dispatcher servlets.&lt;br /&gt;&lt;br /&gt;The goal is to be able to use or reference beans configured/located on already been loaded spring application context. Read and understand my resolution below. &lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;This is what my main method look like:&lt;/div&gt;&lt;code&gt;LOG.info("Application starting");&lt;br /&gt;_applicationContext = new ClassPathXmlApplicationContext(_resourceLocations);&lt;br /&gt;&lt;br /&gt;_webServer = new Server();&lt;br /&gt;SelectChannelConnector connector = new SelectChannelConnector();&lt;br /&gt;connector.setHost("localhost");&lt;br /&gt;connector.setPort(8080);&lt;br /&gt;_webServer.addConnector(connector);&lt;br /&gt;&lt;br /&gt;WebAppContext webAppContext = new WebAppContext(_webServer, "path to web app folder", "/");&lt;br /&gt;&lt;br /&gt;GenericWebApplicationContext webApplicationContext = new GenericWebApplicationContext();&lt;br /&gt;webApplicationContext.setServletContext(webAppContext.getServletContext());&lt;br /&gt;webApplicationContext.setParent(_applicationContext);&lt;br /&gt;&lt;br /&gt;webAppContext.getServletContext().setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, webApplicationContext);&lt;br /&gt;webApplicationContext.refresh();&lt;br /&gt;&lt;br /&gt;ServletHandler servletHandler = new ServletHandler();&lt;br /&gt;&lt;br /&gt;ServletHolder servletHolder = new ServletHolder(new DispatcherServlet());&lt;br /&gt;servletHolder.setName("dispatcher");&lt;br /&gt;servletHandler.addServlet(servletHolder);&lt;br /&gt;&lt;br /&gt;ServletMapping servletMapping = new ServletMapping();&lt;br /&gt;servletMapping.setServletName(servletHolder.getName());&lt;br /&gt;servletMapping.setPathSpec("*.htm");&lt;br /&gt;servletHandler.addServletMapping(servletMapping);&lt;br /&gt;&lt;br /&gt;webAppContext.setServletHandler(servletHandler);&lt;br /&gt;_webServer.addHandler(webAppContext);&lt;br /&gt;&lt;br /&gt;RequestLogHandler logHandler = new RequestLogHandler();&lt;br /&gt;NCSARequestLog ncsaLog = new NCSARequestLog();&lt;br /&gt;ncsaLog.setExtended(true);&lt;br /&gt;ncsaLog.setFilename("logs/jetty-yyyy_mm_dd.log");&lt;br /&gt;logHandler.setRequestLog(ncsaLog);&lt;br /&gt;_webServer.addHandler(logHandler);&lt;br /&gt;&lt;br /&gt;LOG.info("Starting main application context");&lt;br /&gt;_applicationContext.start();&lt;br /&gt;&lt;br /&gt;LOG.info("Starting Jetty Server");&lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;_webServer.start();&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;// TODO Auto-generated catch block&lt;br /&gt;e.printStackTrace();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;LOG.info("Application started");&lt;br /&gt;return null;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&amp;nbsp;The idea is that DispatcherServlet's context is child context of&amp;nbsp; &lt;b&gt;GenericWebApplicationContext&lt;/b&gt; which in turn is a child of &lt;b&gt;ClassPathXmlApplicationContext&lt;/b&gt;. Explicitly invoking setParent() gives you the access to all beans from the web application context.&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;Hope this helps. Feel free to leave your comment or suggestions.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-181629386319720966?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/181629386319720966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/05/embedded-jetty-in-spring-mvc-iocdi.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/181629386319720966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/181629386319720966'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/05/embedded-jetty-in-spring-mvc-iocdi.html' title='Embedded Jetty in Spring MVC, IoC/DI'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-1659753309017726121</id><published>2010-05-22T01:31:00.000-07:00</published><updated>2010-05-22T01:33:36.520-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Subversion'/><title type='text'>SVN error on Eclipse: org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locked dir</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;I met an svn eclipse error while attempting to committing to svn repository. I was thinking I might aswell share how I resolve this problem to everyone.&lt;/span&gt;&lt;/div&gt;&lt;blockquote style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;SVN error on Eclipse: org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locked dir &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locked dir&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;svn: Working copy ‘D:\htdocs_svn\sites\all\modules’ locked&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locked dir&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;svn: Working copy ‘D:\htdocs_svn\sites\all\modules’ locked&lt;/span&gt;&lt;/blockquote&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;To be able to get rid of it, I did the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;1. Right click on project folder&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;2. Goto &lt;b&gt;Team&lt;/b&gt; and click &lt;b&gt;Cleanup&lt;/b&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;3. Try to commit again&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;In my understanding, it happens when there is a pending session&amp;nbsp; which already locked the working directory copy. So, to get rid of it.. You'll need to remove the old session by deleting them through svn cleanup.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Good luck!&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-1659753309017726121?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/1659753309017726121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/05/svn-error-on-eclipse.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/1659753309017726121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/1659753309017726121'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/05/svn-error-on-eclipse.html' title='SVN error on Eclipse: org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locked dir'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-1004923231770569112</id><published>2010-05-22T01:10:00.001-07:00</published><updated>2010-05-22T01:11:21.887-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><category scheme='http://www.blogger.com/atom/ns#' term='Articles'/><title type='text'>I'm still breathing</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;It's been a while since my last post! I had been very busy lately with my work... I miss writing articles. After weeks of hardcore work, I've learn a lot about spring and jetty and I would say, its worth working hard.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;I have this task of setting up a project for development. Its a web application for testing. I've learned embedding jetty in a spring application implementing MVC(Model View Controller) design pattern. Other than that, it builds character. Patience really was important.&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Anyway, not good sharing my story. Anyway, I can't wait to share my learnings. Later I'll write about those things I've learned..Just the basics..&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-1004923231770569112?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/1004923231770569112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/05/im-still-breathing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/1004923231770569112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/1004923231770569112'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/05/im-still-breathing.html' title='I&apos;m still breathing'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-4172104758220969263</id><published>2010-04-24T00:40:00.000-07:00</published><updated>2010-04-24T00:40:50.086-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Laptops'/><title type='text'>Asus PL30JT Technology Business Notebook</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;Asus showed a &lt;a href="http://www.siftwire.com/search/notebook" title="notebook"&gt;notebook&lt;/a&gt; of new businesses, PL30JT at CeBIT 2010, which comes with a stylish design. The new &lt;a href="http://www.siftwire.com/asus-eee-pc-1005pr-seashell-netbook.html" target="_blank"&gt;Asus notebook&lt;/a&gt; includes Turbo33 technology company claims to improve performance by 33%.&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="center" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;img alt="Asus PL30JT Business Notebook" height="337" src="http://www.siftwire.com/wp-content/uploads/2010/03/asuspl30jtbusinessnotebook.jpg" width="400" /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;The PL30JT is fueled by Intel Core i5 processor and up to 4 GB of RAM. It is equipped with two graphics cards, the 1GB NVIDIA GeForce 310M dedicated graphics and integrated Intel GMA &lt;a href="http://www.viritech.com/asus-eee-pc-1005pr-broadcom-crystal-hd-graphics-netbook.html" target="_blank"&gt;HD technology&lt;/a&gt; with Optimus. The professional notebook comes with a 13.3-inch 1366 × 768 LCD display and support for WiFi. It weighs only 1.7 kilograms, with an 8-cell battery. [via &lt;a href="http://www.itechnews.net/2010/03/12/asus-pl30jt-business-notebook-spotted-at-cebit/" target="_blank"&gt;itechnews&lt;/a&gt;] &lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;script type="text/javascript"&gt;AKPC_IDS += "6879,";&lt;/script&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;This post &lt;a href="http://www.siftwire.com/asus-pl30jt-technology-business-notebook.html"&gt;Asus PL30JT Technology Business Notebook&lt;/a&gt; brough to by &lt;a href="http://www.viritech.com/" title="Review Electronic Gadget Digital"&gt;Netbook Review&lt;/a&gt;. Visit &lt;a href="http://www.siftwire.com/" title="Electronic Digital Technology Review"&gt;Electronics Review&lt;/a&gt; for information about gadget and technology&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-4172104758220969263?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/4172104758220969263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/04/asus-pl30jt-technology-business.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/4172104758220969263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/4172104758220969263'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/04/asus-pl30jt-technology-business.html' title='Asus PL30JT Technology Business Notebook'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-7397113356352913126</id><published>2010-04-23T10:55:00.000-07:00</published><updated>2010-04-24T01:18:30.987-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Laptops'/><title type='text'>Lenovo IdeaPad Y460 and Y560 Notebooks</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Lenovo has not forgotten the home users usually at CES 2010, the company unveiled two new models, the Lenovo IdeaPad Y460 and Y560 notebooks, with options on the latest processors Core i3, i5 and i7 Intel. The IdeaPad Y460 has a 14-inch 1366 x 768, Core i3 or i5 processor, ATI Radeon HD5740/HD5650 and up to 320 GB hard drive, while the IdeaPad Y560 has a &lt;a href="http://www.siftwire.com/acer-aspire-one-ao32h-upcoming-netbook.html" target="_blank"&gt;15.6 screen inch Core i3&lt;/a&gt;, i5 and i7 CPU, ATI Radeon HD5730 graphics and up to 500 GB hard drive.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="center" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;img alt="Lenovo IdeaPad Y460 and Y560 Notebooks" height="280" src="http://www.siftwire.com/wp-content/uploads/2010/01/lenovoideapady460andy560notebooks.jpg" width="400" /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Both machines have up to &lt;a href="http://www.viritech.com/acer-aspire-one-ao532h-pine-trail-netbook.html" target="_blank"&gt;8 GB of RAM&lt;/a&gt;, Combo drive blu-ray/dvd and standard WiFi b / g / n. There are also optional Bluetooth, 3G and WiMAX. Include three USB 2.0 ports, a / eSATA combo USB, ExpressCard slot and HDMI, with Ethernet, audio in / out and a memory card reader multiformat. [via &lt;a href="http://www.slashgear.com/lenovo-ideapad-y460-and-y560-get-core-i3-i5-i7-options-0567530/" target="_blank"&gt;slashgear&lt;/a&gt;]&lt;/span&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;script type="text/javascript"&gt;AKPC_IDS += "6083,";&lt;/script&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;This post &lt;a href="http://www.siftwire.com/lenovo-ideapad-y460-and-y560-notebooks.html"&gt;Lenovo IdeaPad Y460 and Y560 Notebooks&lt;/a&gt; brough to by &lt;a href="http://www.viritech.com/" title="Review Electronic Gadget Digital"&gt;Netbook Review&lt;/a&gt;. Visit &lt;a href="http://www.siftwire.com/" title="Electronic Digital Technology Review"&gt;Electronics Review&lt;/a&gt; for information about gadget and technology&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-7397113356352913126?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/7397113356352913126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/04/lenovo-ideapad-y460-and-y560-notebooks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/7397113356352913126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/7397113356352913126'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/04/lenovo-ideapad-y460-and-y560-notebooks.html' title='Lenovo IdeaPad Y460 and Y560 Notebooks'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-3208046786555133121</id><published>2010-04-23T10:48:00.000-07:00</published><updated>2010-04-24T01:10:12.972-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Laptops'/><title type='text'>Lenovo IdeaPad G460 and G560 Switchable Graphics Notebooks</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;The IdeaPad G460 has a 14-inch LED screen with backlight, while the G560 gets a screen of 15.6 inches. They have up to 500 GB of &lt;a href="http://www.siftwire.com/lenovo-thinkpad-x100e-collaborated-notebook.html" target="_blank"&gt;hard disk storage&lt;/a&gt;. They start at $ 699.99.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="center" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;img alt="Lenovo IdeaPad G460 and G560 Notebooks" height="334" src="http://www.siftwire.com/wp-content/uploads/2010/01/lenovoideapadg460andg560notebooks.jpg" width="400" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://www.viritech.com/lenovo-thinkpad-x100e-11-6-inch-netbook.html" target="_blank"&gt;Lenovo&lt;/a&gt; also announced the V360 IdeaPad 13.3-inch IdeaPad V460 14-inch laptops SOHO market. They have Switchable Graphics and are powered by 2010 Intel Core processors. Both models starting at $ 749.99.&lt;/span&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Lenovo is adding the new IdeaPad G460 and G560 &lt;a href="http://www.siftwire.com/search/notebook" title="notebook"&gt;notebook&lt;/a&gt;, along with Y560 and Y460. The new IdeaPad is improved by a new Intel Core processor with Intel Turbo Boost, HD integrated graphics and up to 8GB of DDR3 memory. [via &lt;a href="http://www.itechnews.net/2010/01/20/lenovo-ideapad-g460-and-g560-notebooks/" target="_blank"&gt;itechnews&lt;/a&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;script type="text/javascript"&gt;AKPC_IDS += "6283,";&lt;/script&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;This post &lt;a href="http://www.siftwire.com/lenovo-ideapad-g460-and-g560-switchable-graphics-notebooks.html"&gt;Lenovo IdeaPad G460 and G560 Switchable Graphics Notebooks&lt;/a&gt; brough to by &lt;a href="http://www.viritech.com/" title="Review Electronic Gadget Digital"&gt;Netbook Review&lt;/a&gt;. Visit &lt;a href="http://www.siftwire.com/" title="Electronic Digital Technology Review"&gt;Electronics Review&lt;/a&gt; for information about gadget and technology&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-3208046786555133121?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/3208046786555133121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/04/lenovo-ideapad-g460-and-g560-switchable.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/3208046786555133121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/3208046786555133121'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/04/lenovo-ideapad-g460-and-g560-switchable.html' title='Lenovo IdeaPad G460 and G560 Switchable Graphics Notebooks'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-7658161517305437447</id><published>2010-04-23T10:41:00.000-07:00</published><updated>2010-04-24T01:09:07.026-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Laptops'/><title type='text'>ASUS Eee PC 1005P Minimalist Netbook</title><content type='html'>&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Recently, detailed specifications and pictures of 1005P ASUS Eee PC showed on SlashGear, the &lt;a href="http://www.siftwire.com/asus-eee-pc-1201n-12-1-inch-netbook.html" target="_blank"&gt;netbook&lt;/a&gt; has a minimalist design with a pretty decent hardware spec.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="center" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;img alt="ASUS Eee PC 1005P Notebook" height="256" src="http://www.siftwire.com/wp-content/uploads/2009/12/asuseeepc1005pnotebook.jpg" width="400" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;This netbook features a 10.1-inch screen supports a resolution of 1024 × 600, it also features an Intel Atom N450 (1.66GHz) processor, 1 GB of RAM and Intel GMA 3150 graphics. You can choose between a 160 GB hard drive 250GB and the netbook has WiFi b / g standard, the more &lt;a href="http://www.viritech.com/asus-ul50vg-15-6in-notebook.html" target="_blank"&gt;impressive&lt;/a&gt; as it offers up to 12 hours of battery life.&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;The Eee PC 1005P is currently available in the UK for £ 242.95, while the 250GB model (1005PE) is the sale of £ 270.34, these prices equivalent to approximately $ 395 and $ 439 respectively. [via &lt;a href="http://www.product-reviews.net/2009/12/18/asus-eee-pc-1005p-photos-and-specifications/" target="_blank"&gt;product-reviews&lt;/a&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;script type="text/javascript"&gt;AKPC_IDS += "5905,";&lt;/script&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;This post &lt;a href="http://www.siftwire.com/asus-eee-pc-1005p-minimalist-netbook.html"&gt;ASUS Eee PC 1005P Minimalist Netbook&lt;/a&gt; brough to by &lt;a href="http://www.viritech.com/" title="Review Electronic Gadget Digital"&gt;Netbook Review&lt;/a&gt;. Visit &lt;a href="http://www.siftwire.com/" title="Electronic Digital Technology Review"&gt;Electronics Review&lt;/a&gt; for information about gadget and technology&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-7658161517305437447?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/7658161517305437447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/04/asus-eee-pc-1005p-minimalist-netbook.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/7658161517305437447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/7658161517305437447'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/04/asus-eee-pc-1005p-minimalist-netbook.html' title='ASUS Eee PC 1005P Minimalist Netbook'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-7971900740842690313</id><published>2010-04-23T10:39:00.000-07:00</published><updated>2010-04-24T01:06:46.138-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Laptops'/><title type='text'>ASUS Eee PC 1001P Netbook</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Plus in Germany, the &lt;a href="http://www.siftwire.com/asus-eee-pc-1005p-minimalist-netbook.html" target="_blank"&gt;ASUS Eee&lt;/a&gt; PC 1001P has been made available for pre-order costing € 249 which is the equivalent of about $ 357 USD.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="center" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;img alt="ASUS Eee PC 1001P Notebook" height="400" src="http://www.siftwire.com/wp-content/uploads/2010/01/asuseeepc1001pnotebook.jpg" width="375" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;The netbook runs Windows XP rather than &lt;a href="http://www.viritech.com/asus-ul50vg-15-6in-notebook.html" target="_blank"&gt;Windows 7&lt;/a&gt;, which we would have expected. It also has a smaller capacity battery than other standard models that will probably limit their use to less than 10 hours. What it does come with a new Intel Atom N450 processor to be launched January 6, which is also the official launch of the Eee Netbook 1001P.&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Other features of the netbook include wireless 802.11b / g speeds, 3 x USB 2.0 ports and a 0.3 megapixel webcam. Memory wise it has 1 GB hard disk has a capacity of 160GB. The screen measures 10.1 inches is expected throughout Netbook Eee 1000 series. [via &lt;a href="http://www.itechnews.net/" target="_blank"&gt;itechnews&lt;/a&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;script type="text/javascript"&gt;AKPC_IDS += "6023,";&lt;/script&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;This post &lt;a href="http://www.siftwire.com/asus-eee-pc-1001p-netbook.html"&gt;ASUS Eee PC 1001P Netbook&lt;/a&gt; brough to by &lt;a href="http://www.viritech.com/" title="Review Electronic Gadget Digital"&gt;Netbook Review&lt;/a&gt;. Visit &lt;a href="http://www.siftwire.com/" title="Electronic Digital Technology Review"&gt;Electronics Review&lt;/a&gt; for information about gadget and technology&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-7971900740842690313?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/7971900740842690313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/04/asus-eee-pc-1001p-netbook.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/7971900740842690313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/7971900740842690313'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/04/asus-eee-pc-1001p-netbook.html' title='ASUS Eee PC 1001P Netbook'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-4852001851828462248</id><published>2010-04-23T10:21:00.000-07:00</published><updated>2010-04-24T01:05:56.925-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Laptops'/><title type='text'>Dell Vostro 3000 Slim Lightweight Notebook</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Following the V13 Vostro, Dell offers the new Vostro 3000 series, a range of new laptops thin, lightweight and robust design for &lt;a href="http://www.siftwire.com/dell-precision-m4500-pc-mobile-workstation-notebook.html" target="_blank"&gt;small businesses&lt;/a&gt;. Spurred by the latest Intel Core Series, Vostro 3000 is up to 6 GB of memory.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div align="center" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;img alt="Dell Vostro 3000 Slim Lightweight Notebooks" height="291" src="http://www.siftwire.com/wp-content/uploads/2010/03/dellvostro3000slimlightweightnotebooks.jpg" width="400" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;New &lt;a href="http://www.viritech.com/dell-vostro-1015-business-small-15-6-inch-laptop.html" target="_blank"&gt;Dell&lt;/a&gt; Vostro 3000 series includes the 13.3-inch Vostro 3300 which is one of the thinnest commercial 13-inch &lt;a href="http://www.siftwire.com/search/laptop" title="laptop"&gt;laptop&lt;/a&gt; with integrated optical drive, the 14-inch Vostro 3400 with up to 8 hours of autonomy, and the 17 inch Vostro 3700 with an optional Core i7 quad core processors.&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;The Vostro 3500 and 3700 models come with LED backlight and it can be equipped with up to 1GB NVIDIA GeForce dedicated. The new Vostro laptops support Bluetooth, WiFi and mobile broadband WWAN optional. These new phones will be released March 16. [via &lt;a href="http://www.itechnews.net/2010/03/12/dell-vostro-3000-series-slim-lightweight-notebooks-for-business/" target="_blank"&gt;itechnews&lt;/a&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;script type="text/javascript"&gt;AKPC_IDS += "6869,";&lt;/script&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;This post &lt;a href="http://www.siftwire.com/dell-vostro-3000-slim-lightweight-notebook.html"&gt;Dell Vostro 3000 Slim Lightweight Notebook&lt;/a&gt; brough to by &lt;a href="http://www.viritech.com/" title="Review Electronic Gadget Digital"&gt;Netbook Review&lt;/a&gt;. Visit &lt;a href="http://www.siftwire.com/" title="Electronic Digital Technology Review"&gt;Electronics Review&lt;/a&gt; for information about gadget and technology&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-4852001851828462248?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/4852001851828462248/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/04/dell-vostro-3000-slim-lightweight.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/4852001851828462248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/4852001851828462248'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/04/dell-vostro-3000-slim-lightweight.html' title='Dell Vostro 3000 Slim Lightweight Notebook'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-4348410643728309194</id><published>2010-04-20T10:02:00.001-07:00</published><updated>2010-04-20T10:02:37.557-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><title type='text'>Add Related Posts Widget to Blogger or Blogspot</title><content type='html'>&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;It be better to display related or similar articles below your articles or posts on your blog. This way your readers would easily know that there are related articles you written and they can further read.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;The steps to adding related posts widget is easy. It would take less than 3 minutes add it on your blog.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Before starting, make sure to download the &lt;a href="http://www.weebly.com/uploads/3/9/8/1/3981509/relatedposts_forblogger.js"&gt;related post JavaScript file&lt;/a&gt; or ccopy and paste its content to your desired file.js. Then make sure to upload it online where it will be available for import on your template. I recommend you to upload it on Weebly.com, SigMirror.com or HotLinkFiles.com to get a DIRECT LINK to that file.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Step 1:&lt;/b&gt; Most important of all, backup your template incase something go wrong or messed up. Goto www.blogspot.com "&lt;b&gt;Layout&lt;/b&gt;" portion, then go to "&lt;b&gt;Edit HTML&lt;/b&gt;" section. &lt;b&gt;Download&lt;/b&gt;&lt;/span&gt; present template and make sure to secure the copy on your file storage device.&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Step 2:&lt;/b&gt; Click on "&lt;b&gt;Expand widget templates&lt;/b&gt;" and look for this code:&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;&amp;lt;/head&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;and on top of it insert the following code:&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;&amp;lt;!--RelatedPostsStarts--&amp;gt;&lt;br /&gt;&amp;lt;style&amp;gt;&lt;br /&gt;#related-posts {&lt;br /&gt;float : left;&lt;br /&gt;width : 540px;&lt;br /&gt;margin-top:20px;&lt;br /&gt;margin-left : 5px;&lt;br /&gt;margin-bottom:20px;&lt;br /&gt;font : 11px Verdana;&lt;br /&gt;margin-bottom:10px;&lt;br /&gt;}&lt;br /&gt;#related-posts .widget {&lt;br /&gt;list-style-type : none;&lt;br /&gt;margin : 5px 0 5px 0;&lt;br /&gt;padding : 0;&lt;br /&gt;}&lt;br /&gt;#related-posts .widget h2, #related-posts h2 {&lt;br /&gt;color : #940f04;&lt;br /&gt;font-size : 20px;&lt;br /&gt;font-weight : normal;&lt;br /&gt;margin : 5px 7px 0;&lt;br /&gt;padding : 0 0 5px;&lt;br /&gt;}&lt;br /&gt;#related-posts a {&lt;br /&gt;color : #054474;&lt;br /&gt;font-size : 11px;&lt;br /&gt;text-decoration : none;&lt;br /&gt;}&lt;br /&gt;#related-posts a:hover {&lt;br /&gt;color : #054474;&lt;br /&gt;text-decoration : none;&lt;br /&gt;}&lt;br /&gt;#related-posts ul {&lt;br /&gt;border : medium none;&lt;br /&gt;margin : 10px;&lt;br /&gt;padding : 0;&lt;br /&gt;}&lt;br /&gt;#related-posts ul li {&lt;br /&gt;display : block;&lt;br /&gt;margin : 0;&lt;br /&gt;padding-top : 0;&lt;br /&gt;padding-right : 0;&lt;br /&gt;padding-bottom : 1px;&lt;br /&gt;padding-left : 16px;&lt;br /&gt;margin-bottom : 5px;&lt;br /&gt;line-height : 2em;&lt;br /&gt;border-bottom:1px dotted #cccccc;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;script src='&lt;span style="color: red;"&gt;http://www.weebly.com/..../relatedposts_forblogger.js&lt;/span&gt;' type='text/javascript'/&amp;gt;&lt;br /&gt;&amp;lt;!--RelatedPostsStops--&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Replace the red link above with your own direct link.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Step 3: Look for the code:&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;&amp;lt;data:post.body/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Under it, insert the following code:&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;&amp;lt;!--RELATED-POSTS-STARTS--&amp;gt;&amp;lt;b:if cond='data:blog.pageType == &amp;amp;quot;item&amp;amp;quot;'&amp;gt;&lt;br /&gt;&amp;lt;div id='related-posts'&amp;gt;&lt;br /&gt;&amp;lt;font face='Arial' size='3'&amp;gt;&amp;lt;b&amp;gt;Related Posts: &amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color='#FFFFFF'&amp;gt;&amp;lt;b:loop values='data:post.labels' var='label'&amp;gt;&amp;lt;data:label.name/&amp;gt;&amp;lt;b:if cond='data:label.isLast != &amp;amp;quot;true&amp;amp;quot;'&amp;gt;,&amp;lt;/b:if&amp;gt;&amp;lt;b:if cond='data:blog.pageType == &amp;amp;quot;item&amp;amp;quot;'&amp;gt;&lt;br /&gt;&amp;lt;script expr:src='&amp;amp;quot;&lt;span style="color: red;"&gt;/feeds/posts/default/-/&lt;/span&gt;&amp;amp;quot; + data:label.name + &amp;amp;quot;?alt=json-in-script&amp;amp;amp;callback=related_results_labels&amp;amp;amp;&lt;span style="color: red;"&gt;max-results=5&lt;/span&gt;&amp;amp;quot;' type='text/javascript'/&amp;gt;&amp;lt;/b:if&amp;gt;&amp;lt;/b:loop&amp;gt; &amp;lt;/font&amp;gt;&lt;br /&gt;&amp;lt;script type='text/javascript'&amp;gt; removeRelatedDuplicates(); printRelatedLabels();&lt;br /&gt;&amp;lt;/script&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/b:if&amp;gt;&amp;lt;!--RELATED-POSTS-STOPS--&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;To limit the maximum number of related or similar articles to display under the post, just change max-results=&lt;b&gt;xx&lt;/b&gt; by the number you like.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Finally, save your template and test. Related Posts widget should be located under your article or post. Do remember to add categories or labels before you publish your post. Otherwise, no related post will be displayed.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Hope this tutorial helps.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-4348410643728309194?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/4348410643728309194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/04/add-related-posts-widget-to-blogger-or.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/4348410643728309194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/4348410643728309194'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/04/add-related-posts-widget-to-blogger-or.html' title='Add Related Posts Widget to Blogger or Blogspot'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-4071594955192486679</id><published>2010-04-16T19:57:00.000-07:00</published><updated>2010-04-16T20:03:01.831-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Tutorial on Android Views - Part 2</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/_FGtHpu4BE5k/S8cd2eQ4LUI/AAAAAAAAALQ/78oVUQXVLYg/s1600/screenshot_019.jpeg" imageanchor="1" rel="lightbox" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;" title="Views Android Project Part 2"&gt;&lt;img border="0" height="170" src="http://2.bp.blogspot.com/_FGtHpu4BE5k/S8cd2eQ4LUI/AAAAAAAAALQ/78oVUQXVLYg/s200/screenshot_019.jpeg" width="154" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;In this article, we will be dealing with another types of Android views. They are the &lt;b&gt;RadioGroup&lt;/b&gt;, &lt;b&gt;RadioButton&lt;/b&gt;, &lt;b&gt;ProgressBar&lt;/b&gt; and &lt;b&gt;AutoCompleteTextView&lt;/b&gt;. By learning the following views, it will broaden your understanding on android views that will help you build your own android application.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Lets start by creating a new android project on eclipse. See the screenshot beside for android project specifics.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;RadioGroup and RadioButton&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;This two views is basically used to let users choose something among available options. RadioButton has two available states. It is either checked or unchecked.&amp;nbsp; Once a RadioButton is checked, it cannot be unchecked unless its grouped along with other radio button on a RadioGroup. A RadioGroup is a type of view that is used to group one or mmore radio buttons, thereby allows a user to select only one radiobutton or only one option.&lt;a name='more'&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Create new android xml named basicviewspart2.xml under res/layout folder then put the following code:&lt;code&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;LinearLayout&lt;br /&gt;xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt;android:layout_width="wrap_content"&lt;br /&gt;android:layout_height="wrap_content"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;RadioGroup android:id="@+id/colorOptions"&lt;br /&gt;android:layout_width="fill_parent" &lt;br /&gt;android:layout_height="wrap_content" &lt;br /&gt;android:orientation="vertical"&lt;br /&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;RadioButton android:id="@+id/red"&lt;br /&gt;android:layout_width="fill_parent" &lt;br /&gt;android:layout_height="wrap_content"&lt;br /&gt;android:text="Red"&lt;br /&gt;/&amp;gt;&lt;br /&gt;&amp;lt;RadioButton android:id="@+id/blue"&lt;br /&gt;android:layout_width="fill_parent" &lt;br /&gt;android:layout_height="wrap_content"        &lt;br /&gt;android:text="Blue"&lt;br /&gt;/&amp;gt;   &lt;br /&gt;&amp;lt;RadioButton android:id="@+id/green"&lt;br /&gt;android:layout_width="fill_parent" &lt;br /&gt;android:layout_height="wrap_content"        &lt;br /&gt;android:text="Green"&lt;br /&gt;/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/RadioGroup&amp;gt;&lt;br /&gt;&amp;lt;/LinearLayout&amp;gt;&lt;/code&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Then, update BasicViewsPractice.java by adding the following codes:&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;package com.app.techie;&lt;br /&gt;&lt;br /&gt;import android.app.Activity;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;import android.widget.RadioButton;&lt;br /&gt;import android.widget.RadioGroup;&lt;br /&gt;import android.widget.Toast;&lt;br /&gt;import android.widget.RadioGroup.OnCheckedChangeListener;&lt;br /&gt;&lt;br /&gt;public class BasicViewsPractice extends Activity {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /** Called when the activity is first created. */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; super.onCreate(savedInstanceState);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setContentView(R.layout.basicviewspart2);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RadioGroup colorChoices = (RadioGroup) findViewById(R.id.colorOptions);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; colorChoices.setOnCheckedChangeListener(new OnCheckedChangeListener() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public void onCheckedChanged(RadioGroup group, int checkedId) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; RadioButton redOption = (RadioButton) findViewById(R.id.red);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; RadioButton blueOption = (RadioButton) findViewById(R.id.blue);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; RadioButton greenOption = (RadioButton) findViewById(R.id.green);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(redOption.getId()==checkedId){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; displayToast("You selected red!");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(blueOption.getId()==checkedId){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; displayToast("You selected blue!");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(greenOption.getId()==checkedId){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; displayToast("You selected green!");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void displayToast(String message){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Toast.makeText(getBaseContext(), message, Toast.LENGTH_SHORT).show();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Briefly, the code above simply display a message through Toast. the message indicates what option a user selects. We identified the radiobutton selected using its IDs. The above should look like:&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Arial,Helvetica,sans-serif; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://1.bp.blogspot.com/_FGtHpu4BE5k/S8cm_ZaqjQI/AAAAAAAAALU/Qx7irBG-k04/s1600/screenshot_021.jpeg" imageanchor="1" rel="lightbox" style="margin-left: 1em; margin-right: 1em;" title="RadioGroup and RadioButton Demo"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/_FGtHpu4BE5k/S8cm_ZaqjQI/AAAAAAAAALU/Qx7irBG-k04/s320/screenshot_021.jpeg" width="215" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;ProgressBar&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;This view is usually used to indicate that an event, task or an activity is currently ongoing. An example of which is downloading files where progress of download is shown visually though a color bar. This is a good choice to tell the user about the status of the task. For us to understand it better, lets do the activity below.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Lets use same activity created above and update the &lt;/span&gt;&lt;span style="font-size: small;"&gt;basicviewspart2.xml by adding the following code:&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;&amp;lt;ProgressBar&lt;br /&gt;android:id="@+id/normalProgressBar"&lt;br /&gt;android:layout_width="wrap_content"&lt;br /&gt;android:layout_height="wrap_content"&lt;br /&gt;android:visibility="gone"&lt;br /&gt;/&amp;gt;&lt;br /&gt;&amp;lt;Button android:id="@+id/btnDownload"&lt;br /&gt;android:layout_width="wrap_content" &lt;br /&gt;android:layout_height="wrap_content"&lt;br /&gt;android:text="Download"&lt;br /&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;On our xml code, we added two views. A progress bar with visibility default to gone so at startup it does not appear on display and a button to do some work or task on background. What we want to do is to simulate progress bar. So, if the user clicks the button, a task is started and the progress bar will display and hide when the task is done.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Update BasicActivityPractice.java to look like this:&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;package com.app.techie;&lt;br /&gt;&lt;br /&gt;import android.app.Activity;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;import android.os.Handler;&lt;br /&gt;import android.view.View;&lt;br /&gt;import android.widget.Button;&lt;br /&gt;import android.widget.ProgressBar;&lt;br /&gt;import android.widget.RadioButton;&lt;br /&gt;import android.widget.RadioGroup;&lt;br /&gt;import android.widget.Toast;&lt;br /&gt;import android.widget.RadioGroup.OnCheckedChangeListener;&lt;br /&gt;&lt;br /&gt;public class BasicViewsPractice extends Activity {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: red;"&gt;private static int progress = 0;&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; private ProgressBar normalProgressBar;&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; private int progressStatus = 0;&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; private Handler handler = new Handler();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /** Called when the activity is first created. */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; super.onCreate(savedInstanceState);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setContentView(R.layout.basicviewspart2);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RadioGroup colorChoices = (RadioGroup) findViewById(R.id.colorOptions);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; colorChoices.setOnCheckedChangeListener(new OnCheckedChangeListener() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public void onCheckedChanged(RadioGroup group, int checkedId) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; RadioButton redOption = (RadioButton) findViewById(R.id.red);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; RadioButton blueOption = (RadioButton) findViewById(R.id.blue);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; RadioButton greenOption = (RadioButton) findViewById(R.id.green);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(redOption.getId()==checkedId){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; displayToast("You selected red!");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(blueOption.getId()==checkedId){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; displayToast("You selected blue!");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(greenOption.getId()==checkedId){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; displayToast("You selected green!");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: red;"&gt; normalProgressBar = (ProgressBar) findViewById(R.id.normalProgressBar);&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Button download = (Button) findViewById(R.id.btnDownload);&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; download.setOnClickListener(new View.OnClickListener() {&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public void onClick(View v) {&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; //show the progress bar&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; normalProgressBar.setVisibility(0);&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; simulateProgress();&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br style="color: red;" /&gt; &lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; private void simulateProgress() {&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; progress = 0;&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; progressStatus = 0;&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; //do some work in background thread&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; new Thread(new Runnable() &lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public void run() &lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; //do some work here&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; while (progressStatus &amp;lt; 10) &lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; progressStatus = doSomeWork();&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; //hides the progress bar&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; handler.post(new Runnable() &lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public void run() &lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; //0 - VISIBLE; 4 - INVISIBLE; 8 - GONE&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; normalProgressBar.setVisibility(8);&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; //do some long lasting work here&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; private int doSomeWork() &lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; //simulate doing some work&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Thread.sleep(500);&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (InterruptedException e) &lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return ++progress;&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }).start();&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br style="color: red;" /&gt; &lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* Helper method to display message&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;* @param message&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*/&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void displayToast(String message){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Toast.makeText(getBaseContext(), message, Toast.LENGTH_SHORT).show();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;The above code retrieves the progress bar we added to layout earlier as well as the button. When the button is clicked, the progress bar visibility is changed to visible mode and a background task simulation took place wherein upon its done, the visibility of the progress bar is changed back to gone. By the way, there are three representations of visibility - 0 for visible, 4 for invisible, and 8 for gone. The activity should look like below.&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Arial,Helvetica,sans-serif; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://4.bp.blogspot.com/_FGtHpu4BE5k/S8iK0dToRUI/AAAAAAAAALY/hUhnc9iAXCg/s1600/screenshot_022.jpeg" imageanchor="1" rel="lightbox" style="margin-left: 1em; margin-right: 1em;" title="Android ProgressBar Demo"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/_FGtHpu4BE5k/S8iK0dToRUI/AAAAAAAAALY/hUhnc9iAXCg/s320/screenshot_022.jpeg" width="216" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Moreover, ProgressBar has an attribute style wherein you can change its display. Instead of intermediate mode style like above, you can use a horizontal bar. Take note of the code:&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;&amp;lt;ProgressBar&lt;br /&gt;android:id="@+id/normalProgressBar"&lt;br /&gt;android:layout_width="wrap_content"&lt;br /&gt;android:layout_height="wrap_content"&lt;br /&gt;android:visibility="gone"&lt;br /&gt;style="?android:attr/progressBarStyleHorizontal"&lt;br /&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;And then change your activity class code in method simulationProgress() to:&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;//do some work here&lt;br /&gt;while (progressStatus &amp;lt; &lt;span style="color: red;"&gt;100&lt;/span&gt;) &lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; progressStatus = doSomeWork();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: red;"&gt;//Update the progress bar&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp; handler.post(new Runnable() &lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void run() {&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;nbsp; &lt;span style="color: red;"&gt;normalProgressBar.setProgress(progressStatus);&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; });&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;The result should be like:&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Arial,Helvetica,sans-serif; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/_FGtHpu4BE5k/S8iQaEUj1lI/AAAAAAAAALc/XBJZLS4cKJQ/s1600/screenshot_023.jpeg" imageanchor="1" rel="lightbox" style="margin-left: 1em; margin-right: 1em;" title="Android ProgressBar Demo"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/_FGtHpu4BE5k/S8iQaEUj1lI/AAAAAAAAALc/XBJZLS4cKJQ/s320/screenshot_023.jpeg" width="217" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;AutoCompleteTextView&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;It is a subclass of textview only that it has an auto complete suggestion feature. Think of a textbox while typing and under it is keyword suggestions.&amp;nbsp; This basically helps you reduce the typing effort and typo error.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;What we are going to do first is update the android layout xml by adding an autocomplete textview:&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;code&gt;&amp;lt;AutoCompleteTextView&lt;br /&gt;android:id="@+id/txtFriends"&lt;br /&gt;android:layout_width="fill_parent"&lt;br /&gt;android:layout_height="wrap_content"&lt;br /&gt;/&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;Afterwards, we add code to our activity class inside &lt;b&gt;onCreate&lt;/b&gt; method:&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;code&gt;final String[] friends = {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; "Jose Rizal",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; "Britney Spears",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; "Sarah Walker",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; "Sarah Jane",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; "Brook How",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; "Kimberly Some",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; "Kimkrek Shoo"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ArrayAdapter&amp;lt;String&amp;gt; adapter = new ArrayAdapter&amp;lt;String&amp;gt;(this,android.R.layout.simple_dropdown_item_1line, friends);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; AutoCompleteTextView txtFriend = (AutoCompleteTextView) findViewById(R.id.txtFriends);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; txtFriend.setThreshold(3);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; txtFriend.setAdapter(adapter);&lt;/code&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;Understanding the code above: We made an array of string where its value will be the value suggested to the user. It is feed into an ArrayAdapter object where the auto complete textview can obtain suggestions. If you notice, we also set threshold to 3. Threshold is used to set the minimum characters before suggestions appear as a drop-down menu. Try running the application and it should look like:&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Arial,Helvetica,sans-serif; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_FGtHpu4BE5k/S8kiMWW8e0I/AAAAAAAAALg/yMzTVrox_LI/s1600/screenshot_024.jpeg" imageanchor="1" rel="lightbox" style="margin-left: 1em; margin-right: 1em;" title="Android AutoCompleteTextView Demo"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/_FGtHpu4BE5k/S8kiMWW8e0I/AAAAAAAAALg/yMzTVrox_LI/s320/screenshot_024.jpeg" width="215" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;b&gt;Nutshell&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;Finally, we are donw with those another three kind of useful Android views. In this tutorial we've learned more basic on views. Another article is coming up taking up more views so stay tuned. Hope this article helps you.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-4071594955192486679?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/4071594955192486679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/04/tutorial-on-android-views-part-2.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/4071594955192486679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/4071594955192486679'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/04/tutorial-on-android-views-part-2.html' title='Tutorial on Android Views - Part 2'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_FGtHpu4BE5k/S8cd2eQ4LUI/AAAAAAAAALQ/78oVUQXVLYg/s72-c/screenshot_019.jpeg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-7594076300630117780</id><published>2010-04-15T06:16:00.000-07:00</published><updated>2010-04-15T06:18:51.722-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Check If a String Contains a Substring in Java</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;This article shows some useful ways on checking a string that contains a substring. I find this  topic relevant to document as I may someday use this on another project. Also, other developers might look for an article online to help them solve their problem. Since this topic is very basic Java, I only added short description and sample code below.&amp;nbsp;&lt;a name='more'&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;code&gt;&lt;br /&gt;//Create a string to evaluate&lt;br /&gt;String phrase = "The big brown fox jumped over the lazy dog!";&lt;br /&gt;&lt;br /&gt;//Check if it contains a case sensitive substring&lt;br /&gt;boolean evaluation = phrase.contains("brown"); //returns true&lt;br /&gt;evaluation = phrase.contains("Brown"); //returns false&lt;br /&gt;evaluation = phrase.indexOf("fox jumped") &amp;gt; 0; //returns true&lt;br /&gt;&lt;br /&gt;//Check if phrase starts with a substring&lt;br /&gt;evaluation = phrase.startsWith("Th"); //returns true&lt;br /&gt;&lt;br /&gt;//Check if phrase ends with a substring&lt;br /&gt;evaluation = phrase.endsWith("og"); //returns true&lt;br /&gt;&lt;br /&gt;//To check string with ignore case, we should be using regular expression&lt;br /&gt;evaluation = string.matches("(?i).*i am.*"); //returns true&lt;br /&gt;&lt;br /&gt;//Check if phrase starts with a substring&lt;br /&gt;evaluation = string.matches("(?i)th.*"); //returns true&lt;br /&gt;&lt;br /&gt;//Check if phrase ends with a substring&lt;br /&gt;evaluation = string.matches("(?i).*adam"); //returns true&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;That is all for this article. I hope this helps you.&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-7594076300630117780?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/7594076300630117780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/04/check-if-string-contains-substring-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/7594076300630117780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/7594076300630117780'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/04/check-if-string-contains-substring-in.html' title='Check If a String Contains a Substring in Java'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-7568152158131493694</id><published>2010-04-14T02:30:00.001-07:00</published><updated>2010-04-14T02:39:00.330-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='Online Tools'/><title type='text'>Best Tool for Monitoring Social Media or Websites</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;I found a great site or tool for monitoring social media or social networking websites like &lt;/span&gt;Twitter, Facebook, FriendFeed, YouTube, Digg, Google etc.&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt; If you wanted to know what people are saying about you, an event, any person or anything,&amp;nbsp; I recommend you do a visit and perhaps, try out &lt;a href="http://socialmention.com/"&gt;&lt;b&gt;Social Mention&lt;/b&gt;&lt;/a&gt; services.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;They have a &lt;/span&gt;&lt;a href="http://socialmention.com/tools"&gt;&lt;b style="font-weight: normal;"&gt;&lt;b&gt;Realtime Buzz Widget&lt;/b&gt; &lt;/b&gt;&lt;/a&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;which is very interesting, very useful and very easy to use or integrate on any blog platform whether it be Wordpress, Blogger or others. It is as easy as adding a JavaScript widget into your blog template. &lt;/span&gt;It does not require programming skills. all you need to do is to copy the html, set the search phrase and title, and put it on your site. The code below are the only code you'll need to add into your blog.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;code&gt; //See latest code on &lt;b&gt;&lt;a href="http://socialmention.com/tools/"&gt;http://socialmention.com/tools/&lt;/a&gt;&lt;/b&gt; page.&lt;br /&gt;//***********************************************************&lt;br /&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;// search phrase (replace this)&lt;br /&gt;var smSearchPhrase = 'socialmention';&lt;br /&gt;// title (optional)&lt;br /&gt;var smTitle = 'Realtime Buzz';&lt;br /&gt;// items per page&lt;br /&gt;var smItemsPerPage = 7;&lt;br /&gt;// show or hide user profile images&lt;br /&gt;var smShowUserImages = true;&lt;br /&gt;// widget font size in pixels&lt;br /&gt;var smFontSize = 11;&lt;br /&gt;// height of the widget&lt;br /&gt;var smWidgetHeight = 500;&lt;br /&gt;// sources (optional, comment out for "all")&lt;br /&gt;//var smSources = ['twitter', 'googleblog', 'brightkite', 'delicious', 'friendfeed', 'flickr', 'identica', 'youare', 'digg'];&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript" language="javascript" src="http://socialmention.com/widgets/buzz.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;The code will result to:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_FGtHpu4BE5k/S8WHYkuXI-I/AAAAAAAAALM/SKqcTcZKNFs/s1600/screenshot_018.jpeg" imageanchor="1" rel="lightbox" style="margin-left: 1em; margin-right: 1em;" title="Realtime Buzz Widget"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/_FGtHpu4BE5k/S8WHYkuXI-I/AAAAAAAAALM/SKqcTcZKNFs/s320/screenshot_018.jpeg" width="190" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;In my opinion and as a person who likes to write, read and share articles online and loves the internet, I find this widget very helpful and useful. Thanks to &lt;/span&gt;&lt;b&gt;&lt;a href="http://www.linkedin.com/in/joncianciullo"&gt;Jon Cianciullo&lt;/a&gt; &lt;/b&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;,the person behind this project that allows us to easily track and measure what people are saying about you, your company, a new product, or any topic across the web's social media landscape in real-time.&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-7568152158131493694?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/7568152158131493694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/04/best-tool-for-monitoring-social-media.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/7568152158131493694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/7568152158131493694'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/04/best-tool-for-monitoring-social-media.html' title='Best Tool for Monitoring Social Media or Websites'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_FGtHpu4BE5k/S8WHYkuXI-I/AAAAAAAAALM/SKqcTcZKNFs/s72-c/screenshot_018.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-3226921210100914911</id><published>2010-04-10T07:32:00.000-07:00</published><updated>2010-04-10T07:33:14.016-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Articles'/><title type='text'>Android Software Competition by Globe Telecom</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;I first heard this news from &lt;a href="http://calenlegaspi.blogspot.com/"&gt;Calen Legaspi&lt;/a&gt;, our CEO at &lt;a href="http://www.orangeandbronze.com/"&gt;Orange and Bronze Software Labs&lt;/a&gt;, that Globe Labs will host and conduct its first mobile developer event for 2010. I've been hearing about Android platform since 2008 and now, Globe Labs posted an invitation for all developers to explore the new mobile platform.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;The event is an Android software competition open for all Filipino developers. This is an invitation to all developers to build their mobile application on top of Android platform.&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Big cash prizes are at stake in this competition, as well as the chance for the participating teams to pitch their product to international investors for funding. The competition will run through until July 2010. For more details on contest mechanics, dates and guidelines, please click &lt;a href="http://www.globelabs.com.ph/Pages/AndroidCompetition.aspx"&gt;here&lt;/a&gt;. &lt;/span&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;I think this event is a great opportunity for all developers. Its not just an opportunity to make money, but, an opportunity for learning how to develop an application on a new mobile platform. &lt;br /&gt;&lt;br /&gt;To those who are interested to join this competition, visit Globe Labs website at &lt;a href="http://www.globelabs.com.ph/blogs/pages/EventBlogWithComments.aspx?Pid=75"&gt;www.globelabs.com&lt;/a&gt; to sign-up.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-3226921210100914911?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/3226921210100914911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/04/android-software-competition-by-globe.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/3226921210100914911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/3226921210100914911'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/04/android-software-competition-by-globe.html' title='Android Software Competition by Globe Telecom'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-8525558983167744138</id><published>2010-04-10T07:25:00.000-07:00</published><updated>2010-04-16T02:56:09.100-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Tutorial on Android Views - Part 1</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;On my previous articles, we had a discussion on the android's definition and layout. I assume that you have already learn basics on manipulating android layout. In this and on the next article, we will be exploring and dealing more on the various types of commonly used views such as &lt;b&gt;TextView&lt;/b&gt;, &lt;b&gt;EditText&lt;/b&gt;, &lt;b&gt;Button&lt;/b&gt;, &lt;b&gt;ImageButton&lt;/b&gt;, &lt;b&gt;CheckBox&lt;/b&gt; and &lt;b&gt;ToggleButton&lt;/b&gt;. Those widgets are likely the most commonly used in developing android applications.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Lets begin by creating a new project on eclipse:&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Arial,Helvetica,sans-serif; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://4.bp.blogspot.com/_FGtHpu4BE5k/S7b6Efe6r1I/AAAAAAAAAKo/PmHM-F3nlSk/s1600/screenshot_014.jpeg" imageanchor="1" rel="lightbox" style="margin-left: 1em; margin-right: 1em;" title="Basic Views new project on eclipse"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/_FGtHpu4BE5k/S7b6Efe6r1I/AAAAAAAAAKo/PmHM-F3nlSk/s320/screenshot_014.jpeg" width="257" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;After which, create an Android XML under res/layout and name it &lt;b&gt;basicviews.xml&lt;/b&gt; having written inside is the following code below:&lt;a name='more'&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;LinearLayout&lt;br /&gt;&amp;nbsp; xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt;&amp;nbsp; android:layout_width="fill_parent"&lt;br /&gt;&amp;nbsp; android:layout_height="wrap_content"&lt;br /&gt;&amp;nbsp; android:orientation="vertical"&lt;br /&gt;&amp;nbsp; &amp;gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;lt;TextView&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Welcome to Android!"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="wrap_content"&lt;br /&gt;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;lt;EditText&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/sampleText"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:text=""&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="fill_parent"&lt;br /&gt;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;lt;Button&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/popupSampleText"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Pop up"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="fill_parent"&lt;br /&gt;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;lt;/LinearLayout&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;The code above contains basic views such as textview, edittext&lt;b&gt; &lt;/b&gt;and&lt;b&gt; &lt;/b&gt;button supplied with an id. The views id will be used later and discussed further in this discussion. We are doing this layout so we will be able to play around with those views. Below is a little description on those view types.&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;TextView&lt;/b&gt; - is basically an element that is used to display text on screen or to the user. It is one of the most basic views and most commonly used in developing an android application. Also, do take note that the text inside this view type is not editable.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;EditText&lt;/b&gt; - is another type of view that is used for character/text input such as name or passwords.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Button&lt;/b&gt; - it represents a push-button widget which can be pushed or clicked by the user to perform an activity, an event or an action.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: small;"&gt;Going back to views, its id must always start&amp;nbsp; with &lt;b&gt;"@+id/"&lt;/b&gt; specifier followed by a meaningful view name. So, the next step is we want to use or utilize the following views. Lets edit &lt;b&gt;BasicViewsPractice.java&lt;/b&gt; by making its code look like below:&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;package com.app.techie;&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.TextView;&lt;br /&gt;import android.widget.Toast;&lt;br /&gt;&lt;br /&gt;public class BasicViewsPractice extends Activity {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /** Called when the activity is first created. */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; super.onCreate(savedInstanceState);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setContentView(R.layout.basicviews);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Button popUp = (Button) findViewById(R.id.popupSampleText);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; popUp.setOnClickListener(new View.OnClickListener() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public void onClick(View v) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; TextView sampleText = (TextView) findViewById(R.id.sampleText);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(0 != sampleText.getText().toString().length()){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Toast.makeText(getBaseContext(), sampleText.getText().toString(), Toast.LENGTH_SHORT).show();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }else{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Toast.makeText(getBaseContext(), "The textbox is empty!", Toast.LENGTH_SHORT).show();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;In the code above, instead of using the main.xml layout, we replace it with &lt;b&gt;basicviews.xml&lt;/b&gt;&lt;/span&gt; layout on setContentView(...) method to load the layout we just did a while ago. We also instantiated a button as well as a editview. Those views are linked to the corresponding element with the exact id on the xml layout. Moreover, we also added an onClickListener () to the button so whenever the user clicks on it, the text inside the edittext will display on screen through Toast. Try running the application and it should look like this:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://3.bp.blogspot.com/_FGtHpu4BE5k/S7yvdjVMEWI/AAAAAAAAALA/UvigpElzklQ/s1600/screenshot_015.jpeg" imageanchor="1" rel="lightbox" style="margin-left: 1em; margin-right: 1em;" title="Utilizing TextView, EditText and Button Views type"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/_FGtHpu4BE5k/S7yvdjVMEWI/AAAAAAAAALA/UvigpElzklQ/s320/screenshot_015.jpeg" width="214" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;There you go! Your application should be similar to above. If the edittext is empty, it should display "textbox is empty" as a message. Moving forward, add the code below on basicviews.xml just right after popupButton view. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;&amp;lt;EditText&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/sampleTextPassword"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="sample"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:password="true"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="fill_parent"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&lt;br /&gt;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;lt;ImageButton&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/sampleImageButton"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="fill_parent"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:src="@drawable/icon"&lt;br /&gt;&amp;nbsp; /&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;The code added two new views. The edittext character will be replaced with a dot since we set its password attribute to true. The imagebutton is similar to a normal button view. Only that image button has an attribute where you can specify an icon to display wrap inside a button.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Lets do another update by adding the following code:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;&amp;lt;CheckBox android:id="@+id/chkSample"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="fill_parent" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Checkbox Sample"&lt;br /&gt;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;lt;CheckBox android:id="@+id/chkStarLook" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; style="?android:attr/starStyle" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="wrap_content" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Star checkbox" &lt;br /&gt;&amp;nbsp; /&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;On the code, the first checkbox will look normal with a square and the second one will appear like a star since we provided a starStyle to its attribute. A checkbox is another special type of button. It has two state and its default is unchecked, otherwise its checked. For us to be able to try out checkbox view state, lets update BasicViewsPractice.java by adding the following code below:&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;CheckBox chkSample = (CheckBox) findViewById(R.id.chkSample);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chkSample.setOnClickListener(new View.OnClickListener() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public void onClick(View v) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(((CheckBox) v).isChecked()){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Toast.makeText(getBaseContext(), "Checked", Toast.LENGTH_SHORT).show();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }else{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Toast.makeText(getBaseContext(), "Unchecked", Toast.LENGTH_SHORT).show();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }); &lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;That suffice how you are going to verify a chechbox view state using java code. That same code also applies to the star checkbox. Just change the id of the checkbox on your java code. Try running the code and you should be able to see something like below.&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Arial,Helvetica,sans-serif; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://3.bp.blogspot.com/_FGtHpu4BE5k/S8CGvhaTXsI/AAAAAAAAALE/EZsq8StyFmM/s1600/screenshot_016.jpeg" imageanchor="1" rel="lightbox" style="margin-left: 1em; margin-right: 1em;" title="Checkbox views and style"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/_FGtHpu4BE5k/S8CGvhaTXsI/AAAAAAAAALE/EZsq8StyFmM/s320/screenshot_016.jpeg" width="215" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Another view that behaves like CheckBox is the ToggleButton. It has two state, checked and unchecked, just like a CheckBox view. Only that this time, it has a light indicator to display its current state. Try it out by adding a togglebutton on basicviews.xml.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;&amp;lt;ToggleButton android:id="@+id/tglSample" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="wrap_content" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Light switch" &lt;br /&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;To be able to check its current state, add the following code below on the BasicViewsPractice.java.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;ToggleButton tglSample = (ToggleButton) findViewById(R.id.tglSample);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tglSample.setOnClickListener(new View.OnClickListener() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public void onClick(View v) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(((ToggleButton) v).isChecked()){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Toast.makeText(getBaseContext(), "Light On", Toast.LENGTH_SHORT).show();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }else{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Toast.makeText(getBaseContext(), "Light Off", Toast.LENGTH_SHORT).show();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;As you can see above, its more or less like the code on checking a checkbox view. Try running the code and see for yourself.&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://1.bp.blogspot.com/_FGtHpu4BE5k/S8CIR7VJPMI/AAAAAAAAALI/CaKKUgVv3kQ/s1600/screenshot_017.jpeg" imageanchor="1" rel="lightbox" style="margin-left: 1em; margin-right: 1em;" title="ToggleButton view"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/_FGtHpu4BE5k/S8CIR7VJPMI/AAAAAAAAALI/CaKKUgVv3kQ/s320/screenshot_017.jpeg" width="216" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Nutshell:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;In this tutorial we were able to learn and experiment on textView, edittext, button, imagebutton, checkbox and toggle button. However, there are still more views to learn and they will be discussed in detail my next article. Hope you learned from this article. Enjoy!&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-8525558983167744138?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/8525558983167744138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/04/tutorial-on-android-views-part-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/8525558983167744138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/8525558983167744138'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/04/tutorial-on-android-views-part-1.html' title='Tutorial on Android Views - Part 1'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_FGtHpu4BE5k/S7b6Efe6r1I/AAAAAAAAAKo/PmHM-F3nlSk/s72-c/screenshot_014.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-1653657877545728061</id><published>2010-04-02T23:27:00.001-07:00</published><updated>2010-04-02T23:27:56.560-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><title type='text'>Webmaster Tools Tip for Blogger</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;During my research about webmaster tools, I found out that there are three major search engine that provides detailed information on how they see and crawl your website. However, they require account confirmation and website verification before you can access most of its features. Below are the steps on how you'll be able to take advantage of those search engine webmaster tools.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Google Webmaster Tools&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;ol style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Log in to &lt;a href="https://www.google.com/webmasters/tools/" style="background-color: #cccccc;"&gt;https://www.google.com/webmasters/tools/&lt;/a&gt; with your Google account.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Enter your blog URL and click &lt;b&gt;Add Site&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;You will be presented with several verification methods. Choose &lt;b&gt;Meta Tag&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Copy the meta tag, which looks something like&lt;br /&gt;&lt;code&gt;&amp;lt;meta content="dBw5CvburAxi537Rp9qi5uG2174Vb6JwHwIRwPSLIK8" name="google-site-verification"&amp;gt;&amp;lt;/meta&amp;gt;&lt;/code&gt;&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Leave the verification page open and go to your blog &lt;b&gt;Dashboard &amp;gt; Layout &amp;gt; Edit HTML&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Open the Blogger Dashboard and paste the code after &lt;b&gt;&amp;lt;head&amp;gt;&lt;/b&gt; tag.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Click on &lt;b&gt;Save Template&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Go back to the verification page and click &lt;b&gt;Verify&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Yahoo Site Explorer&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Log in to &lt;a href="https://siteexplorer.search.yahoo.com/" style="background-color: #cccccc;"&gt;https://siteexplorer.search.yahoo.com/&lt;/a&gt; with your Yahoo account.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Enter your blog URL and click &lt;b&gt;Add My Site&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;You will be presented with several authentication methods. Choose &lt;b&gt;By adding a META tag to my home page..&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Copy the meta tag, which looks something like&lt;br /&gt;&lt;code&gt;&amp;lt;meta content="3236dee82aabe064" name="y_key"&amp;gt;&amp;lt;/meta&amp;gt;&lt;/code&gt;&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Leave the verification page open and go to your blog &lt;b&gt;Dashboard &amp;gt; Layout &amp;gt; Edit HTML&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Open the Blogger Dashboard and paste the code after &lt;b&gt;&amp;lt;head&amp;gt;&lt;/b&gt; tag.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Click on &lt;b&gt;Save Changes&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Go back to the verification page and click &lt;b&gt;Read to Authenticate&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Bing Webmaster Center&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Log in to &lt;a href="http://www.bing.com/webmaster" style="background-color: #cccccc;"&gt;http://www.bing.com/webmaster&lt;/a&gt; with your Live! account.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Click &lt;b&gt;Add a Site&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Enter your blog URL and click &lt;b&gt;Submit&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Copy the meta tag from the text area at the bottom. It looks something like&lt;br /&gt;&lt;code&gt;&amp;lt;meta name='msvalidate.01' content='12C1203B5086AECE94EB3A3D9830B2E'&amp;gt;&lt;/code&gt;&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Leave the verification page open and go to your blog &lt;b&gt;Dashboard &amp;gt; Layout &amp;gt; Edit HTML&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Open the Blogger Dashboard and paste the code after &lt;b&gt;&amp;lt;head&amp;gt;&lt;/b&gt; tag.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Click on &lt;b&gt;Save Changes&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Go back to the verification page and click &lt;b&gt;Return to the Site List&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-size: small;"&gt;After doing those, hopefully you can now start monitoring your site on those three major search engines by using there respective webmaster tool. It will take time before it gets all the necessary data.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;So, that ends my article. Hope you find this article helpful and if you have any suggestions feel free to leave a comment or shoot me an email.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-1653657877545728061?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/1653657877545728061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/04/webmaster-tools-tip-for-blogger.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/1653657877545728061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/1653657877545728061'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/04/webmaster-tools-tip-for-blogger.html' title='Webmaster Tools Tip for Blogger'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-3964035206989134343</id><published>2010-04-02T10:45:00.000-07:00</published><updated>2010-04-02T22:15:23.398-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Articles'/><title type='text'>Techie Focus List</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;During my day job, I work on the business and back-end layer of a J2EE Quoting Software with heavy data handling and manipulation. Even though what I'm working on is part of an enterprise web application, I feel like my abilities in developing ground up application are depreciating. I find my self in need to keep up with the latest trends of technology and to learn what is in demand.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;The scale of today's demand of software or applications seem to be in favour of&amp;nbsp; the web so I decided to focus on the web stack. I made a list below of the technologies hopefully are and will be in demand soon according to the people and forums I asked on-line.&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;I'm actually familiar on some of the technologies below. However, I need thorough review to prepare my mindset and gain back my skills in using the those technologies and frameworks.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Technologies:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Groovy and Grails&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Python and DJango&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;C++ &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Java Specific:&lt;/b&gt; &lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Java Server Faces(JSF) / Struts&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Spring&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;JPA/JDO &amp;amp; Hibernate&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;AppEngine&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;WebService &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt; JUnit &amp;amp; Mockery&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Hudson&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Ant / Ivy&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;IBM WebSphere&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Android&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;JBoss/Glashfish&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Databases:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;MySQL&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Derby&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Oracle&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;PostgreSQL&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;IBM DB2&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;SQLite&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;In addition, I will also be learning Linux administration for maintaining servers as well as repairs. I'm actually a linux user since college but I still feel I need to dig deeper on systems administration. Another goal also is taking the SCJP exam late this year.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;I already started and feeling great to be in the road again. &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-3964035206989134343?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/3964035206989134343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/04/techie-focus-list.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/3964035206989134343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/3964035206989134343'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/04/techie-focus-list.html' title='Techie Focus List'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-1221806201771893773</id><published>2010-04-01T22:39:00.001-07:00</published><updated>2010-04-02T10:46:18.178-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><title type='text'>Blogger or Blogspot Title Tag Optimization Tip</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;I know there h&lt;/span&gt;&lt;span style="font-size: small;"&gt;ad been lots and lots of title tag optimization tip written online. However, I thought of sharing what best and works to me among all those I have read and researched online. I made a little bit of improvement to make search engine bot crawlers read my blog title efficiently.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;We do know that blogger is part of Google, however, blogger default templates are poorly optimized. To be able to compete woth other blogs, there are few things to do and that includes optimizing your blogger title tag.&lt;/span&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;The title tag is a critical part of optimizing your blogger or blogspot blog. Its the one that search engine look over when they crawl your blog links. For example, &lt;b&gt;Google only looks at the first 80 characters of your blog's post title&lt;/b&gt;. So say for example on your default template title is rendered like:&lt;/span&gt;&lt;span style="font-size: small;"&gt; &lt;i&gt;(green for blog title and orange for post title)&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: white; font-family: Arial,Helvetica,sans-serif; text-align: center;"&gt;&lt;span style="background-color: #93c47d;"&gt;Techie Boy from CDO&lt;/span&gt; - &lt;span style="background-color: orange; font-size: small;"&gt;Tutorial on Android Layout&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;The above wasted &lt;/span&gt;20 characters occupied by the blog title which should instead be occupied by the post title. To fix the above, it should look like:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="background-color: orange;"&gt;Tutorial on Android Layout&lt;/span&gt; - &lt;/span&gt;&lt;span style="background-color: #93c47d;"&gt;Techie Boy from CDO &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Moreover, other search engines does not just read titles. Some read &lt;b&gt;meta tags for description and keywords&lt;/b&gt; to locate your website. So, its important to also include and place relevant meta tags on your title.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;So, lets begin:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1. Go to your Layout and Edit HTML tab. Check option Expand Widgets Templates and look for the following tag:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;code&gt;&amp;lt;title&amp;gt;&amp;lt;data:blog.pagetitle/&amp;gt;&amp;lt;/title&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2. Optimize the title by replacing the code by:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;code&gt;&amp;lt;b:if cond='data:blog.pageType == &amp;amp;quot;index&amp;amp;quot;'&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;h1&amp;gt;&amp;lt;title&amp;gt;&amp;lt;data:blog.title/&amp;gt;&amp;lt;/title&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta content='Provide description' name='Description'/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta content='Provide keywords' name='Keywords'/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;b:else/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;b:if cond='data:blog.pageType == &amp;amp;quot;archive&amp;amp;quot;'&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;h1&amp;gt;&amp;lt;title&amp;gt;&amp;lt;data:blog.title/&amp;gt;&amp;lt;/title&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta content='Same description above' name='Description'/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta content='Same keywords above' name='Keywords'/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;b:else/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;b:if cond='data:blog.pageType == &amp;amp;quot;item&amp;amp;quot;'&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;h1&amp;gt;&amp;lt;title&amp;gt;&amp;lt;data:blog.pageName/&amp;gt; ~ &amp;lt;data:blog.title/&amp;gt;&amp;lt;/title&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta expr:content='data:blog.pageName' name='Description'/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta expr:content='data:blog.pageName + data:blog.title +data:blog.pageTitle' name='Keywords'/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;b:else/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;h1&amp;gt;&amp;lt;title&amp;gt;&amp;lt;data:blog.pageTitle/&amp;gt;&amp;lt;/title&amp;gt;&amp;lt;/h1&amp;gt;&amp;lt;/b:if&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/b:if&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/b:if&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;3. &lt;/span&gt;Save template and your done!&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;b&gt;Nutshell:&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;This tip is just one way of optimizing your blog. SEO is difficult so to speak. There are calculations and many different ways. Another way of gaining visitors is making use of widgets like Share, Facebook Fan Page, Google Connect, RSS feeds, &lt;/span&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;adding your page or blog on search engines and relevant blog directories, and many, many more... &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Hope you find this article helpful. Good luck and have fun!&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-1221806201771893773?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/1221806201771893773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/04/blogger-or-blogspot-title-tag.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/1221806201771893773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/1221806201771893773'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/04/blogger-or-blogspot-title-tag.html' title='Blogger or Blogspot Title Tag Optimization Tip'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-2839429645944377417</id><published>2010-03-28T08:03:00.000-07:00</published><updated>2010-04-16T02:56:09.101-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Tutorial on Android Layout</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;On my previous article, I've discussed more on the theory and definition of an Android. In this article, we will be dealing more on the technical aspect of developing android application layout. I will walk you through various elements that make up the user interface(UI) and how to position different widgets on an android screen.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Terms to remember:&lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Activity - the basic unit of an android application. It contains views and ViewGroup.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;View - a widget that has an appearance on screen.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Widget - are user interface components like buttons, labels, text boxes, etc.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;ViewGroup - a special type of View that provides the layout in which you can group views, order the appearance and sequence your views.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Just an additional information; In a typical android project, UI is defined using an XML file located in the res/layout folder. An example is main.xml located in res/layout&lt;/span&gt;&lt;span style="font-size: small;"&gt; folder.&amp;nbsp; During runtime, the .xml file where you defined your UI is loaded using the onCreate()&lt;/span&gt;&lt;span style="font-size: small;"&gt; event handler of your activity class and using setContentView() &lt;/span&gt;&lt;span style="font-size: small;"&gt;method of the extended Activity class. Moreover, during compilation time, each of the element in the defined UI xml file are compiled into an equivalent Android GUI class wherein its attributes are represented by methods.&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=3254161708679601539&amp;amp;postID=2839429645944377417" name="more"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Furthermore, Android supports various ViewGroups and among those are the &lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;linear&lt;/b&gt;, &lt;b&gt;absolute&lt;/b&gt;, &lt;b&gt;table&lt;/b&gt;, &lt;b&gt;relative&lt;/b&gt; and &lt;b&gt;scroll view&lt;/b&gt; layouts. This layouts will be discussed in details below.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;At this point, I presume you already setup your development environment for programming Android applications. If you haven't, please follow the &lt;a href="http://developer.android.com/sdk/installing.html"&gt;&lt;span style="color: #3d85c6;"&gt;android setup tutorial&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Get Your Hands Dirty&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;So, lets begin by creating the sample project on eclipse. Do observe the screen shot below.&lt;i&gt; (Click the image to enlarge)&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Arial,Helvetica,sans-serif; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/_FGtHpu4BE5k/S69uY80V2XI/AAAAAAAAAI4/Rcz159UMVtM/s1600/screenshot_001.jpeg" imageanchor="1" rel="lightbox" style="margin-left: 1em; margin-right: 1em;" title="New project on eclipse"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/_FGtHpu4BE5k/S69uY80V2XI/AAAAAAAAAI4/Rcz159UMVtM/s400/screenshot_001.jpeg" width="316" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;There is another application called &lt;a href="http://www.droiddraw.org/"&gt;&lt;span style="color: #3d85c6;"&gt;DroidDraw&lt;/span&gt;&lt;/a&gt; which you can use to design your layout aside from eclipse. Though, eclipse has its Android layout editor, it has limited features. Perhaps, you might want to use DroidDraw instead which supports drag and drop. However, its on your disposal whether which tool could help. On this ongoing tutorial, we will be using only the xml editor on eclipse.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;LinearLayout&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;It is the layout widget where you are able to arrange your views horizontally or vertically on a single row or single column. To see the how it works, lets create &lt;i&gt;linear.xml&lt;/i&gt; under &lt;i&gt;res/layout&lt;/i&gt; folder in the project and enter the code below:&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Arial,Helvetica,sans-serif; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://4.bp.blogspot.com/_FGtHpu4BE5k/S698qGb2EbI/AAAAAAAAAJI/_MHPjVjDHik/s1600/screenshot_003.jpeg" imageanchor="1" rel="lightbox" style="margin-left: 1em; margin-right: 1em;" title="New Android XML file on eclipse"&gt;&lt;img border="0" height="293" src="http://4.bp.blogspot.com/_FGtHpu4BE5k/S698qGb2EbI/AAAAAAAAAJI/_MHPjVjDHik/s320/screenshot_003.jpeg" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;LinearLayout&lt;br /&gt;xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt;android:layout_width="fill_parent"&lt;br /&gt;android:layout_height="wrap_content"&lt;br /&gt;android:orientation="vertical"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;TextView&lt;br /&gt;android:id="@+id/sampleText01"&lt;br /&gt;android:layout_width="wrap_content"&lt;br /&gt;android:layout_height="wrap_content"&lt;br /&gt;android:text="Sample Text 01"&lt;br /&gt;/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;TextView&lt;br /&gt;android:id="@+id/sampleText02"&lt;br /&gt;android:layout_width="wrap_content"&lt;br /&gt;android:layout_height="wrap_content"&lt;br /&gt;android:text="Sample Text 02"&lt;br /&gt;/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/LinearLayout&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;and change the LayoutPractice.java code to:&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;package com.techie.layout;&lt;br /&gt;&lt;br /&gt;import android.app.Activity;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;&lt;br /&gt;public class LayoutPractice 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.linear);&lt;br /&gt;}&lt;br /&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;that will result to:&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Arial,Helvetica,sans-serif; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/_FGtHpu4BE5k/S69-cJmwbZI/AAAAAAAAAJQ/kl5J3Key0Ko/s1600/screenshot_004.jpeg" imageanchor="1" rel="lightbox" style="margin-left: 1em; margin-right: 1em;" title="Linear layout vertical alignment"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/_FGtHpu4BE5k/S69-cJmwbZI/AAAAAAAAAJQ/kl5J3Key0Ko/s320/screenshot_004.jpeg" width="216" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;On the code above, you'll notice that it starts with a container &amp;lt;LinearLayout&amp;gt; android xml element that hold and control the order and appearance of the other views elements inside it. That serves as the main container of the views elements &amp;lt;TextView&amp;gt;. You'll also notice that we specified the layouts' orientation to vertical. By its default, it is set to horizontal. Other than that, we also specified the layouts' width and height. That basically are the basic ones that you need to specify in a layout element.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;The fill_parent and wrap_content are two constants. You should use fill_parent if you want the full size of the parent container which in our case is the linear layout container. Use wrap_content if you want the size of its content. Try adding a button to linear.xml and specify its width like below:&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;&amp;lt;Button&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/sampleButton01"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="fill_parent"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Sample Button 01"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Experiment by changing its width to wrap_content. Also, you can specify its layouts width and size by pixel(px). See the code below for an example:&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;&amp;lt;Button&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/sampleButton01"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="150px"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="40px"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Sample Button 01"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&amp;nbsp;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Arial,Helvetica,sans-serif; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://4.bp.blogspot.com/_FGtHpu4BE5k/S6-InEFa1OI/AAAAAAAAAJY/j7yyAJIcOQ0/s1600/screenshot_005.jpeg" imageanchor="1" rel="lightbox-linear" style="margin-left: 1em; margin-right: 1em;" title="Button width is fill_parent"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/_FGtHpu4BE5k/S6-InEFa1OI/AAAAAAAAAJY/j7yyAJIcOQ0/s200/screenshot_005.jpeg" width="135" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_FGtHpu4BE5k/S6-I164kICI/AAAAAAAAAJo/aR7ua888wdU/s1600/screenshot_006.jpeg" imageanchor="1" rel="lightbox-linear" style="margin-left: 1em; margin-right: 1em;" title="Button width and height are specified in pixels"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/_FGtHpu4BE5k/S6-I164kICI/AAAAAAAAAJo/aR7ua888wdU/s200/screenshot_006.jpeg" width="133" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;In linear layout, layout_weight and layout_gravity attributes are applicable to views contained within it.&amp;nbsp; Below is an example of how to use it.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;LinearLayout&lt;br /&gt;&amp;nbsp; xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt;&amp;nbsp; android:layout_width="fill_parent"&lt;br /&gt;&amp;nbsp; android:layout_height="fill_parent"&lt;br /&gt;&amp;nbsp; android:orientation="vertical"&amp;gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextView&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/sampleText01"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="wrap_content"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Sample Text 01"&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextView&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/sampleText02"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="wrap_content"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Sample Text 02"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/sampleButton01"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="150px"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="40px"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Sample Button 01"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;Button&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/sampleButton02"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="150px"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="40px"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Sample Button 02"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_weight="0.2"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_gravity="right"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;Button&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/sampleButton03"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="150px"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="40px"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Sample Button 03"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_weight="0.2"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_gravity="left"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;EditText&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="fill_parent"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:textSize="18sp"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_weight="0.8"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;lt;/LinearLayout&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;In the above code, we applied layout_gravity to both buttons which aligned them to right and left corner of the parent container. The layout_weight attribute was used to specify the ratio in which the button and editText views occupy the remaining space on the screen.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://3.bp.blogspot.com/_FGtHpu4BE5k/S7A80ineWkI/AAAAAAAAAJw/-OoHgTXwCdU/s1600/screenshot_007.jpeg" imageanchor="1" rel="lightbox" style="margin-left: 1em; margin-right: 1em;" title="Sample implementation on layout_weight and layout_gravity"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/_FGtHpu4BE5k/S7A80ineWkI/AAAAAAAAAJw/-OoHgTXwCdU/s200/screenshot_007.jpeg" width="135" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;AbsoluteLayout&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;It enables you to specify the exact location of its content views like buttons, textview, and etc.. Lets create another android xml named absolute.xml under res/layout folder of the project. See the code below.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;AbsoluteLayout&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="fill_parent"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="fill_parent"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="150px"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Button 1"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_x="12px"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_y="361px"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="150px"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Button 2" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_x="160px"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_y="361px"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;lt;/AbsoluteLayout&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;So, in the above you'll notice that we make use of the view attributes layout_x and layout_y to specify the exact positions of the absolute layouts' contents. To be able to see the changes, do change the code below:&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;package com.techie.layout;&lt;br /&gt;&lt;br /&gt;import android.app.Activity;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;&lt;br /&gt;public class LayoutPractice extends Activity {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /** Called when the activity is first created. */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; super.onCreate(savedInstanceState);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setContentView(&lt;span style="color: red;"&gt;R.layout.absolute&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;It will render the user interface like this:&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; font-family: Arial,Helvetica,sans-serif; text-align: center;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://2.bp.blogspot.com/_FGtHpu4BE5k/S7BA4mk9GFI/AAAAAAAAAJ4/1SiY-cZesGM/s1600/screenshot_008.jpeg" imageanchor="1" rel="lightbox" style="margin-left: 1em; margin-right: 1em;" title="Absolute layout demo"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_FGtHpu4BE5k/S7BA4mk9GFI/AAAAAAAAAJ4/1SiY-cZesGM/s200/screenshot_008.jpeg" width="135" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;b&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;TableLayout&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Like a&amp;nbsp; normal table tag, it enables you to group views by rows and columns. Every views you place inside a row forms a cell. The cells' width is determined by the largest cell by that column.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Create table.xml under res/layout of the project folder containing the following code:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;TableLayout&lt;br /&gt;&amp;nbsp; xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt;&amp;nbsp; android:layout_width="fill_parent"&lt;br /&gt;&amp;nbsp; android:layout_height="fill_parent"&amp;gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;lt;TableRow&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextView&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="First Name"&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EditText&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="150px"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/TableRow&amp;gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;lt;TableRow&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextView&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Last Name"&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EditText&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="150px"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/TableRow&amp;gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;lt;TableRow&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextView&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Are you developer?"&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;CheckBox&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Yes"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/TableRow&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;lt;TableRow&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextView&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Password"&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EditText&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="150px"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:password="&lt;span style="color: red;"&gt;true&lt;/span&gt;"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/TableRow&amp;gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;lt;TableRow&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: red;"&gt;&amp;lt;TextView/&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Submit"&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/TableRow&amp;gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;lt;/TableLayout&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Don't forget to update the LayoutPractice activity code to &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; super.onCreate(savedInstanceState);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setContentView(&lt;span style="color: red;"&gt;R.layout.table&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_FGtHpu4BE5k/S7BPhYvZ99I/AAAAAAAAAKA/Anu-ZoGLLkA/s1600/screenshot_009.jpeg" imageanchor="1" rel="lightbox" style="margin-left: 1em; margin-right: 1em;" title="Table layout sample"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/_FGtHpu4BE5k/S7BPhYvZ99I/AAAAAAAAAKA/Anu-ZoGLLkA/s200/screenshot_009.jpeg" width="135" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;So, as you can see above, the code implemented 2 column and 5 rows. The&amp;nbsp; views width&amp;nbsp; on column 1 were of same size with the largest view width in that column. Note also that&amp;nbsp; a view&amp;nbsp; was added just above the Submit button so that the Submit button will align on the second column. If you remove the textView, it will look like this:&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_FGtHpu4BE5k/S7BR6nm6X7I/AAAAAAAAAKI/H3SX8lSM3zs/s1600/screenshot_010.jpeg" imageanchor="1" rel="lightbox" style="margin-left: 1em; margin-right: 1em;" title="Table layout sample"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/_FGtHpu4BE5k/S7BR6nm6X7I/AAAAAAAAAKI/H3SX8lSM3zs/s200/screenshot_010.jpeg" width="135" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt; Moreover, on the 5th row, a textView for password was added. The attribute password was set to true so that the text entered will be replaced with a dot.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;RelativeLayout&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt; This layout enables you to specify child view's position relating to another view. It makes use of available view attributes &lt;i&gt;alignParentTop, alignParentLeft, alignLeft, alighRight, below, centerHorizontal&lt;/i&gt; and etc. Those mentioned attributes are made available to views inside a relative layout for them to be align relative to another view. Take note that it utilize id's of another view. Take a look at the code below:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;RelativeLayout&lt;br /&gt;&amp;nbsp; xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt;&amp;nbsp; android:layout_width="fill_parent"&lt;br /&gt;&amp;nbsp; android:layout_height="fill_parent"&amp;gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;TextView&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/labelComments"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="wrap_content"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Comments"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_alignParentTop="true"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_alignParentLeft="true"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EditText&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/textComments"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="fill_parent"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="170px"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:textSize="18sp"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_alignLeft="@+id/labelComments"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_below="@+id/labelComments"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_centerHorizontal="true"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/buttonSave"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="125px"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Save"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_below="@+id/textComments"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_alignRight="@+id/textComments"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/buttonCancel"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="124px"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Cancel"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_below="@+id/textComments"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_alignLeft="@+id/textComments"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;lt;/RelativeLayout&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_FGtHpu4BE5k/S7BnIRa5KmI/AAAAAAAAAKQ/XnDAsOUbzCQ/s1600/screenshot_011.jpeg" imageanchor="1" rel="lightbox" style="margin-left: 1em; margin-right: 1em;" title="Relative layout sample"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/_FGtHpu4BE5k/S7BnIRa5KmI/AAAAAAAAAKQ/XnDAsOUbzCQ/s200/screenshot_011.jpeg" width="134" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt; &lt;b&gt;ScrollView&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;It is a frame layout that enables a feature where the user can scroll through a list that basically occupy more space than the available physical space on your android phone. A scrollview can only contain one viewgroup which is normally a linearlayout. The code below has a linear layout inside a scroll view.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Try this by creating scrollview.xml under res/layout folder of the project.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;code&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;ScrollView&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/widget54"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="fill_parent"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="fill_parent"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;LinearLayout&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="300px"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:orientation="vertical"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/button1"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="fill_parent"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Button 1"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/button2"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="fill_parent"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Button 2"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/button3"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="fill_parent"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Button 3"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EditText&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/txt1"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="fill_parent"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="300px"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/button4"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="fill_parent"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Button 4"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/button5"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="fill_parent"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="wrap_content"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:text="Button 5"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EditText&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:id="@+id/txt2"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_width="fill_parent"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:layout_height="200px"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;&amp;lt;/ScrollView&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;The above code results to the following:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_FGtHpu4BE5k/S7B39oCubzI/AAAAAAAAAKY/99n0G4R4n9s/s1600/screenshot_012.jpeg" imageanchor="1" rel="lightbox-scroll" style="margin-left: 1em; margin-right: 1em;" title="Scroll View implementation"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/_FGtHpu4BE5k/S7B39oCubzI/AAAAAAAAAKY/99n0G4R4n9s/s200/screenshot_012.jpeg" width="134" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_FGtHpu4BE5k/S7B4ECl32uI/AAAAAAAAAKg/oVXqvDmXe6E/s1600/screenshot_013.jpeg" imageanchor="1" rel="lightbox-scroll" style="margin-left: 1em; margin-right: 1em;" title="Scroll View implementation(scrolled down)"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_FGtHpu4BE5k/S7B4ECl32uI/AAAAAAAAAKg/oVXqvDmXe6E/s200/screenshot_013.jpeg" width="133" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;The above is a neat implementation of scroll view where inside is a linear container having contents that occupy more than the available actual space of an android screen.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Nutshell&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;In this article, you saw various &lt;/span&gt;&lt;span style="font-size: small;"&gt;layout &lt;/span&gt;&lt;span style="font-size: small;"&gt;implementations with wigets on top of Android. On the next articles, we will focus on other components of the UI which is the views.&amp;nbsp; Practice on your newly learned lay-outing skill. &lt;/span&gt;&lt;span style="font-size: small;"&gt;So, stay tune and have fun with android!&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="font-size: small;"&gt;I would like to give credit to &lt;/span&gt;Wei-Meng Lee who written&amp;nbsp; a very helpful &lt;a href="http://mobiforge.com/designing/story/understanding-user-interface-android-part-1-layouts" style="color: #3d85c6;"&gt;tutorial&lt;/a&gt; on android layout.&lt;/i&gt;&lt;span style="font-size: small;"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-2839429645944377417?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/2839429645944377417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/03/tutorial-on-android-layout.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/2839429645944377417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/2839429645944377417'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/03/tutorial-on-android-layout.html' title='Tutorial on Android Layout'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_FGtHpu4BE5k/S69uY80V2XI/AAAAAAAAAI4/Rcz159UMVtM/s72-c/screenshot_001.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-4676685300984322692</id><published>2010-03-25T01:58:00.000-07:00</published><updated>2010-03-25T20:35:23.727-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Definition'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Learning Android By Definition</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_FGtHpu4BE5k/S6uAfYRhX6I/AAAAAAAAAIw/W78_9hKkpTI/s1600/android.gif" imageanchor="1" rel="lightbox" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;" title="Android logo"&gt;&lt;img border="0" class="thumbnail" height="150" src="http://4.bp.blogspot.com/_FGtHpu4BE5k/S6uAfYRhX6I/AAAAAAAAAIw/W78_9hKkpTI/s200/android.gif" width="150" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: small;"&gt;Android is an open source platform for mobile devices. It is not a hardware. Its basically a software. In fact, It is a software stack as defined by Google. Encase your not familiar with the term, &lt;i&gt;software stack&lt;/i&gt; is compose of an Operating System(OS), middle-ware &amp;amp; the key applications.&lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;OS is by simply defined as platform between you and the hardware and where all applications run.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Middle-ware &lt;/span&gt;&lt;span style="font-size: small;"&gt;is/are the components and available package that allows applications to communicate to a network and to one another.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Key Applications is/are the actual programs or software that the phones will run&lt;/span&gt; &lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;It was the product of the joint effort of Google and Open Handset Alliance(OHA). It was released&lt;/span&gt;&lt;span style="font-size: small;"&gt; November 5, 2007 which is shortly just after Apple's first generation iPhone release. Android is based on an opensource operating system called Linux. &lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Android is equipped with a set of core applications that includes an email client, SMS program, browser, contacts, calendar, maps, and others. Another good thing is that all applications are written using the Java programming language which is also an opensource programming language. See below for features.&lt;/span&gt;&lt;/div&gt;&lt;blockquote style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;h2&gt;&lt;span style="font-size: small;"&gt;Features&lt;/span&gt;&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Application framework&lt;/b&gt; enabling reuse and replacement     of components&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Dalvik virtual machine&lt;/b&gt; optimized for mobile         devices&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Integrated browser&lt;/b&gt; based on the open source &lt;a href="http://webkit.org/" style="color: #3d85c6;"&gt;WebKit&lt;/a&gt; engine &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Optimized graphics&lt;/b&gt; powered by a custom 2D graphics library; 3D     graphics based on the OpenGL ES 1.0 specification (hardware acceleration     optional)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;SQLite&lt;/b&gt; for structured data storage&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Media support&lt;/b&gt; for common audio, video, and still     image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG,     GIF)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;GSM Telephony&lt;/b&gt; (hardware dependent)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Bluetooth, EDGE, 3G, and WiFi&lt;/b&gt; (hardware dependent)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Camera, GPS, compass, and accelerometer&lt;/b&gt; (hardware dependent)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Rich development environment&lt;/b&gt; including a device     emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse ID&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Android is an exiting open platform for mobile development. It offer's the ability to build extremely rich and innovative applications. Developers are given freedom to take full advantage of the device hardware, retrieve location information, run silent operations, camera usage, alerts, and much, much more. Finally, the Application Program Interface(API ) is freely and fully accessible for developers. That makes learning so much easier.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;Market demand for android software and developers are increasing. No wonder my company,&amp;nbsp;&lt;a href="http://orangeandbronze.com/"&gt; &lt;span style="color: #3d85c6;"&gt;Orange &amp;amp; Bronze Software Labs, Inc.&lt;/span&gt;&lt;/a&gt;, was encouraging its developers to start learning, mastering and creating software/applications made in Java that runs in an Android phone. &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;I just started with Android couple of days ago and so far, I find it very interesting &amp;amp; fun to learn. So, I recommend you get started too. Good luck!&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;i&gt;Note: To be able to learn more about Android, visit &lt;a href="http://developer.android.com/" style="color: #3d85c6;"&gt;http://developer.android.com/&lt;/a&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-4676685300984322692?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/4676685300984322692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/03/learning-android-by-definition.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/4676685300984322692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/4676685300984322692'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/03/learning-android-by-definition.html' title='Learning Android By Definition'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_FGtHpu4BE5k/S6uAfYRhX6I/AAAAAAAAAIw/W78_9hKkpTI/s72-c/android.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-1103133209696227574</id><published>2010-03-23T19:16:00.001-07:00</published><updated>2010-03-23T19:17:24.587-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Articles'/><title type='text'>Hello World by Techie Boy</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;This is my first article post so its a Hello World article! Its hello world because most of developers do the very first application regardless of any technology that is being use, they begin by displaying a "hello world" on a computer screen or may vary with regards to its intention.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Moving forward, I'm Paul Labis. Sole writer &amp;amp; owner of this blog. I am a graduate of the degree in Information Management from Ateneo de Cagayan University and working as a Software Engineer in Orange &amp;amp; Bronze Software Labs.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;I like anything related to information technology. I am also an Open Source believer. That sums up my explanation why I am inclined to Java programming, Groovy &amp;amp; Grails, App Engine, Python &amp;amp; DJango and other Open Source Frameworks.&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;You might be interested a bit on the reason why do I blog. Well, I'd say its primarily because I wanted to contribute and share my knowledge to everyone else who might need a hand. At first, my motivation was money but it was not enough and so for a while, I stopped blogging. Until such time and out off boredom, I reflected on a tutorial written by IBM about the groovy scripting language. I was able to reflect that if it wasn't because of this tutorial, I would not have accomplish my task. So I was deeply thinking and prospered on my decision that if I have an idle time, I'd spent it on making articles that would help other people do their task while at the same time enjoying and learning the new stuff.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;I know that there are a lot of good writers on-line publishing much relevant articles as I may have, but here is a thing, I don't care... Yes! I don't really care... I know am a horrible writer though. But, whatever that is your thinking, practice results to improvement and everyone knows that..&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;I hope you'll enjoy my blog articles and good luck. If you have relevant concerns, please feel free to drop an email at &lt;span style="color: #3d85c6;"&gt;paullabis@gmail.com&lt;/span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-1103133209696227574?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/1103133209696227574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/03/hello-world-by-techie-boy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/1103133209696227574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/1103133209696227574'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/03/hello-world-by-techie-boy.html' title='Hello World by Techie Boy'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3254161708679601539.post-4950692359231920780</id><published>2010-03-22T22:13:00.000-07:00</published><updated>2010-04-16T02:56:09.102-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Service'/><title type='text'>Web Service Tutorial in Java</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Web Service is a piece of software that makes a service available on web. It uses a universal standard XML processing. It is interoperable in a sense that it enables a .NET software on a Windows Server to communicate to a JAVA software on a Unix. In other words, its not bound to a specific programming language or an operating system.&lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;"&lt;a href="http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/#provider_agent"&gt;Provider agent&lt;/a&gt;" implements a Web service&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;"&lt;a href="http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/#requester_agent"&gt;Requester agent&lt;/a&gt;" (a.k.a. "client") makes use of that Web service&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;WSD(Web Service Description) represents a "contract"&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Specifies the message formats, transport protocols, locations&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: small;"&gt;What we want to do in this article is to create a project where it utilizes a web service online. I plot the step by step way of utilizing a web service through terminal.&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;i&gt;Please note that before you start the tutorial, you should make sure that you already setup Java on your ubuntu or linux operating system. Throughout this tutorial, we are not going to use eclipse or any IDE to acomplish our objective of utilizing a remote web service.&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="module moduleText color0" id="mod_5947632" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;h2&gt;&lt;span style="font-size: small;"&gt;1. Find a Remote Web Service/ Webservice &lt;/span&gt;&lt;/h2&gt;&lt;div class="txtd" id="txtd_5947632" style="text-align: justify; word-wrap: break-word;"&gt;&lt;span style="font-size: small;"&gt;There are a lot of sample remote web services to play on in &lt;a href="http://www.webservicex.net/" style="color: #6fa8dc;"&gt;www.webservicex.net&lt;/a&gt;. For the purpose of this tutorial. I would like to utilize Translator Engine Web Service (&lt;a href="http://www.webservicex.net/WCF/ServiceDetails.aspx?SID=47" style="color: #6fa8dc;"&gt;http://www.webservicex.net/WCF/ServiceDetails.aspx?SID=47&lt;/a&gt;). We are going to use &lt;b&gt;wsimport&lt;/b&gt;  to generates portable &lt;a href="http://en.wikipedia.org/wiki/JAX-WS" style="color: #6fa8dc;" title="JAX-WS"&gt;JAX-WS&lt;/a&gt; artifacts for invoking a web service.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="module moduleText color0" id="mod_5947674" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;h2&gt;&lt;span style="font-size: small;"&gt;2. Create a dynamic proxy from WSDL(Web Service Description Language)&lt;/span&gt;&lt;/h2&gt;&lt;div class="txtd" id="txtd_5947674" style="word-wrap: break-word;"&gt;&lt;span style="font-size: small;"&gt;We will make it structural by creating a directory : &lt;b&gt;./TranslatorWS&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Run generator on terminal by either $JAVA_HOME/Commands or $JAVA_HOME/bin/wsimport URL&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;In our case that is: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;$ &lt;/b&gt;&lt;b&gt;/usr/lib/jvm/java-6-sun-1.6.0.16/bin/wsimport -d ./TranslatorWS &lt;a href="http://www.webservicex.net/TranslateService.asmx?wsdl" style="color: #6fa8dc;"&gt;http://www.webservicex.net/TranslateService.asmx?wsdl&lt;/a&gt;&lt;/b&gt;&lt;/span&gt; &lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;i&gt;Result:  It will generate bunch of .class files under ./TranslatorWS folder&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="module moduleText color0" id="mod_5948097" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;h2&gt;&lt;span style="font-size: small;"&gt;3. Generate a jar file from the generated .class files&lt;/span&gt;&lt;/h2&gt;&lt;div class="txtd" id="txtd_5948097" style="word-wrap: break-word;"&gt;&lt;span style="font-size: small;"&gt;Open a terminal and navigate to your project.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Run on terminal: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;$ &lt;/b&gt;&lt;b&gt;jar cvf TranslatorWS.jar -C ./TranslatorWS/ .&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;i&gt;Result: A jar file name TranslatorWS.jar is generated out of the dynamic proxy of the remote Web Service.&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;h2&gt;&lt;span style="font-size: small;"&gt;4. Write Client code&lt;/span&gt;&lt;/h2&gt;&lt;a href="http://4.bp.blogspot.com/_FGtHpu4BE5k/S6hPxmJvb2I/AAAAAAAAAIg/7vCen0UbWO4/s1600/codestructure.jpg" imageanchor="1" rel="lightbox" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" title="Folder structure for Web Service"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/_FGtHpu4BE5k/S6hPxmJvb2I/AAAAAAAAAIg/7vCen0UbWO4/s200/codestructure.jpg" width="198" /&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;Let's structure our code by creating &lt;b&gt;./src&lt;/b&gt; folder and write something like &lt;b&gt;com.client.TranslatorWSClient.java&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;(Note: Inside src is com folder. Inside com is client folder. Inside client folder is the Java class)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;i&gt;Result: You are able to create the code to utilized the web service&lt;/i&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;code&gt;package com.client;&lt;br /&gt;&lt;br /&gt;import net.webservicex.Translate;&lt;br /&gt;import net.webservicex.TranslateService;&lt;br /&gt;import net.webservicex.TranslateServiceSoap;&lt;br /&gt;&lt;br /&gt;public class TranslatorWS {&lt;br /&gt;/**&lt;br /&gt;*   * @param args&lt;br /&gt;*     */&lt;br /&gt;public static void main(String[] args) {&lt;br /&gt;if (args.equals(null) || args.length == 0){&lt;br /&gt;printHelp();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;TranslateServiceSoap translatorService = new TranslateService().getTranslateServiceSoap();&lt;br /&gt;if ("EnglishTOFrench".equals(args[0])){&lt;br /&gt;System.out.println("Translation:");   &lt;br /&gt;System.out.println(translatorService.translate(args[0], args[1]));&lt;br /&gt;} &lt;br /&gt;}&lt;br /&gt;private static void printHelp() {&lt;br /&gt;System.out.println("TranslatorWS &amp;lt;language&amp;gt; &amp;lt;Word To Translate&amp;gt;");&lt;br /&gt;}&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="module moduleText color0" id="mod_5949946" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;h2&gt;&lt;span style="font-size: small;"&gt;5. Compile Client Code&lt;/span&gt;&lt;/h2&gt;&lt;div class="txtd" id="txtd_5949946" style="word-wrap: break-word;"&gt;&lt;span style="font-size: small;"&gt;Create a directory &lt;b&gt;./bin&lt;/b&gt; where you will store your compiled .class client class.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;RUN on terminal:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;$ &lt;/b&gt;&lt;b&gt;javac -classpath ./TranslatorWS.jar -d ./bin/ -verbose ./src/com/client/TranslatorWS.java&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;i&gt;Result : compiled client code under ./bin directory.&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2 style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;6. Run the client to utilize remote web service&lt;/span&gt;&lt;/h2&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Run on Terminal:&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;$ java -classpath ./bin/:./TranslatorWS.jar com.client.TranslatorWS EnglishTOFrench good&lt;/b&gt;Translation:&lt;br /&gt;Error occured when translating text please contact support@webservicex.net&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;&lt;i&gt;Result: A translation of the word. However, on this web service, an error message is sent back instead of the real thing.&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;&lt;b&gt;NOTE: &lt;/b&gt;These are free Web services just made for practice or tutorials therefore they are unreliable, sometimes their response time is quite big and wrong.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3254161708679601539-4950692359231920780?l=www.paullabis.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.paullabis.com/feeds/4950692359231920780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.paullabis.com/2010/03/web-service-tutorial-in-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/4950692359231920780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3254161708679601539/posts/default/4950692359231920780'/><link rel='alternate' type='text/html' href='http://www.paullabis.com/2010/03/web-service-tutorial-in-java.html' title='Web Service Tutorial in Java'/><author><name>Paul Labis</name><uri>http://www.blogger.com/profile/14361976311935199737</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_FGtHpu4BE5k/SYqc2tDCNCI/AAAAAAAAAAM/fLdL-Y23UKQ/S220/IMG0101A.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_FGtHpu4BE5k/S6hPxmJvb2I/AAAAAAAAAIg/7vCen0UbWO4/s72-c/codestructure.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
