Я использую Android studio.Я пытаюсь вставить ссылки в SQLite, но продолжаю получать сообщение об ошибке в методе boolean addData
.
Все мои операции импорта / коды кажутся правильными.Я просто не уверен, почему я получаю эти ошибки.Нужно ли добавлять разрешение?
Это код для методов базы данных:
public class DataBase extends SQLiteOpenHelper {
private static final String TAG = "Database";
private static final String TABLE_NAME = "SongList_Table";
private static final String Column0 = "ID";
private static final String Column1 ="Music Link";
public DataBase(Context context){
super(context, TABLE_NAME, null, 1);
}
public Cursor getData(){
SQLiteDatabase db = this.getWritableDatabase();
String query = "SELECT * FROM " + TABLE_NAME;
Cursor data = db.rawQuery(query, null);
return data;
}
public boolean addData(String item){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(Column1, item);
Log.d(TAG, "addData: Adding " + item + " to " + TABLE_NAME);
long result = db.insert(TABLE_NAME, null, contentValues);
if(result <0){
return false;
}
else {
return true;
}
}
@Override
public void onCreate(SQLiteDatabase db) {
String createTable = "CREATE TABLE " + TABLE_NAME + " (ID INTEGER PRIMARY KEY AUTOINCREMENT, " + Column1 + "TEXT)";
db.execSQL(createTable);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
}
Ошибки:
D / База данных: addData: Добавление https://www.soundhelix.com/audio-examples в SongList_Table E / SQLiteLog: (1) рядом с «Ссылкой»: синтаксическая ошибка E / SQLiteDatabase: Ошибка при вставке музыкальной ссылки = https://www.soundhelix.com/audio-examples android.database.sqlite.SQLiteException: рядом с «Link»: синтаксическая ошибка (код 1): при компиляции: INSERT INTO SongList_Table (Music Link) VALUES (?) В android.database.sqlite.SQLiteConnection.nativePrepareStatement (собственный метод) в android.database.sqlite.SQLiteConnection.acquirePreparedStatement (SQLiteConnection.java:898) в android.database.sqlite.SQLiteConnection.prepare (SQLiteConnection.java:509) в android.database.sqlite.SQLiteSession.prepare (SQLiteSession.java:5atabase.sqlite.SQLiteProgram. (SQLiteProgram.java:58) в android.database.sqlite.SQLiteStatement. (SQLiteStatement.java:31) в android.database.sqlite.SQLiteDatabase.insertWithOnConflict (SQLiteDatabase.java: 1500) в android.database.sqlite.SQLiteDatabase.insert (SQLiteDatabase.java:1373) в com.example.mobilecomputingcw2.DataBase.addData (DataBase.java:37) в com.example.mobilecomputingcw2.MainActivity.dataAdd (MainActivity).java: 69) на com.example.mobilecomputingcw2.MainActivity $ 1.onClick (MainActivity.java:47) на android.view.View.performClick (View.java:5675) на android.view.View $ PerformClick.run (Просмотреть.java: 22651) на android.os.Handler.handleCallback (Handler.java:836) на android.os.Handler.dispatchMessage (Handler.java:103) на android.os.Looper.loop (Looper.java:208)в android.app.ActivityThread.main (ActivityThread.java:6304) в java.lang.reflect.Method.invoke (собственный метод) в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:1063)at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:924)
Редактировать: Даже после изменений в Column1 и createTable String я получаю ту же ошибку при вставке ссылокв SQLite.
Edit2: TУрны, я просто должен был удалить приложение.Спасибо @ forpas
Редактировать 3: теперь я получаю сообщение об ошибке в методе getData ?