Android 创建数据库表

Android 创建数据库表,android,sql,database,Android,Sql,Database,我是Android新手,我想为我的应用程序创建一个包含10列的数据库表。我试图找到一些关于数据库的参考资料来创建一个表。但它不起作用。请告诉我这个问题。 这是我的getter和setter方法: public class Name { String name; String described; String da1; String da2; String da3; String da4; String da5; Stri

我是Android新手,我想为我的应用程序创建一个包含10列的数据库表。我试图找到一些关于数据库的参考资料来创建一个表。但它不起作用。请告诉我这个问题。 这是我的getter和setter方法:

    public class Name {

    String name;
    String described;
    String da1;
    String da2;
    String da3;
    String da4;
    String da5;
    String da6;
    String da7;
    String da8;

    public Name()
    {

    }

    public Name(String name, String described, String da1,String da2,String da3,String  da4,String da5,String da6,String da7,String da8)
    {
        this.described = described;
        this.name = name;
        this.da1 = da1;
        this.da2 = da2;
        this.da3 = da3;
        this.da4 = da4;
        this.da5 = da5;
        this.da6 = da6;
        this.da7 = da7;
        this.da8 = da8;
    }
//-------------------------------------------   
    public String getName()
    {
    return this.name;
    }
    public void SetName(String name)
    {
    this.name = name;
    }
//--------------------------------------------  
    public String getDescribed()
   {
    return this.described;
    }
    public void SetDescribed(String described)
    {
    this.described = described;
    }
//---------------------------------------
public String getDa1()
{
    return this.da1;
}
public void SetDa1(String da1)
{
    this.da1 = da1;
}
//--------------------------------------------
public String getDa2()
{
    return this.da2;
}
public void SetDa2(String da2)
{
    this.da2 = da2;
}
//------------------------------------------
public String getDa3()
{
    return this.da3;
}
public void SetDa3(String da3)
{
    this.da3 = da3;
}
//-------------------------------------------------
public String getDa4()
{
    return this.da4;
}
public void SetDa4(String da4)
{
    this.da4 = da4;
}
//-------------------------------------------------
public String getDa5()
{
    return this.da5;
}
public void SetDa5(String da5)
{
    this.da5 = da5;
}
//-------------------------------------------------
public String getDa6()
{
    return this.da6;
}
public void SetDa6(String da6)
{
    this.da6 = da6;
}
//-------------------------------------------------
public String getDa7()
{
    return this.da7;
}
public void SetDa7(String da7)
{
    this.da7 = da7;
}
//-------------------------------------------------
public String getDa8()
{
    return this.da8;
}
public void SetDa8(String da8)
{
    this.da8 = da8;
}

}
这是我的创建表方法:

    public class DataProvider extends SQLiteOpenHelper {


    // Database Version
    private static final int DATABASE_VERSION = 1;

      // Database Name
       private static final String DATABASE_NAME = "contactsManager";

      // Contacts table name
      private static final String TABLE = "contacts";

public DataProvider(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

// Contacts Table Columns names
private static final String KEY_NAME = "name";
private static final String KEY_DECRIBED = "described";
private static final String KEY_DA1 = "da1";
private static final String KEY_DA2 = "da2";
private static final String KEY_DA3 = "da3";
private static final String KEY_DA4 = "da4";
private static final String KEY_DA5 = "da5";
private static final String KEY_DA6 = "da6";
private static final String KEY_DA7 = "da7";
private static final String KEY_DA8 = "da8";




@Override
public void onCreate(SQLiteDatabase db) {
    // TODO Auto-generated method stub
    String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE + "("
             +KEY_NAME + " TEXT,"
            + KEY_DECRIBED + " TEXT" 
            + KEY_DA1 + " TEXT"
            + KEY_DA2 + " TEXT"
            + KEY_DA3 + " TEXT"
            + KEY_DA4 + " TEXT"
            + KEY_DA5 + " TEXT"
            + KEY_DA6 + " TEXT"
            + KEY_DA7 + " TEXT"
            + KEY_DA8 + " TEXT"+ ")";
    db.execSQL(CREATE_CONTACTS_TABLE);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // TODO Auto-generated method stub
    db.execSQL("DROP TABLE IF EXISTS " + TABLE);

    // Create tables again
    onCreate(db);
}

public void addContact(Name contact) {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put(KEY_NAME, contact.getName()); // Contact Name
    values.put(KEY_DECRIBED, contact.getDescribed());
    values.put(KEY_DA1, contact.getDa1());
    values.put(KEY_DA2, contact.getDa2());
    values.put(KEY_DA3, contact.getDa3());
    values.put(KEY_DA4, contact.getDa4());
    values.put(KEY_DA5, contact.getDa5());
    values.put(KEY_DA6, contact.getDa6());
    values.put(KEY_DA7, contact.getDa7());
    values.put(KEY_DA8, contact.getDa8());
    // Contact Described

    // Inserting Row
    db.insert(TABLE, null, values);
    db.close(); // Closing database connection
}

 // Getting single contact
public Name getContact(int id) {
    SQLiteDatabase db = this.getReadableDatabase();

    Cursor cursor = db.query(TABLE, new String[] {
            KEY_NAME, KEY_DECRIBED,KEY_DA1,KEY_DA2,KEY_DA3,KEY_DA4,KEY_DA5,KEY_DA6,KEY_DA7,KEY_DA8 },
            null, new String[] { String.valueOf(id) }, null, null, null, null);
    if (cursor != null)
        cursor.moveToFirst();

    Name contact = new Name(
            cursor.getString(0),
            cursor.getString(1),
            cursor.getString(2), 
            cursor.getString(3), 
            cursor.getString(4), 
            cursor.getString(5),
            cursor.getString(6), 
            cursor.getString(7), 
            cursor.getString(8), 
            cursor.getString(9));
    // return contact
    return contact;
}

public List<Name> getAllContacts() {
    List<Name> contactList = new ArrayList<Name>();
    // Select All Query
    String selectQuery = "SELECT  * FROM " + TABLE;

    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.rawQuery(selectQuery, null);

    // looping through all rows and adding to list
    if (cursor.moveToFirst()) {
        do {
            Name contact = new Name();

            contact.SetName(cursor.getString(0));
            contact.SetDescribed(cursor.getString(1));
            contact.SetDa1(cursor.getString(2));
            contact.SetDa2(cursor.getString(3));
            contact.SetDa3(cursor.getString(4));
            contact.SetDa4(cursor.getString(5));
            contact.SetDa5(cursor.getString(6));
            contact.SetDa6(cursor.getString(7));
            contact.SetDa7(cursor.getString(8));
            contact.SetDa8(cursor.getString(9));

            // Adding contact to list
            contactList.add(contact);
        } while (cursor.moveToNext());
    }

    // return contact list
    return contactList;
}

// Getting contacts Count
public int getContactsCount() {
    String countQuery = "SELECT  * FROM " + TABLE;
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery(countQuery, null);
    cursor.close();

    // return count
    return cursor.getCount();
}
}
public类数据提供程序扩展了SQLiteOpenHelper{
//数据库版本
私有静态最终int数据库_VERSION=1;
//数据库名称
私有静态最终字符串数据库\u NAME=“contactsManager”;
//联系人表名称
私有静态最终字符串表=“联系人”;
公共数据提供程序(上下文){
super(上下文、数据库名称、null、数据库版本);
}
//联系人表列名称
私有静态最终字符串键\u NAME=“NAME”;
私有静态最终字符串密钥\u DECRIBED=“descriped”;
私有静态最终字符串密钥_DA1=“DA1”;
私有静态最终字符串密钥_DA2=“DA2”;
私有静态最终字符串密钥_DA3=“DA3”;
私有静态最终字符串密钥_DA4=“DA4”;
私有静态最终字符串密钥_DA5=“DA5”;
私有静态最终字符串密钥_DA6=“DA6”;
私有静态最终字符串密钥_DA7=“DA7”;
私有静态最终字符串密钥_DA8=“DA8”;
@凌驾
public void onCreate(SQLiteDatabase db){
//TODO自动生成的方法存根
字符串CREATE_CONTACTS_TABLE=“CREATE TABLE”+TABLE+”(“
+按键名称+“文本,”
+键_DECRIBED+“文本”
+键_DA1+“文本”
+键2+“文本”
+键_DA3+“文本”
+键4+“文本”
+键5+“文本”
+键_DA6+“文本”
+键7+“文本”
+键_DA8+“文本”+”;
execSQL(创建联系人表);
}
@凌驾
public void onUpgrade(SQLiteDatabase db,int-oldVersion,int-newVersion){
//TODO自动生成的方法存根
db.execSQL(“如果存在删除表”+表);
//再次创建表
onCreate(db);
}
public void addContact(姓名联系人){
SQLiteDatabase db=this.getWritableDatabase();
ContentValues=新的ContentValues();
value.put(KEY_NAME,contact.getName());//contact NAME
value.put(KEY_DECRIBED,contact.getDescripted());
value.put(KEY_DA1,contact.getDa1());
value.put(KEY_DA2,contact.getDa2());
value.put(KEY_DA3,contact.getDa3());
value.put(KEY_DA4,contact.getDa4());
value.put(KEY_DA5,contact.getDa5());
value.put(KEY_DA6,contact.getDa6());
value.put(KEY_DA7,contact.getDa7());
value.put(KEY_DA8,contact.getDa8());
//联系人描述
//插入行
db.insert(表,空,值);
db.close();//关闭数据库连接
}
//获得单一联系
公共名称getContact(内部id){
SQLiteDatabase db=this.getReadableDatabase();
Cursor Cursor=db.query(表,新字符串[]){
密钥名称,密钥描述,密钥1,密钥2,密钥3,密钥4,密钥5,密钥6,密钥7,密钥8},
null,新字符串[]{String.valueOf(id)},null,null,null,null,null);
如果(光标!=null)
cursor.moveToFirst();
姓名联系人=新姓名(
cursor.getString(0),
cursor.getString(1),
cursor.getString(2),
cursor.getString(3),
cursor.getString(4),
cursor.getString(5),
cursor.getString(6),
cursor.getString(7),
cursor.getString(8),
getString(9));
//回接
回接;
}
公共列表getAllContacts(){
List contactList=new ArrayList();
//选择所有查询
String selectQuery=“SELECT*FROM”+表格;
SQLiteDatabase db=this.getWritableDatabase();
Cursor Cursor=db.rawQuery(selectQuery,null);
//循环遍历所有行并添加到列表
if(cursor.moveToFirst()){
做{
姓名联系人=新姓名();
contact.SetName(cursor.getString(0));
contact.setDescripted(cursor.getString(1));
contact.SetDa1(cursor.getString(2));
contact.SetDa2(cursor.getString(3));
contact.SetDa3(cursor.getString(4));
contact.SetDa4(cursor.getString(5));
contact.SetDa5(cursor.getString(6));
contact.SetDa6(cursor.getString(7));
contact.SetDa7(cursor.getString(8));
contact.SetDa8(cursor.getString(9));
//将联系人添加到列表中
联系人列表。添加(联系人);
}while(cursor.moveToNext());
}
//返回联系人列表
返回联系人列表;
}
//获取联系人计数
public int getcontactscont(){
String countQuery=“SELECT*FROM”+表格;
SQLiteDatabase db=this.getReadableDatabase();
Cursor Cursor=db.rawQuery(countQuery,null);
cursor.close();
//返回计数
返回cursor.getCount();
}
}
这是Logcat:

03-05 18:31:45.575: D/dalvikvm(378): GC_FOR_ALLOC freed 36K, 5% free 6323K/6595K,     paused 81ms
03-05 18:31:45.615: I/dalvikvm-heap(378): Grow heap (frag case) to 7.696MB for 1536016-    byte allocation
03-05 18:31:45.716: D/dalvikvm(378): GC_FOR_ALLOC freed <1K, 4% free 7823K/8135K,     paused 74ms
03-05 18:31:45.875: D/dalvikvm(378): GC_CONCURRENT freed <1K, 4% free 7823K/8135K,     paused 5ms+3ms
03-05 18:31:46.145: D/dalvikvm(378): GC_FOR_ALLOC freed <1K, 4% free 7824K/8135K, paused 63ms
03-05 18:31:46.165: I/dalvikvm-heap(378): Grow heap (frag case) to 8.347MB for 682256- byte allocation
03-05 18:31:46.265: D/dalvikvm(378): GC_FOR_ALLOC freed 0K, 4% free 8490K/8839K, paused 89ms
03-05 18:31:46.545: D/dalvikvm(378): GC_CONCURRENT freed 1538K, 21% free 7014K/8839K, paused 5ms+6ms
03-05 18:31:46.665: D/dalvikvm(378): GC_FOR_ALLOC freed 52K, 20% free 7087K/8839K, paused 61ms
03-05 18:31:46.885: D/dalvikvm(378): GC_CONCURRENT freed <1K, 15% free 7588K/8839K, paused 12ms+4ms
03-05 18:31:46.975: W/fbzvbx(378): afgsfbvzvbaergafbz
03-05 18:31:46.985: W/fbzvbx(378): afgsfbvzvbaergafbz1
03-05 18:31:46.985: W/fbzvbx(378): afgsfbvzvbaergafbz2
03-05 18:31:47.135: I/SqliteDatabaseCpp(378): sqlite returned: error code = 1, msg =  table contacts has no column named da7,  db=/data/data/com.djcharon.Locker/databases/contactsManager
03-05 18:31:47.155: E/SQLiteDatabase(378): Error inserting da7=l da8=; da5=j da6=k name=a da3=g da4=h da1=d da2=f described=s
03-05 18:31:47.155: E/SQLiteDatabase(378): android.database.sqlite.SQLiteException: table contacts has no column named da7: , while compiling: INSERT INTO contacts(da7,da8,da5,da6,name,da3,da4,da1,da2,described) VALUES (?,?,?,?,?,?,?,?,?,?)
03-05 18:31:47.155: E/SQLiteDatabase(378):  at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)
03-05 18:31:47.155: E/SQLiteDatabase(378):  at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:64)
03-05 18:31:47.155: E/SQLiteDatabase(378):  at android.database.sqlite.SQLiteProgram.compileSql(SQLiteProgram.java:146)
03-05 18:31:47.155: E/SQLiteDatabase(378):  at android.database.sqlite.SQLiteProgram.compileAndbindAllArgs(SQLiteProgram.java:367)
03-05 18:31:47.155: E/SQLiteDatabase(378):  at android.database.sqlite.SQLiteStatement.acquireAndLock(SQLiteStatement.java:253)
03-05 18:31:47.155: E/SQLiteDatabase(378):  at android.database.sqlite.SQLiteStatement.executeInsert(SQLiteStatement.java:111)
03-05 18:31:47.155: E/SQLiteDatabase(378):  at  android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1737)
03-05 18:31:47.155: E/SQLiteDatabase(378):  at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1610)
03-05 18:31:47.155: E/SQLiteDatabase(378):  at com.djcharon.Locker.DataProvider.addContact(DataProvider.java:87)
03-05 18:31:47.155: E/SQLiteDatabase(378):  at com.djcharon.Locker.LockScreen.onCreate(LockScreen.java:108)
03-05 18:31:47.155: E/SQLiteDatabase(378):  at android.app.Activity.performCreate(Activity.java:4397)
03-05 18:31:47.155: E/SQLiteDatabase(378):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
03-05 18:31:47.155: E/SQLiteDatabase(378):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1779)
03-05 18:31:47.155: E/SQLiteDatabase(378):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1831)
03-05 18:31:47.155: E/SQLiteDatabase(378):  at android.app.ActivityThread.access$500(ActivityThread.java:122)
03-05 18:31:47.155: E/SQLiteDatabase(378):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1024)
03-05 18:31:47.155: E/SQLiteDatabase(378):  at android.os.Handler.dispatchMessage(Handler.java:99)
03-05 18:31:47.155: E/SQLiteDatabase(378):  at android.os.Looper.loop(Looper.java:132)
03-05 18:31:47.155: E/SQLiteDatabase(378):  at android.app.ActivityThread.main(ActivityThread.java:4123)
03-05 18:31:47.155: E/SQLiteDatabase(378):  at java.lang.reflect.Method.invokeNative(Native Method)
03-05 18:31:47.155: E/SQLiteDatabase(378):  at java.lang.reflect.Method.invoke(Method.java:491)
03-05 18:31:47.155: E/SQLiteDatabase(378):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
03-05 18:31:47.155: E/SQLiteDatabase(378):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
03-05 18:31:47.155: E/SQLiteDatabase(378):  at dalvik.system.NativeStart.main(Native Method)
03-05 18:31:47.225: I/SqliteDatabaseCpp(378): sqlite returned: error code = 1, msg = table contacts has no column named da7, db=/data/data/com.djcharon.Locker/databases/contactsManager
03-05 18:31:47.245: E/SQLiteDatabase(378): Error inserting da7=ly da8=;u da5=jg da6=kh name=as da3=ge da4=hu da1=df da2=ft described=sd
03-05 18:31:47.245: E/SQLiteDatabase(378): android.database.sqlite.SQLiteException: table contacts has no column named da7: , while compiling: INSERT INTO contacts(da7,da8,da5,da6,name,da3,da4,da1,da2,described) VALUES (?,?,?,?,?,?,?,?,?,?)
03-05 18:31:47.245: E/SQLiteDatabase(378):  at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)
03-05 18:31:47.245: E/SQLiteDatabase(378):  at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:64)
03-05 18:31:47.245: E/SQLiteDatabase(378):  at android.database.sqlite.SQLiteProgram.compileSql(SQLiteProgram.java:146)
03-05 18:31:47.245: E/SQLiteDatabase(378):  at android.database.sqlite.SQLiteProgram.compileAndbindAllArgs(SQLiteProgram.java:367)
03-05 18:31:47.245: E/SQLiteDatabase(378):  at android.database.sqlite.SQLiteStatement.acquireAndLock(SQLiteStatement.java:253)
03-05 18:31:47.245: E/SQLiteDatabase(378):  at android.database.sqlite.SQLiteStatement.executeInsert(SQLiteStatement.java:111)
03-05 18:31:47.245: E/SQLiteDatabase(378):  at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1737)
03-05 18:31:47.245: E/SQLiteDatabase(378):  at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1610)
03-05 18:31:47.245: E/SQLiteDatabase(378):  at com.djcharon.Locker.DataProvider.addContact(DataProvider.java:87)
03-05 18:31:47.245: E/SQLiteDatabase(378):  at com.djcharon.Locker.LockScreen.onCreate(LockScreen.java:109)
03-05 18:31:47.245: E/SQLiteDatabase(378):  at android.app.Activity.performCreate(Activity.java:4397)
03-05 18:31:47.245: E/SQLiteDatabase(378):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
03-05 18:31:47.245: E/SQLiteDatabase(378):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1779)
03-05 18:31:47.245: E/SQLiteDatabase(378):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1831)
03-05 18:31:47.245: E/SQLiteDatabase(378):  at android.app.ActivityThread.access$500(ActivityThread.java:122)
03-05 18:31:47.245: E/SQLiteDatabase(378):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1024)
03-05 18:31:47.245: E/SQLiteDatabase(378):  at android.os.Handler.dispatchMessage(Handler.java:99)
03-05 18:31:47.245: E/SQLiteDatabase(378):  at android.os.Looper.loop(Looper.java:132)
03-05 18:31:47.245: E/SQLiteDatabase(378):  at android.app.ActivityThread.main(ActivityThread.java:4123)
03-05 18:31:47.245: E/SQLiteDatabase(378):  at java.lang.reflect.Method.invokeNative(Native Method)
03-05 18:31:47.245: E/SQLiteDatabase(378):  at java.lang.reflect.Method.invoke(Method.java:491)
03-05 18:31:47.245: E/SQLiteDatabase(378):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
03-05 18:31:47.245: E/SQLiteDatabase(378):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
03-05 18:31:47.245: E/SQLiteDatabase(378):  at dalvik.system.NativeStart.main(Native Method)
03-05 18:31:47.275: I/SqliteDatabaseCpp(378): sqlite returned: error code = 1, msg = table contacts has no column named da7, db=/data/data/com.djcharon.Locker/databases/contactsManager
03-05 18:31:47.295: E/SQLiteDatabase(378): Error inserting da7=lty da8=;yu da5=jrg da6=keh name=ads da3=gje da4=hyu da1=dfg da2=fht described=sfd
03-05 18:31:47.295: E/SQLiteDatabase(378): android.database.sqlite.SQLiteException: table contacts has no column named da7: , while compiling: INSERT INTO contacts(da7,da8,da5,da6,name,da3,da4,da1,da2,described) VALUES (?,?,?,?,?,?,?,?,?,?)
03-05 18:31:47.295: E/SQLiteDatabase(378):  at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)
03-05 18:31:47.295: E/SQLiteDatabase(378):  at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:64)
03-05 18:31:47.295: E/SQLiteDatabase(378):  at android.database.sqlite.SQLiteProgram.compileSql(SQLiteProgram.java:146)
03-05 18:31:47.295: E/SQLiteDatabase(378):  at android.database.sqlite.SQLiteProgram.compileAndbindAllArgs(SQLiteProgram.java:367)
03-05 18:31:47.295: E/SQLiteDatabase(378):  at android.database.sqlite.SQLiteStatement.acquireAndLock(SQLiteStatement.java:253)
03-05 18:31:47.295: E/SQLiteDatabase(378):  at android.database.sqlite.SQLiteStatement.executeInsert(SQLiteStatement.java:111)
03-05 18:31:47.295: E/SQLiteDatabase(378):  at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1737)
03-05 18:31:47.295: E/SQLiteDatabase(378):  at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1610)
03-05 18:31:47.295: E/SQLiteDatabase(378):  at com.djcharon.Locker.DataProvider.addContact(DataProvider.java:87)
03-05 18:31:47.295: E/SQLiteDatabase(378):  at com.djcharon.Locker.LockScreen.onCreate(LockScreen.java:110)
03-05 18:31:47.295: E/SQLiteDatabase(378):  at android.app.Activity.performCreate(Activity.java:4397)
03-05 18:31:47.295: E/SQLiteDatabase(378):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
03-05 18:31:47.295: E/SQLiteDatabase(378):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1779)
03-05 18:31:47.295: E/SQLiteDatabase(378):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1831)
03-05 18:31:47.295: E/SQLiteDatabase(378):  at android.app.ActivityThread.access$500(ActivityThread.java:122)
03-05 18:31:47.295: E/SQLiteDatabase(378):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1024)
03-05 18:31:47.295: E/SQLiteDatabase(378):  at android.os.Handler.dispatchMessage(Handler.java:99)
03-05 18:31:47.295: E/SQLiteDatabase(378):  at android.os.Looper.loop(Looper.java:132)
03-05 18:31:47.295: E/SQLiteDatabase(378):  at     android.app.ActivityThread.main(ActivityThread.java:4123)
03-05 18:31:47.295: E/SQLiteDatabase(378):  at java.lang.reflect.Method.invokeNative(Native Method)
03-05 18:31:47.295: E/SQLiteDatabase(378):  at java.lang.reflect.Method.invoke(Method.java:491)
03-05 18:31:47.295: E/SQLiteDatabase(378):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
03-05 18:31:47.295: E/SQLiteDatabase(378):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
03-05 18:31:47.295: E/SQLiteDatabase(378):  at dalvik.system.NativeStart.main(Native Method)
03-05 18:31:45.575:D/dalvikvm(378):释放36K,5%释放6323K/6595K,暂停81ms
03-05 18:31:45.615:I/dalvikvm堆(378):对于1536016字节分配,将堆(frag案例)增长到7.696MB

03-05 18:31:45.716:D/dalvikvm(378):GC_FOR_ALLOC freed您的create table查询似乎产生了问题 尝试:


请张贴日志。只需在“TEXT”之后添加逗号,就像“TEXT”,在每个列名称之后没有包含“,”。应该有分号“;”在查询结束时。:)
String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE + "("
         +KEY_NAME + " TEXT,"
        + KEY_DECRIBED + " TEXT," 
        + KEY_DA1 + " TEXT,"
        + KEY_DA2 + " TEXT,"
        + KEY_DA3 + " TEXT,"
        + KEY_DA4 + " TEXT,"
        + KEY_DA5 + " TEXT,"
        + KEY_DA6 + " TEXT,"
        + KEY_DA7 + " TEXT,"
        + KEY_DA8 + " TEXT"+ ");";