版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE江苏开放大学形成性考核作业学号:姓名:课程代码:050324课程名称:Android基础(专)评阅教师:第4次任务共4次任务参考答案附后050324Android基础(专)第3次形成性考核作业第1页作业说明:1.做作业之前首先在封面填上自己的学号和姓名,做完作业后请写上作业完成时间。2.学习完第1-10单元之后必须完成本次作业,并请在规定时间内通过学习平台提交Word文档形式的电子作业,本次作业占形成性考核总成绩的30%。作业内容:请模仿手机版本的微信软件和添加消息列表功能和界面,模拟实现手机通信软件APP,能够实现微信界面的整体布局,包括顶部工具栏、中间的内容区域以及底部的消息列表区域;底部的消息列表区域,需要使用合适的控件显示消息。请将项目设计和项目中程序文件(.java文件,不包括资源文件.xml)源码贴在以下位置并说出其主要功能,格式为先写文件名后贴代码,如下:项目设计功能设计主要界面设计(附图)项目主要源代码1、MainActivity.javapackageimport…..……..作业完成时间:年月日评阅意见:评阅得分:评阅教师:评阅时间:年月日参考答案:江苏开放大学2024年秋《Android基础050324》第四次形考作业(综合大作业占课程总成绩30%)参考答案一、项目设计1、功能设计-顶部工具栏:显示当前用户头像、用户名及设置按钮。-中间的内容区域:用于显示聊天窗口,可以是当前选中的聊天对象的对话内容。-底部的消息列表区域:用于显示最近联系人或群组列表,点击某一项可切换到相应的聊天窗口。2、主要界面设计(需自己根据下面描述作出图示)-顶部工具栏:-左侧:用户头像(圆形,点击可进入用户信息界面)-中间:用户名(大号字体,加粗)-右侧:设置按钮(齿轮图标,点击可进入设置页面)-中间的内容区域:-聊天窗口,显示消息发送者和消息内容,支持文本消息、图片消息等(这里简化为只显示文本消息)。-底部输入框:用于输入消息,旁边有发送按钮。-底部的消息列表区域:-使用RecyclerView控件显示最近联系人或群组列表,每个条目显示联系人头像、名称及最后一条消息摘要。二、项目主要源代码1、MainActivity.java```javapackage;importandroid.os.Bundle;importandroid.view.MenuItem;importandroid.widget.TextView;importandroidx.annotation.Nullable;importandroidx.appcompat.app.AppCompatActivity;importandroidx.appcompat.widget.Toolbar;importandroidx.recyclerview.widget.LinearLayoutManager;importandroidx.recyclerview.widget.RecyclerView;importjava.util.ArrayList;importjava.util.List;publicclassMainActivityextendsAppCompatActivity{privateRecyclerViewmessageList;privateMessageAdaptermessageAdapter;privateList<MessageItem>messageItems;@OverrideprotectedvoidonCreate(@NullableBundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Toolbartoolbar=findViewById(R.id.toolbar);setSupportActionBar(toolbar);getSupportActionBar().setDisplayShowTitleEnabled(false);TextViewuserName=findViewById(R.id.userName);userName.setText("当前用户");messageList=findViewById(R.id.messageList);messageList.setLayoutManager(newLinearLayoutManager(this));messageItems=newArrayList<>();//初始化消息列表数据messageItems.add(newMessageItem("联系人1","头像1","最后一条消息内容1"));messageItems.add(newMessageItem("联系人2","头像2","最后一条消息内容2"));messageItems.add(newMessageItem("群组1","群组头像","最后一条消息内容3"));messageAdapter=newMessageAdapter(this,messageItems);messageList.setAdapter(messageAdapter);//设置工具栏的菜单项点击事件toolbar.setOnMenuItemClickListener(newToolbar.OnMenuItemClickListener(){@OverridepublicbooleanonMenuItemClick(MenuItemitem){//处理菜单项点击事件,如点击设置按钮returnfalse;}});}}```2、MessageItem.java```javapackage;publicclassMessageItem{privateStringname;privateStringavatar;privateStringlastMessage;publicMessageItem(Stringname,Stringavatar,StringlastMessage){=name;this.avatar=avatar;this.lastMessage=lastMessage;}publicStringgetName(){returnname;}publicStringgetAvatar(){returnavatar;}publicStringgetLastMessage(){returnlastMessage;}}```3、MessageAdapter.java```javapackage;importandroid.content.Context;importandroid.view.LayoutInflater;importandroid.view.View;importandroid.view.ViewGroup;importandroid.widget.ImageView;importandroid.widget.TextView;importandroidx.annotation.NonNull;importandroidx.recyclerview.widget.RecyclerView;importjava.util.List;publicclassMessageAdapterextendsRecyclerView.Adapter<MessageAdapter.ViewHolder>{privateContextcontext;privateList<MessageItem>messageItems;publicMessageAdapter(Contextcontext,List<MessageItem>messageItems){this.context=context;this.messageItems=messageItems;}@NonNull@OverridepublicViewHolderonCreateViewHolder(@NonNullViewGroupparent,intviewType){Viewview=LayoutInflater.from(context).inflate(R.layout.message_item,parent,false);returnnewViewHolder(view);}@OverridepublicvoidonBindViewHolder(@NonNullViewHolderholder,intposition){MessageItemmessageItem=messageItems.get(position);.setText(messageItem.getName());holder.avatar.setImageResource(//根据avatar字符串设置资源ID,这里简化为直接设置资源ID);holder.lastMessage.setText(messageItem.getLastMessage());}@OverridepublicintgetItemCount(){returnmessageItems.size();}publicstaticclassViewHolderextendsRecyclerView.ViewHolder{ImageViewavatar;TextViewname;TextViewlastMessage;publicViewHolder(@NonNullViewitemView){super(itemView);avatar=itemView.findViewById(R.id.avatar);nam
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45084-2024报废机动车回用件及再制造件交易溯源技术规范
- 内蒙古包头市一中2025届高三下学期一模考试数学试题含解析2
- 2025届山西太原师范学院附中高三二诊模拟考试语文试卷含解析
- 2025届河南平顶山许昌济源高考冲刺语文模拟试题含解析
- 海南省三亚2025届高考英语二模试卷含解析
- 湖南省株洲市攸县三中2025届高三冲刺模拟数学试卷含解析
- 江苏省苏州新区一中2025届高考英语一模试卷含解析
- 云南省玉溪市第一中学2025届高三下学期第六次检测英语试卷含解析
- 2024年度钢结构装配式桥梁预制构件加工安装合同3篇
- 2024年度幕墙工程绿色施工与节能减排合同2篇
- 临床护理实践指南2024版
- 2024年下半年包钢(集团)公司新员工招聘【941人】易考易错模拟试题(共500题)试卷后附参考答案
- 高压电气设备预防性试验(电气设备1)
- 四川省成都市2023-2024学年六年级上学期语文期末试卷(含答案)2
- 专题17 重点语法:宾从、状从、定从综合练90题
- 行政事业单位内部控制规范专题讲座
- 唐山房地产市场月报2024年08月
- 少儿美术课件国家宝藏系列《鸱吻》
- 端午节粽子购销合同
- 污水站托管运营合同范本
- 第18课《我的白鸽》教学设计++2024-2025学年统编版语文七年级上册
评论
0/150
提交评论