首页 > 编程语言 >安卓期末大作业——养猫论坛(源码+任务书)

安卓期末大作业——养猫论坛(源码+任务书)

时间:2022-12-28 20:32:47浏览次数:46  
标签:安卓 宠物 getText 养宠 user 养猫 new 源码

随着我国孤独人口和丁克群体的增长,人们迫切需要一个事务来宣泄自己的感情,宠物就是一个最好的选择。对于普通民众,宠物的花销相对较低,大部分人都足以供给,且随着我国人口老龄化的加重(2020年中国65岁及以上人口已达到13.5%),结婚率的降低和离婚率的升高导致了我国新生儿出生比例越来越低,2020年仅8.5%左右。受此影响,越来越多的普通民众选择养育宠物来减少孤独感,而宠物猫因其“宅家”的性格深受民众的喜爱,预计未来市场发展前景广阔。2021年中国主要宠物主年龄分布主要集中在90后-95后,其中就养育宠物猫的宠物主而言,也主要为为90后,2021年占比35%,同时80年代前的猫主人也有9%。


1.课题综述

行业规模与增长:2020年我国宠物行业市场规模接近3000亿元,受政策、经济、社会和技术因素驱动,以及疫情带来的更多潜在养宠人群及情感消费,未来三年行业将继续保持平稳增长,复合增速预计14.2%,到2023年规模将达到4456亿元。


宠物特征:宠物类型以犬猫为主,更多一线城市居民和90后因为身份和个性原因养水族或异宠,多类养宠成趋势。


宠物主描摹:新时代已婚家庭进阶养宠主流人群,他们为宠物赋予情感角色,追求健康、快乐养宠,同时显现出智能养宠趋势。疫情催生更多年轻人进阶猫主,新晋猫主精细化养宠理念更成熟。


宠物消费热点:随着精细化养宠趋势的深入,宠物消费类目日渐丰富。天然粮、有机粮受青睐;宠物零食也为宠物主提供了更多选择;用品方面安全性和设计便捷受关注,智能和颜值成趋势。


行业趋势展望:猫经济崛起,猫主消费增长态势强劲;国货品质提升和养宠理性化趋势将促进国货潮广泛化;养宠下沉将成为宠物行业增量的新机会;宠物线上医疗模式将成为线下医疗的重要补充;宠物服务需求向多样化发展;全渠道运营模式将成为商家未来发展扩大的战略通道。


结合课上所学知识和猫宠行业背景,设计了这款猫咪社区APP。


1.完成思路与方法


3.1功能需求分析


此APP主要可以养猫爱好者的注册登录、帖子浏览和发帖评论功能


 数据库设计


sqlite是AndroID系统采用的一种开源的轻量级的关系型的数据库,AndroID中允许每个应用程序都拥有自己独立的数据库,每个应用程序的数据库的位置一般在/data/data//databases中。为了方便开发人员的使用,AndroiD的API对增删查改实现了封装,通过sqliteOpenHelper类可以方便的实现对数据库的创建和管理操作。


 猫咪社区帖子字段如表所示:

安卓期末大作业——养猫论坛(源码+任务书)_数据库


3.3系统流程图


3.4 UI设计


(1)注册界面和登录界面

      安卓期末大作业——养猫论坛(源码+任务书)_养猫论坛_02

(2)首页、帖子详情页、发帖页

安卓期末大作业——养猫论坛(源码+任务书)_养猫论坛_03



1.个人中心

安卓期末大作业——养猫论坛(源码+任务书)_二进制数_04

3.5关键技术和存在的问题


关键技术1:注册非空验证和保存用户数据


if(CheckInput()) {


 User user = new User();


 user.setUsername(tvStuNumber.getText().toString());


 user.setPassword(tvStuPwd.getText().toString());


 UserDbHelper dbHelper = new UserDbHelper(getApplicationContext(),UserDbHelper.DB_NAME,null,1);


 dbHelper.addUser(user);


 Toast.makeText(RegisterActivity.this,"恭喜你注册成功!",Toast.LENGTH_SHORT).show();


 //销毁当前界面


 finish();


 }


关键技术2:登录验证


//如果sqlite数据库可以找到,则输出登录成功,并跳转到主界面


 if(user.getUsername().equals(EtStuNumber.getText().toString()) && user.getPassword().equals(EtStuPwd.getText().toString()) ) {


 flag = true;


 Toast.makeText(LoginActivity.this,"恭喜你登录成功!",Toast.LENGTH_SHORT).show();


 Intent intent = new Intent(LoginActivity.this, MainActivity.class);


 Bundle bundle = new Bundle();


 username = EtStuNumber.getText().toString();


 bundle.putString("username",username);


 intent.putExtras(bundle);


 startActivity(intent);


 } 


关键技术3:发帖图片上传


//把图片先转化成bitmap格式


 BitmapDrawable drawable = (BitmapDrawable) ivPhoto.getDrawable();


 Bitmap bitmap = drawable.getBitmap();


 //二进制数组输出流


 ByteArrayOutputStream byStream = new ByteArrayOutputStream();


 //将图片压缩成质量为100的PNG格式图片


 bitmap.compress(Bitmap.CompressFormat.PNG, 100, byStream);


 //把输出流转换为二进制数组


 byte[] byteArray = byStream.toByteArray();


 commodity.setPicture(byteArray);


@Override


 protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {


 if (requestCode == 1) {


 //从相册返回的数据


 if (data != null) {


 //得到图片的全路径


 Uri uri = data.getData();


 ivPhoto.setImageURI(uri);


 }


 }


 }


存在的问题:帖子描述文字太多的话会导致首页排版混乱,需要列表项样式进行进一步修正


4. 收获总结


每次的项目都会出现一些的问题,但是都通过了百度或者问班上刻苦的同学,还是能将问题解决。我常常和我们宿舍的同学交流安卓,我们相互弥补我们的不足,这样我们就能在学习的路上越走越远,在互相的帮助中,我们相互学习了一些不一样的知识来增加专业知识的知识量。安卓这一科目对我们来说是非常重要的科目,在本学期的学科里面,安卓是最有代表性的科目,它是当今我们生活中最重要的一样东西之一的手机上所使用的代码,我们每天都要使用手机,而手机则需要使用代码程序,所以通过这次的学习,我对手机的开发又有了新的认识与理解。


在安卓的开发中,首先学习了安卓的主资源布局控件,然后在学习到了java代码所使用的逻辑知识。从开始的单用布局activity_main再到后面的MainActivity,学习到了许多知识,但是我的自学能力和自觉性还是不够强,始终无法学习到非常精妙的程度,适配器也还是不够熟练,在假期的时候,我希望我更能系统化的学习安卓这门课程!

标签:安卓,宠物,getText,养宠,user,养猫,new,源码
From: https://blog.51cto.com/u_15681752/5976252

相关文章

  • 安卓期末大作业——图书信息管理系统
    前言随着信息技术的高速发展,科技逐渐走进各行各业,帮助人们快速、便利地完成一些工作。BMS系统是基于Android移动设备的应用软件,该系统能够帮助用户在家里通过手机查看相应图......
  • 安卓期末大作业——单词本APP(源码+任务书)
    项目报告2020-2021学年第2学期课程名称: Android移动开发技术项目名称:单词本学生姓名:小组成员:2021年6月题目:单词本APP1需求分析与系统设计项目介绍此项目是一个......
  • 安卓期末大作业——琴社商店,sqlite增删改查
    建议从以下方面填写:1.课题的作用和意义 2.课题综述 3.完成思路与方法 4.软件设计流程图(图示说明系统)5.课程设计的收获格式(宋体、小四)、报告长度3-4页1.课题的作用和意......
  • 爱上 Mybatis源码 (2019-08-11)
     第一次学习源码,自己很难吃透源码,也做不到直接撸源码,一句一句的解析。先学习一下别人的文章,吃透源码的流程,日后有能力了再逐句撸。 源码的乐趣就在于首先能明白为什么我......
  • lxml案例~豆瓣版生日星空图片下载的源码
    有不少小伙伴反应,昨天更新的NASA的源码在运行的时候出错了,出现:其实小编当时也遇到了这个错误,当时去网上搜了下说是可能会和网络有问题,因为网站本身就是个国外的网站,后来增加......
  • Ubuntu 22.04 搭建编译Android源码环境
    环境准备操作系统编译Android源码需要一个区分文件大小写的系统环境,一般使用Ubuntu,可以采用单独安装Ubuntu、虚拟机等形式。这里使用VMware虚拟机的形式,具体安装过程省略......
  • 以太坊源码阅读---一笔交易从生到死(一) txpool
      markdown太难写了记不住。跑到博客园来写写今年还好不是原地踏步的一年,最近在家办公工作转成半个区块链安全工程师(依旧不热爱这个行业,但是区块链技术还是挺有意思的......
  • 我的第一款安卓原生游戏之万变塔防(第二章)
    由于生活上的一些琐事吧。其实吧,不是生活上的琐事的。只是,目前心情不是很好,所以打算暂时搁置这个项目。包括我那款仙道无尽的游戏开发,也一同搁置了。可能有些人会问,那什么时......
  • 互联网医院系统源码开发,互联网医院系统的发展趋势是怎样的呢?
    为了缓解患者就医难的问题,很多医院建立了互联网医院系统,不但可以利用图文、视频等方式为患者提供咨询类的医疗服务,还可以应用线上诊断,开具处方,在线药店商城拿药,快递到家等等......
  • Vue3源码阅读梳理
    简单代码例子const{createApp,defineComponent,computed,watch,ref,reactive,effect}=Vueconstapp=createApp({components:[],template:`<div......