Android Studio 一个完整的APP实例(附源码和数据库)
前言:
这是我独立做的第一个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共涉及到三个表,分别是:用户信息表、配置表、收支明细表
public void onCreate(SQLiteDatabase db){
//user table
db.execSQL("create table if not exists user_tb(_id integer primary key autoincrement," +
"userID text not null," +
"pwd text not null)"); //Configuration table
db.execSQL("create table if not exists refCode_tb(_id integer primary key autoincrement," +
"CodeType text not null," +
"CodeID text not null," +
"CodeName text null)"); //costDetail_tb
db.execSQL("create table if not exists basicCode_tb(_id integer primary key autoincrement," +
"userID text not null," +
"Type integer not null," +
"incomeWay text not null," +
"incomeBy text not null," +
"category text not null," +
"item text not null," +
"cost money not null," +
"note text not null," +
"makeDate text not null)");
}
教程
以下博文是根据APP中涉及到的功能进行整理的,如下:
- Android Studio 快速实现上传项目到Github(详细步骤)
- Android Studio 在项目中引用第三方jar包
- Android Studio 通过一个登录功能介绍SQLite数据库的使用
- Android Studio 使用ViewPager + Fragment实现滑动菜单Tab效果 --简易版
- Android Studio列表用法之一:ListView图文列表显示(实例)
- Android Studio 使用AChartEngine制作饼图
- Android Studio 使用Intent实现页面的跳转(带参数)
- Android Studio 点击两次返回键,退出APP
参考:
- 首页的旋转菜单参考该博文:参考
版本:
目前的版本为V1.0
APP还有很多功能需要继续完善,希望有兴趣的小伙伴可以一起参与进来,和我一起来开发完善。
一点想说的话
不论遇到什么困难,都不应该成为我们放弃的理由
Android Studio 一个完整的APP实例(附源码和数据库)的更多相关文章
- C#共享内存实例 附源码
原文 C#共享内存实例 附源码 网上有C#共享内存类,不过功能太简单了,并且写内存每次都从开头写.故对此进行了改进,并做了个小例子,供需要的人参考. 主要改进点: 通过利用共享内存的一部分空间(以下称 ...
- Android应用系列:手把手教你做一个小米通讯录(附图附源码)
前言 最近心血来潮,突然想搞点仿制品玩玩,很不幸小米成为我苦逼的第一个试验品.既然雷布斯的MIUI挺受欢迎的(本人就是其的屌丝用户),所以就拿其中的一些小功能做一些小demo来玩玩.小米的通讯录大家估 ...
- Android网络:HTTP之利用HttpURLConnection访问网页、获取网络图片实例 (附源码)
http://blog.csdn.net/yanzi1225627/article/details/22222735 如前文所示的TCP局域网传送东西,除了对传输层的TCP/UDP支持良好外,Andr ...
- 转载—— android 瀑布流的实现详解,附源码
介绍 参考自:https://github.com/dodola/android_waterfall,因为原来的代码封装不好,所以,我根据源码的思路,重新写了一遍,所以有了现在这个项目:https:/ ...
- 动手写一个Remoting接口测试工具(附源码下载)
基于.NET开发分布式系统,经常用到Remoting技术.在测试驱动开发流行的今天,如果针对分布式系统中的每个Remoting接口的每个方法都要写详细的测试脚本,无疑非常浪费时间.所以,我想写一个能自 ...
- 【C#附源码】数据库文档生成工具支持(Excel+Html)
[2015] 很多时候,我们在生成数据库文档时,使用某些工具,可效果总不理想,不是内容不详细,就是表现效果一般般.很多还是word.html的.看着真是别扭.本人习惯用Excel,所以闲暇时,就简单的 ...
- 【C#附源码】数据库文档生成工具支持(Excel+Htm)
数据库文档生成工具是用C#开发的基于NPOI组件的小工具.软件源码大小不到10MB.支持生成Excel 和Html 两种文档形式.了解更多,请访问:http://www.oschina.net/cod ...
- [BOT]自己动手实现android 饼状图,PieGraphView,附源码解析
本文要介绍的是一个参照手机支付宝app里面记账本功能里的"饼状图"实现的控件.通常app中可能的数据展示控件有柱状图,折线图,饼状图等,如果需要一个包含多种View控件的库,那么 ...
- 13行代码实现:Python实时视频采集(附源码)
一.前言 本文是<人脸识别完整项目实战>系列博文第3部分:程序设计篇(Python版),第1节<Python实时视频采集程序设计>,本章内容系统介绍:基于Python+open ...
随机推荐
- copy代码的时候,如何去掉代码前边的编号
从网页上拷贝下来的代码前面总有编号,如何去掉! 1.使用正则表达式:在editorplus(notepad++)里按ctrl+h,弹出框里勾选上“正则表达式(regular expression)”, ...
- Oracle 查看当前数据库版本的方法
常用的有三种方法: 方法一:v$version SQL> select * from v$version; BANNER ---------------------------------- ...
- CSS动画原理及硬件加速
一.图层 图层即层叠上下文,具体概念和应用大家可以看我之前转自张鑫旭大神博客的<CSS层叠上下文和层叠顺序>,这里我们简单复习一下产生层叠上下文的原因. 1.根层叠上下文 指的是页面根元素 ...
- 基于 WiFi ( Wireless Fidelity) 的室内定位技术
系统的拓扑结构 基于信号强度的定位技术(RSSI, Received Signal Strength Indication) 无线信号的信号强度随着传播距离的增加而衰减,接收方与发送方离得越近, 则接 ...
- 学会四招让你在linux下安装程序变得简单
一.背景 由于最近想自己摸索一些linux下的东西,开始玩起了Linux系统,在安装软件的过程中有诸多的不解和困惑,现在终于搞明白了具体是怎么样的安装步骤和过程,先分享给你们同时也方便自己复习查阅. ...
- Linux系统基础知识整理
一.说明 本篇文章,我将结合自己的实践以及简介,来对linux系统做一个直观清晰的介绍,使得哪些刚接触Linux的小伙伴可以快速入门,也方便自己以后进行复习查阅. 二.基本知识整理 1.Linux文件 ...
- javascript 获取当前浏览器窗口宽高
获取当前浏览器窗口宽度:document.documentElement.clientWidth;获取当前浏览器窗口高度:document.documentElement.clientHeight; ...
- 21-hadoop-weibo推送广告
1, tf-idf 计算每个人的词条中的重要度 需要3个mapreduce 的 job执行, 第一个计算 TF 和 n, 第二个计算 DF, 第三个代入公式计算结果值 1, 第一个job packag ...
- 程序员必知的8大排序(一)-------直接插入排序,希尔排序(java实现)
http://blog.csdn.net/pzhtpf/article/details/7559896 程序员必知的8大排序(一)-------直接插入排序,希尔排序(java实现) 程序员必知的8大 ...
- ADNI数据和样例
ADNI临床数据集: 由各个学科的临床信息组成,包括招募.人口统计特征.体格检查和认知评估数据 所收集的临床数据: 基因数据: ILLUMINA SNP基因分型检测 ADNI的一个关键目标就是为研究人 ...