簡體   English   中英

解析XML時出錯-格式不正確(無效的令牌)

[英]Error parsing XML - not well formed (invalid token)

我已經檢查了其他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);
        }
    }
}

每當我嘗試運行該應用程序時,還會彈出一條消息,提示“生成了構建文件夾下的文件,不應對其進行編輯”。

我認為您正在以調試/ DDMS模式或類似方式更改.class文件。 請檢查並確保編輯.java文件。

發布您的相關logcat消息以及相關的XML文件可能有助於理解問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM