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();
}
}
}
3.3 主界面的设计
为了更好的用户体验,决定将用户设计设计成两种情况,一种为用户程序中暂无存储记事文件的情况下,一种为程序中已存有记事文件下。附上部分关键代码以及程序截图。
| 主界面-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条目的菜单模块和空白模块,若数据列表为空,则隐藏条目菜单模块,显示空白模块,若不为空,则隐藏空白模块,显示菜单模块。
3.4 记事本的编辑
可以看到在主界面的右下角存在一个浮动窗口菜单,这里涉及到第三方依赖的添加:
com.getbase.floatingactionbutton.FloatingActionButton
res/layout/activity_main.xml
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”> 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" /> adroid:id="@+id/fab_exit" 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” app:fab_icon="@drawable/fab_exit" />
这里可以看到对浮动菜单栏的xml设计,包含两种功能,新建Note和应用的退出,涉及到功能的逻辑代码这里就不赘述了。
新建Note后,可在主界面-2下的点击Note条目或左滑条目进入编辑模式。
| 编辑模式-1 | 编辑模式-2 |
| — | — |
|