赞
踩
//闹钟日期
this.date_alarm = “”;
}
}
3.2 记事本的数据存储设计
这里由于我当时暂未学习到SQLite的数据存储方式,采用了文件读写的方式来存储记事本的条目。]
首先,在AndroidManifest.xml中设置允许程序读写文件的权限。
将Note存储在哈希表内,再将哈希表的内容写入文件中,同时文件存储在内置的SD卡的路径下。
NoteManager.java
public class NoteManager {
private Context mContext;
private List list;
private String root_file;
public NoteManager(Context context){
root_file = Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+“NoteList”;
this.mContext = context;
list = getNoteList();
}
//更新当前notes列表
public void updateNoteList(List now_data){
try {
File file = new File(root_file);
if (!file.exists()){
file.createNewFile();
}
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(root_file));
oos.writeObject(now_data);
oos.close();
}
catch (Exception e1){
e1.printStackTrace();
}
}
}
为了更好的用户体验,决定将用户设计设计成两种情况,一种为用户程序中暂无存储记事文件的情况下,一种为程序中已存有记事文件下。附上部分关键代码以及程序截图。
| 主界面-1 | 主界面-2 |
| — | — |
| | |
//检查数据列表是否为空,如果为空,那么渲染blank_View
public void emptyListCheck(){
int number = 0;
if(data!=null){
number=data.size();
}
if(number == 0) {
smlvMain.setVisibility(View.GONE);
RelativeLayout empty = (RelativeLayout) findViewById(R.id.blank_view);
empty.setVisibility(View.VISIBLE);
fabMenu.setVisibility(View.VISIBLE);
}else{
smlvMain.setVisibility(View.VISIBLE);
RelativeLayout empty = (RelativeLayout) findViewById(R.id.blank_view);
empty.setVisibility(View.GONE);
}
}
这里设置了Note条目的菜单模块和空白模块,若数据列表为空,则隐藏条目菜单模块,显示空白模块,若不为空,则隐藏空白模块,显示菜单模块。
可以看到在主界面的右下角存在一个浮动窗口菜单,这里涉及到第三方依赖的添加:
com.getbase.floatingactionbutton.FloatingActionButton
res/layout/activity_main.xml
<com.getbase.floatingactionbutton.FloatingActionsMenu
adroid:id=“@+id/fab_menu”
adroid:layout_width=“wrap_content”
adroid:layout_height=“wrap_content”
adroid:layout_alignParentRight=“true”
adroid:layout_alignParentBottom=“true”
fab:fab_labelStyle=“@style/fab_label_style”
app:fab_addButtonSize=“mini”
fab:fab_addButtonColorNormal=“#5e96b9”
fab:fab_addButtonColorPressed=“@null”
fab:fab_addButtonPlusIconColor=“@color/black”
adroid:layout_marginBottom=“16dp”
adroid:layout_marginRight=“16dp”>
<com.getbase.floatingactionbutton.FloatingActionButton
adroid:id=“@+id/fab_add”
adroid:layout_width=“wrap_content”
adroid:layout_height=“wrap_content”
fab:fab_colorNormal=“@color/white”
fab:fab_colorPressed=“@color/green”
fab:fab_title=“新备忘录”
fab:fab_size=“mini”
fab:fab_icon=“@drawable/fab_add” />
<com.getbase.floati
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。