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共涉及到三个表,分别是:用户信息表、配置表、收支明细表

 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还有很多功能需要继续完善,希望有兴趣的小伙伴可以一起参与进来,和我一起来开发完善。

一点想说的话

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

原文地址:https://www.cnblogs.com/AnneHan/p/9815645.html

时间: 2024-10-30 23:40:51

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

【Android数据存储】SQLite使用实例(附源码)(转载)

原文地址:http://blog.csdn.net/wirelessqa/article/details/8583101 java当中提供了相当多的封装好的类来执行对SqlLite的操作,如: SQLiteDatabase 作为数据库操作的类,类似于C#当中我们自己写的helper,PS(java对此还真是高度封装) SQLiteOpenHelper 作为作为维护和管理数据库的基类实例: 会员信息管理 功能:1.查看数据库 2.清空数据库 3.增加会员 4.删除会员 5.更新会员 6.查找会员

Android高仿QQ消息滑动删除(附源码)

大家都应该使用过QQ吧,他的消息中可以滑动删除功能,我觉得比较有意思,所以模仿写了一个,并且修改了其滑动算法.我先贴几个简单示范图吧 其实主要用的是算法以及对ListView的把控. 一下是适配器的类 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52

ANDROID自定义视图——仿瀑布布局(附源码)

简介: 在自定义view的时候,其实很简单,只需要知道3步骤: 1.测量--onMeasure():决定View的大小 2.布局--onLayout():决定View在ViewGroup中的位置 3.绘制--onDraw():如何绘制这个View. 第3步的onDraw系统已经封装的很好了,基本不用我们来操心,只需要专注到1,2两个步骤就中好了. 第一步的测量,可以参考:(ANDROID自定义视图--onMeasure,MeasureSpec源码 流程 思路详解) 第二步的布局,可以参考:(AN

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

前言 最近心血来潮,突然想搞点仿制品玩玩,很不幸小米成为我苦逼的第一个试验品.既然雷布斯的MIUI挺受欢迎的(本人就是其的屌丝用户),所以就拿其中的一些小功能做一些小demo来玩玩.小米的通讯录大家估计用过小米的都清楚是啥子样的,没用过小米的也别着急,瞧瞧我的demo,起码也有七八分相似滴.先上图看效果 我是图: PS:吐槽一下,博客园上个图真难,所以搞了个短点的gif上才没失败....唉... 在这里仅仅是实现了逻辑交互的效果,并没有点击打电话的功能,因为也不难就懒得加了... 分析 我们说说

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

http://blog.csdn.net/yanzi1225627/article/details/22222735 如前文所示的TCP局域网传送东西,除了对传输层的TCP/UDP支持良好外,Android对HTTP(超文本传输协议)也提供了很好的支持,这里包括两种接口: 1.标准Java接口(java.net) ----HttpURLConnection,可以实现简单的基于URL请求.响应功能: 2.Apache接口(org.appache.http)----HttpClient,使用起来更方

Android中AIDL实现进程通信(附源码下载)

AIDL概述 之前的博客<Android中通过Messenger与Service实现进程间双向通信>演示了如何通过Messenger实现与Service进行跨进程通信,即IPC.但用Messenger实现的IPC存在一点不足:Service内部维护着一个Messenger,Messenger内部又维护着一个Hanlder,当多个client向该Service发送Message时,这些Message需要依次进入Hanlder的消息队列中,Hanlder只能处理完一个Message之后,再从消息队

Android中常见Intent习惯用法-上篇(附源码下载)

Android中的Intent是一个非常重要的类,如果对Intent不是特别了解,可以参见博文<Android中Intent概述及使用>.如果对Intent Filter不是特别了解,可以参见博文<Android中Intent对象与Intent Filter过滤匹配过程详解>. 本文着重讲一下Android中一些常见的Intent的习惯用法,比如如何通过Intent发送短信.发送邮件.启动摄像机拍照录视频.设置闹铃.打开WIFI设置界面等等. 限于篇幅,本博文分为上下两篇,这是上篇

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

介绍 参考自:https://github.com/dodola/android_waterfall,因为原来的代码封装不好,所以,我根据源码的思路,重新写了一遍,所以有了现在这个项目:https://github.com/youxilua/waterfall4android 原作者表示: 试过在1万张可以流畅的滑动,不出现内存溢出情况 设计思路 之前的作者的自定义view 只有主滑动一层,其他的设置要在相应的活动设置,个人觉得,重用起来比较麻烦,所以决定封装一层.现在定义一个默认的瀑布流只需5

Android开发之拍照功能实现(附源码)

大家好,这是一个简单的拍照功能,很简单的界面,一个显示图像区域SurfaceView一个“拍照”按钮.直接上代码! 1.CameraDemoActivity.java(主界面) package org.winplus.camera; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.Date; import android.app.Activity;