Skip to content

Latest commit

 

History

History

Project1

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

实验一

中山大学智慧健康服务平台应用开发



第四周任务

基本的UI界面设计


实验目的

  1. 熟悉Android Studio开发工具操作。
  2. 熟悉Android Studio基本UI开发,并进行UI基本设计。

实验内容

实现一个Android应用,界面呈现如图中的效果。
preview

要求

  • 该界面为应用启动后看到的第一个界面。
  • 各控件的要求
    1. 标题字体大小20sp,与顶部距离20dp,居中;
    2. 图片与上下控件的间距均为20dp,居中;
    3. 输入框整体距左右屏幕各间距20dp,内容(包括提示内容)如图所示,内容字体大小18sp
    4. 按钮与输入框间距10dp,文字大小18sp。按钮背景框左右边框与文字间距10dp,上下边框与文字间距5dp,圆角半径180dp,背景色为**#3F51B5**;
    5. 四个单选按钮整体居中,与输入框间距10dp,字体大小18sp,各个单选按钮之间间距10dp,默认选中的按钮为第一个。

使用的组件

TextView、EditText、ConstraintLayout、Button、ImageView、RadioGroup、RadioButton。


验收内容

  • 各控件的位置,间距,字体大小等属性与要求无误
  • 图片大小不作为验收内容给之一

完成期限

第五周各班实验课进行检查,未通过者需在下一周进行修改与重新检查,如再次未通过则扣除这一周任务的分数。



第五周任务

基础的事件处理


实验目的

  1. 了解Android编程基础。
  2. 熟悉Button、RadioButton、EditText等基本控件,能够处理这些控件的基本事件。
  3. 学会弹出对话框,并定制对话框中的内容,能对确定和取消按钮的事件做处理。

实验内容

实现一个Android应用,界面呈现如图中的效果。

preview

要求

  • 该界面为应用启动后看到的第一个界面。
  • 各控件处理的要求
    1. 点击搜索按钮:
      • 如果搜索内容为空,弹出Toast信息“搜索内容不能为空”。
      • 如果搜索内容为“Health”,根据选中的RadioButton项弹出如下对话框。
        success
        点击“确定”,弹出Toast信息——对话框“确定”按钮被点击
        点击“取消”,弹出Toast 信息——对话框“取消”按钮被点击
        否则弹出如下对话框,对话框点击效果同上。
        fail
    2. RadioButton选择项切换:选择项切换之后,弹出Toast信息“XX被选中”,例如从图片切换到视频,弹出Toast信息“视频被选中

验收内容

  • 布局是否正常
  • 搜索内容为空时,提示是否正常
  • 输入搜索内容后,点击搜索按钮是否能根据不同的搜索内容显示相应的弹出框,以及弹出框内容是否符合要求
  • 点击弹出框的相应按钮是否能提示正确的内容
  • RadioButton切换时,提示是否正常

完成期限

第六周各班实验课进行检查,未通过者需在下一周进行修改与重新检查,如再次未通过则扣除这一周任务的分数。



第六周任务

Intent、Bundle的使用以及RecyclerView、ListView的应用


实验目的

  1. 复习事件处理。
  2. 学习Intent、Bundle在Activity跳转中的应用。
  3. 学习RecyclerView、ListView以及各类适配器的用法。
  4. 学习FloatingActionBar的用法。

实验内容

本次实验模拟实现一个健康食品列表,有两个界面,第一个界面用于呈现食品列表 如下所示
img1
数据在"manual/素材"目录下给出。
点击右下方的悬浮按钮可以切换到收藏夹
img2
上面两个列表点击任意一项后,可以看到详细的信息:
img3

UI要求

  • 食品列表
    每一项为一个圆圈和一个名字,圆圈和名字都是垂直居中。圆圈内的内容是该食品的种类,内容要处于圆圈的中心,颜色为白色。食品名字为黑色,圆圈颜色自定义,只需能看见圆圈内的内容即可。
  • 收藏夹
    与食品列表相似
  • 食品详情界面
    1. 界面顶部
      img4
      顶部占整个界面的1/3。每个食品详情的顶部颜色在数据中已给出。返回图标处于这块区域的左上角,食品名字处于左下角,星标处于右下角,边距可以自己设置。 返回图标与名字左对齐,名字与星标底边对齐。 建议用RelativeLayout实现,以熟悉RelativeLayout的使用。
    2. 界面中部
      img5
      使用的黑色argb编码值为#D5000000,稍微偏灰色的“富含”“蛋白质”的argb编码值为#8A000000。"更多资料"一栏上方有一条分割线,argb编码值为#1E000000。右边收藏符号的左边也有一条分割线,要求与收藏符号高度一致,垂直居中。字体大小自定。"更多资料"下方分割线高度自定。这部分所有的分割线argb编码值都是#1E000000。
    3. 界面底部
      img6
      使用的黑色argb编码值为#D5000000。
  • 标题栏
    两个界面的标题栏都需要去掉

功能要求

  • 使用RecyclerView实现食品列表。点击某个食品会跳转到该食品的详情界面,呈现该食品的详细信息。长按列表中某个食品会删除该食品,并弹出Toast,提示 "删除XX"
  • 点击右下方的FloatingActionButton,从食品列表切换到收藏夹或从收藏夹切换到食品列表,并且该按钮的图片作出相应改变。
  • 使用ListView实现收藏夹。点击收藏夹的某个食品会跳转到食品详情界面,呈现该食品的详细信息。长按收藏夹中的某个食品会弹出对话框询问是否移出该食品,点击确定则移除该食品,点击取消则对话框消失。对话框内容如下图所示。
  • 商品详情界面中点击返回图标会返回上一层。点击星标会切换状态,如果原本是空心星星,则会变成实心星星;原本是实心星星,则会变成空心星星。点击收藏图表则将该食品添加到收藏夹并弹出Toast提示 "已收藏"

验收内容

  • 食品列表和收藏夹中,圆圈是圆的,圆圈内的字居中,圆圈和食品名字垂直居中。
  • 食品详情界面中,顶部占三分之一的实现方法。以及界面顶部各控件的位置与对齐关系。
  • 食品详情界面中,中部收藏符号旁边的分割线上下与符号等高且垂直居中。
  • 食品列表用RecyclerView实现,收藏夹用ListView实现,食品详情底部的四个操作列表用ListView实现。
  • 单击后跳转各项资料显示正确,星星点击后行为正常,返回图表功能正常。
  • 食品列表中的食品长按后能正确删除食品,且删除后列表工作正常(点击其他食品显示信息正确,长按其他食品删除操作正确)。
  • 收藏夹中的食品长按后弹出框显示内容正确,点击确定后能正确删除食品,且删除后列表工作正常(点击其他食品显示信息正确,长按其他食品删除操作正确)。
  • 长按事件能正确处理,不会报错
  • 悬浮按钮的功能正确。
  • 从收藏夹界面点击食品X进入食品X的详情界面,点击收藏图标后,点击返回按钮,回到收藏夹界面且收藏夹内多出食品X这一项。若在食品X的详情界面没有点击收藏图标,返回后收藏夹界面也不会多出食品X的条目。
  • 详情界面点击返回按钮,是返回上一界面,而非跳转到新的界面中,即不是跳转到新建的食品列表界面或收藏夹界面。
  • 点击收藏夹界面的"收藏夹"一项,应用不会出错。
  • 不做检查的几项:
    1. 若圆圈为button控件,点击该圆圈后可以不跳转到详情界面。
    2. UI要求中要求自定的距离,颜色等均不检查。
    3. 详情界面顶部,中部可不用RelativeLayout实现。
    4. 详情界面中点击星星图标,图标的状态不需要保存,即再次进入这一项的详情界面,星星图标仍可以是空心星星。
    5. 点击收藏按钮后,如果不是点击返回图标返回上一级界面,收藏夹内容可以不改变。
    6. 多次点击某个食品的详情页面的收藏按钮,收藏夹内可以只出现一个或多个该食品。
  • 如果有以上验收内容存在疑问的话,以demo为准。

完成期限

第七周各班实验课进行检查,未通过者需在下一周进行修改与重新检查,如再次未通过则扣除这一周任务的分数。
第七周周五晚上23:59分前,将个人项目1的项目代码与报告按要求Pull Request回到主项目的master分支。


个人项目提交方式

经这周码云张总监技术分享,在同学们对git基本操作掌握后,现确定作业提交步骤如下

  1. 布置的个人项目先fork到个人仓库下;
  2. clone自己仓库的个人项目到本地目录;
  3. 在个人项目中,在code、report目录下,进入自己所在的班别,然后新建个人目录,目录名为“学号+姓名”,例如“12345678WangXiaoMing”;
  4. 在“code\班别\12345678WangXiaoMing”目录下,新建Android项目,按要求完成界面设计,代码编写等,注意.gitignore的编写,避免添加不必要的中间文件、临时文件到git中,如果在检查时发现提交了不必要的文件,会扣一定的分数;
  5. 实验报告按给出的模版(manual中的report_template.md)的内容要求,以md的格式,写在“report\班别\12345678WangXiaoMing”目录下,结果截图也放在该目录下;
  6. 完成任务需求后,Pull Request回主项目的master分支,PR标题为“班级+学号+姓名”, 如“周三班12345678王小明”;
  7. 一定要在deadline前PR。因为批改后,PR将合并到主项目,所有同学都能看到合并的结果,所以此时是不允许再PR提交作业的。