不知道大家是否有日常记账的习惯,反正我有,这些年我一直使用某鱼记账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
来源:CSDN
作者:weiqing1981127
链接:https://blog.csdn.net/weiqing1981127/article/details/103787235