android软件简约记账app开发day06-将记账条目添加到数据库并且绘制备注页面

首先写添加到数据库

在DBOpenHelper中添加创建记账表的语句

//创建记账表
sql = "create table accounttb(id integer primary key autoincrement,typename varchar(10),sImageId integer,beizhu varchar(80),money float," +
       "time varchar(60),year integer,month integer,day integer,kind integer)";
db.execSQL(sql);

在数据库管理类中添加保存方法

/*
* 向记账表当中插入一条元素
* */
public static void insertItemToAccounttb(AccountBean bean){
   ContentValues values = new ContentValues();
   values.put("typename",bean.getTypename());
   values.put("sImageId",bean.getsImageId());
   values.put("beizhu",bean.getBeizhu());
   values.put("money",bean.getMoney());
   values.put("time",bean.getTime());
   values.put("year",bean.getYear());
   values.put("month",bean.getMonth());
   values.put("day",bean.getDay());
   values.put("kind",bean.getKind());
   db.insert("accounttb",null,values);
}

我们在baseFragment类中写一个保存到数据库的方法,为了方便继承实现,定义成抽象方法,并且把该类改为抽象类。

/**
* 将数据保存到数据库,因为收入支出保存不同,所以我们封装成抽象类,抽象方法。
*/
public abstract void saveAccountToDB();

分别在子类中重写

@Override
public void saveAccountToDB() {
   accountBean.setKind(1);
   DBManager.insertItemToAccounttb(accountBean);
}
@Override
public void saveAccountToDB() {
   accountBean.setKind(0);
   DBManager.insertItemToAccounttb(accountBean);
}

绘制备注界面

我们在点击备注时,要弹出界面,我们今天只画一下该界面

新建dialog_beizhu.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent" android:layout_height="wrap_content"
   android:padding="10dp"
   android:background="@color/white">
   <TextView
       android:id="@+id/dialog_beizhu_tv"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="@string/add_remark"
       android:textSize="16sp"
       android:textColor="@color/black"/>
   <EditText
       android:id="@+id/dialog_beizhu_et"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_below="@id/dialog_beizhu_tv"
       android:hint="@string/remark"
       android:layout_marginTop="10dp"
       android:layout_marginBottom="20dp"
       android:textSize="14sp"
       android:background="@color/white">
       <requestFocus/>
   </EditText>
   <LinearLayout
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:orientation="horizontal"
       android:layout_below="@id/dialog_beizhu_et"
       android:padding="10dp">
       <Button
           android:id="@+id/dialog_beizhu_btn_cancel"
           android:layout_width="0dp"
           android:layout_height="wrap_content"
           android:layout_weight="1"
           android:text="@string/cancel"
           android:background="@drawable/dialog_btn_bg"
           android:textStyle="bold"
           android:textColor="@color/green_006400"
           android:layout_marginRight="5dp"/>
       <Button
           android:id="@+id/dialog_beizhu_btn_ensure"
           android:layout_width="0dp"
           android:layout_height="wrap_content"
           android:layout_weight="1"
           android:text="@string/ensure"
           android:background="@drawable/main_recordbtn_bg"
           android:textStyle="bold"
           android:textColor="@color/white"
           android:layout_marginRight="5dp"/>
   </LinearLayout>
</RelativeLayout>

在drawable中添加drawable文件

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="rectangle">
   <!-- 四个角设定弧度-->
   <corners android:radius="20dp"/>
<!--   填充颜色-->
   <solid android:color="@color/white"/>
   <stroke android:color="@color/green_006400" android:width="3dp"/>
</shape>

在strings.xml中添加变量

<string name="add_remark">添加备注</string>
<string name="remark">备注</string>
<string name="ensure">确定</string>
<string name="cancel">取消</string>

效果图:

今天的内容比较简单,我们明天见。

android软件简约记账app开发day06-将记账条目添加到数据库并且绘制备注页面的更多相关文章

  1. android软件简约记账app开发day05-记账页面条目代码优化和bug解决

    android软件简约记账app开发day05-记账页面条目代码优化和bug解决 今天还是因为该bug又极大的耽误了项目进程,该开发文档都要没有时间来写了. 先说bug吧,在昨天已经实现了页面图标的展 ...

  2. android软件简约记账app开发day10-主页面模块--头信息的展示,和之后功能完善的目标。

    android软件简约记账app开发day10-主页面模块--头信息的展示,和之后功能完善的目标. 今天来写主界面头信息的展示,也就是将第一天的写的layout中的item_main_top展示到主界 ...

  3. android软件简约记账app开发day09-主页面模块,收支记账信息的展示

    android软件简约记账app开发day09-主页面模块,收支记账信息的展示 我们第一天已经绘制了记账条目的界面,也在主界面设置了LietView来展示记账条目,今天来实现记账后再主界面的展示效果 ...

  4. android软件简约记账app开发day08-时间对话框的书写+改bug,改bug

    android软件简约记账app开发day08-时间对话框的书写+改bug,改bug 绘制对话跨页面 在添加记账信息功能中,我提供了用户添加备注添加事件的功能,设计是点击时间会弹出一个时间对话框供用户 ...

  5. android软件简约记账app开发day07-备注界面完善

    android软件简约记账app开发day07-备注界面完善 ## 昨天我们已经绘制了备注页面,今天来用Java代码组装完善一下. 首先我们新建BeiZhuDialog类关联备注页面,并且实现点击接口 ...

  6. android软件简约记账app开发day04-记账页面条目的代码书写

    android软件简约记账app开发day04-记账页面条目的代码书写 在前三天我们完成了基本的界面展示,从今天开始,我们进入到后台逻辑代码的编写中,今天开发记账条目的代码 我们在主页面点击记一笔图标 ...

  7. android软件简约记账app开发day03-自定义键盘的书写

    android软件简约记账app开发day03-自定义键盘的书写 我们在fragment界面使用了自定义的keybroad键盘,所以今天我们来书写自定义的键盘代码 新建util包,新建keyboard ...

  8. android软件简约记账app开发day02-收入支出明细页面绘制

    android软件简约记账app开发day02-收入支出明细页面绘制 效果图 列表界面绘制 新建layout文件-item_mainlv.xml大体使用绝对布局,嵌套相对布局,嵌套文本内容实现 < ...

  9. android软件简约记账app开发day01-今日收支明细的界面绘制

    android软件简约记账app开发day01-今日收支明细的界面绘制 导入素材 导入在阿里iconfront图标库下载的字体图标分为大小两种,分别导入到项目目录mipmap-hdpi和mipmap- ...

随机推荐

  1. ldap常用命令

    单独查询用户信息 ldapsearch -D "cn=admin,dc=hrbeu,dc=edu,dc=cn" -b "ou=hbr,dc=hrbeu,dc=edu,dc ...

  2. [SPDK/NVMe存储技术分析]004 - SSD设备的发现

    源代码及NVMe协议版本 SPDK : spdk-17.07.1 DPDK : dpdk-17.08 NVMe Spec: 1.2.1 基本分析方法 01 - 到官网http://www.spdk.i ...

  3. ITerm让MAC终端更加灵活高效

    一.ITerm2简介 1.安装 iTerm2 是一款完全免费的,专为 Mac OS 用户打造的命令行应用.直接在官网上http://iterm2.com/ 下载并安装即可. 2.配置 设置ITerm为 ...

  4. 1分钟为Win10瘦身!把吃掉的硬盘找回来

    很多小伙伴升级完Win10后都发现C盘变小了,不少人以为这大概就是Win10太占磁盘空间了.但事实上,Win10和以前的操作系统一样,对于C盘空间并没有什么太高要求.出现这个问题的主要原因,是Win1 ...

  5. python3 爬虫6--requests的使用(1)

    1用requests进行网页请求与urlopen差不多,这里省略不说 2抓取网页的学习 import requests import re headers={'User-Agent': 'Mozill ...

  6. KestrelServer详解[3]: 自定义一个迷你版的KestrelServer

    和所有的服务器一样,KestrelServer最终需要解决的是网络传输的问题.在<网络连接的创建>,我们介绍了KestrelServer如何利用连接接听器的建立网络连接,并再次基础上演示了 ...

  7. 你如何理解 Spring Boot 中的 Starters?

    Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成 Spring 及其他技术,而不需要到处找示例代码和依赖包.如你想使用 Spring JPA 访问数据库,只 ...

  8. lucence 内部结构是什么?

    面试官:想了解你的知识面的广度和深度. 解答: Lucene 是有索引和搜索的两个过程,包含索引创建,索引,搜索三个要点.可以 基于这个脉络展开一些. 最近面试一些公司,被问到的关于 Elastics ...

  9. redis 过期键的删除策略?

    1.定时删除:在设置键的过期时间的同时,创建一个定时器 timer). 让定时器在键 的过期时间来临时,立即执行对键的删除操作. 2.惰性删除:放任键过期不管,但是每次从键空间中获取键时,都检查取得的 ...

  10. 使用 Docker, 7 个命令部署一个 Mesos 集群

    这个教程将给你展示怎样使用 Docker 容器提供一个单节点的 Mesos 集群(未来的一篇文章将展示怎样很容易的扩展这个到多个节点或者是见底部更新).这意味着你可以使用 7 个命令启动整个集群!不需 ...