دوستان کسی میدونه مشکل این کد چی هست؟من هرکاری میکنم بازم موقعی که میخوام یه تسک اولیه رو همونجوری که استاد توضیح میدن اضافه کنم و لاگ بگیرم مقداره 1- رو برمیگردونه که یعنی ساخته نشد خیلی ممنون میشم راهنمایی بفرمایید
این قسمت پایین مربوط به کلاس sqliteHelper هست و عکس از کلاس task و main activity و error رو در پیوست قرار دادم.
public SQLiteHelper(@Nullable Context context) {
super(context, "db_app", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
try {
db.execSQL("CREATE TABLE "+TABLE_TASKS+" (id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, completed BOOLIAN);");
}catch (SQLException e){
Log.e(TAG, "onCreate: "+e.toString());
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
public long addTask(Task task){
SQLiteDatabase sqLiteDatabase=getWritableDatabase();
ContentValues contentValues=new ContentValues();
contentValues.put("title",task.getTitle());
contentValues.put("isCompleted",task.isCompleted());
long result=sqLiteDatabase.insert(TABLE_TASKS,null,contentValues);
sqLiteDatabase.close();
return result;
}
public List<Task> getTasks(){
SQLiteDatabase sqLiteDatabase=getReadableDatabase();
Cursor cursor=sqLiteDatabase.rawQuery("SELECT * FROM "+TABLE_TASKS,null);
List<Task> taskList=new ArrayList<>();
if (cursor.moveToFirst()){
do {
Task task=new Task();
task.setId(cursor.getLong(0));
task.setTitle(cursor.getString(1));
task.setCompleted(cursor.getInt(2)==1);
taskList.add(task);
}while (cursor.moveToNext());
}
sqLiteDatabase.close();
return taskList;
}
public void searchTask(String query){
}
public int updateTask(Task task){
SQLiteDatabase sqLiteDatabase=getWritableDatabase();
ContentValues contentValues=new ContentValues();
contentValues.put("title",task.getTitle());
contentValues.put("isCompleted",task.isCompleted());
int result=sqLiteDatabase.update(TABLE_TASKS,contentValues,"id = ?",new String[]{String.valueOf(task.getId())});
sqLiteDatabase.close();
return result;
}
public int deleteTask(Task task){
SQLiteDatabase sqLiteDatabase=getWritableDatabase();
int result=sqLiteDatabase.delete(TABLE_TASKS,"id = ?",new String[]{String.valueOf(task.getId())});
sqLiteDatabase.close();
return result;
}
public void deleteAllTasks(){
}