一个码农的非典型日常爱好

大憨熊 提交于 2020-01-24 21:52:44

不知道大家是否有日常记账的习惯,反正我有,这些年我一直使用某鱼记账APP,但是最近它广告实在太多,于是突然萌生了自己做一个适合自己的记账App的想法。

 

虽然我算是个程序员,但是我平时只用汇编和C,对于面向对象的C++/Java都没学过。白天需要上班,只能夜深人静的时候,撸会儿代码,算是给生活增添一份乐趣吧。

 

首先我相信编程语言是相通的,百度了下,在网上找到了廖雪峰的官方网站之JAVA教程,顺便加了那个微信交流群,花了几天时间对Java常见语法和名称有一定的理解,例如Android常用的extend/implement。

 

然后我在淘宝了一本《Android Studio开发实战》,也加了对应的QQ交流群,花了两周学习了下Android基础,需要掌握到什么程度呢?书上程序你会拿来当模板套就行了。

 

最后我就开始动手了,经过一周多时间,已经能满足自己记账需求了。先看下界面,然后说下具体使用到Android中哪些功能模块组装起来的。

 

开发前先自报下开发环境,因为自己打算做Android记账App是今年11月底了,所以安装的软件都是最新的。

Android Studio3.5.2 + JDK 13.0.1。

 

记账软件主要包括记账、查账和删账,显示部分做了按月查消费比例;按年查月消费折线图;按年查每月收支结余。

 

使用的书上的主要技术如下:

1、数据存储,采用SQLite存储账单;

 

2、主页的饼图/折线图/表格图使用的是GridLayoutManager;

 

3、主页的banner使用的是自定义动画技术;

 

4、账单显示,使用的是LinearLayoutManager;

 

5、查账和记账支持翻页,使用的是FragmentPagerAdapter;

 

6、导航栏,使用的是OverflowMenu;

 

7、底部标签,使用的是基于ActivityGroup的标签栏;

 

8、年份选择、月份选择功能,是基于DatePicker做的裁剪;

 

9、使用到的基础控件包括TextView/EditText/Button/ Spinner;

 

10、饼图和折线图使用github上基于View做的封装库;

 

11、涉及到其他技术如碎片fragment,需要知道application的生命周期。

 

最后考虑到以后我要换手机,怎么解决数据丢失问题?可以使用adb把sql数据库导出,等换了新手机安装完软件后,再把sql数据库放回去,这样以前写的账单都不会丢失啦。

 

另外,手机不用root,使用run-as命令可直接进入app数据库所在目录。

 

写在最后,因为完全是Android门外汉,所以也是临时兴起,边看边学,解决自己的实际需求的,所以App谈不上美观,更谈不上质量,纯满足自己可用而已。

 

更多源码,可以关注如下公众号获取。

 

欢迎扫码关注,一起学习Linux

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!