首页 > 编程语言 >《安卓期末大作业-记账app(含源码+导出app+运行截图) 》

《安卓期末大作业-记账app(含源码+导出app+运行截图) 》

时间:2023-12-31 21:33:17浏览次数:47  
标签:headerView mainlv 记录 app top id 源码 安卓

安卓期末大作业-记账app(含源码+导出app+运行截图)

开发软件:Android Studio
开发语言:Java
2023年上半年移动开发期末大作业记账app,老师给了95分,可以记录各种类型的账目支出记录,收入记录,存储到数据库中,可以隐藏账目记录,可以记录和删除记录,还可以将收支记录转图表分析,也可清空所有数据。具体如下图所示:

《安卓期末大作业-记账app(含源码+导出app+运行截图) 》_数据

进入软件界面:

《安卓期末大作业-记账app(含源码+导出app+运行截图) 》_ide_02


账目支出记录,支出分各种类型区分

《安卓期末大作业-记账app(含源码+导出app+运行截图) 》_数据_03


收入记录记账如下所示:

《安卓期末大作业-记账app(含源码+导出app+运行截图) 》_数据_04


账目记录如下所示:

《安卓期末大作业-记账app(含源码+导出app+运行截图) 》_数据_05


账目可以隐藏起来:

《安卓期末大作业-记账app(含源码+导出app+运行截图) 》_ide_06


底部功能按钮如图所示:

《安卓期末大作业-记账app(含源码+导出app+运行截图) 》_数据库_07


可以选择一键清空数据:

《安卓期末大作业-记账app(含源码+导出app+运行截图) 》_数据_08


记账app主要代码如下所示:

private void setLVLongClickListener() {

todayLv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {

@Override

public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {

if (position == 0) {

//点击了头布局,不用进行操作

return false;

}

int pos = position - 1;

AccountBean clickBean = mDatas.get(pos);//得到正在被点击的这条信息

//弹出提示用户是否删除对话框

showDeleteItemDialog(clickBean);

return false;

}

});

}

/* 弹出是否删除某一条记录的对话框 /
private void showDeleteItemDialog(final AccountBean clickBean) {
//创建对话框的建筑类
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(“提示信息”).setMessage(“您确定要删除这条记录么?”)
.setNegativeButton(“取消”,null)
.setPositiveButton(“确定”, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
int click_id = clickBean.getId();
//执行删除的操作
DBManager.deleteItemFromAccounttbById(click_id);//此时只是从数据库当中删除
mDatas.remove(clickBean);//实时刷新,移除集合当中的对象
adapter.notifyDataSetChanged();//提示adapter更新数据
setTopTvShow();//顶部数据进行更新,改变头布局TextView显示的内容
}
});
builder.create().show();//生成对话框对象并显示出来
}
/
 给ListView添加头布局的方法 /
private void addLVHeaderView() {
//将布局转化成View对象
headerView = getLayoutInflater().inflate(R.layout.item_mainlv_top, null);
//设置头布局
todayLv.addHeaderView(headerView);
//查找头布局当中需要用到的控件
topOutTv = headerView.findViewById(R.id.item_mainlv_top_tv_out);
topInTv = headerView.findViewById(R.id.item_mainlv_top_tv_in);
topBudgetTv = headerView.findViewById(R.id.item_mainlv_top_tv_budget);
topConTv = headerView.findViewById(R.id.item_mainlv_top_tv_day);
topShowIv = headerView.findViewById(R.id.item_mainlv_top_iv_hide);
topBudgetTv.setOnClickListener(this);
headerView.setOnClickListener(this);
topShowIv.setOnClickListener(this);
}
/
 获取今日的具体事件 */

private void initTime() {

Calendar calendar = Calendar.getInstance();

year = calendar.get(Calendar.YEAR);

month = calendar.get(Calendar.MONTH) + 1;

day = calendar.get(Calendar.DAY_OF_MONTH);

}

//当activity获取焦点时会调用的方法,返回的时候进行数据的加载更新

@Override

protected void onResume() {

super.onResume();

//加载数据库数据

loadDBData();

//更新顶部布局当中的数据

setTopTvShow();

}

标签:headerView,mainlv,记录,app,top,id,源码,安卓
From: https://blog.51cto.com/u_15681752/9050434

相关文章

  • 《2023Android安卓期末大作业-纪念日APP》
    Android安卓期末大作业-纪念日APP“我们”,记录结婚纪念日也可以作为备忘录APPapp启动截图:APP打开首页可以修改日期部分代码publicvoidinitView(){ImmersionBar.with(this).statusBarDarkFont(true)//状态栏字体是深色,不写默认为亮色......
  • 初中英语优秀范文100篇-044Can Money Buy Happiness?钱能买到幸福?
    PDF格式公众号回复关键字:SHCZFW044记忆树1Canmoneybuyhappiness?翻译钱能买到幸福吗简化记忆幸福句子结构主语:money(金钱)谓语:canbuy(能够购买)宾语:happiness(幸福)这是一个陈述句,谓语动词"canbuy"表达了金钱的购买能力。宾语"happiness"指的是幸福。整个句子在语......
  • Linux内核socket系统调用源码分析
    一、环境说明内核版本:Linux3.10内核源码地址:https://elixir.bootlin.com/linux/v3.10/source(包含各个版本内核源码,且网页可全局搜索函数)二、应用层-socket()函数应用层创建socket对象返回整型的文件描述符。/*family:被称为协议族,或者协议域。*type:套接字类型。*......
  • 安卓播放MP3
    多线程voidplayOnlineSound(StringsoundUrlDict){try{Log.i(TAG,"playOnlineSound:"+soundUrlDict);MediaPlayermediaPlayer=newMediaPlayer();if(!TextUtils.isEmpty(soundUrlDict)&&!soundUrlDi......
  • Applescript实现无痕检测手机号或邮箱号是否注册iMessage服务,iMessage蓝号检测完美实
    一、检测数据的两种方式:1.人工筛选,将要验证的号码输出到文件中,以逗号分隔。再将文件中的号码粘贴到iMessage客户端的地址栏,iMessage客户端会自动逐个检验该号码是否为iMessage账号,检验速度视网速而定。红色表示不是iMessage账号,蓝色表示iMessage账号。2.编写脚本控制Macos/ipho......
  • Random Forests in Computer Vision: Applications and Techniques
    1.背景介绍随机森林在计算机视觉领域的应用和技术随机森林(RandomForests)是一种机器学习方法,它通过构建多个决策树来进行预测和分类。这种方法在处理高维数据和非线性问题时具有很好的性能。在计算机视觉领域,随机森林已经被广泛应用于各种任务,例如图像分类、目标检测、对象识别等。......
  • Python Machine Learning Projects: Building RealWorld Applications
    1.背景介绍人工智能和机器学习技术在过去的几年里取得了巨大的进步,这使得许多实际应用成为可能。这本书《16.PythonMachineLearningProjects:BuildingReal-WorldApplications》旨在帮助读者理解这些实际应用,并提供有关如何使用Python编写机器学习代码的实践指南。本书的目......
  • GANs in the Wild: RealWorld Applications of Generative Adversarial Networks
    1.背景介绍生成对抗网络(GenerativeAdversarialNetworks,GANs)是一种深度学习算法,由伊戈尔·Goodfellow等人于2014年提出。这种算法通过两个神经网络来学习数据分布:一个生成器(Generator)和一个判别器(Discriminator)。生成器的目标是生成类似于训练数据的新数据,而判别器的目标是区分这......
  • appium报错DeprecationWarning: desired_capabilities argument is deprecated and wi
    不再用desired_capabilities,用options代替原来的desired_caps={"platformName":"ios","platformVersion":"11.4","deviceName":"iPhone6Plus",&......
  • 安卓中ViewPager组件的使用场景与优劣分析
    一、文章摘要在Android应用开发中,ViewPager是一个非常重要的UI组件,它允许用户通过左右滑动的方式切换不同的页面视图。同时,ViewPager在Android开发中是一种常用的视图容器,主要用于在应用程序中实现滑动视图的效果。它通常用于分页展示内容,如图片轮播、标签切换等。本文......