首先这是我对自己编写程序的认识,要实现一个程序,根据之前编写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. tree 树状构建

    /*package ch.util; import com.trm.model.func.FunctionTree; import java.util.HashMap; import java.uti ...

  2. reciting

    When I was seventeen, I read a quote that went something like, '' if you live your each day as if it ...

  3. Opencascade 选择器算法

    算法的阶段 该算法包括预处理和三个主要阶段. 使用深度优先搜索逐层遍历所有对象 . 预处理 计算平截头体及其主要特征的计算. 第一阶段 - 遍历第一级BVH树 在成功构建选择平截头体之后,算法开始遍历 ...

  4. Open Cascade创建自己的MFC文档程序

    项目初始设置在Visual studio中创建一个单文档MFC项目(本例以MFCTest为名称): 在项目属性的VC++页面设置包含目录.库目录,在链接器的输入中添加OCC库目录下的所有.lib文件名 ...

  5. Linux 编译升级 FFmpeg 步骤

    如果服务器已经安装了一个 Ffmpeg 的话,比如已安装在 /usr/local/ffmpeg 目录.Linux下版本升级步骤如下: 1.下载 ffmpeg-*.tar.gz到 Ffmpeg 官网 h ...

  6. 错误的语法:"create view必须是批处理中仅有的语句"

    编写脚本提示: 错误的语法:"create view必须是批处理中仅有的语句" FROM sys.views WHERE name = 'v_CS_UserRoleNames' ) ...

  7. WebGL 绘制Line的bug(二)

    上一篇文章简单介绍了WebGL绘制Line的bug,不少朋友给我发了私信,看来这个问题大家都遇上过哈.今天这篇文章会讲述解决这个问题的work around. 基本思路 上一篇文章结尾简单提了下解决的 ...

  8. Puppeteer-常规操作一

    这里不讲 Puppeteer 怎么使用,主要讲一些常规操作在这里如何通过另类方法实现.等实现后,你就会感觉,嗯~~ 真香! 场景一 已经找出要的元素,现在有需求再继续寻找他的子元素 第一种.将父元素带 ...

  9. 洛谷——P4932 浏览器

    P4932 浏览器 __stdcall给了你n个点,第i个点有权值x[i],对于两个点u和v,如果x[u] xor x[v]的结果在二进制表示下有奇数个1,那么在u和v之间连接一个Edge,现在__s ...

  10. Gameia

    F - Gameia HDU - 6105   Alice and Bob are playing a game called 'Gameia ? Gameia !'. The game goes l ...