安卓期末大作业——猫咪社区(源码+职责书)
1.课题的作用和意义
随着我国孤单生齿和丁克群体的增长,人们急迫必要一个事件来宣泄本人的情感,宠物就是一个最好的选择。关于平凡大众,宠物的花销相对较低,大局部人都足以需求,且随着我国生齿老龄化的增重(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)注册界面和登录界面
(2)首页、帖子具体页、发帖页
1.一局部中央
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,学习到了很多知识,但是我的自学才能和盲目性照旧不够强,一直无法学习到十分精妙的水平,适配器也照旧不够熟稔,在假期的时分,我渴望我更能体系化的学习安卓这门课程!