前言:

这是我独立做的第一个APP,是一个记账本APP。

This is the first APP, I've ever done on my own. It's a accountbook APP.

源码:

欢迎satr or fork

备注:

APP中所涉及到的图标请勿商用

效果图

(备注:在把图片制作成gif时,图片的质量受损,所以最终呈现出来的gif图片,背景变得有些模糊)

开发环境

IDE:Android Studio

Database:SQLite

功能介绍

该APP共包含6个功能,分别是:

1、登录&注册功能:
 进入该界面,默认是让用户进行登录操作;
 若用户之前没有注册过,则会提示让用户进行注册;
 若用户忘记登录密码,也有重置密码的功能。

2、收入&支出功能:
 该功能分为两个页签:明细、类别报表
 这两个页签内容,都根据月份来统计呈现(开发中,目前是呈现所有收支明细)
 并根据月份,显示当月的收入与支出(开发中,目前是呈现固定值)

 明细页签:
  在该页签最下方会显示【记一笔】按钮,点击该按钮,会提示让用户选择记录的类型,是收入 or 支出
  然后会进入到记录收支明细的界面
  根据用户的选择类型,来呈现不同的内容
  当用户录入好收支明细,点击保存,会返回到明细页签,此时会刷新明细页签的内容(刷新功能开发中)

 类别报表页签:
  该页签会根据用户的收支明细的类别来进行统计,呈现方式是圆形饼图(具体的统计逻辑开发中)

3、统计功能:
 该功能分为两个页签:明细、类别报表(该功能和收入&支出功能类似)
 这两个页签内容,都根据月份来统计呈现(开发中,目前是呈现所有收支明细)
 并根据月份,显示当月的结余,以及相比上月支出(开发中,目前是呈现固定值)

4、特殊设置功能:该功能正在设计中。

5、心愿墙功能:该功能正在设计中。

6、关于我们功能:该功能主要是对APP进行简要介绍。

数据库设计:

目前APP共涉及到三个表,分别是:用户信息表、配置表、收支明细表

  1. public void onCreate(SQLiteDatabase db){
  2. //user table
  3. db.execSQL("create table if not exists user_tb(_id integer primary key autoincrement," +
  4. "userID text not null," +
  5. "pwd text not null)");
  6.  
  7. //Configuration table
  8. db.execSQL("create table if not exists refCode_tb(_id integer primary key autoincrement," +
  9. "CodeType text not null," +
  10. "CodeID text not null," +
  11. "CodeName text null)");
  12.  
  13. //costDetail_tb
  14. db.execSQL("create table if not exists basicCode_tb(_id integer primary key autoincrement," +
  15. "userID text not null," +
  16. "Type integer not null," +
  17. "incomeWay text not null," +
  18. "incomeBy text not null," +
  19. "category text not null," +
  20. "item text not null," +
  21. "cost money not null," +
  22. "note text not null," +
  23. "makeDate text not null)");
  24. }

教程

以下博文是根据APP中涉及到的功能进行整理的,如下:

参考:

  • 首页的旋转菜单参考该博文:参考

版本:

目前的版本为V1.0

APP还有很多功能需要继续完善,希望有兴趣的小伙伴可以一起参与进来,和我一起来开发完善。

一点想说的话

不论遇到什么困难,都不应该成为我们放弃的理由

Android Studio 一个完整的APP实例(附源码和数据库)的更多相关文章

  1. C#共享内存实例 附源码

    原文 C#共享内存实例 附源码 网上有C#共享内存类,不过功能太简单了,并且写内存每次都从开头写.故对此进行了改进,并做了个小例子,供需要的人参考. 主要改进点: 通过利用共享内存的一部分空间(以下称 ...

  2. Android应用系列:手把手教你做一个小米通讯录(附图附源码)

    前言 最近心血来潮,突然想搞点仿制品玩玩,很不幸小米成为我苦逼的第一个试验品.既然雷布斯的MIUI挺受欢迎的(本人就是其的屌丝用户),所以就拿其中的一些小功能做一些小demo来玩玩.小米的通讯录大家估 ...

  3. Android网络:HTTP之利用HttpURLConnection访问网页、获取网络图片实例 (附源码)

    http://blog.csdn.net/yanzi1225627/article/details/22222735 如前文所示的TCP局域网传送东西,除了对传输层的TCP/UDP支持良好外,Andr ...

  4. 转载—— android 瀑布流的实现详解,附源码

    介绍 参考自:https://github.com/dodola/android_waterfall,因为原来的代码封装不好,所以,我根据源码的思路,重新写了一遍,所以有了现在这个项目:https:/ ...

  5. 动手写一个Remoting接口测试工具(附源码下载)

    基于.NET开发分布式系统,经常用到Remoting技术.在测试驱动开发流行的今天,如果针对分布式系统中的每个Remoting接口的每个方法都要写详细的测试脚本,无疑非常浪费时间.所以,我想写一个能自 ...

  6. 【C#附源码】数据库文档生成工具支持(Excel+Html)

    [2015] 很多时候,我们在生成数据库文档时,使用某些工具,可效果总不理想,不是内容不详细,就是表现效果一般般.很多还是word.html的.看着真是别扭.本人习惯用Excel,所以闲暇时,就简单的 ...

  7. 【C#附源码】数据库文档生成工具支持(Excel+Htm)

    数据库文档生成工具是用C#开发的基于NPOI组件的小工具.软件源码大小不到10MB.支持生成Excel 和Html 两种文档形式.了解更多,请访问:http://www.oschina.net/cod ...

  8. [BOT]自己动手实现android 饼状图,PieGraphView,附源码解析

    本文要介绍的是一个参照手机支付宝app里面记账本功能里的"饼状图"实现的控件.通常app中可能的数据展示控件有柱状图,折线图,饼状图等,如果需要一个包含多种View控件的库,那么 ...

  9. 13行代码实现:Python实时视频采集(附源码)

    一.前言 本文是<人脸识别完整项目实战>系列博文第3部分:程序设计篇(Python版),第1节<Python实时视频采集程序设计>,本章内容系统介绍:基于Python+open ...

随机推荐

  1. odoo-开发笔记 列表视图 增加记录弹出窗口效果

    editable="bottom" 增加该标签的效果是,添加记录的时候,在原列表视图上一行一行添加; 去掉该标签之后,那么增加新记录的时候,会以弹出窗口的方式实现. 如果弹出的窗口 ...

  2. 微信web开发者工具、破解文件、开发文档和开发Demo下载

    关注,QQ群,微信应用号社区 511389428 下载: Win: https://pan.baidu.com/s/1bHJGEa Mac: https://pan.baidu.com/s/1slhD ...

  3. Selenium自动化测试Python六:持续集成

    持续集成 欢迎阅读WebDriver持续集成讲义.本篇讲义将会重点介绍Selenium WebDriver API的在持续集成中的使用方法,以及使用Jenkins持续集成工具进行自动化测试的设计. 持 ...

  4. 自测 基础 js 脚本。

    <html> <head> <script> //function(<text>a{[]}lert('x')</text>)() docum ...

  5. OAuth 2.0 安全案例回顾

    原文:http://drops.wooyun.org/papers/598 0x00 背景 纵观账号互通发展史,可以发现OAuth比起其它协议(如OpenID)更流行的原因是,业务双方不仅要求账号本身 ...

  6. Android内存管理篇 - 从updateOomAdjLocked看lowmemorykiller之外的Android进程回收机制

    提起android的进程回收机制,大家所熟知的是Android的lowmemroykiller的机制.当系统可用内存低于某个阀值时,即会杀死这个阀值对应的Adj值的所有应用.但是本篇文章并为是要介绍L ...

  7. Android:异步处理之Handler、Looper、MessageQueue之间的恩怨(三)

    前言 如果你在阅读本文之前,你不知道Handler在Android中为何物,我建议你先看看本系列的第一篇博文<Android:异步处理之Handler+Thread的应用(一)>:我们都知 ...

  8. mysql常用优化参数

    修改全站搜索 修改my.ini(my.cnf) ,在 [mysqld] 后面加入一行“ft_min_word_len=1”,然后 重启Mysql,再登录网站后台(模块管理->全站搜索)重建全文索 ...

  9. rsync实现文件同步

    rsync是类unix系统下的数据镜像备份工工具,一般linux系统都自带了 [可以确认一下:shell>rpm -qa|grep rsync] 服务端:192.168.1.2  同步目录:/h ...

  10. java设计模式-菜鸟网络

    http://www.runoob.com/design-pattern/singleton-pattern.html