Erro ao cadastrar

Olha o exemplo, http://www.vogella.com/articles/AndroidSQLite/article.html , alterei pra CommentsDAO:

public class CommentsDao {

  // Database fields
  private SQLiteDatabase database;
  private MySQLiteHelper dbHelper;
  private String[] allColumns = { MySQLiteHelper.COLUMN_ID,
      MySQLiteHelper.COLUMN_COMMENT };

  public CommentsDao(Context context) {
    dbHelper = new MySQLiteHelper(context);
  }

  public void open() throws SQLException {
    database = dbHelper.getWritableDatabase();
  }

  public void close() {
    dbHelper.close();
  }

  public Comment createComment(String comment) {
    ContentValues values = new ContentValues();
    values.put(MySQLiteHelper.COLUMN_COMMENT, comment);
    long insertId = database.insert(MySQLiteHelper.TABLE_COMMENTS, null,
        values);
    Cursor cursor = database.query(MySQLiteHelper.TABLE_COMMENTS,
        allColumns, MySQLiteHelper.COLUMN_ID + " = " + insertId, null,
        null, null, null);
    cursor.moveToFirst();
    Comment newComment = cursorToComment(cursor);
    cursor.close();
    return newComment;
  }

  public void deleteComment(Comment comment) {
    long id = comment.getId();
    System.out.println("Comment deleted with id: " + id);
    database.delete(MySQLiteHelper.TABLE_COMMENTS, MySQLiteHelper.COLUMN_ID
        + " = " + id, null);
  }

  public List<Comment> getAllComments() {
    List<Comment> comments = new ArrayList<Comment>();

    Cursor cursor = database.query(MySQLiteHelper.TABLE_COMMENTS,
        allColumns, null, null, null, null, null);

    cursor.moveToFirst();
    while (!cursor.isAfterLast()) {
      Comment comment = cursorToComment(cursor);
      comments.add(comment);
      cursor.moveToNext();
    }
    // Make sure to close the cursor
    cursor.close();
    return comments;
  }

  private Comment cursorToComment(Cursor cursor) {
    Comment comment = new Comment();
    comment.setId(cursor.getLong(0));
    comment.setComment(cursor.getString(1));
    return comment;
  }
} 

Você vai ter que fazer exatamente isso no seu dao,adequando a sua necessidade.
OBS: Se vc não for um cara criado a leite com pera, e ler o artigo,vc consegue resolver isso tranquilamente.

Concluindo então:

Meu adapter ficaria assim: pacote x

[color=red]DbAdapter[/color]

package br.me.aqua.banco;  
  
import android.content.ContentValues;  
import android.content.Context;  
import android.database.Cursor;  
import android.database.sqlite.SQLiteDatabase;  
import android.database.sqlite.SQLiteException;  
import android.database.sqlite.SQLiteOpenHelper;  
  
public class DbAdapter {  
      
    private static final String DATABASE_NAME = "bancoaqua";  
    private static final int DATABASE_VERSION = 1;  
      
    private static final String DATABASE_TABLE_CLIENTES = "clientes";  
    private static final String DATABASE_TABLE_CARROS = "carros";  
    private static final String DATABASE_TABLE_TIPO_CARRO = "tipo_carro";  
    private static final String DATABASE_TABLE_SERVICOS = "servicos";  
    private static final String DATABASE_TABLE_HORARIOS = "horarios";  
    private static final String DATABASE_TABLE_OS = "os";  
      
//  CAMPOS DA TABELA CLIENTES     
    public static final String KEY_ID_CLI = "_id";  
    public static final String KEY_NOME = "nome";  
    public static final String KEY_ENDERECO = "endereco";  
    public static final String KEY_TELEFONE = "telefone";  
    public static final String KEY_CELULAR = "celular";  
    public static final String KEY_EMAIL = "email";  
  
//  CAMPOS DA TABELA CARROS   
    public static final String KEY_ID_CARRO = "_id";  
    public static final String KEY_IDCLIENTE_CARRO = "id_cliente";  
    public static final String KEY_IDTIPO_CARRO = "id_tipo_carro";  
    public static final String KEY_MODELO = "car_modelo";  
    public static final String KEY_PLACA = "car_placa";  
  
//  CAMPOS DA TABELA TIPO_CARRO   
    public static final String KEY_ID_TIP = "_id";  
    public static final String KEY_TIPDESC = "tip_descricao";  
      
//  CAMPOS DA TABELA SERVICOS     
    public static final String KEY_ID_SER = "_id";  
    public static final String KEY_IDTIPO_SER = "id_tipo_carro";  
    public static final String KEY_DESCRICAO_SER = "ser_descricao";  
    public static final String KEY_VALOR = "ser_valor";  
      
//  CAMPOS DA TABELA HORARIOS     
    public static final String KEY_ID_HOR = "_id";  
    public static final String KEY_HORARIO = "hor_horario";  
      
//  CAMPOS DA TABELA OS   
    public static final String KEY_ID_OS = "_id";  
    public static final String KEY_IDCLIENTE_OS = "id_cliente";  
    public static final String KEY_IDSERVICO_OS = "id_servico";  
    public static final String KEY_IDHORARIO_OS = "id_horario";  
    public static final String KEY_DATA = "os_data";  
      
      
//  CRIA A TABELA CLIENTES  
    private static final String DATABASE_CREATE_CLIENTES = "create table " + DATABASE_TABLE_CLIENTES + " ("  
    + KEY_ID_CLI + " integer primary key autoincrement, "  
    + KEY_NOME + " text, "  
    + KEY_ENDERECO + " text, "  
    + KEY_TELEFONE + " text, "  
    + KEY_CELULAR + " text, "  
    + KEY_EMAIL + " text);";  
      
//  CRIA A TABELA CARROS      
    private static final String DATABASE_CREATE_CARROS = "create table " + DATABASE_TABLE_CARROS + " ("      
    + KEY_ID_CARRO + " integer primary key autoincrement, "      
    + KEY_IDCLIENTE_CARRO + " integer, "      
    + KEY_IDTIPO_CARRO + " integer, "      
    + KEY_MODELO + " text, "      
    + KEY_PLACA + " text, FOREIGN KEY ( " + KEY_IDCLIENTE_CARRO      
    + " ) REFERENCES " + DATABASE_TABLE_CLIENTES + " (" + KEY_ID_CLI      
    + " ) ON DELETE RESTRICT ON UPDATE CASCADE , FOREIGN KEY ( "       
    + KEY_IDTIPO_CARRO + " ) REFERENCES " + DATABASE_TABLE_TIPO_CARRO + " ("       
    + KEY_IDTIPO_CARRO + " ) ON DELETE RESTRICT ON UPDATE CASCADE);";   
      
//  CRIA A TABELA TIPO_CARRO  
    private static final String DATABASE_CREATE_TIPO_CARRO = "create table " + DATABASE_TABLE_TIPO_CARRO + " ("  
    + KEY_ID_TIP + " integer primary key autoincrement, "  
    + KEY_TIPDESC + " text);";  
  
//  CRIA A TABELA SERVICOS  
    private static final String DATABASE_CREATE_SERVICOS = "create table " + DATABASE_TABLE_SERVICOS + " ("  
    + KEY_ID_SER + " integer primary key autoincrement, "  
    + KEY_IDTIPO_SER + " integer, "  
    + KEY_DESCRICAO_SER + " text, "  
    + KEY_VALOR + " text, FOREIGN KEY ( " + KEY_IDTIPO_SER  
    + " ) REFERENCES " + DATABASE_TABLE_TIPO_CARRO + " (" + KEY_IDTIPO_SER  
    + " ) ON DELETE RESTRICT ON UPDATE CASCADE);";  
      
//  CRIA A TABELA HORARIOS  
    private static final String DATABASE_CREATE_HORARIOS = "create table " + DATABASE_TABLE_HORARIOS + " ("  
    + KEY_ID_HOR + " integer primary key autoincrement, "  
    + KEY_HORARIO + " text);";  
  
//  CRIA A TABELA OS  
    private static final String DATABASE_CREATE_OS = "create table " + DATABASE_TABLE_OS + " ("      
    + KEY_ID_OS + " integer primary key autoincrement, "      
    + KEY_IDCLIENTE_OS + " integer, "      
    + KEY_IDSERVICO_OS  + " integer, "      
    + KEY_IDHORARIO_OS + " integer ,"    
    + KEY_MODELO + " text, "      
    + KEY_PLACA + " text, FOREIGN KEY ( " + KEY_IDCLIENTE_OS      
    + " ) REFERENCES " + DATABASE_TABLE_CLIENTES + " (" + KEY_ID_CLI      
    + " ) ON DELETE RESTRICT ON UPDATE CASCADE, FOREIGN KEY ( "       
    + KEY_IDSERVICO_OS + " ) REFERENCES "       
    + DATABASE_TABLE_SERVICOS + " (" + KEY_IDSERVICO_OS      
    + " ) ON DELETE RESTRICT ON UPDATE CASCADE, FOREIGN KEY ( "       
    + KEY_IDHORARIO_OS + " ) REFERENCES " + DATABASE_TABLE_HORARIOS + " ("       
    + KEY_IDHORARIO_OS + " ) ON DELETE RESTRICT ON UPDATE CASCADE);";  
      
      
    private final Context mCtx;  
      
    private DatabaseHelper mDbHelper;  
    private SQLiteDatabase mDb;  
      
    public DbAdapter(Context ctx){  
        this.mCtx = ctx;  
    }  
      
    public DbAdapter open() throws SQLiteException{  
        if(isClosed()){  
            mDbHelper = new DatabaseHelper(mCtx);  
            mDb = mDbHelper.getWritableDatabase();  
        }  
        return this;  
    }  
      
    public void close(){  
        mDbHelper.close();  
    }  
      
    public boolean isClosed(){  
        return mDb == null || !mDb.isOpen();  
    }  
      
    private class DatabaseHelper extends SQLiteOpenHelper{  
  
        public DatabaseHelper(Context context) {  
            super(context, DATABASE_NAME, null, DATABASE_VERSION);  
        }  
  
        @Override  
        public void onCreate(SQLiteDatabase db) {  
            db.execSQL(DATABASE_CREATE_CLIENTES);  
            db.execSQL(DATABASE_CREATE_CARROS);  
            db.execSQL(DATABASE_CREATE_TIPO_CARRO);  
            db.execSQL(DATABASE_CREATE_SERVICOS);  
            db.execSQL(DATABASE_CREATE_HORARIOS);  
            db.execSQL(DATABASE_CREATE_OS);  
        }  
  
        @Override  
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
        }  
          
    }  
      
} 

Como ficaria o [color=red]DAO para TipoVeiculo[/color]: pacote Y

// TABELA TIPO CARRO : KEY_ID_TIP, KEY_TIPDESC
	
//  GRAVAR TIPO CARRO
	public long gravarTipoVeiculo(String tipo){
		ContentValues valores = new ContentValues();
		valores.put(KEY_TIPDESC, tipo);
		return mDb.insert(DATABASE_TABLE_TIPO_CARRO, null, valores);
	}

//  ALTERAR TIPO CARRO
	public boolean atualizarTipoCarro(long Id, String tipo){
		ContentValues valores = new ContentValues();
		valores.put(KEY_TIPDESC, tipo);
		return mDb.update(DATABASE_TABLE_TIPO_CARRO, valores, KEY_ID_TIP + "=" + Id, null) > 0;
	}

//  APAGAR TIPO CARRO
	public boolean apagarTipoCarro(long Id){
		int qt = mDb.delete(DATABASE_TABLE_TIPO_CARRO, KEY_ID_TIP + "=" + Id, null);
		return qt > 0;
	}

//  TIPO VEÍCULO POR ID	
	public Cursor getTipo(long Id){
		return mDb.query(DATABASE_TABLE_TIPO_CARRO, null, KEY_ID_TIP + "=" + Id, null, null, null, null);
	}

// TIPO VEÍCULO POR DESCRICAO	
	public Cursor getTipoVeiculoPorDescricao(String nomeString){
		String[] selectionArgs = {nomeString + "%"};  
//		return mDb.query(DATABASE_TABLE_CLIENTES, null, KEY_NOME + "=" + selectionArgs, null, null, null, null);
		return mDb.rawQuery("SELECT * FROM tipo_carro WHERE tip_descricao like ?", selectionArgs);
	}

E como ficaria a chamada para DAO e DbAdapter?

Como faria o DAO com o código Tipo Veiculo postado? E como faria a chamada do Adapter e DAO em outra Activity?

public class TipoVeiculoDAO {

}