The table "credentials" does show up in the adb shell. I've checked logcat and it doesn't seem to report a problem...
private static final String DATABASE_CREATE =
"create table credentials (_id integer primary key autoincrement, "
+ "username text not null, password text not null, "
+ "lastupdate text);"
+ "create table user (_id integer primary key autoincrement, "
+ "firstname text not null, "
+ "lastname text not null);"
+ "create table phone (_phoneid integer primary key autoincrement, "
+ "userid integer not null, phonetype text not null, "
+ "phonenumber text not null);"
+ "create table email (_emailid integer primary key autoincrement, "
+ "userid integer not null, emailtype text not null, "
+ "emailaddress text not null);"
+ "create table address (_addressid integer primary key autoincrement,"
+ "userid integer not null, addresstype text not null, "
+ "address text not null);"
+ "create table instantmessaging (_imid integer primary key autoincrement, "
+ "userid integer not null, imtype text not null, "
+ "imaccount text not null);";
I've been pouring over this and I bet its some silly syntax typo! Or, at least I hope it is something trivial ;-)
If I recall correctly, I encountered a similar problem and discovered that only 1 statement is executed per call to
execSQL()
or similar methods. Any extra statements are silently ignored.Try separating each statement into separate strings and executing them separately, rather than a single string and single call.
For example:
put Go after each Create Table statement
Updated script
I suppose that you are using :
If so, the google documentation mentions this :
So you have to fragment each create table statement and repeat the query for each table.