2012-06-25 74 views
3

我已经借了魏萌李的“开头的Android应用开发”下面的代码: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

语法错误,插入 “}” 在onCreate

末我是新来的Android完成ClassBody DBAdapter.java

的应用,因此可能有人请帮助我理解这些消息?

这里是Eclipse是显示:

enter image description here

+1

你试过插入“}”吗? –

+1

它看起来十字是灰色的,所以错误被删除?尝试清洁,并建立 –

+0

我需要点击保存按钮来更新我所有的faffing编辑! – John

回答

2

这些都是从编译器告诉你的消息,你的括号{}和/或括号()该文件中不平衡。如果您复制/粘贴此代码,请确保您没有错过最后的支撑或类似的东西。你发布的代码看起来很平衡,所以它必须在文件中更进一步。

HTH

+0

即使粘贴了代码,错误仍然存​​在。 – John

+0

屏幕截图中的那些灰色x标记不表示Eclipse中存在的现有错误,它们标记之前的错误已经得到纠正。当前错误被标记为红色。 – Devunwired

+0

实际上只是从另一个方向粘贴,并且灰色的'x'消失了(在Ctrl-S之后)。这导致我得出结论,错误信息并不像我所知的那样是最新的。谢谢。 – John

0

尝试构造

DatabaseHelper(Context context) 

前加入市民应

public DatabaseHelper(Context context) 
0

是的,从上面可以看出,需要一个支柱。特别是如果你只是复制/粘贴代码。右键单击错误,单击“转到”,然后添加/删除(取决于您的问题)所需的标记。