首先这是我对自己编写程序的认识,要实现一个程序,根据之前编写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. 洛谷 P2153 [SDOI2009]晨跑

    题目描述 Elaxia最近迷恋上了空手道,他为自己设定了一套健身计划,比如俯卧撑.仰卧起坐等 等,不过到目前为止,他坚持下来的只有晨跑. 现在给出一张学校附近的地图,这张地图中包含N个十字路口和M条街 ...

  2. 洛谷 U10223 Cx大帝远征埃及

    题目背景 众所周知,Cx是一个宇宙大犇.Cx能文善武,一直在为大一统的实现而努力奋斗着.Cx将调用他的精锐军队,一个精锐士兵最多可以战胜十个埃及士兵.同时Cx是个爱才的人,他想要制定一份能使在占领埃及 ...

  3. Git 版本控制系统的基本使用、常用操作

    以Ubuntu16.04操作系统为例(其他系统类似),主要记录常用的.基本操作: 0. 安装Git 分散型版本控制系统(CVS): sudo apt-get install git 1. 初始化本地配 ...

  4. Android安卓下拉阻尼效果实现原理及简单实例

    原理  这种效果是通过自定义控件的方式来实现的,我自定义了一个控件类型,这个自定义控件(PullDownDumperLayout)继承自线性布局(LinearLayout).  用户可以下拉弹出的那个 ...

  5. jeecms

    ===标签=== <!-- 显示一级栏目对应的二级栏目 --> <!-- [@cms_channel_list parentId=c.id] [#if tag_list?size&g ...

  6. How to Slove MB SD C4 Cannot Access OBD2 Port

    When using china clone mb sd connect compact 4 Multiplexer, it could not link to the car computer, M ...

  7. 写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度

    import java.util.Scanner; /** * [程序38] * * 题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度. * * @author Jame ...

  8. MySQL-02 数据表管理

    学习要点 数据类型 数据字段属性 数据表的类型及存储位置 索引 数据表对象管理 数据类型 数据库中的数据类型分为字段类型和值类型,定义如下: 在设计数据表字段的时候,字段类型定义为三大类:数值类.字符 ...

  9. 20. ROUTINES

    20. ROUTINES ROUTINES表提供有关存储例程(存储过程和存储函数)的信息. ROUTINES表不包含内置SQL函数或用户定义函数(UDF). 名为mysql.proc Name的列表示 ...

  10. 大页(Huge Page)简单介绍

    x86(包括x86-32和x86-64)架构的CPU默认使用4KB大小的内存页面(getconf PAGESIZE),但是它们也支持较大的内存页,如x86-64系统就支持2MB大小的大页(huge p ...