江苏开放大学2024年秋Android基础050324第四次形考作业综合大作业占课程总成绩30参考答案_第1页
江苏开放大学2024年秋Android基础050324第四次形考作业综合大作业占课程总成绩30参考答案_第2页
江苏开放大学2024年秋Android基础050324第四次形考作业综合大作业占课程总成绩30参考答案_第3页
江苏开放大学2024年秋Android基础050324第四次形考作业综合大作业占课程总成绩30参考答案_第4页
江苏开放大学2024年秋Android基础050324第四次形考作业综合大作业占课程总成绩30参考答案_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论