一个简单的安卓平台下的备忘录

背景

之前已经介绍了不少的控件(TextView和ListView等等)以及开发中最常见的组件(Activity)(Service的权重在我心中没有Activity重要,因为曾经尝试过没有Activity启动App,这是不可行的,看底层代码就知道启动过程是从Activity开始的)。

基础的知识已经知道了,难免想要上手一个项目,这里开发一个记录备忘录的小项目。该项目,可以说“麻雀虽小,五脏俱全”,除了数据库,网络这方面没有涉及,其他都有应用。由于这是一个纯本地存储的项目,备忘录内容云同步未涉及。(后续考虑添加)

创建一个项目

首先,创建一个新项目(Memo,包名任意),一路默认(安卓入门系列01介绍了)。Gradle编译完成后,尝试虚拟机运行。接着,我们修改基础配置。可以看到默认的这个界面效果,很难受的就是这个顶部的bar,不需要,我需要自定义的topbar,所以去掉它。(前面博客提到两种方法,这里修改parent)

代码的封装

在我个人的开发经历中,对封装的要求比较高,我不喜欢过多代码的堆砌,尤其是这类业务代码,所以函数或者类,接口的封装在开发过程中是不可或缺的。

首先,写一个常用的topbar,后面多次使用。 这个bar使用的是design包里面的AppBarLayout布局和Toolbar控件,需要添加依赖。

然后,在activity_main.xml添加如下,效果显著。

<FrameLayout
   adroid:layout_width="match_parent"
   adroid:layout_height="46dp">
   <include layout="@layout/topbar"></include>
</FrameLayout>

具体编码实现界面效果和业务逻辑

这部分本来是想要详细讲述布局和代码实现,包括本地存储的一些基础操作,然而考虑到个人时间和精力,要将即使是这样的一个小项目用文字描述细致,对我而言有些太难了,所以后续的内容只能大致提一下思路,具体的可以到GitHub下载我的源码看。(有详细备注)

  • 开发方法
  • 采用敏捷开发策略
  • 采用快速原型开发方式(优先完成基础功能,再进一步优化)
  • 配置文件
  • 第三方依赖添加
  • ‘com.getbase:floatingactionbutton:1.9.0’
  • 浮动窗口
  • ‘com.quinny898.library.persistentsearch:library:1.1.0-SNAPSHOT’
  • 搜索框
  • ‘com.baoyz.swipemenulistview:library:1.3.0’
  • 不完善之处
  • 本app的开发参考几个开源项目的理念和代码设计
  • 首页每一项之间预先构想的排序,最后由于时间没有实现
  • 本app界面太过平淡
  • 改进之处
  • 国内的很多记事本类型App是没有内部搜索,一般是集成到桌面的搜索功能里,而很多用户不清楚这个设定或者不喜欢,我把这个功能设计在备忘录主页

补充说明

项目的GitHub仓库地址如下,欢迎star或者fork。下面几张图,是编译完成的安卓应用实际的运行截图。

android 入门练习 android入门项目_安卓备忘录

android 入门练习 android入门项目_android 入门练习_02

android 入门练习 android入门项目_安卓备忘录_03