2012-06-25 3 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

ошибка синтаксиса, вставка "}", чтобы завершить ClassBody DBAdapter.java

в конце onCreate

Я новичок в Android приложений, так может кто-то пожалуйста, помогите мне понять, эти сообщения?

Вот что отображение Eclipse:

enter image description here

+1

Вы пробовали просто вставить "}"? –

+1

он выглядит крест серым, поэтому ошибка удалена? попробуйте очистить и построить –

+0

Мне нужно было нажать кнопку «Сохранить», чтобы обновить все мои измены! – John

ответ

2

Те сообщения от компилятора говорит вам, что ваши брекеты {} и/или круглые скобки () являются несбалансированными в файле. Если вы скопировали/вставляли этот код, убедитесь, что вы не пропустили скобу в конце или что-то в этом роде. Код, который вы разместили, выглядит сбалансированным, поэтому он должен быть еще ниже в файле.

НТН

+0

Ошибки остаются даже с вставленным кодом. – John

+0

Эти серые маркеры x на скриншоте не обозначают существующую ошибку в Eclipse, они отмечают предыдущую ошибку, которая с тех пор была исправлена. Текущие ошибки отмечены красным. – Devunwired

+0

На самом деле просто вставил другой путь из SO, а серые «x» исчезли (после Ctrl-S). Это привело меня к выводу, что сообщения об ошибках были не такими современными, как я понял. Благодарю. – John

0

Попробуйте добавить общественность перед конструктором

DatabaseHelper(Context context) 

должен быть

public DatabaseHelper(Context context) 
0

Да, как было показано выше, необходим скобка. Особенно, если вы просто копируете/вставляете коды. Щелкните правой кнопкой мыши ошибку, нажмите «Перейти» и добавьте/удалите (в зависимости от вашей проблемы) нужный токен.

Смежные вопросы