package com.example.bookkeeping.slice;
import com.example.bookkeeping.ResourceTable;
import com.example.bookkeeping.DisplayFormat;
import com.example.bookkeeping.model.Const;
import com.example.bookkeeping.model.IndexBean;
import com.example.bookkeeping.model.RecordBean;
import com.example.bookkeeping.model.RecordDbStore;
import com.example.bookkeeping.provider.StatisticsProvider;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.components.*;
import ohos.agp.utils.LayoutAlignment;
import ohos.agp.window.dialog.CommonDialog;
import ohos.data.DatabaseHelper;
import ohos.data.orm.OrmContext;
import ohos.data.orm.OrmPredicates;
import ohos.hiviewdfx.HiLog;
import ohos.hiviewdfx.HiLogLabel;
import java.text.SimpleDateFormat;
import java.time.Month;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Random;
import static ohos.agp.components.ComponentContainer.LayoutConfig.MATCH_CONTENT;
import static ohos.agp.components.ComponentContainer.LayoutConfig.MATCH_PARENT;
public class ViewByTimeSlice extends AbilitySlice {
static final HiLogLabel label = new HiLogLabel(HiLog.LOG_APP, 0, "MY_TAG");
private ListContainer curDayRecordContainer;
private final String[] weeks = {"", "周末", "周一", "周二", "周三", "周四", "周五", "周六"};
private Text showDateText;
private Text allDayInputText;
private Text allDayOutputText;
private Text allDayBalanceText;
private Image show_more_btn;
private final String[] viewTypeList = {"按照天统计", "按照月统计", "按照年统计", "所有记录"};
private int state = 0; // 0表示按照天统计, 1表示按照月份统计 2表示按照年统计 3查找所有记录
private Calendar showTimeCalender = Calendar.getInstance();
private Text viewTypeText;
private Image selectTimeImage;
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_viewbytime_layout);
// 初始化界面
initComponent();
// 添加响应事件
addListener();
// 重新加载数据
reloadRecord();
}
/**
* 向数据库中添加测试数据
*/
private void addTextData() {
// ormContext为对象数据库的操作接口,之后的增删等操作都是通过该对象进行操作
DatabaseHelper helper = new DatabaseHelper(this);
OrmContext ormContext = helper.getOrmContext(Const.DB_ALIAS, Const.DB_NAME, RecordDbStore.class);
String[] kindlist = {"收", "支"};
String[][] catelist = {{"收入>生活费", "收入>家教收入", "收入>奖学金"}, {"食品酒水>饮料", "学习进修>学习工具", "衣服饰品>衣服裤子",
"其他购物>运动装备", "恋爱基金>一起吃饭", "行车交通>公共交通", "交流通讯>座机费", "寝室费用>公摊费用", "休闲娱乐>视频会员",
"人情往来>送礼请客", "医疗保健>口罩", "金融保险>银行手续", "其他杂项>烂账损失"}};
Random random = new Random();
Calendar testCalender = Calendar.getInstance();
for(int year = 2021; year<=2022; year++){
for(int month = 8; month<= 12; month++){
for(int day = 5; day<=20; day++){
HiLog.info(label, "haha");
testCalender.set(year, month, day);
for(int i = 0; i<1; i++){
int index1 = random.nextInt(2);
int index2 = random.nextInt(catelist[index1].length);
try {
Thread.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
RecordBean recordBean = new RecordBean(System.currentTimeMillis(), kindlist[index1],
catelist[index1][index2], (double) random.nextInt(2000), "memo", testCalender);
ormContext.insert(recordBean); //插入内存
}
}
}
}
ormContext.flush();
ormContext.close();
}
/**
* 添加响应事件
*/
private void addListener() {
selectTimeImage.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
if(state == 3){
return;
}
CommonDialog cd = new CommonDialog(getContext());
cd.setCornerRadius(50);
DirectionalLayout dl = (DirectionalLayout) LayoutScatter.getInstance(getContext()).parse(ResourceTable.Layout_selecttime_dialog, null, false);
Text titleText = (Text) dl.findComponentById(ResourceTable.Id_title_text);
DatePicker datePicker = (DatePicker) dl.findComponentById(ResourceTable.Id_date_pick);
datePicker.setWheelModeEnabled(true);
Button ok_btn = (Button) dl.findComponentById(ResourceTable.Id_calender_ok);
Button cancel_btn = (Button) dl.findComponentById(ResourceTable.Id_calender_cancel);
if(state == 0){
titleText.setText("请选择统计的日期");
datePicker.setDateOrder(DatePicker.DateOrder.YMD);
}else if(state == 1){
titleText.setText("请选择统计的月份");
datePicker.setDateOrder(DatePicker.DateOrder.YM);
}else if(state == 2){
titleText.setText("请选择统计的年份");
}
ok_btn.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
int year= datePicker.getYear();
int month = datePicker.getMonth()-1;
int day = datePicker.getDayOfMonth();
showTimeCalender.set(Calendar.YEAR, year);
showTimeCalender.set(Calendar.MONTH, month);
showTimeCalender.set(Calendar.DAY_OF_MONTH, day);
reloadRecord();
cd.destroy();
}
});
cancel_btn.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
cd.destroy();
}
});
cd.setSize(MATCH_PARENT, MATCH_CONTENT);
cd.setContentCustomComponent(dl);
cd.setAlignment(LayoutAlignment.BOTTOM);
cd.show();
}
});
show_more_btn.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
CommonDialog cd = new CommonDialog(getContext());
cd.setCornerRadius(50);
DirectionalLayout dl = (DirectionalLayout) LayoutScatter.getInstance(getContext()).parse(ResourceTable.Layout_selectviewmodel_dialog, null, false);
Image allRecordImage = (Image) dl.findComponentById(ResourceTable.Id_allrecord_btn);
Image yearRecordImage = (Image) dl.findComponentById(ResourceTable.Id_yearrecord_btn);
Image monthRecordImage = (Image) dl.findComponentById(ResourceTable.Id_monthrecord_btn);
Image dayRecordImage = (Image) dl.findComponentById(ResourceTable.Id_dayrecord_btn);
Image testImage = (Image) dl.findComponentById(ResourceTable.Id_test_btn);
Image todayImage = (Image) dl.findComponentById(ResourceTable.Id_today_btn);
Image addImage = (Image)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于鸿蒙开发的收支记账app源码(毕设项目) 基于鸿蒙开发的收支记账app源码(毕设项目).zip 基于鸿蒙开发的收支记账app源码(毕设项目).zip 【项目介绍】 该资源内项目代码都是经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶, 或者实际项目借鉴参考! 当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。如果基础还行,也可在此代码基础上进行修改,以实现其他功能。
资源推荐
资源详情
资源评论
收起资源包目录
基于鸿蒙开发的收支记账app源码(毕设项目).zip (110个子文件)
gradlew.bat 3KB
.gitignore 238B
.gitignore 47B
.gitignore 21B
build.gradle 2KB
build.gradle 892B
settings.gradle 49B
gradlew 8KB
gradle-wrapper.jar 57KB
ViewByTimeSlice.java 23KB
PageProvider.java 15KB
BookSlice.java 14KB
AddBookSlice.java 7KB
DisplayFormat.java 6KB
StatisticsProvider.java 4KB
RecordBean.java 4KB
RecordProvider.java 3KB
IndexBean.java 1KB
MainAbility.java 693B
MainAbilitySlice.java 551B
ExampleOhosTest.java 418B
RecordDbStore.java 231B
MyApplication.java 214B
Const.java 161B
ExampleTest.java 131B
CateItemBean.java 70B
config.json 1KB
pattern.json 759B
float.json 713B
previewConfigV2.json 594B
phoneSettingConfig_MateX2.json 354B
phoneSettingConfig_P40.json 285B
string.json 279B
string.json 276B
string.json 275B
color.json 259B
project.cache.json 78B
entry.cache.json 22B
package.json 3B
bk2.png 1.43MB
bk1.png 450KB
cate.png 11KB
yifu.png 11KB
jingrong.png 10KB
shiping.png 10KB
qita.png 9KB
add.png 9KB
todayimage.png 9KB
nianai.png 9KB
renqing.png 8KB
icon_add.png 8KB
time.png 8KB
jiaotong.png 8KB
tongxun.png 8KB
test.png 7KB
suse.png 7KB
memo.png 7KB
icon.png 7KB
shouru.png 6KB
today.png 6KB
xuexi.png 6KB
yule.png 6KB
qidai.png 6KB
allrecord.png 6KB
addiamge.png 6KB
yiliao.png 5KB
gouwu.png 5KB
ok.png 5KB
right.png 5KB
back.png 4KB
yearrecord.png 4KB
monthrecord.png 4KB
selectbtn.png 4KB
sta.png 3KB
dayrecord.png 3KB
more.png 3KB
proguard-rules.pro 45B
gradle.properties 816B
gradle-wrapper.properties 194B
selectviewmodel_dialog.xml 6KB
showrecorddetail_layout.xml 5KB
booklayout.xml 5KB
viewbytime_layout.xml 5KB
indexrecord_layout.xml 3KB
addbooklayout.xml 3KB
addinputbooklayout.xml 3KB
addoutputbooklayout.xml 3KB
cateitem_dialog.xml 2KB
todayshowmore_dialog.xml 2KB
calender_dialog.xml 2KB
selecttime_dialog.xml 2KB
recorditemlayout.xml 2KB
jarRepositories.xml 1KB
button_blue.xml 916B
gradle.xml 873B
button_blue_pressed.xml 812B
button_blue_empty.xml 810B
ability_main.xml 583B
button_state_bg.xml 363B
background_page.xml 285B
共 110 条
- 1
- 2
Make程序设计
- 粉丝: 5725
- 资源: 3570
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页