2012-06-25 3 views
3

J'ai emprunté le code suivant de la "Début Android Application Development" de Wei-Meng Lee:erreurs tutoriel 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); 
     } 
    } 
} 

Il y a plus, mais je suis en train de simplifier.

Je reçois les erreurs suivantes:

Resource Description Emplacement du chemin type

Erreur de syntaxe sur jeton ")", {attendu après ce DBAdapter.java jeton

à la fin de onUpgrade

Erreur de syntaxe, insérer "}" pour compléter ClassBody DBAdapter.java

Erreur de syntaxe, insérer "}" pour compléter ClassBody DBAdapter.java

à la fin de onCreate

Je suis nouveau à applis Android si quelqu'un pourrait me aider à comprendre s'il vous plaît ces messages?

Voici ce que Eclipse affiche:

enter image description here

+1

Avez-vous essayé d'insérer un "}"? –

+1

il semble que les croix sont grisées pour que l'erreur soit supprimée? essayez propre et construit –

+0

Je devais appuyer sur le bouton de sauvegarde pour mettre à jour toutes mes modifications faffing! – John

Répondre

2

sont ces messages du compilateur vous dire que vos accolades {} et/ou des parenthèses () sont asymétriques dans le fichier. Si vous avez copié/collé ce code, assurez-vous que vous n'avez pas manqué une accolade à la fin ou quelque chose comme ça. Le code que vous avez posté semble équilibré, il doit donc être plus bas dans le fichier.

HTH

+0

Les erreurs restent même avec le code que j'ai collé. – John

+0

Ces marqueurs x gris dans la capture d'écran ne dénotent pas une erreur existante dans Eclipse, ils marquent une erreur précédente qui a été corrigée depuis. Les erreurs actuelles sont marquées en rouge. – Devunwired

+0

En fait, juste collé dans l'autre sens, à partir de SO, et les «x» gris avaient disparu (après Ctrl-S). Ce qui m'a amené à conclure que les messages d'erreur n'étaient pas aussi à jour que ce que j'avais perçu. Merci. – John

0

Essayez d'ajouter du public avant que le constructeur

DatabaseHelper(Context context) 

devrait être

public DatabaseHelper(Context context) 
0

Oui, comme on le voit ci-dessus, une attelle est nécessaire. Surtout si vous venez de copier/coller des codes. Cliquez avec le bouton droit sur l'erreur, cliquez sur "Aller à" et ajoutez/supprimez (en fonction de votre problème) le jeton requis.