本篇由 DeveloperHaoz 投稿,

转载请注明出处
作者:DeveloperHaoz
说明:本文的内容主要是解析日记APP的制作流程,以及代码的具体实现,若有什么不足之处,还请提出建议

本文的主要内容

  • APP制作的原因

  • 日记的展示

  • 悬浮菜单的实现

  • 日记增删改的实现

PS :有兴趣的加入Android工程师交流QQ群:752016839 主要针对Android开发人员提升自己,突破瓶颈,相信你来学习,会有提升和收获。

1 APP制作的原因

说起这个APP的产生还是个悲伤的故事,这个APP是我舍友亲手设计,然后由我开发,打算在他女神生日那天,作为生日礼物送给他的女神的,祝福他吧 (我个单身狗默默敲代码)

先来一波日记的展示吧,虽然内容比较简单,但还是设计的非常用心的,因此这款APP还是非常简洁和优雅的

2 日记的展示

1、伪日记的处理

可以看到刚开始进入主页面,显示的是今天,你什么都没写下...这个伪日记,其实只要是某一天没有写日记的话,界面最上面显示的就是这个,当我们写了日记之后,这个伪日记便会消失,讲道理一开始实现这个还真花了我不少心思,本来的思路是将这个伪日记作为RecyclerView的第一个Item,如果当天有写日记了,就将它隐藏起来,等到了第二天再重新显示,但是感觉实现起来会很麻烦,后来想了想只要将这个伪日记,直接写在主页面的布局中,到时候如果检索到数据库里面,有某篇日记的日期跟当天的日期一致的话,就将伪日记从布局中remove掉就行了

2、使用RecyclerView展示日记

因为我是打算以事件线的形式来展示我们所写的日记,因此使用RecyclerView也算是比较合适的了。这里附上一篇将RecyclerView讲的很不错的博客RecyclerView使用详解(一)

要想使用 RecyclerView来实现我们想要实现的效果,先让我们建立一个item_rv_diary作为RecyclerView的子布局(布局代码太长,请在文末链接查看)布局还是比较简单的,比较难实现的应该是左边的那条竖线,其实,一开始并没有什么思路,因为shape中的line只能画横线,而画不了竖线,最后在Google的帮助下,终于找到了实现这个竖线的思路,我是这样处理的,定义一个layer-list设置在TextView中,将 TextView的右边框进行描绘

写好子布局之后,再让我们来实现RecyclerView的Adapter,首先定义了一个DiaryViewHolder继承自 RecyclerView.ViewHolder,传入一个保存日记信息的List,然后通过onCreateViewHolder来创建布局,通过onBindViewHolder将数据绑定到对应的Item上面,这里我使用了EventBus通过点击编辑按钮打开修改日记的界面, EventBus是一款针对Android优化的发布/订阅事件总线,使用也是非常简单的,可以当作一个轻量级的BroadCastReceiver来使用,有兴趣可以看看这篇文章EventBus使用详解(一)——初步使用EventBus

最后在MainActivity中将RecyclerView进行处理就行了

3 悬浮菜单的实现

悬浮菜单看起来逼格还是挺高的, 而且观赏性也算是比较高,我是从Github找的一个库,来实现这个悬浮菜单的,不得不说,搞这个悬浮菜单真的花了我不少时间, 有些库要么不能调节菜单的大小,要么不能调节菜单图案,找了好久才找到这个让我比较满意的库FloatingActionButton

虽然逼格挺高的,但使用起来却是相当的方便,先在build.grade中添加

dependencies {    compile 'cc.trity.floatingactionbutton:library:1.0.0'}

然后在布局中设置我们想要的颜色和图案,最后在Activity中进行悬浮按钮点击事件的处理就行了

4 日记增删改的实现

日记的信息,我是使用Android自带的SQLite数据库进行保存的,做法也是比较简单的,这里附上一篇讲解SQLite的博客Android中SQLite应用详解,先建立一个DiaryDatabaseHelper作为我们进行数据库操作的帮助类,因为日记的内容比较简单, 因此,我只建了一张表

1、日记的添加
获取添加日记界面中日记的日期、标题以及具体的内容,然后将这些信息添加到数据库中

2、日记的删除
在这里我为了防止日记被误删,就做了一个对话框,当点击删除按钮的时候,便会跳出这个对话框询问用户是否真的要删除该日记

3、日记的修改

以上便是我写这个APP的具体实现思路,以及踩过的一些坑,记录下来,给大家看看,如果有什么想法或者建议,非常欢迎大家来讨论

Android 一款十分简洁、优雅的日记APP相关推荐

  1. Android studio课程设计开发实现---日记APP

    Android studio课程设计开发实现-日记APP 文章目录 Android studio课程设计开发实现---日记APP 前言 一.效果 二.功能介绍 1.主要功能 2.涉及知识点 三.实现思 ...

  2. 一款原生Android实现的轻快简洁的记事本App,值得拥有!

    实现效果:一款轻快简洁的记事本App,值得拥有! 此音乐App开发环境: Win10+Android Studio2020+JDK1.8 + Gradle6.5.1 +Android SDK32 + ...

  3. [Android 课设] 一款星座运势查询APP(前言)

    [Android 课设] 一款星座运势查询APP(前言) 前言 熬了几个夜,终于肝完了课设,今天答辩我是第四个,好家伙前面和后面全是大佬,就我一个简简单单连个登录注册都没有的不像APP的APP夹在中间 ...

  4. android 笔记 源码,Android一款类似印象笔记的App,随时记录您的生活点滴

    Android一款类似印象笔记的App,随时记录您的生活点滴 一款类似印象笔记的App,随时记录您的生活点滴,但时目前功能还没达到印象笔记那样,但是本人后期将通过版本迭代的方式来逐渐完善该App达到印 ...

  5. android手机黑科技软件,4款安卓手机黑科技APP,功能非常牛逼,希望大家谨慎使用...

    原标题:4款安卓手机黑科技APP,功能非常牛逼,希望大家谨慎使用 众创音乐剪辑 众创音乐剪辑是一款非常出色的音乐编辑神器,里面提供的操作非常简单全面,并且完全免费.不仅支持音乐剪辑,还支持音频合并.音 ...

  6. android 收藏功能,5款不可思议的安卓黑科技APP,各个超级实用,希望大家低调收藏...

    原标题:5款不可思议的安卓黑科技APP,各个超级实用,希望大家低调收藏 手机软件是每个手机必不可少的,并且很多朋友手机中不知一个应用,今天就给大家分享5款强大的黑科技APP,功能超级出色,请大家低调收 ...

  7. 手机看图app android开源小众,4款小众实用的手机APP,全是安卓手机的黑科技软件!...

    原标题:4款小众实用的手机APP,全是安卓手机的黑科技软件! 相信对于每天都捧着手机来玩的小伙伴们而言,对于手机插件应该不至于陌生吧!大家或多或少的都有在桌面上添加过一些天气.壁纸或者一些应用类的软件 ...

  8. android 退出应用没有走ondestory方法,Android退出应用最优雅的方式(改进版)

    我们先来看看几种常见的退出方法(不优雅的方式) 一.容器式 建立一个全局容器,把所有的Activity存储起来,退出时循环遍历finish所有Activity import java.util.Arr ...

  9. Android最新最全100余款开源App(对应Github开源项目)

    最近整理了一些开源的APP,以及对应的一些Github开源项目,现在做一些记录,以便以后查阅. 介绍与链接 BeautifulRefreshLayout-漂亮的美食下拉刷新 https://githu ...

最新文章

  1. RadASM的测试工程!
  2. 电脑无法识别u盘怎么办_笔记本无法识别U盘了怎么办?这个端口你一定没开启!...
  3. 概率论-3.5 条件分布与条件期望
  4. 38行代码AC——L1-025 正整数A+B (15分)(~解题报告~)
  5. [翻译]API Guides - Bound Services
  6. win7开机动画_仍有4亿中国用户死守win7 你为何还不选择升级?
  7. 复合选择器-链接伪类选择器(HTML、CSS)
  8. Mysql安装相关问题
  9. kafka consumer group 定义
  10. 工具使用-curl/wget
  11. ai中如何插入签名_如何在PDF文件中插入手写签名?手把手教会你,轻松设置签名...
  12. 正确的握笔姿势,握笔的姿势非常的重要
  13. postgresql 9.5 now()函数少8小时
  14. 再谈微软复兴,纳德拉与库克、马斯克、皮查伊在管理上有什么不同
  15. neon浮点运算_ARM Linux Kernel浮点运算(软浮点、硬浮点)
  16. 微信小程序的wx:for和vue的v-for
  17. 宏转录组方法_土壤宏转录组RNA的提取方法评价
  18. 记录Linux下安装elasticSearch时遇到的一些错误
  19. MessageQueue
  20. Android DRM框架与基础知识

热门文章

  1. android是乐视手机刷机,乐视 X620(乐2 全网通)刷机教程,简单刷机
  2. 【历史上的今天】5 月 16 日:MacBook 上市;计算机图形学之父出生;笔记本电脑首次搭载 HD DVD
  3. 根据订单号查询并复制一行
  4. python 比较运算符列表_python基础-列表,文件,运算符
  5. iOS 支持webrtc的浏览器 bowser
  6. HMI-33-【运动模式】补上油量表和水温表
  7. 什么鬼畜耳机品牌会叫做233621
  8. 如何成为一名优秀的技术 Leader?(转)
  9. 这篇 python 文章,是过去你错过的 python 细节知识点,滚雪球第4季第15篇
  10. 西科大 软件体系结构内容总结