<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>.::anti-abuse.com::. &#187; development</title>
	<atom:link href="http://security.anti-abuse.com/index.php/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://security.anti-abuse.com</link>
	<description>Security Revealed</description>
	<lastBuildDate>Fri, 30 Jul 2010 02:10:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Xceed Ultimate Suite 10.4.10375</title>
		<link>http://www.rapid.pk/2010/07/xceed-ultimate-suite-10410375.html</link>
		<comments>http://www.rapid.pk/2010/07/xceed-ultimate-suite-10410375.html#comments</comments>
		<pubDate>Wed, 28 Jul 2010 10:22:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Get all of Xceed's components, including grids, themes, charts, UI, Zip, FTP, and encryption. 65+ controls and libraries.Platforms: .NET, .NET CF, WPF, Silverlight 3, ActiveXThe Xceed Ultimate Suite Enterprise Edition offers the industry's most substantial licensing option for a component suite. It not only allows an unlimited number of developers to use the included components, but also]]></description>
			<content:encoded><![CDATA[Get all of Xceed's components, including grids, themes, charts, UI, Zip, FTP, and encryption. 65+ controls and libraries.Platforms: .NET, .NET CF, WPF, Silverlight 3, ActiveXThe Xceed Ultimate Suite Enterprise Edition offers the industry's most substantial licensing option for a component suite. It not only allows an unlimited number of developers to use the included components, but also]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/07/28/xceed-ultimate-suite-10-4-10375/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PROMT Freelance 9.0.410</title>
		<link>http://www.rapid.pk/2010/07/promt-freelance-90410.html</link>
		<comments>http://www.rapid.pk/2010/07/promt-freelance-90410.html#comments</comments>
		<pubDate>Mon, 26 Jul 2010 04:31:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[utilities]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[PROMT Freelance 9.0 is a brand new product in the best-of-breed PROMT desktop product family.The new offering addresses the technology requirements of the freelance translator community. PROMT Freelance 9.0 is the ideal desktop solution for language industry professionals who are looking for ways to optimize the translation process using the most innovative Computer Assisted Translation (CAT),]]></description>
			<content:encoded><![CDATA[PROMT Freelance 9.0 is a brand new product in the best-of-breed PROMT desktop product family.The new offering addresses the technology requirements of the freelance translator community. PROMT Freelance 9.0 is the ideal desktop solution for language industry professionals who are looking for ways to optimize the translation process using the most innovative Computer Assisted Translation (CAT),]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/07/26/promt-freelance-9-0-410/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>KeepTool 9.1.0.1</title>
		<link>http://www.rapid.pk/2010/07/keeptool-9101.html</link>
		<comments>http://www.rapid.pk/2010/07/keeptool-9101.html#comments</comments>
		<pubDate>Sun, 25 Jul 2010 03:05:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[The KeepTool family gathers together three Oracle productivity tools, each addressing a specific purpose and available separately.But each of the three products -   Hora,  ER Diagrammer und  PL/SQL Debugger - is also designed to work with the other two, and shares a common design philosophy.The goal is to make products easy and intuitive to use. KeepTool is updated many times each year to enhance]]></description>
			<content:encoded><![CDATA[The KeepTool family gathers together three Oracle productivity tools, each addressing a specific purpose and available separately.But each of the three products -   Hora,  ER Diagrammer und  PL/SQL Debugger - is also designed to work with the other two, and shares a common design philosophy.The goal is to make products easy and intuitive to use. KeepTool is updated many times each year to enhance]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/07/25/keeptool-9-1-0-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PenSoft Payroll 2010 3.10.3.09</title>
		<link>http://www.rapid.pk/2010/07/pensoft-payroll-2010-310309.html</link>
		<comments>http://www.rapid.pk/2010/07/pensoft-payroll-2010-310309.html#comments</comments>
		<pubDate>Sun, 25 Jul 2010 02:55:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[finance]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Payroll software for payroll processors with multiple payroll clients.Designed for payroll processors with multiple payroll clients. It is a power payroll software designed to streamline your payroll processing needs. With free unlimited Program Support, updates throughout the year, and calendar year software we offer the best value in payroll software.  Features:Tax tables for all 50]]></description>
			<content:encoded><![CDATA[Payroll software for payroll processors with multiple payroll clients.Designed for payroll processors with multiple payroll clients. It is a power payroll software designed to streamline your payroll processing needs. With free unlimited Program Support, updates throughout the year, and calendar year software we offer the best value in payroll software.  Features:Tax tables for all 50]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/07/25/pensoft-payroll-2010-3-10-3-09/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Syncro SVN Client 6.0</title>
		<link>http://www.rapid.pk/2010/07/syncro-svn-client-60.html</link>
		<comments>http://www.rapid.pk/2010/07/syncro-svn-client-60.html#comments</comments>
		<pubDate>Fri, 23 Jul 2010 23:05:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Syncro SVN Client  makes easier document and code sharing between content authors or developers.Syncro SVN Client is the best multiplatform SVN client that allows you to browse repositories, check for changes, commit changes, update your working copy and examine the revision history. The Syncro SVN Client has been designed to offer powerful actions while keeping the interface as clean and simple]]></description>
			<content:encoded><![CDATA[Syncro SVN Client  makes easier document and code sharing between content authors or developers.Syncro SVN Client is the best multiplatform SVN client that allows you to browse repositories, check for changes, commit changes, update your working copy and examine the revision history. The Syncro SVN Client has been designed to offer powerful actions while keeping the interface as clean and simple]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/07/24/syncro-svn-client-6-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jungo WinDriver 10.20 (x86/x64)</title>
		<link>http://www.rapid.pk/2010/07/jungo-windriver-1020-x86x64.html</link>
		<comments>http://www.rapid.pk/2010/07/jungo-windriver-1020-x86x64.html#comments</comments>
		<pubDate>Thu, 22 Jul 2010 13:02:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Market Leading Driver Development Toolkit For the Development of High Performance, High Quality User-Mode Device Drivers.WinDriver is a development toolkit that dramatically simplifies the difficult task of creating device drivers and hardware access applications. WinDriver includes a wizard and code generation features that automatically detect your hardware and generate the driver to access it]]></description>
			<content:encoded><![CDATA[Market Leading Driver Development Toolkit For the Development of High Performance, High Quality User-Mode Device Drivers.WinDriver is a development toolkit that dramatically simplifies the difficult task of creating device drivers and hardware access applications. WinDriver includes a wizard and code generation features that automatically detect your hardware and generate the driver to access it]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/07/22/jungo-windriver-10-20-x86x64/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nero Multimedia Suite 10.0.13200</title>
		<link>http://www.rapid.pk/2010/07/nero-multimedia-suite-10013200.html</link>
		<comments>http://www.rapid.pk/2010/07/nero-multimedia-suite-10013200.html#comments</comments>
		<pubDate>Thu, 22 Jul 2010 12:55:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[multimedia]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[utilities]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[World’s Best Selling Digital Media SuiteAdvanced video editing and HD movie creationReliable backup and easy recoveryIndustry leading CD, DVD and Blu-ray Disc burning and copyingNero Multimedia Suite 10 excels your multimedia power with a collection of three products bundled into one powerful suite. It’s loaded with advanced video editing features, media organizer and player, superior burning]]></description>
			<content:encoded><![CDATA[World’s Best Selling Digital Media SuiteAdvanced video editing and HD movie creationReliable backup and easy recoveryIndustry leading CD, DVD and Blu-ray Disc burning and copyingNero Multimedia Suite 10 excels your multimedia power with a collection of three products bundled into one powerful suite. It’s loaded with advanced video editing features, media organizer and player, superior burning]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/07/22/nero-multimedia-suite-10-0-13200/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android Development 101 – Part 3:Introduction to Databases</title>
		<link>http://hackaday.com/2010/07/21/android-development-101-part-3introduction-to-databases/</link>
		<comments>http://hackaday.com/2010/07/21/android-development-101-part-3introduction-to-databases/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 18:00:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[android hacks]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=26328</guid>
		<description><![CDATA[In this tutorial we will be pivoting from our last tutorial on Graphical Elements to start focusing on databases in Android development. The android platform uses SQLite databases in its applications and is one of five data storage options in android development. We will only be focusing on SQLite development in android because it is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&#38;blog=4779443&#38;post=26328&#38;subd=hackadaycom&#38;ref=&#38;feed=1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><img class="aligncenter size-large wp-image-26335" title="Android Lab" src="http://hackadaycom.files.wordpress.com/2010/07/img_199912_android-lab.jpg?w=450&#038;h=337" alt="" width="450" height="337" /></p>
<p>In this tutorial we will be pivoting from our last tutorial on <a href="http://hackaday.com/2010/07/19/android-development-101-part-2improved-hello-world/">Graphical Elements</a> to start focusing on databases in Android development.  The android platform uses SQLite databases in its applications and is one of five data storage options in android development.  We will only be focusing on SQLite development in android because it is key to the construction of a workable/functional program.  After this tutorial you should be able to implement a SQLite database that you are then able to insert and select items from tables in the database.</p>
<p>For this project we will be creating a Random Quote generator that has you enter quotes or sayings in a textbox and press a button to insert them into the database.  We will issue a confirmation toast that allows us to see if the data was entered into the database successfully and the textbox will be blank. If a second button is pressed, the database will be accessed and told to select a random quote from the database to show in a toast on the screen.</p>
<p><span id="more-26328"></span></p>
<p>To start off we will make a new project called <strong>RandomQuotes</strong>.  In <a href="http://hackaday.com/2010/07/15/android-dev-101-%E2%80%93-part-1hello-world/">part one</a> of the series we stepped through making a new project so we wont walk through all of the steps again but instead I will just give you the information you need.  The information to get this project up and running bare bones is as follows:</p>
<ul>
<li><strong>Project Name:</strong> RandomQuotes</li>
<li><strong>Build Target:</strong> Android 1.5</li>
<li><strong>Application Name:</strong> RandomQuotes</li>
<li><strong>Package Name:</strong> com.gregjacobs.randomquotes</li>
<li><strong>Create Activity:</strong> QuotesMain</li>
<li><strong>Min SDK Version:</strong> 3</li>
</ul>
<p style="text-align:center;"><a href="http://hackadaycom.files.wordpress.com/2010/07/part3-databases001.png"><img class="size-thumbnail wp-image-26336  aligncenter" title="Part3-Databases001" src="http://hackadaycom.files.wordpress.com/2010/07/part3-databases001.png?w=56&#038;h=96" alt="" width="56" height="96" /></a></p>
<p>After inserting these values and you have pressed Finish we will start by making a class file in our <em>com.gregjacobs.randomquotes</em> package.  To do this we will right click on the package and navigate to <strong>New </strong>then to <strong>Class</strong>.  When the new window pops up the only data we will enter is the <strong>Name </strong>section filling it with <strong>DBAdapter</strong>. After this is done we press <strong>Finish </strong>and are presented with a bare bones class file that we will quickly start to modify.  This tutorial will be like the last in the sense that code will be posted and I will explain the important parts and what functions are doing.  The only difference from the previous tutorial code will be that I include text files as well as documenting the code here so you are able to download and compare.  We will start off with the <em>DBAdapter.java</em> file:</p>
<p style="text-align:center;">
<p style="text-align:center;"><a href="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-005.png"><img class="size-thumbnail wp-image-26340   alignleft" title="Part3 - Final Product - 005" src="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-005.png?w=120&#038;h=96" alt="" width="120" height="96" /></a><a href="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-006.png"><img class="size-thumbnail wp-image-26341 alignleft" title="Part3 - Final Product - 006" src="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-006.png?w=120&#038;h=96" alt="" width="120" height="96" /></a><a href="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-007.png"><img class="size-thumbnail wp-image-26342   alignleft" title="Part3 - Final Product - 007" src="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-007.png?w=120&#038;h=96" alt="" width="120" height="96" /></a><a href="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-008.png"><img class="size-thumbnail wp-image-26343   alignleft" title="Part3 - Final Product - 008" src="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-008.png?w=120&#038;h=96" alt="" width="120" height="96" /></a></p>
<p style="text-align:center;">
<p style="text-align:center;">
<p style="text-align:center;">
<p style="text-align:left;">
<pre class="brush: java;">
package com.gregjacobs.randomquotes;

import java.util.Random;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
</pre>
<p>We will start off by importing all of the tools required to get this SQLite Database up and running.  All of these might be straightforward for database programmers but we will discuss them anyways.  <strong>ContentValues </strong>allow us the ability to store a set of values for insert statements, <strong>Context </strong>as explained in the last post allows us access to the application environment.  <strong>Cursor </strong>is probably the most vital import we will need next to the SQLite imports.  Cursor allows us access to the data returned to the cursor from a database query.  <strong>SQLException </strong>allows us to throw SQL exceptions if there is ever an error, these messages provide more insight as to what the problem may be.  <strong>SQLiteDatabase </strong>gives us the ability to manage a SQLite database using methods.  <strong>SQLiteOpenHelper </strong>is basically a helper class that allows for creation and version management of a database.  <strong>Log </strong>will basically log output in case there is an error.</p>
<pre class="brush: java;">
public class DBAdapter
{
    int id = 0;
    public static final String KEY_ROWID = &quot;_id&quot;;
    public static final String KEY_QUOTE = &quot;Quote&quot;;
    private static final String TAG = &quot;DBAdapter&quot;;

    private static final String DATABASE_NAME = &quot;Random&quot;;
    private static final String DATABASE_TABLE = &quot;tblRandomQuotes&quot;;
    private static final int DATABASE_VERSION = 1;

    private static final String DATABASE_CREATE =
        &quot;create table tblRandomQuotes (_id integer primary key autoincrement, &quot;
        + &quot;Quote text not null );&quot;;

    private final Context context;

    private DatabaseHelper DBHelper;
    private SQLiteDatabase db;
</pre>
<p>Here we define all of our variables to be used in the database from the database name right down to the database create statement.  We are using final variables because they will never change values and making a variable for table names and the like will later on make our lives easier than hard-coding all of our values and commiting too much (remember the re-usability).</p>
<pre class="brush: java;">
    public DBAdapter(Context ctx)
    {
        this.context = ctx;
        DBHelper = new DatabaseHelper(context);
    }

	private static class DatabaseHelper extends SQLiteOpenHelper
    {
        DatabaseHelper(Context context)
        {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
        }

        @Override
        public void onCreate(SQLiteDatabase db)
        {
            db.execSQL(DATABASE_CREATE);
        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion,
                              int newVersion)
        {
            Log.w(TAG, &quot;Upgrading database from version &quot; + oldVersion
                  + &quot; to &quot;
                  + newVersion + &quot;, which will destroy all old data&quot;);
            db.execSQL(&quot;DROP TABLE IF EXISTS tblRandomQuotes&quot;);
            onCreate(db);
        }
    }
    </pre>
<p>Above we define a constructor to grab the context of the application and extend that to our <strong>DatabaseHelper </strong>just under the constructor.  The <strong>DatabaseHelper </strong>class extends our <strong>SQLiteOpenHelper</strong> which will add greater functionality to management of our SQLite database.  The key function that we will see used later on will be <strong>onCreate</strong> which will allow us to execute a SQL statement to create our database.</p>
<pre class="brush: java;">
    //---opens the database---
    public DBAdapter open() throws SQLException
    {
        db = DBHelper.getWritableDatabase();
        return this;
    }

    //---closes the database---
    public void close()
    {
        DBHelper.close();
    }
    </pre>
<p>Above we have two key functions that allow us to open and close the database that can be referenced when calling them in our main <em>.java</em> file.</p>
<pre class="brush: java;">
    //---insert a title into the database---
    public long insertQuote(String Quote)
    {
        ContentValues initialValues = new ContentValues();
        initialValues.put(KEY_QUOTE, Quote);
        return db.insert(DATABASE_TABLE, null, initialValues);
    }
</pre>
<p>The function above will be processing our quotes when we call them in the main <em>.java</em> file. It will also be getting them ready for entry into the database by putting the string <strong>Quote </strong>into a <strong>ContentValues </strong>called <strong>initialValues </strong>which is then inserted into the database table.</p>
<pre class="brush: java;">
    public int getAllEntries()
    {
        Cursor cursor = db.rawQuery(
                    &quot;SELECT COUNT(Quote) FROM tblRandomQuotes&quot;, null);
                if(cursor.moveToFirst()) {
                    return cursor.getInt(0);
                }
                return cursor.getInt(0);

    }
    </pre>
<p>This function will be querying the database table for the number of quotes entered so it can assist the random number generator in how high a number to choose so that we don&#8217;t throw an exception.  We are using a <strong>rawQuery </strong>for the most part because I am personally not a huge fan of the way Android handles their queries ( having you enter in different parts of the statement in segments and separate them with commas) but I am impressed that they allow you to have full functionality with a native SQL query.  The if statement will move the cursor to the first result (if there are many results) and grab the first integer it sees there.  If the if statement is not true it will grab the result from the starting position anyways.</p>
<pre class="brush: java;">
    public String getRandomEntry()
    {

    	id = getAllEntries();
    	Random random = new Random();
    	int rand = random.nextInt(getAllEntries());
    	if(rand == 0)
    		++rand;
        Cursor cursor = db.rawQuery(
                    &quot;SELECT Quote FROM tblRandomQuotes WHERE _id = &quot; + rand, null);
                if(cursor.moveToFirst()) {
                    return cursor.getString(0);
                }
                return cursor.getString(0);

    }

}
</pre>
<p>This function will be called by the main <em>.java</em> program to return a random result based on the number of entries into our database.  We use the function <strong>getAllEntries </strong>to get the number of quotes and we then tell our random variable that it can go no higher than<strong> id</strong>.  In our select statement we then tell it to look for quote <strong>WHERE _id = rand</strong> which is our random number.</p>
<p>After this class file is completed, we have a fully reusable database adapter that is ready to start inserting quotes into the database.  We now need to focus on both of the XML files which will be a quick trip down memory lane so code and pictures will be posted and we shouldn’t have to review as everything is basically from the <a href="http://hackaday.com/2010/07/19/android-development-101-part-2improved-hello-world/">last post</a>.  Here is the <em>main.xml</em>:</p>
<p style="text-align:center;"><a href="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-010.png"><img class="aligncenter size-thumbnail wp-image-26346" title="Part3 - Final Product - 010" src="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-010.png?w=120&#038;h=96" alt="" width="120" height="96" /></a></p>
<pre class="brush: xml;">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    android:orientation=&quot;vertical&quot;
    android:layout_width=&quot;fill_parent&quot;
    android:layout_height=&quot;fill_parent&quot;
    &gt;
&lt;TextView
    android:layout_width=&quot;fill_parent&quot;
    android:layout_height=&quot;wrap_content&quot;
    android:text=&quot;@string/Quote&quot;
/&gt;
&lt;EditText
android:id=&quot;@+id/Quote&quot;
android:layout_width=&quot;fill_parent&quot;
android:layout_height=&quot;wrap_content&quot;
/&gt;
&lt;Button
android:id=&quot;@+id/go&quot;
android:layout_width=&quot;fill_parent&quot;
android:layout_height=&quot;wrap_content&quot;
android:text=&quot;@string/press&quot;
/&gt;
&lt;Button
android:id=&quot;@+id/genRan&quot;
android:layout_width=&quot;fill_parent&quot;
android:layout_height=&quot;wrap_content&quot;
android:text=&quot;@string/genRan&quot;
/&gt;
&lt;/LinearLayout&gt;
</pre>
<p>Here is the <em>strings.xml</em> file:</p>
<p style="text-align:center;"><a href="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-009.png"><img class="aligncenter size-thumbnail wp-image-26347" title="Part3 - Final Product - 009" src="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-009.png?w=120&#038;h=96" alt="" width="120" height="96" /></a></p>
<pre class="brush: xml;">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;resources&gt;
    &lt;string name=&quot;Quote&quot;&gt;Please Enter A Quote:&lt;/string&gt;
    &lt;string name=&quot;app_name&quot;&gt;Random Quotes&lt;/string&gt;
    &lt;string name=&quot;press&quot;&gt;Press Me!&lt;/string&gt;
    &lt;string name=&quot;genRan&quot;&gt;Generate Random Quote!&lt;/string&gt;
&lt;/resources&gt;
</pre>
<p>Both are pretty straight forward and the only difference from these files and the previous posts is the additional string node in <em>strings.xml</em> and the extra button in <em>main.xml</em>.  Now we have the layout in place with everything where we want it to be it is now our task to code the <em>QuotesMain.java</em> file.  This file will register our two buttons and attach them to one event handler using a switch statement.  Here is the code for our <em>QuotesMain.java</em> file:</p>
<p style="text-align:center;">
<p style="text-align:center;"><a href="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-011.png"><img class="size-thumbnail wp-image-26348 alignleft" title="Part3 - Final Product - 011" src="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-011.png?w=120&#038;h=96" alt="" width="120" height="96" /></a><a href="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-012.png"><img class="size-thumbnail wp-image-26349 alignleft" title="Part3 - Final Product - 012" src="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-012.png?w=120&#038;h=96" alt="" width="120" height="96" /></a><a href="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-013.png"><img class="size-thumbnail wp-image-26350 alignleft" title="Part3 - Final Product - 013" src="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-013.png?w=120&#038;h=96" alt="" width="120" height="96" /></a></p>
<p style="text-align:center;">
<p style="text-align:center;">
<p style="text-align:center;">
<pre class="brush: java;">
package com.gregjacobs.randomquotes;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
</pre>
<p>Here we are importing all of the required items to be able to pull this project together.  All of these should be familiar to you from <a href="http://hackaday.com/2010/07/19/android-development-101-part-2improved-hello-world/">Graphical Elements</a> and if they aren’t it is a good post to start on and work your way here.</p>
<pre class="brush: java;">
public class QuotesMain extends Activity {
	DBAdapter db = new DBAdapter(this);
	EditText Quote;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        // Capture our button from layout
        Button setButton = (Button)findViewById(R.id.go);
        Button getButton = (Button)findViewById(R.id.genRan);
        // Register the onClick listener with the implementation above
        setButton.setOnClickListener(mAddListener);
        getButton.setOnClickListener(mAddListener);
    }
</pre>
<p>We now have to buttons being referenced by id and they are <strong>getButton </strong>(which gets the information from the text box and inserts it into the database) and <strong>setButton </strong>(which retrieves a random quote from the database depending on the number of items in the database).  These both have the same event handler and decisions on what code to run are made below.</p>
<pre class="brush: java;">
    // Create an anonymous implementation of OnClickListener
    private OnClickListener mAddListener = new OnClickListener()
    {
    	public void onClick(View v)
    	{
    		switch(v.getId())
    		{
    		case R.id.go:
				db.open();
				long id = 0;
				// do something when the button is clicked
				try
				{
					Quote = (EditText)findViewById(R.id.Quote);
					db.insertQuote(Quote.getText().toString());

					id = db.getAllEntries();

					Context context = getApplicationContext();
					CharSequence text = &quot;The quote '&quot; + Quote.getText() + &quot;' was added successfully!\nQuotes Total = &quot; + id;
					int duration = Toast.LENGTH_LONG;

					Toast toast = Toast.makeText(context, text, duration);
					toast.show();
					Quote.setText(&quot;&quot;);
				}
				catch (Exception ex)
				{
					Context context = getApplicationContext();
					CharSequence text = ex.toString() + &quot;ID = &quot; + id;
					int duration = Toast.LENGTH_LONG;

					Toast toast = Toast.makeText(context, text, duration);
					toast.show();
				}
				db.close();
				break;
</pre>
<p>In the above case statement we can see that we grab the text from the textbox and insert the data into the database using <strong>db.insertQuote</strong> from the <strong>DBAdapter </strong>java class.  After a successful insertion we will display a toast that allows us to see what quote was entered in successfully and what the number of quotes in the database are.</p>
<pre class="brush: java;">
    		case R.id.genRan:
    			db.open();
    			//long id1 = 0;
    			// do something when the button is clicked
    			try
    			{
    				String quote = &quot;&quot;;
    				quote = db.getRandomEntry();
    				Context context = getApplicationContext();
    				CharSequence text = quote;
    				int duration = Toast.LENGTH_LONG;

    				Toast toast = Toast.makeText(context, text, duration);
    				toast.show();
    			}
    			catch (Exception ex)
    			{
    				Context context = getApplicationContext();
    				CharSequence text = ex.toString();
    				int duration = Toast.LENGTH_LONG;

    				Toast toast = Toast.makeText(context, text, duration);
    				toast.show();
    			}
    			db.close();
    		}
		}
    };
}
</pre>
<p>This case uses a string variable to reference the random entry we are pulling out of the database using <strong>db.getRandomEntry</strong>.  We then display that data in a toast to show that the information was actually grabbed.  All of this code when pulled together and displayed on an android screen should look like this:</p>
<p>Entering Text:</p>
<p style="text-align:center;"><a href="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-001.png"><img class="aligncenter size-thumbnail wp-image-26352" title="Part3 - Final Product - 001" src="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-001.png?w=114&#038;h=96" alt="" width="114" height="96" /></a></p>
<p>Displaying Random Entries:</p>
<p style="text-align:center;"><a href="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-002.png"><img class="aligncenter size-thumbnail wp-image-26353" title="Part3 - Final Product - 002" src="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-002.png?w=114&#038;h=96" alt="" width="114" height="96" /></a><a href="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-003.png"><img class="aligncenter size-thumbnail wp-image-26354" title="Part3 - Final Product - 003" src="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-003.png?w=114&#038;h=96" alt="" width="114" height="96" /></a></p>
<p>With an introduction to databases for android covered you can start writing applications that require data storage such as the final product mentioned in the first post.  There are a plethora of other features to cover in SQLite databasing for android. More of those will be covered in the next tutorial.  Things such as updating your database, deleting entries and getting to know your way around the <strong>DDMS </strong>(Dalvik Debug Monitor Service) are all an essential part of android programming.  If you can’t wait till the next article to check these articles on <a href="http://developer.android.com/guide/developing/tools/ddms.html">DDMS </a>and <a href="http://www.devx.com/wireless/Article/40842/1954">Updating and Deleting</a>.  As always if anyone has problems, questions or issues don&#8217;t hesitate to ask and I will try my hardest to get back to you before the next post! Until the next time, Happy Hacking!</p>
<p>Text files of code for comparison:</p>
<p><a href="http://hackadaycom.files.wordpress.com/2010/07/dbadapter.doc">DBAdapter</a> | <a href="http://hackadaycom.files.wordpress.com/2010/07/strings.doc">strings</a> | <a href="http://hackadaycom.files.wordpress.com/2010/07/main.doc">main</a> | <a href="http://hackadaycom.files.wordpress.com/2010/07/quotesmain.doc">QuotesMain</a></p>
<p>Articles used for reference:</p>
<p>DevX &#8211; <a href="http://www.devx.com/wireless/Article/40842/1954">Creating and Using Databases in Android</a><br />
Android Developers &#8211; <a href="http://developer.android.com/guide/index.html">Reference Guide</a></p>
<p>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/26328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/26328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/26328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/26328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/26328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/26328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/26328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/26328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/26328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/26328/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&#038;blog=4779443&#038;post=26328&#038;subd=hackadaycom&#038;ref=&#038;feed=1" /></p>
]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2010/07/21/android-development-101-part-3introduction-to-databases/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-012.png?w=120" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-003.png?w=114" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-002.png?w=114" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-001.png?w=114" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-013.png?w=120" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-011.png?w=120" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-009.png?w=120" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-010.png?w=120" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-008.png?w=120" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-007.png?w=120" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-006.png?w=120" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/part3-final-product-005.png?w=120" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/part3-databases001.png?w=56" length="" type="" />
<enclosure url="" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/img_199912_android-lab.jpg?w=450" length="" type="" />
		</item>
		<item>
		<title>CyberLink MediaShow Ultra 5.1.1529</title>
		<link>http://www.rapid.pk/2010/07/cyberlink-mediashow-ultra-511529.html</link>
		<comments>http://www.rapid.pk/2010/07/cyberlink-mediashow-ultra-511529.html#comments</comments>
		<pubDate>Wed, 21 Jul 2010 08:45:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[multimedia]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Preserve Your Memories &#38; Share Your StoriesOne-click fixes to preserve videos &#38; photos for generationsSmart workflow to tag &#38; search faces in archived photosCombine videos &#38; photos to create memorable slideshowsConvert videos up to 10X faster for iTunes and portable playersShare your stories on Facebook, YouTube, and burn to discCyberLink MediaShow is a fast and easy way to preserve and share]]></description>
			<content:encoded><![CDATA[Preserve Your Memories &#38; Share Your StoriesOne-click fixes to preserve videos &#38; photos for generationsSmart workflow to tag &#38; search faces in archived photosCombine videos &#38; photos to create memorable slideshowsConvert videos up to 10X faster for iTunes and portable playersShare your stories on Facebook, YouTube, and burn to discCyberLink MediaShow is a fast and easy way to preserve and share]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/07/21/cyberlink-mediashow-ultra-5-1-1529/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android Development 101- Part 2:Graphical Elements</title>
		<link>http://hackaday.com/2010/07/19/android-development-101-part-2improved-hello-world/</link>
		<comments>http://hackaday.com/2010/07/19/android-development-101-part-2improved-hello-world/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 14:27:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[android hacks]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=26212</guid>
		<description><![CDATA[In this tutorial, we will be continuing from where we left off with the “hello world” application.  This time adding a graphical user interface (GUI) and a “toast”. The GUI will consist of a button, textbox and a label. The “toast” will be issued onto the screen when the button is pressed. Some may wonder [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&#38;blog=4779443&#38;post=26212&#38;subd=hackadaycom&#38;ref=&#38;feed=1" />]]></description>
			<content:encoded><![CDATA[<div>
<p id="internal-source-marker_0.7013613982126117" style="text-align:center;">
<div style="text-align:center;"><img src="https://lh5.googleusercontent.com/tmG03_E95y_ceOn37-e6dVhj6l-McikGPvdm80Py_NK6_3PeQRwceHlOQW-pNyktB0WlbJgautrZX87iaHLWYe0QLUHlFX84YavnF1A5JmuzadS5" alt="" width="474px;" height="296px;" /></div>
<p>In this tutorial, we will be continuing from where we left off with the “<a href="http://hackaday.com/2010/07/15/android-dev-101-%E2%80%93-part-1hello-world/">hello world</a>” application.  This time adding a graphical user interface (GUI) and a “toast”. The GUI will consist of a button, textbox and a label. The “toast” will be issued onto the screen when the button is pressed.</p>
<p>Some may wonder what a toast is.  Well, for non-programmers, a toast is a text notification that for the most part is used only to display an error on the screen (I am a big fan of using toasts instead of an alert on the screen as its less intrusive).  For this article we will use a toast to display a message on the screen that will take the text in the textbox and issue a “Hello Greg” onto the bottom of the screen.  After this article completed you will be able to successfully make toast commands, design the layout of the hello world program, and pull text from a textbox.</p>
<p><span id="more-26212"></span></p>
<p>We are going to start off by copy our <a href="http://hackaday.com/2010/07/15/android-dev-101-%E2%80%93-part-1hello-world/">existing Hello World project</a> so that we can use the original in every way but have two separate projects to show the difference and both can be used as references.  To do this we will right click on the root of our <strong>HelloWorld </strong>project in the right hand pane (Navigation Explorer), navigate to copy (<em><span style="text-decoration:underline;">not </span></em><strong>Copy Qualified Name</strong>) and click it.  Then find a blank space in the Navigation Explorer, right click again and click paste.  You will be asked to supply a new name for this project and whether to use the default location.  We will name the new project <strong>ImprovedHelloWorld </strong>and we will leave the checkbox checked that says “use default location”.  Press <strong>OK </strong>and the new project will be generated from the old one.</p>
<p style="text-align:center;"><a href="http://hackadaycom.files.wordpress.com/2010/07/strings1.png"><img class="alignnone size-thumbnail wp-image-26238" title="Strings" src="http://hackadaycom.files.wordpress.com/2010/07/strings1.png?w=123&#038;h=96" alt="" width="123" height="96" /></a></p>
<p style="text-align:left;">The first thing we are going to accomplish is changing the <em>strings.xml</em> file to add another node under <em>app_name</em>.  We will do this by copying the node above it and pasting the copied material directly under the last <em>&lt;/string&gt;</em> element.  Then we will change the name of the string to press and in between we will write <strong>Press Me!</strong>.  Next we will alter the <strong>hello </strong>node and change the text to say <strong>Enter Your Name Here:</strong> instead of <strong>Hello Android, Hello World!</strong>. This being accomplished we now need to design the GUI (Graphical User Interface).</p>
<p style="text-align:center;"><a href="http://hackadaycom.files.wordpress.com/2010/07/main1.png"><img class="alignnone size-thumbnail wp-image-26239" title="main" src="http://hackadaycom.files.wordpress.com/2010/07/main1.png?w=123&#038;h=96" alt="" width="123" height="96" /></a></p>
<p style="text-align:left;">To do this navigate to main.xml and we are going to go over what everything does up to this point.  We first off have a node called <strong>LinearLayout </strong>which essentially creates a space for adding objects such as textboxes, buttons and the like and will format the layout for us.  So LinearLayout will organize one thing right after the other in a one column and one row type of deal.  Next we have a <strong>TextView </strong>which in any other label we could call a label.  Now to go over what all of the parameters are in the nodes we just mentioned.  <strong>android:layout_width</strong> &amp; <strong>android:layout_height</strong> are used to determine what will happen to an object when it is used within a layout.  There are two options when using this and they are <em>fill_parent </em>or <em>wrap_content</em>.  <em>fill_parent </em>will do exactly as it states, it will size the object so that it will fill the screen either vertically or horizontally.  <em>wrap_content </em>will format the object to expand or shrink to the size of the content displayed within.  Both of these variables can be used in many different objects including but not limited to <strong>Layouts</strong>, <strong>Text Views</strong>,<strong> Text Boxes</strong>, and <strong>Buttons</strong>.  android:text is used in certain objects like TextViews and TextBoxes to display text to the user.  As of right now, we are presenting the user with text but calling it from strings.xml instead of entering the text right in the node itself.  To reference <em>strings.xml</em> all that is needed is to put <em>@string/pres</em>s, where press is the name of your variable, inside the quotations.</p>
<p style="text-align:left;">Now that we are familiar with the terms, we will need to modify this to first house a label, textbox and finally a button.  To do this we will simply add a textbox and button since we already took care of the label in the <em>string.xml</em>.  To add a Textbox we will start on a new line under ending of the <em>&lt;TextView /&gt;</em> node.  Just to be clear I will add code inline and explain why we are adding it afterwards. <strong> &lt;EditText android:id=”@+id/helloName” android:layout_width=”fill_parent” android:layout_height=”wrap_content” /&gt;</strong>.  EditText will be our textbox in this instance.  Also when giving items an ID it is best to follow these practises of adding <strong>@+id/</strong> before your variable name which makes it possible to tie into your <em>.java</em> file later.  Next we will add <strong>&lt;Button android:id=”@+id/go” android:layout_width=”fill_parent” android:layout_height=”wrap_content” android:text=”@string/press” /&gt;</strong> directly underneath the ending of our <em>EditText </em>node.  Notice we are referencing the<em> string.xml</em> and calling the node that says <strong>Press Me!</strong> which will appear on our button now.  If you were to run this project now you would be able to see the layout of the program we just made but we are unable to get it to do anything except enter text in the textbox.</p>
<p>This next section will contain a lot of code and I will provide most of the screenshots of the code to help you through.  First, it is good to realize every time you would like to reference an object in your layout we need to import it.  We will need to add imports for our button and textbox.  We can do that bu adding these lines of code to the imports section at the top:</p>
<p><strong>import android.widget.Button;<br />
import android.widget.EditText;</strong></p>
<p><strong> </strong><br />
After that we will need to include four more imports, the first being for event listen to add to our button, the second will be for the toast that we will call when the event handler runs, the third being the context of the application and the fourth to get the view of the application and handle the layout and interaction.  These imports can be added under the previous ones and will look like this:</p>
<p><strong> import android.view.View.OnClickListener;<br />
import android.widget.Toast;<br />
import android.content.Context;<br />
import android.view.View;</strong></p>
<p><strong> </strong><br />
After these are added to your imports we are ready to get into coding the event handler for our button and the onCreate functions, which is called when the program is started.  To make things easier and to complement the screenshot, I will post the rest of the code and explain what the important lines are doing and why we are using them.</p>
<p><strong>public class HelloMain extends Activity {</strong></p>
<p><strong> EditText helloName;</strong></p>
<p><strong><br />
<span style="font-weight:normal;"> We are creating a reference to our textbox above any function so that it only has to be declared once but instantiated many times if need be.</span></strong></p>
<p><strong><span style="font-weight:normal;"> </span><br />
/** Called when the activity is first created. */</strong></p>
<p><strong> </strong><strong> @Override</strong></p>
<p><strong> public void onCreate(Bundle savedInstanceState)</strong></p>
<p><strong> {</strong></p>
<p><strong> super.onCreate(savedInstanceState);</strong></p>
<p><strong> setContentView(R.layout.main);</strong></p>
<p><strong> // Capture our button from layout</strong></p>
<p><strong> Button button = (Button)findViewById(R.id.go);</strong></p>
<p><strong> // Register the onClick listener with the implementation above</strong></p>
<p><strong> button.setOnClickListener(mAddListener);</strong></p>
<p><strong> }</strong></p>
<p>Above we capture the button from the layout using a variable.  With this variable we are going to assign it an onClick Event Handler as shown on the last line above.  Below we are creating the Event Handler for it to be hooked in above.  After creating this function it will be able to pull the text from the TextBox and display it with static text.</p>
<p><strong> // Create an anonymous implementation of OnClickListener</strong></p>
<p><strong> private OnClickListener mAddListener = new OnClickListener()</strong></p>
<p><strong> {</strong></p>
<p><strong> public void onClick(View v)</strong></p>
<p><strong> {</strong></p>
<p><strong> long id = 0;</strong></p>
<p><strong> // do something when the button is clicked</strong></p>
<p><strong> try</strong></p>
<p><strong> {</strong></p>
<p><strong> </strong><strong> helloName = (EditText)findViewById(R.id.helloName);</strong></p>
<p>Here we instantiate the TextBox we declared earlier and capture the Textbox in the layout by finding it by the ID that we gave it.</p>
<p><strong> Context context = getApplicationContext();</strong></p>
<p><strong> CharSequence text = &#8220;Hello &#8221; + helloName.getText() + 					&#8220;!&#8221;;</strong></p>
<p><strong> int duration = Toast.LENGTH_LONG;</strong></p>
<p><strong> Toast toast = Toast.makeText(context, text, duration);</strong></p>
<p><strong> toast.show();</strong></p>
<p><strong> </strong><br />
The above code will take Context (the facet to our applications enviroment) and and add it to our Toast along with our dynamic CharSequence text and the length the Toast will appear onscreen, which in this case we want it to be longer.  It is key to note how to make a Toast as it is more efficient that popping up textboxes to the user as well as it is less distracting.</p>
<p><strong><br />
}</strong></p>
<p><strong> catch (Exception ex)</strong></p>
<p><strong> {</strong></p>
<p><strong> </strong><strong> Context context = getApplicationContext();</strong></p>
<p><strong> CharSequence text = ex.toString() + &#8220;ID = &#8221; + id;</strong></p>
<p><strong> int duration = Toast.LENGTH_LONG;</strong></p>
<p><strong> Toast toast = Toast.makeText(context, text, duration);</strong></p>
<p><strong> toast.show();</strong></p>
<p><strong> }</strong></p>
<p><strong> }</strong></p>
<p><strong> };</strong></p>
<p><strong>}</strong></p>
<p><strong> </strong><br />
The last thing we are doing for this function is putting all the important stuff mentioned above into a try catch statement which will try our important code and if there is an error it will display a Toast letting us know there was an error and a message about that error.  For functions such as these is it crucial to have precautions in place to catch errors and not have a program force close.  It is important to put the user first in thinking about UI and any error messages that might occur.  If an error somehow sneaks into your program try catch statements will catch the error and make it “cute and fuzzy” for the user.</p>
<p style="text-align:center;">Top half of code:</p>
<p style="text-align:center;"><a href="http://hackadaycom.files.wordpress.com/2010/07/ihw-11.png"><img class="alignnone size-thumbnail wp-image-26240" title="IHW-1" src="http://hackadaycom.files.wordpress.com/2010/07/ihw-11.png?w=123&#038;h=96" alt="" width="123" height="96" /></a><br />
Bottom half of code, elapsed by previous view of code:</p>
<p style="text-align:center;"><a href="http://hackadaycom.files.wordpress.com/2010/07/ihw-21.png"><img class="size-thumbnail wp-image-26241 aligncenter" title="IHW-2" src="http://hackadaycom.files.wordpress.com/2010/07/ihw-21.png?w=123&#038;h=96" alt="" width="123" height="96" /></a></p>
<p style="text-align:left;">After we have coded the main content for our .java file, we can now proceed to run the application and view our completed Improved Hello World program.  Notice that when you press the button and your textbox has not text in it that the program will still function correctly.  This is a good feature to have so that you don&#8217;t start seeing Toasts containing error messages.  The completed product should look like this when the button is pressed:</p>
<p style="text-align:left;">
<p style="text-align:left;"><img class="aligncenter" src="https://lh6.googleusercontent.com/NZcd9aVHyzvrCxuC3F5zRfqwU6nPZ2fHtFwEKVOwYUtOIrboRPxQ9OLmTzAZAkz1D_DR7fHeyG4XhEIocAh4p7QtgLFa-5Uy0U4d0V84LR3lAqw3" alt="" width="470;" height="400" /><br />
This would conclude our Improved Hello World example but the learning is far from over.  Next post we will examine Databases and a look into some simple queries as well as building a database from the ground up.  As always, if you have any problems with coding this article, feel free to leave a comment and I will assist in any way possible! If you can’t wait for the next post you can read up on <a href="http://developer.android.com/guide/topics/data/data-storage.html#db">databases</a> before the next posting.  Until next time, Happy Hacking!</p>
</div>
<p style="text-align:center;">
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/26212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/26212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/26212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/26212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/26212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/26212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/26212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/26212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/26212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/26212/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&#038;blog=4779443&#038;post=26212&#038;subd=hackadaycom&#038;ref=&#038;feed=1" /></p>
]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2010/07/19/android-development-101-part-2improved-hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="//lh6.googleusercontent.com/NZcd9aVHyzvrCxuC3F5zRfqwU6nPZ2fHtFwEKVOwYUtOIrboRPxQ9OLmTzAZAkz1D_DR7fHeyG4XhEIocAh4p7QtgLFa-5Uy0U4d0V84LR3lAqw3" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/ihw-21.png?w=123" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/ihw-11.png?w=123" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/main1.png?w=123" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/strings1.png?w=123" length="" type="" />
<enclosure url="" length="" type="" />
<enclosure url="//lh5.googleusercontent.com/tmG03_E95y_ceOn37-e6dVhj6l-McikGPvdm80Py_NK6_3PeQRwceHlOQW-pNyktB0WlbJgautrZX87iaHLWYe0QLUHlFX84YavnF1A5JmuzadS5" length="" type="" />
		</item>
		<item>
		<title>Android Development 101 – Part 1:Hello World</title>
		<link>http://hackaday.com/2010/07/15/android-dev-101-%E2%80%93-part-1hello-world/</link>
		<comments>http://hackaday.com/2010/07/15/android-dev-101-%E2%80%93-part-1hello-world/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 19:00:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://hackadaycom.wordpress.com/?p=26089</guid>
		<description><![CDATA[This article will focus on developing a simple hello world program for android using Java. Google has recently released a “cute and fuzzy” programming environment for beginners to get into but I haven’t had the chance to try it, so we will be focusing on the Eclipse IDE here, which you should have set up [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&#38;blog=4779443&#38;post=26089&#38;subd=hackadaycom&#38;ref=&#38;feed=1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><img src="http://hackadaycom.files.wordpress.com/2010/07/071510_1521_androiddev112.png" border="0" alt="" /></p>
<p style="text-align:left;">This article will focus on developing a simple hello world program for android using Java. Google has recently released a “<a href="http://appinventor.googlelabs.com/about/">cute and fuzzy</a>” programming environment for beginners to get into but I haven’t had the chance to try it, so we will be focusing on the Eclipse IDE here, which you should have set up in the <a href="http://hackaday.com/2010/07/12/android-development-101-%E2%80%93-a-tutorial-series/">last post</a>.  When creating a text based project there are two very important items.  It will involve creating an android project, going through the necessary steps to complete both the (1) XML files and the (2) Java file and get this project ready for production and eventually deployment.  The requirements of this project are simple, know the basis of XML (for new comers if you don’t that’s OK too, you will learn) and know Java (very basic knowledge but you will learn as we go and we will modify a few parts of the java file today).</p>
<p style="text-align:left;"><span id="more-26089"></span></p>
<p style="text-align:center;"><img class="aligncenter" src="http://hackadaycom.files.wordpress.com/2010/07/071510_1521_androiddev122.png" border="0" alt="" /></p>
<p>Start by firing up Eclipse and clicking <strong>File</strong>, <strong>New</strong> then <strong>Project</strong>.  We are going to navigate to <strong>Android</strong> folder and select <strong>Android Project</strong> and click next.  If you have updated your Android SDK correctly, your next screen will look like this. This screen requires we enter all data correctly including Project Name, Build Target, Application Name, Package Name, Create Activity, and Min SDK Version.   These are important terms to know because they will control what keywords you can access and what your project looks like when you first create it.  So to summarize:</p>
<ul>
<li>
<div><strong>Project Name:</strong> Will be the name you would like to use for your new project.  In this instance we will use &#8220;HelloWorld&#8221; (I am a programmer and loath spaces you might choose to have them but it shouldn&#8217;t make a difference)</div>
</li>
<li><strong>Build Target:</strong> This will specify what API you will be utilizing in your projects.  It is key to choose wisely or you may lose out on a wider audience than anticipated.  It is always best to think of what your program will use and see if a lower build will support those functions before cornering yourself with a higher API.  For this program we are going to choose Android 1.5</li>
<li><strong>Application Name: </strong>Will be the name you choose for your Application to be called.  This can be changed later on and for right now we make that field equal Hello World.</li>
<li><strong>Package name: </strong>The package name will consist of your company&#8217;s standard package name that you would use or in my case I use my entrepreneurial one.  For this I am entering in <strong>com.gregrjacobs.helloworld </strong>but you can enter in anything you wish.  Also, make sure it is in all lower case for good coding practices.</li>
<li><strong>Create Activity:</strong> You will want to make sure that the box is checked before <strong>Create Activity </strong>because this option will do most of the work you just have to give it a name.  NOTE: do not call this &#8220;Activity&#8221; as your project will cease to function and you have to go through the pain of making it all over again or manually correcting it.  I am going to use <strong>HelloMain</strong> as my activity name, again use what you wish though.</li>
<li><strong>Min SDK Version:</strong> This will have to be a number you enter denoting the platform you would like to target and if this application will show up in the marketplace of certain devices.  If you look to the build target devices after platform tab on Android 1.5 you will see the number 3 and that will be our minimum SDK Version. Once everything is filled out press <strong>Finish</strong>.</li>
</ul>
<p style="text-align:center;"><img src="http://hackadaycom.files.wordpress.com/2010/07/071510_1521_androiddev132.png" alt="" /></p>
<p>This will create the core of our project ranging from the Android 1.5 JAR file to our Java and XML files.  The most important things right now are the files in the src/<em>com.gregjacobs.helloworld/ </em>folder and the files in the <em>res/</em> folder.  First we will look at the <em>main.xml</em> which is located in <em>res/layout/</em>.  This file will hold the layout of your application including textboxes, labels, dateTimePickers and the like.  In the <em>main.xml</em> we will see that we are using a LinearLayout which will organize items into a single row or column.  This can be handy sometimes (other times not so much) and for this example it will work, so leave it like this because we will be displaying text so it makes no difference.  Next is the <em>strings.xml </em>file which will conveniently house<em><br />
</em>all of strings in the application.  This is especially useful to keep the clutter out of your Java and <em>main.xml</em> file.  We are actually going to change the string called &#8220;hello&#8221; from <strong><em>Hello World, HelloMain! </em></strong> to <strong><em>Hello Android, Hello World!</em></strong> And our string named <em>app_name</em> can stay how it is.</p>
<p style="text-align:center;"><img src="http://hackadaycom.files.wordpress.com/2010/07/071510_1521_androiddev142.png" alt="" /></p>
<p>After doing this we are going to navigate to the package name we created and open <em>HelloMain.java</em> and this will contain the code to run the XML files we were just looking at.   The first line will contain our package name that the java file is associated with.  Next, in the picture above, we have imported the OS bundle and the activity function that will run our app.  Later on when we explore adding textboxes and labels we will be importing widgets into our files and we will put the imports just under these two shown above.  Next is our class that basically says when the application starts up, set the view of the screen to the layout labeled <em>main</em><a name="id.be644cfce2f9"></a>.  This is interesting in the sense that you can design many different layouts depending on the state you application is in.  Of course with a hello world program we only need this one layout but the option is there for you to experiment with.</p>
<p>When we are done tweaking everything we wanted, we are going to build the application and run it on the emulator we created <a href="http://hackaday.com/2010/07/12/android-development-101-%E2%80%93-a-tutorial-series/">last post</a>. To do this we go to the top of the eclipse screen and navigate to the button that looks like this<img src="http://hackadaycom.files.wordpress.com/2010/07/071510_1521_androiddev152.png" alt="" />and press it.  This will prompt you to say what type of project you would like to run.  We want to run an <strong>Android Application </strong>and press ok.<strong><br />
</strong>The emulator should pop up onto your screen and load up.  The first load time of your emulator will be atrocious but after that you should have no problems with load.  When the emulator is done loading it may ask you to press <strong>Menu</strong> to unlock, do so by pressing menu just under the screen.  You don&#8217;t have to navigate to load your project it will do it by itself it just has to load the rest of the software and you should end up with a result like this:</p>
<p style="text-align:center;"><img src="http://hackadaycom.files.wordpress.com/2010/07/071510_1521_androiddev162.png" alt="" /></p>
<p>When working with tools like the eclipse IDE and AndroidSDK, making simple text based programs is a breeze. The next post coming to this series will get somewhat more difficult by developing a database class that will be reusable for most database driven applications.  If anyone had any problems with this today make sure to leave a comment and I will try to get back to you before the next post.  If you can&#8217;t wait to look ahead to designing an interface for your android application or looking into databases, these are the places to go; <a href="http://developer.android.com/guide/topics/data/data-storage.html">Data Storage</a> and <a href="http://developer.android.com/guide/topics/ui/index.html">User Interface</a>. Until next post, happy hacking.</p>
<p>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/26089/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/26089/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/26089/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/26089/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/26089/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/26089/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/26089/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/26089/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/26089/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/26089/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&#038;blog=4779443&#038;post=26089&#038;subd=hackadaycom&#038;ref=&#038;feed=1" /></p>
]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2010/07/15/android-dev-101-%e2%80%93-part-1hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/071510_1521_androiddev162.png" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/071510_1521_androiddev152.png" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/071510_1521_androiddev142.png" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/071510_1521_androiddev132.png" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/071510_1521_androiddev122.png" length="" type="" />
<enclosure url="" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/071510_1521_androiddev112.png" length="" type="" />
		</item>
		<item>
		<title>Android Development 101 – A tutorial Series</title>
		<link>http://hackaday.com/2010/07/12/android-development-101-%E2%80%93-a-tutorial-series/</link>
		<comments>http://hackaday.com/2010/07/12/android-development-101-%E2%80%93-a-tutorial-series/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 17:06:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://hackadaycom.wordpress.com/?p=25965</guid>
		<description><![CDATA[Android is the prime OS for developing applications in today for many reasons. The main reasons being that it is Open Source and Intuitive. In addition it uses Java for development, which is quite an easy language to get used to and develop in. This being said, a lot of you have great ideas for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&#38;blog=4779443&#38;post=25965&#38;subd=hackadaycom&#38;ref=&#38;feed=1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><a href="http://s.linux-mag.com/i/topics/android.jpg"><img src="http://hackadaycom.files.wordpress.com/2010/07/071210_1705_androiddev111.jpg" border="0" alt="" /></a></p>
<p>Android is the prime OS for developing applications in today for many reasons.  The main reasons being that it is Open Source and Intuitive.  In addition it uses Java for development, which is quite an easy language to get used to and develop in.  This being said, a lot of you have great ideas for Android applications or applications in general but don&#8217;t know where to start.  This series will take you behind the scenes and introduce you to the software that will be your best friend while developing for android.  On this journey we will start with a &#8220;Hello World&#8221; and move on from there to create a database driven application with a touch and scroll interface.  The final result will look something like this:</p>
<p style="text-align:center;"><img src="http://hackadaycom.files.wordpress.com/2010/07/071210_1705_androiddev121.png" alt="" /></p>
<p style="text-align:center;"><span id="more-25965"></span></p>
<p>Working with tools to develop Android applications will be your greatest asset as you will come to realize early on.  All of the tools I use will be listed to make development speedy and efficient while still looking good along the way.  At best you will need to acquire <a href="http://www.eclipse.org/downloads/">Eclipse</a>, I recommend the Eclipse IDE for Java EE Developers version as it is amazing for other types of development as well.  The next tools you will get are the <a href="http://developer.android.com/sdk/index.html">Android SDK</a>, which allows you to hook the SDK into eclipse to reference its API and design an efficient functioning program. After that, this part is optional, look into <a href="http://www.droiddraw.org/">DroidDraw</a> which is essentially a GUI for designing the interface side of things so that you don&#8217;t have to blindly hack your way through the Android SDK and Java jungle.</p>
<p style="text-align:center;"><img src="http://hackadaycom.files.wordpress.com/2010/07/071210_1705_androiddev131.gif" alt="" /><br />
<a href="http://ltty.files.wordpress.com/2009/05/droidraw-small.png?w=300&amp;h=223"><img src="http://hackadaycom.files.wordpress.com/2010/07/071210_1705_androiddev141.png" border="0" alt="" /></a></p>
<p>Eclipse is fairly straightforward to setup and start using the Android SDK, you just have to download a package to include the SDK to Eclipses referenced files.  To do this we will go to <strong>Help</strong> and then to <strong>Software Updates</strong> which will have a tab that says <strong>Available Software</strong>.  We want to <strong>Add Site</strong> to be able to look up just Google&#8217;s packages they want us to download.  In the location field enter <strong>https://dl-ssl.google.com/android/eclipse</strong> and click OK.  Check both boxes and proceed to the next screen.  You should make sure <strong>Android DDMS</strong> and <strong>Android Development Tools</strong> are both listed before going on.  Accept license agreements and click Finish.  You will have to restart Eclipse but after that your hook in is ready to be setup.</p>
<p>Android SDK is fairly straight forward to download for any system but updating it and hooking it into Eclipse is the key.  After downloading the zip file (I&#8217;m using Windows/Linux but Windows examples will be default), unzip it to your C Drive and label the folder it will enter AndroidSDK.  After entering said folder double click on the setup icon which will take you to the screen that shows you all the updates available for download.  Download the latest updates and proceed to the top option <strong>Virtual Devices</strong> where you will make your first emulator.  NOTE:  if an update list does not show you will have to set the setup client to use http instead of https.  When creating the emulator the name doesn&#8217;t matter and all you really need to set is a version you want to develop on.  We will pick Android 1.5 from the list because if you decide to market an application you can reach more people and for the API&#8217;s we will use we don&#8217;t need 2.1 or 2.2.  After setting up your emulator you are ready to have the two meet for the first time.</p>
<p>Going into Eclipse you will click the <strong>Window</strong> button and navigate to the <strong>Preferences</strong> option and click it.  Select the Android option on the left and there will appear in the right side of the window a blank screen with a browse button.  Click the button and find your AndroidSDK directory in the C drive and select that folder.  Clicking <strong>Apply</strong> will make the blank window you were looking at show many different versions of the Android SDK and if you are able to see it you are on the right track.  Click <strong>OK</strong> and we are ready to start developing.</p>
<p>NOTES: DroidDraw will be spoken about in another post in this series and we will use it to make part of our interface and the other half we will code ourselves.   For everyone else developing in Linux I have found an <a href="http://od-eon.com/blogs/horia/android-development-environment-setup-ubuntu-lucid/">awesome post</a> that will describe how to set up your environment for Ubuntu and can possibly be transitioned for Red Hat and the like.   Anyone who is having trouble feel free to let me know the issues you are having and I will try my best to not leave you behind before the next post.</p>
<p>If you can&#8217;t wait for the next post, browse the examples on the <a href="http://developer.android.com/resources/index.html">Android Developers website</a>.</p>
<p>Articles used for reference:</p>
<p>Android Developers – <a href="http://developer.android.com/sdk/eclipse-adt.html">Installing ADT Plugin</a></p>
<p>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/25965/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/25965/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/25965/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/25965/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/25965/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/25965/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/25965/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/25965/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/25965/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/25965/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&#038;blog=4779443&#038;post=25965&#038;subd=hackadaycom&#038;ref=&#038;feed=1" /></p>
]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2010/07/12/android-development-101-%e2%80%93-a-tutorial-series/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/071210_1705_androiddev141.png" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/071210_1705_androiddev131.gif" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/071210_1705_androiddev121.png" length="" type="" />
<enclosure url="" length="" type="" />
<enclosure url="http://hackadaycom.files.wordpress.com/2010/07/071210_1705_androiddev111.jpg" length="" type="" />
		</item>
		<item>
		<title>GridinSoft CHM Editor 1.3.3.7</title>
		<link>http://www.rapid.pk/2010/07/with-chm-editor-you-will-be-able-to.html</link>
		<comments>http://www.rapid.pk/2010/07/with-chm-editor-you-will-be-able-to.html#comments</comments>
		<pubDate>Sat, 10 Jul 2010 23:40:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[With the CHM Editor you will be able to tackle several tasks simultaneously:This is a powerful tool for editing CHM, you can change and save chm file without downloading any additional tools or editors.It allows you translate any chm-file using one of available translation servicesThe most amazing thing is that the translation will be complied saving all html-tags and structure of the document –]]></description>
			<content:encoded><![CDATA[With the CHM Editor you will be able to tackle several tasks simultaneously:This is a powerful tool for editing CHM, you can change and save chm file without downloading any additional tools or editors.It allows you translate any chm-file using one of available translation servicesThe most amazing thing is that the translation will be complied saving all html-tags and structure of the document –]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/07/11/gridinsoft-chm-editor-1-3-3-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sonne DVD Burner 4.3.0.2082</title>
		<link>http://www.rapid.pk/2010/06/sonne-dvd-burner-4302077.html</link>
		<comments>http://www.rapid.pk/2010/06/sonne-dvd-burner-4302077.html#comments</comments>
		<pubDate>Fri, 09 Jul 2010 21:02:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[multimedia]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[utilities]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Sonne DVD Burner is an almighty DVD burner designed to meet all your needs in burning video, ISO Image file and VIDEO_TS to DVD disc and burning all files to data disc; creating DVD from other video files. For the more, it can capture videos to burn or create to DVD.It's necessary to add an intact capture function to meet users need. Users can easily capture video or image from other devices, DV]]></description>
			<content:encoded><![CDATA[Sonne DVD Burner is an almighty DVD burner designed to meet all your needs in burning video, ISO Image file and VIDEO_TS to DVD disc and burning all files to data disc; creating DVD from other video files. For the more, it can capture videos to burn or create to DVD.It's necessary to add an intact capture function to meet users need. Users can easily capture video or image from other devices, DV]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/07/10/sonne-dvd-burner-4-3-0-2082/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JetBrains Resharper 5.1.1727.12</title>
		<link>http://www.rapid.pk/2010/04/jetbrains-resharper-50165936.html</link>
		<comments>http://www.rapid.pk/2010/04/jetbrains-resharper-50165936.html#comments</comments>
		<pubDate>Fri, 09 Jul 2010 20:41:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[The Must-Have Productivity Tool for .NET DevelopersReSharper provides solution-wide error highlighting on the fly, instant solutions for found errors, over 30 advanced code refactorings, superior unit testing tools, handy navigation and search features, single-click code formatting and cleanup, automatic code generation and templates, and a lot more productivity features for C#, VB.NET, ASP.NET,]]></description>
			<content:encoded><![CDATA[The Must-Have Productivity Tool for .NET DevelopersReSharper provides solution-wide error highlighting on the fly, instant solutions for found errors, over 30 advanced code refactorings, superior unit testing tools, handy navigation and search features, single-click code formatting and cleanup, automatic code generation and templates, and a lot more productivity features for C#, VB.NET, ASP.NET,]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/07/09/jetbrains-resharper-5-1-1727-12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe eLearning Suite 2.0 (Multilingual ESD iSO)</title>
		<link>http://www.rapid.pk/2010/07/adobe-elearning-suite-20-multilingual.html</link>
		<comments>http://www.rapid.pk/2010/07/adobe-elearning-suite-20-multilingual.html#comments</comments>
		<pubDate>Wed, 07 Jul 2010 02:34:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[educational]]></category>
		<category><![CDATA[multimedia]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Develop professional eLearning content with just one integrated toolsetAdobe® eLearning Suite 2 software is the complete toolbox for creating professional eLearning courseware end to end. Accelerate development with the smart aggregation capabilities of Adobe Captivate® 5, new roundtripping features, value-added functionalities, and improved collaboration workflows.Adobe eLearning Suite includes]]></description>
			<content:encoded><![CDATA[Develop professional eLearning content with just one integrated toolsetAdobe® eLearning Suite 2 software is the complete toolbox for creating professional eLearning courseware end to end. Accelerate development with the smart aggregation capabilities of Adobe Captivate® 5, new roundtripping features, value-added functionalities, and improved collaboration workflows.Adobe eLearning Suite includes]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/07/07/adobe-elearning-suite-2-0-multilingual-esd-iso/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Captivate 5.0</title>
		<link>http://www.rapid.pk/2010/07/adobe-captivate-50.html</link>
		<comments>http://www.rapid.pk/2010/07/adobe-captivate-50.html#comments</comments>
		<pubDate>Wed, 07 Jul 2010 01:07:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[educational]]></category>
		<category><![CDATA[multimedia]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Rapidly create, smoothly deliver, and easily maintain rich eLearning contentAdd software demonstrations, interactive simulations, branching scenarios, and quizzes to your courseware without programming using Adobe® Captivate® 5 software. Go beyond screen capture and achieve superior results in fewer steps thanks to an intuitive user interface, collaboration workflows, and a multitude of]]></description>
			<content:encoded><![CDATA[Rapidly create, smoothly deliver, and easily maintain rich eLearning contentAdd software demonstrations, interactive simulations, branching scenarios, and quizzes to your courseware without programming using Adobe® Captivate® 5 software. Go beyond screen capture and achieve superior results in fewer steps thanks to an intuitive user interface, collaboration workflows, and a multitude of]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/07/07/adobe-captivate-5-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Timeline Maker Professional 2.1.8.2</title>
		<link>http://www.rapid.pk/2010/07/timeline-maker-professional-2182.html</link>
		<comments>http://www.rapid.pk/2010/07/timeline-maker-professional-2182.html#comments</comments>
		<pubDate>Sat, 03 Jul 2010 22:29:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[utilities]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[There's No Other Timeline Tool Like Timeline Maker!If you’ve been struggling to create timeline charts manually or wrestling with ordinary office software like Excel, Visio or MS Project, then you will really appreciate how easy it can be with Timeline Maker Professional.If you’ve been creating timeline charts on a regular basis then you already know what an intricate, time consuming process it]]></description>
			<content:encoded><![CDATA[There's No Other Timeline Tool Like Timeline Maker!If you’ve been struggling to create timeline charts manually or wrestling with ordinary office software like Excel, Visio or MS Project, then you will really appreciate how easy it can be with Timeline Maker Professional.If you’ve been creating timeline charts on a regular basis then you already know what an intricate, time consuming process it]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/07/04/timeline-maker-professional-2-1-8-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MathWave EasyFit Professional 5.40</title>
		<link>http://www.rapid.pk/2010/01/mathwave-easyfit-professional-530.html</link>
		<comments>http://www.rapid.pk/2010/01/mathwave-easyfit-professional-530.html#comments</comments>
		<pubDate>Sat, 03 Jul 2010 21:51:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[EasyFit – Distribution Fitting Made EasyEasyFit helps you deal with uncertainty and make informed decisions by analyzing your probability data and selecting the best fitting distribution. EasyFit allows to easily fit a large number of distributions to your data in seconds, saves time and prevents analysis errors.Selecting an appropriate distribution can be a critical success factor for your]]></description>
			<content:encoded><![CDATA[EasyFit – Distribution Fitting Made EasyEasyFit helps you deal with uncertainty and make informed decisions by analyzing your probability data and selecting the best fitting distribution. EasyFit allows to easily fit a large number of distributions to your data in seconds, saves time and prevents analysis errors.Selecting an appropriate distribution can be a critical success factor for your]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/07/04/mathwave-easyfit-professional-5-40/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FME Desktop 2010 SP2.6225</title>
		<link>http://www.rapid.pk/2010/07/fme-desktop-2010-sp26225.html</link>
		<comments>http://www.rapid.pk/2010/07/fme-desktop-2010-sp26225.html#comments</comments>
		<pubDate>Fri, 02 Jul 2010 10:55:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[FME Desktop is a flexible and powerful spatial ETL toolset that makes it easy for you to translate, transform and integrate spatial data in any format or application. Here are the top ten features, capabilities and components available in FME Desktop:Support for 225+ FormatsRead and write data in over 225 formats with a single toolset. FME Desktop format support is unrivalled in the industry and]]></description>
			<content:encoded><![CDATA[FME Desktop is a flexible and powerful spatial ETL toolset that makes it easy for you to translate, transform and integrate spatial data in any format or application. Here are the top ten features, capabilities and components available in FME Desktop:Support for 225+ FormatsRead and write data in over 225 formats with a single toolset. FME Desktop format support is unrivalled in the industry and]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/07/02/fme-desktop-2010-sp2-6225/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerWF Ultimate 2.2.2</title>
		<link>http://www.rapid.pk/2010/06/powerwf-ultimate-222.html</link>
		<comments>http://www.rapid.pk/2010/06/powerwf-ultimate-222.html#comments</comments>
		<pubDate>Tue, 29 Jun 2010 09:56:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[PowerWF is a business process automation tool based on Windows Workflow and fueled by PowerShell.PowerWF helps bridge the gaps between the islands of knowledge within an organization and the key features that make PowerWF a unique offering in the automation space.Monitor Anything with Microsoft System Center and PowerWF Studio. Any data that can be collected using PowerShell can be effortlessly]]></description>
			<content:encoded><![CDATA[PowerWF is a business process automation tool based on Windows Workflow and fueled by PowerShell.PowerWF helps bridge the gaps between the islands of knowledge within an organization and the key features that make PowerWF a unique offering in the automation space.Monitor Anything with Microsoft System Center and PowerWF Studio. Any data that can be collected using PowerShell can be effortlessly]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/06/29/powerwf-ultimate-2-2-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Axialis Screensaver Producer Professional 4.1</title>
		<link>http://www.rapid.pk/2010/06/axialis-screensaver-producer.html</link>
		<comments>http://www.rapid.pk/2010/06/axialis-screensaver-producer.html#comments</comments>
		<pubDate>Mon, 28 Jun 2010 10:39:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[multimedia]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Create all kinds of screensavers from SpritesCreating state-of-art screensavers with sprites (animated objects moving on screen) has never been easier. For example, you'll be able to create in minutes a cool screensaver with your company logo bouncing on screen.Images with transparency (including alpha-channel) are supported. Several options are available: Bouncing on the screen borders,]]></description>
			<content:encoded><![CDATA[Create all kinds of screensavers from SpritesCreating state-of-art screensavers with sprites (animated objects moving on screen) has never been easier. For example, you'll be able to create in minutes a cool screensaver with your company logo bouncing on screen.Images with transparency (including alpha-channel) are supported. Several options are available: Bouncing on the screen borders,]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/06/28/axialis-screensaver-producer-professional-4-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WinHEX 15.6 SR-11</title>
		<link>http://www.rapid.pk/2010/06/winhex-156-sr-11.html</link>
		<comments>http://www.rapid.pk/2010/06/winhex-156-sr-11.html#comments</comments>
		<pubDate>Sun, 27 Jun 2010 04:54:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[WinHex is in its core a universal hexadecimal editor, particularly helpful in the realm of computer forensics, data recovery, low-level data processing, and IT security. An advanced tool for everyday and emergency use: inspect and edit all kinds of files, recover deleted files or lost data from hard drives with corrupt file systems or from digital camera cards.Features includeDisk editor for hard]]></description>
			<content:encoded><![CDATA[WinHex is in its core a universal hexadecimal editor, particularly helpful in the realm of computer forensics, data recovery, low-level data processing, and IT security. An advanced tool for everyday and emergency use: inspect and edit all kinds of files, recover deleted files or lost data from hard drives with corrupt file systems or from digital camera cards.Features includeDisk editor for hard]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/06/27/winhex-15-6-sr-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NuSphere PhpEd 5.9.5974</title>
		<link>http://www.rapid.pk/2010/06/nusphere-phped-595974.html</link>
		<comments>http://www.rapid.pk/2010/06/nusphere-phped-595974.html#comments</comments>
		<pubDate>Fri, 25 Jun 2010 10:15:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[NuSphere is provider of the best PHP Tools, the PhpED - state of the art PHP Editor NuSphere PhpED is today's top integrated development environment for php. Suitable both for small individual works and large multi-developer projects, PhpED considerably boost up the development process.PhpED is a robust tool featuring full-cycle functionality for developing web-sites and web-applications.]]></description>
			<content:encoded><![CDATA[NuSphere is provider of the best PHP Tools, the PhpED - state of the art PHP Editor NuSphere PhpED is today's top integrated development environment for php. Suitable both for small individual works and large multi-developer projects, PhpED considerably boost up the development process.PhpED is a robust tool featuring full-cycle functionality for developing web-sites and web-applications.]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/06/25/nusphere-phped-5-9-5974/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Edraw Max Professional 5.2.0.1237</title>
		<link>http://www.rapid.pk/2010/06/edraw-max-professional-5201237.html</link>
		<comments>http://www.rapid.pk/2010/06/edraw-max-professional-5201237.html#comments</comments>
		<pubDate>Wed, 23 Jun 2010 08:48:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[utilities]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Edraw Max enables students, teachers and business professionals to reliably create and publish kinds of diagrams to represent any ideas.It's an all-in-one graphics software that makes it simple to create professional-looking flowcharts, organizational charts, network diagrams, business presentations, building plans, mind maps, fashion designs, UML diagrams, workflows, program structures, web]]></description>
			<content:encoded><![CDATA[Edraw Max enables students, teachers and business professionals to reliably create and publish kinds of diagrams to represent any ideas.It's an all-in-one graphics software that makes it simple to create professional-looking flowcharts, organizational charts, network diagrams, business presentations, building plans, mind maps, fashion designs, UML diagrams, workflows, program structures, web]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/06/23/edraw-max-professional-5-2-0-1237/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EndNote X4 14.0.0.4845</title>
		<link>http://www.rapid.pk/2010/06/endnote-x4-14004845.html</link>
		<comments>http://www.rapid.pk/2010/06/endnote-x4-14004845.html#comments</comments>
		<pubDate>Mon, 21 Jun 2010 07:56:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Millions of researchers, scholarly writers, students, and librarians use EndNote to search online bibliographic databases, organize their references, images and  PDFs in any language, and create bibliographies and figure lists instantly. Instead of spending hours typing bibliographies, or using index cards to organize their references, they do it the easy way—by using EndNote! And EndNote Web is]]></description>
			<content:encoded><![CDATA[Millions of researchers, scholarly writers, students, and librarians use EndNote to search online bibliographic databases, organize their references, images and  PDFs in any language, and create bibliographies and figure lists instantly. Instead of spending hours typing bibliographies, or using index cards to organize their references, they do it the easy way—by using EndNote! And EndNote Web is]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/06/21/endnote-x4-14-0-0-4845/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe LiveCycle Designer ES2 9.0</title>
		<link>http://www.rapid.pk/2010/06/adobe-livecycle-designer-es2-90.html</link>
		<comments>http://www.rapid.pk/2010/06/adobe-livecycle-designer-es2-90.html#comments</comments>
		<pubDate>Sun, 13 Jun 2010 02:03:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Automate processes and improve communications with easeAdobe® LiveCycle® Enterprise Suite 2 (ES2) software can help you extend the value of existing back-end systems by enabling developers to build and deploy applications quickly and easily, and by empowering business users to manage application environments based on their specific needs. With Adobe LiveCycle ES2, you can make it easier for]]></description>
			<content:encoded><![CDATA[Automate processes and improve communications with easeAdobe® LiveCycle® Enterprise Suite 2 (ES2) software can help you extend the value of existing back-end systems by enabling developers to build and deploy applications quickly and easily, and by empowering business users to manage application environments based on their specific needs. With Adobe LiveCycle ES2, you can make it easier for]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/06/13/adobe-livecycle-designer-es2-9-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TigerLogic Omnis Studio 5.0.1 Server/Development/Runtime for Windows/Linux/MacOSX</title>
		<link>http://www.rapid.pk/2010/06/tigerlogic-omnis-studio-501.html</link>
		<comments>http://www.rapid.pk/2010/06/tigerlogic-omnis-studio-501.html#comments</comments>
		<pubDate>Fri, 11 Jun 2010 23:46:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Omnis Studio is one of the most powerful and flexible Rapid Application Development (RAD) tools available today.With Omnis Studio, independent or team-based developers can create enterprise or web applications for companies and organisations of any size.Omnis Studio lets you develop and deploy applications under Windows, Linux and Mac OSX for such diverse markets as healthcare, human resources,]]></description>
			<content:encoded><![CDATA[Omnis Studio is one of the most powerful and flexible Rapid Application Development (RAD) tools available today.With Omnis Studio, independent or team-based developers can create enterprise or web applications for companies and organisations of any size.Omnis Studio lets you develop and deploy applications under Windows, Linux and Mac OSX for such diverse markets as healthcare, human resources,]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/06/12/tigerlogic-omnis-studio-5-0-1-serverdevelopmentruntime-for-windowslinuxmacosx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FarPoint Spread COM 8.0.11</title>
		<link>http://www.rapid.pk/2010/05/farpoint-spread-com-8011.html</link>
		<comments>http://www.rapid.pk/2010/05/farpoint-spread-com-8011.html#comments</comments>
		<pubDate>Sun, 30 May 2010 01:02:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/05/30/farpoint-spread-com-8-0-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AgentSheets 3.0</title>
		<link>http://www.rapid.pk/2010/05/agentsheets-30.html</link>
		<comments>http://www.rapid.pk/2010/05/agentsheets-30.html#comments</comments>
		<pubDate>Sat, 29 May 2010 02:37:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appz]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
			<wfw:commentRss>http://security.anti-abuse.com/index.php/2010/05/29/agentsheets-3-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
