Ваш первый пример, в котором вы указываете только имя, не будет работать:
sqlite> create table test (i integer primary key autoincrement, j text);
sqlite> insert into test values ('asd');
Error: table test has 2 columns but 1 values were supplied
sqlite> insert into test values (null, 'asd');
sqlite> select * from test;
1|asd
sqlite> insert into test (j) values ('asd');
sqlite> select * from test;
1|asd
2|asd
, поэтому вам необходимо указать столбец имени в качестве пункта назначения единственного значения (или, как вы упомянули вcomment pass null):
SQLiteStatement statement = db.compileStatement("INSERT INTO "+TABLENAME+" (name) VALUES(?);");
Ваш второй пример должен работать нормально.
Это применимо к некоторым таблицам, созданным таким образом:
create table SomeTable (_id integer primary key autoincrement, name text)