@startuml class cc.liuyx.note.alarm.PlanDatabase { + {static} String TABLE_NAME + {static} String TITLE + {static} String CONTENT + {static} String ID + {static} String TIME + {static} String MODE + void onCreate(SQLiteDatabase) + void onUpgrade(SQLiteDatabase,int,int) } class cc.liuyx.note.alarm.Plan { - long id - String title - String content - Calendar planTime + int getYear() + int getMonth() + int getDay() + int getHour() + int getMinute() + long getId() + void setId(long) + String getTitle() + void setTitle(String) + String getContent() + void setContent(String) + Calendar getPlanTime() + String getTime() + void setTime(String) } class cc.liuyx.note.alarm.PlanAdapter { - Context mContext - List backList - List planList ~ PlanAdapter.MyFilter mFilter + int getCount() + Object getItem(int) + long getItemId(int) + View getView(int,View,ViewGroup) + Filter getFilter() } class cc.liuyx.note.alarm.PlanAdapter$MyFilter { # FilterResults performFiltering(CharSequence) # void publishResults(CharSequence,FilterResults) } class cc.liuyx.note.alarm.CRUD { ~ SQLiteOpenHelper dbHandler ~ SQLiteDatabase db - {static} String[] columns + void open() + void close() + Plan addPlan(Plan) + Plan getPlan(long) + List getAllPlans() + int updatePlan(Plan) + void removePlan(Plan) } class cc.liuyx.note.alarm.EditAlarmActivity { - DatePickerDialog.OnDateSetListener dateSetListener - TimePickerDialog.OnTimeSetListener timeSetListener - EditText et_title - EditText et - Button set_date - Button set_time - TextView date - TextView time - Plan plan - int[] dateArray - int[] timeArray - int openMode - String old_title - String old_content - String old_time - long id - boolean timeChange # void onCreate(Bundle) + boolean onKeyDown(int,KeyEvent) + boolean onCreateOptionsMenu(Menu) + boolean onOptionsItemSelected(MenuItem) # void needRefresh() - void init() - void setDateTV(int,int,int) - void setTimeTV(int,int) + void onClick(View) - void isTimeChange() - boolean canBeSet() } class cc.liuyx.note.alarm.AlarmReceiver { - String channelId - String name + void onReceive(Context,Intent) } android.database.sqlite.SQLiteOpenHelper <|-- cc.liuyx.note.alarm.PlanDatabase android.widget.Filterable <|.. cc.liuyx.note.alarm.PlanAdapter android.widget.BaseAdapter <|-- cc.liuyx.note.alarm.PlanAdapter cc.liuyx.note.alarm.PlanAdapter +.. cc.liuyx.note.alarm.PlanAdapter$MyFilter cc.liuyx.note.alarm.Filter <|-- cc.liuyx.note.alarm.PlanAdapter$MyFilter cc.liuyx.note.alarm.OnClickListener <|.. cc.liuyx.note.alarm.EditAlarmActivity cc.liuyx.note.BaseActivity <|-- cc.liuyx.note.alarm.EditAlarmActivity android.content.BroadcastReceiver <|-- cc.liuyx.note.alarm.AlarmReceiver @enduml