From 435f12c608c7d608eaa5d8587be887777bdc163f Mon Sep 17 00:00:00 2001 From: pl2ufawr6 <2023312111429@whu.edu.cn> Date: Tue, 8 Apr 2025 23:05:18 +0800 Subject: [PATCH] ADD file via upload --- 获取课表/MyDatabaseHelper.java | 123 +++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 获取课表/MyDatabaseHelper.java diff --git a/获取课表/MyDatabaseHelper.java b/获取课表/MyDatabaseHelper.java new file mode 100644 index 0000000..f00a33a --- /dev/null +++ b/获取课表/MyDatabaseHelper.java @@ -0,0 +1,123 @@ +package com.example.fuckyou; + +import android.annotation.SuppressLint; +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; + +import java.io.File; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.List; + +public class MyDatabaseHelper extends SQLiteOpenHelper { + + private static final String DATABASE_NAME = "MyDatabase.db"; + private static final int DATABASE_VERSION = 1; + private Context context; + // 創建 Lesson 表格的 SQL 語句 + private static final String CREATE_TABLE_LESSONS = + "CREATE TABLE lessons (" + + "name TEXT, " + + "teacher TEXT, " + + "classroom TEXT, " + + "fromClass INTEGER, " + + "endClass INTEGER, " + + "day INTEGER, " + + "date TEXT);"; // 儲存日期,使用 ISO 格式 (yyyy-MM-dd) + + public MyDatabaseHelper(Context context) { + super(context, DATABASE_NAME, null, DATABASE_VERSION); + this.context = context; + } + public File getMyDatabaseFile() { + return context.getDatabasePath("MyDatabase.db"); + } + @Override + public void onCreate(SQLiteDatabase db) { + db.execSQL(CREATE_TABLE_LESSONS); // 執行創建表格 SQL + } + + @Override + public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { + db.execSQL("DROP TABLE IF EXISTS lessons"); + onCreate(db); + } + public void insertLesson(Lesson lesson) { + SQLiteDatabase db = this.getWritableDatabase(); + ContentValues values = new ContentValues(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-M-d"); + values.put("name", lesson.name); + values.put("teacher", lesson.teacher); + values.put("classroom", lesson.classroom); + values.put("fromClass", lesson.fromClass); + values.put("endClass", lesson.endClass); + values.put("day", lesson.day); + values.put("date", dateFormat.format(lesson.date)); + db.insert("lessons", null, values); + } + public void deleteLesson() + { + SQLiteDatabase db = this.getWritableDatabase(); + db.delete("lessons",null,null); + } + @SuppressLint("Range") + public List alllesson() throws ParseException { + List data=new ArrayList<>(); + SQLiteDatabase db = this.getWritableDatabase(); + Cursor cursor=db.query("lessons", null, null, null, null, null, null); + while (cursor.moveToNext()) { + Lesson temp=new Lesson(); + temp.name = cursor.getString(cursor.getColumnIndex("name")); + temp.teacher = cursor.getString(cursor.getColumnIndex("teacher")); + temp.classroom = cursor.getString(cursor.getColumnIndex("classroom")); + temp.fromClass = cursor.getInt(cursor.getColumnIndex("fromClass")); + temp.endClass = cursor.getInt(cursor.getColumnIndex("endClass")); + temp.day = cursor.getInt(cursor.getColumnIndex("day")); + SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-M-d"); + temp.date= dateFormat.parse(cursor.getString(cursor.getColumnIndex("date"))); + data.add(temp); + } + cursor.close(); + return data; + } + @SuppressLint("Range") + public List lessoninweek(Date date) throws ParseException + { + List data=new ArrayList<>(); + SQLiteDatabase db = this.getWritableDatabase(); + List tt=new ArrayList<>(); + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-M-d"); + Calendar calendar=Calendar.getInstance(); + calendar.setTime(date); + tt.add(date); + for (int i=0;i<6;i++) + { + calendar.add(Calendar.DATE,1); + Date temp=calendar.getTime(); + tt.add(temp); + } + String []args=new String[]{sdf.format(tt.get(0)), sdf.format(tt.get(1)),sdf.format(tt.get(2)), sdf.format(tt.get(3)),sdf.format(tt.get(4)), sdf.format(tt.get(5)),sdf.format(tt.get(6))}; + Cursor cursor = db.query("lessons", null, "date = ? OR date = ? OR date = ? OR date = ? OR date = ? OR date = ? OR date = ?",args , null, null, null); + while (cursor.moveToNext()) { + Lesson temp=new Lesson(); + temp.name = cursor.getString(cursor.getColumnIndex("name")); + temp.teacher = cursor.getString(cursor.getColumnIndex("teacher")); + temp.classroom = cursor.getString(cursor.getColumnIndex("classroom")); + temp.fromClass = cursor.getInt(cursor.getColumnIndex("fromClass")); + temp.endClass = cursor.getInt(cursor.getColumnIndex("endClass")); + temp.day = cursor.getInt(cursor.getColumnIndex("day")); + SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-M-d"); + temp.date= dateFormat.parse(cursor.getString(cursor.getColumnIndex("date"))); + data.add(temp); + Log.d("hahaha","scuess"); + } + return data; + } +}