Android小实例----TodoList
一、概述:
开发环境:Android Studio4.1
虚拟机:Android11(Google APIs)
数据库:基于Sqlite的Room框架
功能:添加新计划,更新已有计划,删除一个计划。
样式:
二、项目结构:
1.布局文件
布局思路介绍:
1).主活动中使用recyclerview布局,添加一个add按钮。
2).点击“添加”按钮弹出一个dialog。
3).点击dialog确定按钮将recyclerview更新显示。
2.java代码
逻辑思路介绍:
1).数据库Room使用的MVVM模型,先创建Item类,定义每一个条目的属性与方法。(仅作参考)
package cn.edu.swu.todolist;import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.PrimaryKey;@Entity
public class Item {@PrimaryKey(autoGenerate = true)private int id;@ColumnInfo(name = "title")private String title;@ColumnInfo(name = "content")private String content;@ColumnInfo(name = "date")private String date;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getContent() {return content;}public void setContent(String content) {this.content = content;}public String getDate() {return date;}public void setDate(String date) {this.date = date;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}
}
2).Dao层简单设计用户数据库操作
package cn.edu.swu.todolist;import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.Query;
import androidx.room.Update;import java.util.List;@Dao
public interface ItemDao {@Query("SELECT * FROM Item")List<Item> getAll();@Updatevoid update(Item item);@Insertvoid insert(Item item);@Deletevoid delete(Item item);}
3).再创建一个数据库抽象类
package cn.edu.swu.todolist;import androidx.room.Database;
import androidx.room.RoomDatabase;
@Database(entities = {Item.class}, version = 1, exportSchema = false)
public abstract class ItemDB extends RoomDatabase {public abstract ItemDao itemDao();}
4).MainActivity中添加recyclerview逻辑,再绑定添加按钮实现dialog功能。
recyclerview基本使用:recyclerview
dialog基本使用:dialog
三、注意事项
1.执行添加条目时,直接将新增对象添加进adapter的数据源(List),再插入数据库。
2.recyclerview的添加一个条目操作:详情
3.更新和删除条目时直接更改adapter数据源即可,注意确定下标。
4.条目内的按钮操作是使用的回调事件:详情
四、源代码
(代码会提交到github,静待更新…)
Android小实例----TodoList相关推荐
- android-sqlite小实例
学习android-sqlite数据库的一个小实例,只需要有数据库文档,就可以获取里面的数据,而不需要本地链接.此实例,是将数据库文档mydb.db里面某个表里面的信息显示出来,仅供参考,希望共同进步 ...
- android 字符串数组去重,GitHub - deng-ming-hao/ec-do: 实例为日常开发常用的小实例,包括数组去重,打乱数组,字母大小写转换,cookie操作的封装等。...
ec-do 自己封装的常用操作实例 实例为日常开发常用的小实例,包括数组去重,打乱数组,字母大小写转换,cookie操作的封装等. 使用方法 引入ec-do.js //去除空格 ecDo.trim(' ...
- Android小知识10则(下)
Android小知识10则(上) github传送门 注: 在目录中点击可以跳转到具体代码页 目录 Chronometer和CountDownTimer计时器 Chronometer的使用 Count ...
- 线性嵌套实例(三个小实例)
这个是对初学者实用的,全部都是利用线性布局实现的相对比较复杂 先上效果图 ![在这里插入图片描述](https://img-blog.csdn.net/20181016082733551?waterm ...
- Android 1000实例代码集结(一 )
关========================================================================== Androidbikeroute自行车导航源码. ...
- Android小项目————聊天室(UI篇)
Android小项目----聊天室(UI篇) 一.前言 这是所做的第二个android项目,主要目的对暑假所学的java和android知识点进行复习巩固和实践,由于知识所限,目前这个聊天室并不是很完 ...
- Android常用实例——截取APP当前界面(可带图片、文字水印)
Android常用实例--截取APP当前界面(可带图片.文字水印) 标签: android界面截图保存图片 2016-08-16 10:52 1262人阅读 评论(2) 收藏 举报 分类: Andr ...
- 一个小实例——借书Demo
一个小实例--借书Demo Step 1 布局文件 Step 2 初始化控件 Step 3 初始化数据 第一步 创建数据model 第二步 初始化数据 Step 4 添加监听器 实现基本功能 Step ...
- Android小项目之--前台界面与用户交互的对接 进度条与拖动条(附源码)
都知道水果公司(苹果)是己尊重用户体验著称的公司,其设计的产品人性化十足,不得不令后来者赞叹,竞相模仿.iphone的成功就是其典型的案例,做为其移动系统的死对头 Google 想要在市场上分得一杯羹 ...
最新文章
- UVa 10820 (打表、欧拉函数) Send a Table
- 将DataTable 数据插入 SQL SERVER 数据库
- 简单的机器学习程序_人体动作识别小程序【机器学习 人工智能】
- Oracle redo
- linux基础配置脚本,Linux中selinux基础配置教程详解
- python selenium翻页_Selenium翻页的实现方法实例
- 吴裕雄--天生自然 高等数学学习:微分方程的幂级数解法
- 实时Web与WebSocket实践
- Java 初学记录之一 快速输入
- git学习笔记(三)
- Pandas常用函数diff和shift函数学习使用
- 使用Bartend提取K3领料数据以实现发料包装标识批量自动打印
- 最简洁详细内网穿透教程实现远程桌面连接
- java和android!怒斩获了30家互联网公司offer,分享PDF高清版
- 在github搭建自己写的网页
- 为什么现在更多需要用的是 GPU 而不是 CPU,比如挖矿甚至破解密码?
- RFID卡片的扇区与块地址的关系
- 弱电布线工程实战攻略
- python令人迷惑的duplicated和drop_duplicates()
- 【深度强化学习】6. Q-Learning技巧及其改进方案
热门文章
- 一天4个个人记录,哇嘎嘎
- 福昕阅读器 5.4.4.1128 Firefox Plugin npFoxitReaderPlugin.dll Stack Buffer Overflow
- 不抱怨21天实践手册~2017-12-8
- 一枚亲斤手对中大SYSUMSClub的puzzle的解题记录(writeup)(2021-10)(G2T1me)
- 剧荒不慌 | 手把手教你爬取+DIY豆瓣电影新榜单
- feign 使用示例:动态url、动态参数、下载文件、请求体
- ImageNet2012 数据集下载
- 5G发牌三周年 云网融合加速 如何解决企业网络之忧?
- 工业计算机与商用计算机的区别
- linux 内核 time,Linux Time