2015-01-06 4 views
0

Я уже проверял другие файлы XML на наличие ошибок, однако это файл, в котором указано сообщение об ошибке. Также появляется сообщение, которое появляется каждый раз Я пытаюсь запустить приложение, которое говорит: «Файлы в папке сборки создаются и не должны редактироваться».Ошибка синтаксического анализа XML - неправильно сформирована (недопустимый токен)

package com.example.drive.drivercorder; 

import android.content.ContentValues; 

import android.content.Context; 

import android.database.Cursor; 

import android.database.sqlite.SQLiteDatabase; 

import android.database.sqlite.SQLiteOpenHelper; 

import android.util.Log; 



public class DBAdapter { 

    private static final String TAG = "DBAdapter"; 

    public static final String KEY_ROWID = "_id"; 
    public static final int COL_ROWID = 0; 

    public static final String KEY_DRIVETIME = "Drive Time"; 
    public static final String KEY_NIGHTORDAY = "Time of Day"; 



    public static final int COL_DRIVETIME = 1; 
    public static final int COL_NIGHTORDAY = 2; 



    public static final String[] ALL_KEYS = new String[] {KEY_ROWID, KEY_DRIVETIME, KEY_NIGHTORDAY, }; 


    public static final String DATABASE_NAME = "MyDb"; 
    public static final String DATABASE_TABLE = "mainTable"; 

    public static final int DATABASE_VERSION = 2; 

    private static final String DATABASE_CREATE_SQL = 
      "create table " + DATABASE_TABLE 
      + " (" + KEY_ROWID + " integer primary key autoincrement, " 

      + KEY_DRIVETIME + " integer not null, " 
      + KEY_NIGHTORDAY + " text not null " 



      + ");"; 


    private final Context context; 

    private DatabaseHelper myDBHelper; 
    private SQLiteDatabase db; 



    public DBAdapter(Context ctx) { 
     this.context = ctx; 
     myDBHelper = new DatabaseHelper(context); 
    } 


    public DBAdapter open() { 
     db = myDBHelper.getWritableDatabase(); 
     return this; 
    } 


    public void close() { 
     myDBHelper.close(); 
    } 


    public long insertRow(int drivetime, String nightorday) { 

     ContentValues initialValues = new ContentValues(); 
     initialValues.put(KEY_DRIVETIME, Drive Time); 
     initialValues.put(KEY_NIGHTORDAY, Time of Day); 



     return db.insert(DATABASE_TABLE, null, initialValues); 
    } 

    public boolean deleteRow(long rowId) { 
     String where = KEY_ROWID + "=" + rowId; 
     return db.delete(DATABASE_TABLE, where, null) != 0; 
    } 

    public void deleteAll() { 
     Cursor c = getAllRows(); 
     long rowId = c.getColumnIndexOrThrow(KEY_ROWID); 
     if (c.moveToFirst()) { 
      do { 
       deleteRow(c.getLong((int) rowId));    
      } while (c.moveToNext()); 
     } 
     c.close(); 
    } 


    public Cursor getAllRows() { 
     String where = null; 
     Cursor c = db.query(true, DATABASE_TABLE, ALL_KEYS, 
          where, null, null, null, null, null); 
     if (c != null) { 
      c.moveToFirst(); 
     } 
     return c; 
    } 


    public Cursor getRow(long rowId) { 
     String where = KEY_ROWID + "=" + rowId; 
     Cursor c = db.query(true, DATABASE_TABLE, ALL_KEYS, 
         where, null, null, null, null, null); 
     if (c != null) { 
      c.moveToFirst(); 
     } 
     return c; 
    } 


    public boolean updateRow(long rowId, String drivetime, String nightorday) { 
     String where = KEY_ROWID + "=" + rowId; 

     ContentValues newValues = new ContentValues(); 
     newValues.put(KEY_DRIVETIME, Drive Time); 
     newValues.put(KEY_NIGHTORDAY, Time of Day); 

     return db.update(DATABASE_TABLE, newValues, where, null) != 0; 
    } 


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

     @Override 
     public void onCreate(SQLiteDatabase _db) { 
      _db.execSQL(DATABASE_CREATE_SQL);   
     } 

     @Override 
     public void onUpgrade(SQLiteDatabase _db, int oldVersion, int newVersion) { 
      Log.w(TAG, "Upgrading application's database from version " + oldVersion 
        + " to " + newVersion + ", which will destroy all old data!"); 

      _db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE); 


      onCreate(_db); 
     } 
    } 
} 
+0

Почему вы опубликовали свой DBAdapter? Вы должны размещать вывод LogCat, чтобы получить дополнительную информацию об ошибке. Судя по комментарию «файлы под сборкой», я предполагаю, что вы случайно отредактировали один из xml-файлов внутри папки сборки. – Rich

+0

FAILURE: Сбой сборки с исключением. * Что пошло не так: Выполнение не выполнено для задачи ': app: processDebugResources'. > com.android.ide.common.internal.LoggedErrorException: Не удалось запустить код Ошибка: Выход: \t/Пользователи/мне/AndroidStudioProjects/DriveRcorder/приложение/сборки/промежуточные/Рез/отлаживать/макет/dbadapter.java:2: ошибка: ошибка синтаксического анализа XML: ошибка синтаксиса –

+0

- это сообщение об ошибке на вкладке run. –

ответ

0

There is also a message that pops up whenever I try to run the app that says, "Files under the build folder are generated and should not be edited".

Я думаю, что вы меняете файл .class в отладочном режиме/DDMS или что-то подобное. Проверьте и не забудьте изменить свой .java-файл.

Публикация соответствующих сообщений logcat, а также XML-файла, о котором идет речь, может помочь понять проблему.

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

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