 <p>If you're using the standard Android binding, whose Javadoc is at <a href="http://developer.android.com/reference/android/database/sqlite/package-summary.html" rel="nofollow">http://developer.android.com/reference/android/database/sqlite/package-summary.html</a>, then you can find the right code to call by looking at the Javadoc for an overload of <code>execSQL</code>. See http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#execSQL(java.lang.String,%20java.lang.Object[]).</p> <p>Now, the Javadoc says that <code>execSQL</code> is not to be used for <code>SELECT/INSERT/UPDATE/DELETE</code>. Instead, there are three <code>insertXXX</code> methods, each of which takes additional data in a <code>ContentValues</code> object. So, you construct that object, which looks like a <code>Map</code>, with the new row's data.</p>