结合本学期课程所学的关于Android通知的知识以及期中期末作业的记事本软件应用开发,我在之前就有想法做一个将两者结合的应用即备忘录,既能记事又能提醒。
具体定义为:具有备忘录的基本功能,支持备忘事项的创建,同时提供定时提醒功能(在指定的时间到达前在通知栏上弹出相应的通知来提醒用户)。
其中,删除用长按ListView实现,添加由点击按钮实现,编辑由点击ListView实现。闹钟提醒由广播通知实现。
关键代码及说明
①构造xml文件,使用ReclcyerView控件实现备忘录的列表显示,通过CardView控件实现备忘录的卡片式显示,以及添加FloatingActionButton控件进行添加活动的跳转。TextView和ImageView实现细节展示。
(1)activity_main.xml(部分代码)
<android.support.v7.widget.RecyclerView
android:id=“@+id/recycler_view”
android:layout_width=“match_parent”
android:layout_height=“670dp”
app:layout_behavior=“@string/appbar_scrolling_view_behavior” />
<android.support.design.widget.FloatingActionButton
android:id=“@+id/add”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:layout_gravity=“bottom|end”
android:layout_margin=“14dp”
android:src=“@drawable/ic_add”
app:backgroundTint=“#FF2229” />
(2)activity_edit.xml(部分代码)
<LinearLayout
android:orientation=“horizontal”
android:layout_width=“match_parent”
android:layout_height=“wrap_content”
android:layout_margin=“5dp”>
<LinearLayout
android:layout_width=“275dp”
android:layout_height=“122dp”
android:layout_weight=“5”
android:orientation=“vertical”>
<LinearLayout
android:layout_width=“289dp”
android:layout_height=“59dp”
android:orientation=“horizontal”>
<TextView
android:id=“@+id/dateText”
android:layout_width=“wrap_content”
android:layout_height=“fill_parent”
android:text=“现在是2020/1/1”
android:textAppearance=“?android:attr/textAppearanceLarge”
android:textSize=“25sp” />
<TextView
android:id=“@+id/timeText”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:layout_marginLeft=“10dp”
android:text=“00:00”
android:textAppearance=“?android:attr/textAppearanceMedium”
android:textSize=“25sp” />
<TextView
android:id=“@+id/alarmView”
android:layout_width=“wrap_content”