基于SQLite的Android记事本

Posted MX巴赫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于SQLite的Android记事本相关的知识,希望对你有一定的参考价值。


     上一次用ionic开发了一个简单的记事本,功能各方面虽然没有问题,但是启动速度欠妥,优化了一下还是觉得不太满意,达不到我个人的使用要求。所以决定用原生+SQLite数据库来开发一款更快、更可靠的记事本。说做就做,便用了两天晚上的零碎时间完成了这个小项目。

     SQLite是一款轻量级的关系型数据库,它的运算速度非常快,占用资源很少,通常只需要几百K内存就足够了,因而特别适合在移动设备上使用,而且android系统是内置了SQLite数据库的。记事本最基础的功能无非就是添加便签,编辑便签和删除便签,而我们的数据又是存放在数据库里的,所以开发记事本的重点就是对数据库的增删查改。Android为了让我们能够更加方便的管理数据库,专门提供了一个SQLiteOpenHelper帮助类,借助这个类就可以简单的对数据库进行创建和升级。但是,正所谓没有最简单,只有更简单,没有最好用,只有更好用。在这里,我使用了一款开源的Android数据库框架LitePal,它是由郭霖大神开发的,采用了对象关系映射(ORM)的模式,并将我们平时开发最常用到的一些数据库功能进行了封装,从而使我们能够更方便的操作数据库。

     因为篇幅有限(lan),这里我只介绍这个记事本的核心实现方法。首先我们创建新工程,并另外创建两个活动,分别对应编辑界面,新建界面,而MainActivity就是我们的主界面。然后为每个活动编写相应的布局,为按钮添加相应的事件,使用ListView结合SimpleAdapter实现整个便签列表。在新建页面点击保存时获取用户输入的值,然后添加到我们的数据库,并返回上一个活动,同时更新ListView。当用户点击便签时进入编辑页面,获取用户当前点击的item值,在数据库中进行查找,并将结果设置到EditText中,当用户改变EditText中的内容并再次保存时,将其更新到我们刚刚查找到的数据里。当用户长按相应便签时,弹出对话框,询问是否删除数据。

    说了这么多,感觉讲的都是废话,还是直接看图好了。(界面很丑,不要在意这个先基于SQLite的Android记事本,文末可下载该便签,更直观的查看)


主页面


基于SQLite的Android记事本


新建页面


基于SQLite的Android记事本


编辑页面




长按删除




下面视频可以查看这个便签的运行情况,可以发现它的运行速度相当快,比之前用ionic做的快多了,后续有时间再改下UI和优化代码了。





感兴趣的可以下载试试:

链接:https://pan.baidu.com/s/1w560KISr-eo3tTSjn7-CAA 提取码:t4ak 




以上是关于基于SQLite的Android记事本的主要内容,如果未能解决你的问题,请参考以下文章

将我的应用程序的 sqlite db 替换为 android 30+ 中的备份数据库

当我尝试在 Android SQLite 数据库中添加新值时,我的应用程序退出 [重复]

同步 SQLite 数据库和 Dropbox 数据存储

SQLite从Excel文件中导入数据

简单记事本app6

《基于Android的读书笔记api》