Como retornar uma coluna identity do SQLite?

Pessoal, boa noite!

Gostaria de saber como faço para retornar o valor de uma coluna identity.
Fiz a codificação abaixo, mas não obtive sucesso.
Quando tento ler o parâmetro getIdPedidoProduto o valor vem igual a zero.
Alguém saberia me dizer o porque??

Criação da tabela

db.execSQL("CREATE TABLE PedidoProduto (" + "idPedidoProduto INTEGER IDENTITY," + "idProduto INTEGER," + "nomeProduto VARCHAR(100),"+ "valor FLOAT NOT NULL," + "quantidade INTEGER NOT NULL," + "observacao TEXT NOT NULL);");
Método para preencher o List com as informações do bd

[code] public List listarPedidoProduto() {
List listaPedidoProduto = new ArrayList();

    Cursor cursor = db.query("PedidoProduto", null, null, null, null, null, null);
    cursor.moveToFirst();
    while (!cursor.isAfterLast()) {
        PedidoProduto lPedidoProduto = cursorToPedidoProduto(cursor);
        listaPedidoProduto.add(lPedidoProduto);
        cursor.moveToNext();
    }

    cursor.close();
    return listaPedidoProduto;
}

private PedidoProduto cursorToPedidoProduto(Cursor cursor) {
    PedidoProduto lPedidoProduto = new PedidoProduto();
    lPedidoProduto.setIdPedidoProduto(cursor.getInt(0));
    lPedidoProduto.setIdProduto(cursor.getInt(1));
    lPedidoProduto.setNomeProduto(cursor.getString(2));
    lPedidoProduto.setValor(cursor.getDouble(3));
    lPedidoProduto.setQuantidade(cursor.getLong(4));
    lPedidoProduto.setObservacao(cursor.getString(5));
    return lPedidoProduto;
}

[/code]Método para excluir

public void excluir(PedidoProduto pedidoProduto) { db.delete("PedidoProduto", "idPedidoProduto =" + pedidoProduto.getIdPedidoProduto(), null); }

Agradeço desde já pela ajuda!

Para declarar um campo como Id e com auto incremento, sugiro utilizar o exemplo abaixo:

[id] INTEGER NOT NULL PRIMARY KEY ON CONFLICT ROLLBACK AUTOINCREMENT

isso garante que o seu produto terá um ID único, gerado automaticamente, e esse valor será a chave primária da sua tabela.

Abraços…

Amigo, obrigado pela resposta e me desculpe pela demora em responder.
Fiz o teste aqui, coloquei a coluna no formato em que você especificou, mas ele não gerou o id na sequencia.

Saberia me dizer o motivo?

Segue o log

[quote]11-11 00:07:32.120: I/SqliteDatabaseCpp(962): sqlite returned: error code = 1, msg = statement aborts at 2: [COMMIT;] cannot commit - no transaction is active, db=/data/data/br_com_unip_menudroid/databases/menuDroid
11-11 00:07:32.125: E/SQLiteDatabase(962): Error inserting nomeProduto=Pepsi idPedidoProduto=0 quantidade=2 idProduto=4 observacao=android.widget.EditText@41b09658 valor=1.8
11-11 00:07:32.125: E/SQLiteDatabase(962): android.database.sqlite.SQLiteException: cannot commit - no transaction is active
11-11 00:07:32.125: E/SQLiteDatabase(962): at android.database.sqlite.SQLiteStatement.native_executeSql(Native Method)
11-11 00:07:32.125: E/SQLiteDatabase(962): at android.database.sqlite.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:90)
11-11 00:07:32.125: E/SQLiteDatabase(962): at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:2019)
11-11 00:07:32.125: E/SQLiteDatabase(962): at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1959)
11-11 00:07:32.125: E/SQLiteDatabase(962): at android.database.sqlite.SQLiteDatabase.endTransaction(SQLiteDatabase.java:736)
11-11 00:07:32.125: E/SQLiteDatabase(962): at android.database.sqlite.SQLiteStatement.releaseAndUnlock(SQLiteStatement.java:273)
11-11 00:07:32.125: E/SQLiteDatabase(962): at android.database.sqlite.SQLiteStatement.executeInsert(SQLiteStatement.java:115)
11-11 00:07:32.125: E/SQLiteDatabase(962): at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1838)
11-11 00:07:32.125: E/SQLiteDatabase(962): at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1711)
11-11 00:07:32.125: E/SQLiteDatabase(962): at br.com.unip.menudroid.database.PedidoProdutoDAO.inserirPedidoProduto(PedidoProdutoDAO.java:31)
11-11 00:07:32.125: E/SQLiteDatabase(962): at br.com.unip.menudroid.InformarPedidoProduto$1.onClick(InformarPedidoProduto.java:52)
11-11 00:07:32.125: E/SQLiteDatabase(962): at android.view.View.performClick(View.java:3644)
11-11 00:07:32.125: E/SQLiteDatabase(962): at android.view.View$PerformClick.run(View.java:14313)
11-11 00:07:32.125: E/SQLiteDatabase(962): at android.os.Handler.handleCallback(Handler.java:605)
11-11 00:07:32.125: E/SQLiteDatabase(962): at android.os.Handler.dispatchMessage(Handler.java:92)
11-11 00:07:32.125: E/SQLiteDatabase(962): at android.os.Looper.loop(Looper.java:137)
11-11 00:07:32.125: E/SQLiteDatabase(962): at android.app.ActivityThread.main(ActivityThread.java:4517)
11-11 00:07:32.125: E/SQLiteDatabase(962): at java.lang.reflect.Method.invokeNative(Native Method)
11-11 00:07:32.125: E/SQLiteDatabase(962): at java.lang.reflect.Method.invoke(Method.java:511)
11-11 00:07:32.125: E/SQLiteDatabase(962): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
11-11 00:07:32.125: E/SQLiteDatabase(962): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
11-11 00:07:32.125: E/SQLiteDatabase(962): at dalvik.system.NativeStart.main(Native Method)
[/quote]

Consegui aqui. O erro era que eu estava setando o id na class -_-

valeu galera