Android教程错误

时间:2012-06-25 15:06:20

标签: java android

我从Wei-Meng Lee的“开始Android应用程序开发”中借用了以下代码:

import android.content.Context;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

public class DBAdapter {

    private static final String TAG = "DBAdapter";
    private static final String DATABASE_NAME = "MyDB";
    private static final int DATABASE_VERSION = 1;
    private static final String DATABASE_CREATE =
            "create table contacts (_id integer primary key autoincrement, "
                    + "name text not null, email text not null);";
    private final Context context;
    private DatabaseHelper DBHelper;
    private SQLiteDatabase db;
    public DBAdapter (Context ctx)
    {
        this.context = ctx;
        DBHelper = new DatabaseHelper(context);
    }

    private static class DatabaseHelper extends SQLiteOpenHelper
    {
        DatabaseHelper(Context context)
        {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
        }

        @Override
        public void onCreate(SQLiteDatabase db)
        {
            try {
                db.execSQL(DATABASE_CREATE);
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
        {
            Log.w(TAG, "Upgrading database from version " + oldVersion + " to "
                    + newVersion + ", which will destroy all old data");
            db.execSQL("DROP TABLE IF EXISTS contacts");
            onCreate(db);
        }
    }
}

还有更多,但我正在努力简化。

我收到以下错误:

  

描述资源路径位置类型

     

令牌上的语法错误“)”,{此令牌DBAdapter.java后的预期

onUpgrade

的末尾
  

语法错误,插入“}”以完成ClassBody DBAdapter.java

     

语法错误,插入“}”以完成ClassBody DBAdapter.java

onCreate

的末尾

我是Android应用程序的新手,所以有人可以帮我理解这些消息吗?

以下是Eclipse的显示内容:

enter image description here

3 个答案:

答案 0 :(得分:2)

这些是来自编译器的消息,告诉您文件中的大括号{}和/或括号()不平衡。如果你复制/粘贴了这段代码,请确保你最后没有错过任何一个大括号或类似的东西。您发布的代码看起来很平衡,因此必须在文件中进一步缩小。

HTH

答案 1 :(得分:0)

尝试在构造函数

之前添加public
DatabaseHelper(Context context)

应该是

public DatabaseHelper(Context context)

答案 2 :(得分:0)

是的,如上所示,需要支撑。特别是如果您只是复制/粘贴代码。右键单击错误,单击“转到”,然后添加/删除(取决于您的问题)所需的令牌。