首先这是我对自己编写程序的认识,要实现一个程序,根据之前编写C++的经验,要对所编写的软件有一个模糊的了解。

一个记账本软件,要实现的过程是,添加收支,显示本日,本月或本年的收支状态。然而基于是完全没有编程基础的小白,需要一个一个功能搜索之后学习实现,这是我一直以来学习编程的方式,把当前不会的项目分为一部分直到能够完成一整个项目。

想到的记账本的第一个功能实现是添加收支记录,为了实现这个功能,仿照很多软件的状态,都是点击右上角的菜单栏后,弹出一个菜单之后,按下添加收入记录,或者添加支出记录的菜单,同时考虑到以后可能会用到查询记录的功能,还可以在这个位置添加查询记录的菜单栏。

所以为了实现这个功能,首先百度搜索:安卓右上开发菜单

对弹出的记录进行筛选之后,找到这三篇相对对我们的开发有帮助的博文,https://www.cnblogs.com/lichenwei/p/3963358.html,https://www.cnblogs.com/superWolf/p/4646929.html,https://blog.csdn.net/crackgmkey/article/details/80094720对于菜单栏的用法有所提及。(在编写的过程中主要学习的是第3篇,前2篇是凭着感觉,觉得对之后的开发有帮助的两篇博文,在此先对其进行收藏)

对之前的helloworld程序进行相对应的修改,尝试能否弹出相应的菜单栏。

然而根据软件的外观,这样的软件很明显就不符合我们对于软件的审美,最上面那一个菜单栏显得很突兀,所以根据这篇博文,里面提供了删除最上面那层菜单栏的解决方案。

http://www.pianshen.com/article/2322135983/

根据博文的内容进行修改之后,明显好看了许多,接着,添加刚刚要添加的菜单栏按钮。

现在在右上角还尚未有一个可以选择的按钮,应该就是因为没有添加菜单栏里面的选项所示,返回到第三篇的博文里面对里面的内容进行提取,然后添加上相应的内容。

目前效果很完美。

https://blog.csdn.net/u010583599/article/details/51605572,然后根据这篇博客,我想估计可以使用点击此处添加收支记录的按钮。

添加子菜单,再对界面的布局进行一些简单的设置之后,效果如下

主要添加界面完成了之后,接下来应该实现收支记录的过程了。这是这个程序的核心部分

首先要添加类似历史记录的过程,每添加一个收支记录之后,在主菜单里面就增加一个选项。根据这篇文章,实现以下的界面https://www.jb51.net/article/80654.htm

添加了一个左上角显示的

将所有的菜单的选项的按钮的接口都设置好了之后,接着开始设置其中各个菜单的页面。

根据这篇博文里面说明的下拉选项框的实现,https://blog.csdn.net/qq_38217237/article/details/79044448

设计添加收支记录的页面,大体如下所示

接着根据这篇博文添加日期选择器,提取其中的操作步骤,并修改成想要的内容

https://www.cnblogs.com/mcxiaobing/p/5907327.html

之后添加之后的效果如下所示:

然后页面设计完成之后,接下来就开始实现记录功能了。首先写上确定按钮和取消按钮的接口

根据https://www.cnblogs.com/foxy/p/7725010.html这篇博文,学习sqlite的基本用法之后,实现了记录数据的功能

根据自定义布局的例子,然后可以对上面的样式进行更改,参考链接为:https://www.cnblogs.com/r-decade/p/5827841.html

修改布局之后的格式如下所示:

然后对其中一直显示暂无今日记录的文字进行修改,让其默认统计显示的状态为今日,并且对账单的操作增加删除的功能。

在完成了删除功能之后,再增加上一个所有信息模糊搜索的功能,以方便搜索现有的账单消息并对其进行汇总

记账本安卓软件完成。感动,实践证明,在学习好helloworld之后,记账本还是能在一天多赶出来的

压力是使人有无限动力的源泉

七天从零基础学习android(3)--实现过程的更多相关文章

  1. 七天从零基础学习android(2)--第一个安卓程序

    在环境配置的那一部分,已经把基础的环境配置好了,接下来应该实现第一个安卓程序,就是著名的hello world 先在avd里面新建一个虚拟机,并且启动它 然后该虚拟机器能够在eclipse上正常识别 ...

  2. 七天从零基础学习android(1)--配置环境

    在写这篇文的时候android开发经验还是0,是一个萌新,这是一篇记录一个萌新从零android编程基础到能编写一个记账本的开发过程(至少我是这样美好的希望着的) 首先因为是没有开发基础的,直接上百度 ...

  3. [原]零基础学习视频解码之android篇系列文章

    截止今天,<零基础学习视频解码系列文章>.<零基础学习在Android进行SDL开发系列文章>以及<零基础学习视频解码之android篇>系列文章基本算是告一段落了 ...

  4. [原]零基础学习在Android进行SDL开发系列文章

    [原]零基础学习SDL开发之移植SDL2.0到Android [原]零基础学习SDL开发之在Android使用SDL2.0显示BMP图 [原]零基础学习SDL开发之在Android使用SDL2.0显示 ...

  5. [原]零基础学习SDL开发之在Android使用SDL2.0显示BMP图

    关于如何移植SDL2.0到安卓上面来参考我的上一篇文章:[原]零基础学习SDL开发之移植SDL2.0到Android 在一篇文章我们主要使用SDL2.0来加载一张BMP图来渲染显示. 博主的开发环境: ...

  6. [原]零基础学习SDL开发之在Android使用SDL2.0显示BMP叠加图

    关于如何移植在android上使用SDL,可以参考[原]零基础学习SDL开发之移植SDL2.0到Android 和 [原]零基础学习SDL开发之在Android使用SDL2.0显示BMP图 . 在一篇 ...

  7. 如何从零基础学习VR

    转载请声明转载地址:http://www.cnblogs.com/Rodolfo/,违者必究. 近期很多搞技术的朋友问我,如何步入VR的圈子?如何从零基础系统性的学习VR技术? 本人将于2017年1月 ...

  8. CSS零基础学习笔记.

    酸菜记 之 CSS的零基础. 这篇是我自己从零基础学习CSS的笔记加理解总结归纳的,如有不对的地方,请留言指教, 学前了解: CSS中字母是不分大小写的; CSS文件可以使用在各种程序文件中(如:PH ...

  9. 【零基础学习iOS开发】【转载】

    原文地址:http://www.cnblogs.com/mjios/archive/2013/04/24/3039357.html 本文目录 一.什么是iOS 二.主流手机操作系统 三.什么是iOS开 ...

随机推荐

  1. 50个Bootstrap扩展插件

    Bootstap这个框架本身已经包含了开发网页的众多要素,包括了常用的工具以及扩展组件,如果你在开发页面时觉得在某些方面还不够的话,不妨看看最新收集的50个Bootstrap扩展插件,这些插件在我们平 ...

  2. mysql踩坑记录之limit和sum函数混合使用问题

    问题复盘本次复盘会用一个很简单的订单表作为示例. 数据准备订单表建表语句如下(这里偷懒了,使用了自增ID,实际开发中不建议使用自增ID作为订单ID) CREATE TABLE `order` ( `i ...

  3. Linux centos7开机界面出现多个选项

    centos7开机界面出现多个选项时 前面几个选项正常启动,最后一个选项急救模式启动(系统出项问题不能正常启动时使用并修复系统) 在CentOS更新后,并不会自动删除旧内核.所以在启动选项中会有多个内 ...

  4. uva1412 Fund Management

    状压dp 要再看看  例题9-17 /* // UVa1412 Fund Management // 本程序会超时,只是用来示范用编码/解码的方法编写复杂状态动态规划的方法 // Rujia Liu ...

  5. uva1611 Crane

    类似煎饼,先把1放到1,之后是子问题   (先放到前一半,再放到开头,两次操作)(任何位置,最多一次就可以放到前一半)) #include<iostream> #include<ve ...

  6. Ubuntu18.04 NVIDIA显卡驱动 安装大全

    离线安装NVIDIA显卡驱动 费了一天的劲,走了好多的坑,最主要的原因是gcc版本的问题,一定要用最新版本的gcc!!! 1)官网下载显卡驱动 2)apt 下载gcc包及其依赖包,可用apt-cach ...

  7. svn 设置代理

    Memory4Young Do Not Repeat Yourself! SVN —— 如何设置代理 如果在使用SVN下载外网的资源时,出现这样的提示:No such host is known. 或 ...

  8. scanf_s读取键盘输入字符串失败

    #include<stdio.h> int main() { ]; ]; printf("Input string:\n"); scanf_s("%s&quo ...

  9. LNOI2019划水记

    十二省联考命题组温馨提醒您: 数据千万条,清空第一条. 多测不清空,爆零两行泪. NOIp2018差点退役的游记 $Flag$拔了. $LNOI2019$划水记: $Day0$: 早上八点起床,一直颓 ...

  10. SpringBoot的线程调度

    Spring Boot默认提供了一个ThreadPoolTaskExecutor作为线程调度器,只需要在配置类中使用注解EnableAsync即可开启异步线程调度.在实际要执行的Bean中使用@Asy ...