<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-8398403401921095177</atom:id><lastBuildDate>Thu, 14 Mar 2013 01:42:59 +0000</lastBuildDate><category>SQLite Android</category><category>Android</category><category>database</category><title>AuroraQuest Software Android Development</title><description>A blog dedicated to showcasing our Android projects and creating an discussion environment for people to learn and share ideas.</description><link>http://auroraquestsoft.blogspot.com/</link><managingEditor>noreply@blogger.com (Quest)</managingEditor><generator>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8398403401921095177.post-2856924619883273913</guid><pubDate>Wed, 06 Jul 2011 03:25:00 +0000</pubDate><atom:updated>2011-07-09T16:53:35.209-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>SQLite Android</category><category domain='http://www.blogger.com/atom/ns#'>Android</category><category domain='http://www.blogger.com/atom/ns#'>database</category><title>How to Upgrade SQLite in Android without losing data!</title><description>&amp;nbsp; &amp;nbsp;While writing a seemingly easy app that uses a database to keep track of contact info, I ran into a problem when adding columns to my SQLite table. The app would not keep the old data and just use a "null" for the new columns. I knew I would have to write an onUpgrade()  Method that consisted of more than:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;@Override&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; db.execSQL("DROP TABLE IF EXISTS contacts");&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; onCreate(db);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; But where to start?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;For my app this was a must. Frequent updates would need this method to work while keeping the users data, but all the examples I found of Android and SQLite just had the drop table method or something basically&amp;nbsp;similar. Now I have read of a few different ways to tackle this problem. like exporting the data to XML and creating a new table then filling it in or building a temporary table to hold the data while I made the new one. I opted for the second option.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;This I thought would be a no-brainier. I would just Google it and "Pow!" tons of people have working examples of this.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; I was Wrong. I did find a couple of examples but they were either way too complex or just not workable in the Adapter class I had built for my database code. I couldn't find the answer on the Android developer guide site either. I&amp;nbsp;found my answer instead at the &lt;a href="http://www.sqlite.org/faq.html"&gt;SQLite&amp;nbsp;documentation&amp;nbsp;site.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This site gave me the crash course I needed on the types of calls and queries I could use on the SQL end, I just had to adapt it to fit my app.&lt;br /&gt;&lt;br /&gt;I'm going to write a short mock-up of basically how I did it, Including the Adapter class I wrapped around the SQLiteOpenHelper:&lt;br /&gt;&lt;br /&gt;Although my table had a considerable amount of columns to start with lets following the KISS rule and say The old table had only &lt;i&gt;three&lt;/i&gt;&amp;nbsp;columns named "_id, column_1, and column_2". My upgrade method will add a fourth column, "column_3" and save any user data for the new table:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt;//package here&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt;//imports here&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt;//Adapter class that wraps around the Helper class&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;public class FooDbAdapter&lt;br /&gt;&amp;nbsp;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; private static final String DATABASE_NAME = "fooHelperDb";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; private static final String DATABASE_TABLE = "contacts";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; private static final int SCHEMA_VERSION = 2;&lt;span class="Apple-style-span" style="color: lime;"&gt; //was "1",&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt;&amp;nbsp;make sure you change this by incrementing it by one or it will keep the old table. This makes the&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt;call to&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt;onUpgrade().&lt;/span&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public static final String KEY_ID = "_id";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; public static final String KEY_NAME = "name";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; public static final String KEY_TYPE = "fooType";&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;private FooDbHelper fDbHelper;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;private SQLiteDatabase fDb;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;private final Context mCtx;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;span class="Apple-style-span" style="color: lime;"&gt;//Helper class uses &lt;a href="http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html"&gt;SQLiteOpenHelper&lt;/a&gt; that does the actual database work&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; public static class FooDbHelper extends SQLiteOpenHelper&lt;br /&gt;&amp;nbsp;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; FooDbHelper(Context context) {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; super(context, DATABASE_NAME, null, SCHEMA_VERSION);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; }&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt;//create table as you want it to be &lt;/span&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt;&lt;i&gt;after&lt;/i&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt; onUpgrade() runs. ie: 4 columns.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; @Override&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; public void onCreate(SQLiteDatabase db) {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;db.execSQL("CREATE TABLE contacts (_id INTEGER PRIMARY KEY AUTOINCREMENT, column_1 TEXT, column_2 TEXT, column_3 TEXT);" );&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; }&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt;//this is the method I designed to solve the problem. I'm not sure if it's redundant in parts but it works great.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; @Override&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {&lt;br /&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt;&amp;nbsp;//create temp. table to hold data&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;db.execSQL("CREATE TEMPORARY TABLE contacts_backup (_id INTEGER PRIMARY KEY AUTOINCREMENT, column_1 TEXT, column_2 TEXT);");&lt;br /&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt;//insert data from old table into temp table&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;db.execSQL("INSERT INTO contacts_backup SELECT _id, column_1, column_2&amp;nbsp;FROM contacts ");&lt;br /&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt;//drop the old table now that your data is safe in the temporary one&lt;/span&gt;&lt;br /&gt;db.execSQL("DROP TABLE contacts");&lt;br /&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt;//recreate the table this time with all 4 columns&lt;/span&gt;&lt;br /&gt;db.execSQL("CREATE TABLE contacts (_id INTEGER PRIMARY KEY AUTOINCREMENT, column_1 TEXT, column_2 TEXT, column_3 TEXT);");&lt;br /&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt;//fill it up using null for the column_3&lt;/span&gt;&lt;br /&gt;db.execSQL("INSERT INTO contacts SELECT _id, column_1, column_2, null FROM contacts_backup");&lt;br /&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt;//then drop the temporary table&lt;/span&gt;&lt;br /&gt;db.execSQL("DROP TABLE contacts_backup");&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt;// other methods here such as:&lt;/span&gt;&lt;br /&gt;&amp;nbsp;public Cursor getAll()&lt;span class="Apple-style-span" style="color: lime;"&gt;&amp;nbsp;&lt;/span&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; return(getWritableDatabase().rawQuery("SELECT _id, column_1, column_2, column_3&amp;nbsp;FROM contacts ORDER BY name", null));&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;public void insert(String column_1, String column_2, String column_3); &amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; ContentValues cv = new ContentValues();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; cv.put("column_1", column_1);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; cv.put("column_2",&amp;nbsp;column_2);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; cv.put("column_3",&amp;nbsp;column_3);&lt;br /&gt;&amp;nbsp; getWritableDatabase().insert("contacts", "column_1", cv);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt;//getter methods&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public String get_Id(Cursor c) &amp;nbsp;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;return(c.getString(0));&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;public String getColumn1(Cursor c) {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;return(c.getString(1));&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;public String getColumn2(Cursor c) {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;return(c.getString(2));&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;public String getColumn3(Cursor c) {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;return(c.getString(3));&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt;//that's it for the wrapper then I just wrote a context and open method&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;public FooDbAdapter(Context ctx) {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.mCtx = ctx;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;public FooDbAdapter open() throws SQLException {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fDbHelper = new FooDbHelper(mCtx);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fDb = fDbHelper.getWritableDatabase();&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return this;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;public void close() {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fDbHelper.close();&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;So there it is. pretty simple eh? Just gave me a hard time. don't forget to update any references &amp;nbsp;in the rest of your classes and stuff of course. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; A few things I hope this post will&amp;nbsp;achieve:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; First of course is to help someone solve this problem.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Second is that I hope some more seasoned folks may share some other ways to attack this problem. That is how good design patterns are made and people like myself and others new to Android learn.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Third, is that instead of getting trolled &amp;nbsp;people understand the purpose of this and keep this site a positive learning environment.&lt;br /&gt;&lt;br /&gt;Go Android!&lt;br /&gt;&lt;div style="text-align: center;"&gt;-Quest Graves&lt;/div&gt;</description><link>http://auroraquestsoft.blogspot.com/2011/07/how-to-upgrade-sqlite-in-android.html</link><author>noreply@blogger.com (Quest)</author><thr:total>9</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8398403401921095177.post-1669684629560690187</guid><pubDate>Tue, 05 Jul 2011 21:48:00 +0000</pubDate><atom:updated>2011-07-05T14:48:30.267-07:00</atom:updated><title>A Quick Word About Learning Android and Multiple Technologies.</title><description>&amp;nbsp;If your like me and new to programming you will quickly find that in order to develop complete applications you not only need to know more than one technology but at the very minimum a few that complement each other. &amp;nbsp;One complex, object oriented "Do-all" language like Java or C++ isn't enough. You should, at&amp;nbsp;minimum,&amp;nbsp;know some easier stuff like XML for layouts and moving data, and some storage based technologies like SQL or SQLite. Even better would be to learn some HTML, PHP or even some Flash stuff too. That alone is enough to put a green programmer into overload but throw in the ability to make them work together through their respective API's, and I still think it's a miracle it all works. My next article shows how I overcame the technology&amp;nbsp;boundary&amp;nbsp;with a custom SQLite Adapter slightly modified so users don't lose data on an update -pretty important:) don't miss that!&lt;br /&gt;&lt;br /&gt;Tips:&lt;br /&gt;&lt;br /&gt;I will say try no to feel discouraged. When it all starts to make sense and come together, the different technologies are just equivalent to wording something a bit different. It gets easier.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Don't rob yourself the feeling you get when it does all work and work well either. That's what it's all about.&lt;br /&gt;&lt;div style="text-align: center;"&gt;-Quest Graves&lt;/div&gt;</description><link>http://auroraquestsoft.blogspot.com/2011/07/quick-word-about-learning-android-and.html</link><author>noreply@blogger.com (Quest)</author><thr:total>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8398403401921095177.post-7899607466717017624</guid><pubDate>Sun, 03 Jul 2011 03:18:00 +0000</pubDate><atom:updated>2011-07-02T20:18:52.742-07:00</atom:updated><title>Gift Helper and Gift Helper Pro Updates!</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Zuhbb2vMkQg/Tg_fdCOUHqI/AAAAAAAABkI/qxw4AvQaFu0/s1600/gift128.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-Zuhbb2vMkQg/Tg_fdCOUHqI/AAAAAAAABkI/qxw4AvQaFu0/s1600/gift128.png" /&gt;&lt;/a&gt;&lt;/div&gt;I know It's nothing spectacular just a small update to the help menu. I've changed some things like making it clearer on how to delete a record by long pressing a contact fro the list view. I also changed the text to reflect the new website(here) and that my other site is now&amp;nbsp;independent&amp;nbsp;of the .blogspot branding and is it's own domain!&lt;br /&gt;&lt;br /&gt;So get on over to the Android Market and get your updates to &lt;a href="https://market.android.com/details?id=com.questgraves.gifthelper&amp;amp;feature=search_result"&gt;Gift Helper&lt;/a&gt; or &lt;a href="https://market.android.com/details?id=com.questgraves.gifthelperdonate&amp;amp;feature=more_from_developer"&gt;Gift Helper Pro!&lt;/a&gt;</description><link>http://auroraquestsoft.blogspot.com/2011/07/gift-helper-and-gift-helper-pro-updates.html</link><author>noreply@blogger.com (Quest)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-Zuhbb2vMkQg/Tg_fdCOUHqI/AAAAAAAABkI/qxw4AvQaFu0/s72-c/gift128.png' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8398403401921095177.post-276963454282496914</guid><pubDate>Thu, 30 Jun 2011 03:44:00 +0000</pubDate><atom:updated>2011-07-01T10:31:02.040-07:00</atom:updated><title>Welcome to Android's newest developer site!</title><description>&amp;nbsp; &amp;nbsp;This is one of a couple of sites I manage that feature the mobile OS Android. This one, however, focuses on my experiences developing apps in Java for the Android platform as well as any other types of Android related development topics that may arise. This is much more technical than my other site. Hope you enjoy your stay!&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;My other site &lt;a href="http://chicagolandroid.blogspot.com/"&gt;ChicagolAndroid &lt;/a&gt;is all about the latest android news, app reviews and basic usage discussion. Feel free to add that to your bookmarks too. Always a lot of useful information there as well.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; As my first post I'll start by&amp;nbsp;describing&amp;nbsp;AuroraQuest Software. We are a husband and wife run business devoted to making fun and usefull apps for Android as well as keeping these sites up for other people who are learning to develop or are interested in trying my applications. I am also interested in &amp;nbsp;working on team projects or custom freelance work so never be afraid to ask me for help or run an idea by me.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; I think it's very important to know about the people you deal with, so here is some back history on AuroraQuest Software:&lt;br /&gt;&amp;nbsp; &amp;nbsp; Coming from working as a self employed tattoo artist, my wife and I had to relocate and things slowed down on that front, I had been involved in computers my whole life, loved to build gaming systems and such and got my hands on a T-Mobile G1. I cannot describe the amazement I felt at learning how&amp;nbsp;powerful&amp;nbsp;that little device was but I knew that my time to learn to program was now, It was to be in the Java language and&amp;nbsp;specifically&amp;nbsp;Android, and my life's true calling had revealed itself to me.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; So a year and a half later here I am. My wife is a&amp;nbsp;veterinary&amp;nbsp;tech but is very supportive and helps pick up the slack on this side of things.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; Hope to see you all soon and if you haven't yet, try my very first published app &lt;a href="https://market.android.com/details?id=com.questgraves.gifthelper&amp;amp;feature=search_result"&gt;Gift Helper&lt;/a&gt; in the Android Market! or if you can lend a bit of support try my ad-free/donate version &amp;nbsp;&lt;a href="https://market.android.com/details?id=com.questgraves.gifthelperdonate&amp;amp;feature=more_from_developer"&gt;Gift Helper Pro!&amp;nbsp;&lt;/a&gt;</description><link>http://auroraquestsoft.blogspot.com/2011/06/welcome-to-androids-newest-developer.html</link><author>noreply@blogger.com (Quest)</author><thr:total>0</thr:total></item></channel></rss>