Android第四次作业
1.成员:
164班 钟龙吟 1600802137 https://www.cnblogs.com/zhlyqwer/
164班 张肇宁 1600802136 https://www.cnblogs.com/ycng/
录屏:

2.apk链接:
https://pan.baidu.com/s/1H8nigDfPR53DfNvwkO-now
3.代码链接:
https://git.coding.net/zhlongyin/an.git
4.1 团队项目的总体效果截图:


4.2 实现的功能及其效果的描述:
查找并播放sd卡内的视频文件生成列表
播放、暂停
播放支持滑动改变音量&亮度以及快进后退功能
5.关键代码:
点击事件
private void widgetListener() { listview.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { index_position = position; txt_max_time.setText(R.string.play_time); img_start.setImageResource(R.drawable.start_video_df); video_VideoView.stopPlayback(); setVideo(position); } }); /** 上一个 */ img_last.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { index_position--; if (index_position>=0) { txt_max_time.setText(R.string.play_time); img_start.setImageResource(R.drawable.start_video_df); video_VideoView.stopPlayback(); setVideo(index_position); }else{ index_position=0; } } }); /** 下一个 */ img_next.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { index_position ; img_start.setImageResource(R.drawable.start_video_df); txt_max_time.setText(R.string.play_time); video_VideoView.stopPlayback(); setVideo(index_position); } }); /** 播放 */ img_start.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { video_img.setVisibility(View.GONE); if (video_VideoView.isPlaying()) { video_VideoView.pause(); img_start.setImageResource(R.drawable.start_video_df); } else { mVideo_total_length = video_VideoView.getDuration();// 获取视频总长度 txt_max_time.setText(length2time(mVideo_total_length)); isStart = true; video_VideoView.start(); img_start.setImageResource(R.drawable.pause_video_df); handler.postAtTime(runnable, 0); } } }); private Runnable runnable = new Runnable() { @Override public void run() { mVideo_current_length = video_VideoView.getCurrentPosition(); if (mVideo_current_length >= mVideo_total_length) { mVideo_current_length = mVideo_total_length; } /** 设置当前时长 */ txt_current_time.setText(length2time(mVideo_current_length)); /** 设置视频进度 */ LayoutParams layoutParams = (LayoutParams) img_white.getLayoutParams(); layoutParams.width = (int) (((float) img_bg.getWidth()) / mVideo_total_length * mVideo_current_length); img_white.setLayoutParams(layoutParams); handler.postDelayed(runnable, 1000); if (mVideo_current_length >= mVideo_total_length) { handler.removeCallbacks(runnable); } } };6.评价他人
1.汤文涛组:校园二手交易app
功能:实现的功能登录、注册、密码修改、查看个人信息、上传商品、查看我的发布、查看所有商品、查看某个商品的详细信息、给商家留言这几个主要的功能。
优点:界面很丰富,功能齐全。
有待改进之处:可以加背景图片,会更好看一些。
2.洪居兴组:旅游app
功能:在App首界面中,可以点击播放区下的4个对应的图标:景区、酒店、美食、路线跳转到不同功能的界面。在景点精选榜中可以查看推荐的值得去的景点,并可点赞以及进入相应详情界面进行查看,还可进行位置的查看。底部导航栏可跳转到相应功能的界面。
优点:界面美观,就和美团一样。
有待改进之处:如果能选择全国旅游景点就更好了。
3.刘宇莹组:电子拍卖行app
功能:登录并查看竞拍获得的物品、浏览流拍的物品、管理物品(添加物品以及物品种类)、浏览并拍下物品、查看自己的竞标记录、
优点:功能齐全、实现了竞拍所需的大部分功能、考虑的很详细
有待改进之处:物品的图片也应该加上去,以及加上一些评价会更好地让用户做出选择
4.李凯组:任务提醒
功能:添加自己的任务并可以设置任务的时间,点击添加计划按钮,有两个选项可以选择,一个是定量计划,一个是打卡计划。 打卡计划通过自定义填写内容可以直接生成一个打卡计划的卡片,然后每天可以通过该卡片生成一个打卡内容。提醒事项,下面的菜单栏的第二个内容,然后点击添加TODO,输入你要提醒的事项,然后选择提醒时间,就可以添加提醒了。
优点:操作简便,功能很顺手,界面漂亮而且切换的时候的动画很好,还能切换夜间模式和白天模式。
有待改进之处:应该设置阶段性的提醒,每隔一段时间都提醒一下。
5.马秀莲组组:快递代取app
功能:注册与登录、发布自己的快递代取动态、查看代取动态。
优点:很全面的代取流程、功能简洁明了但是是现在学生很需要的。
有待改进之处:界面不够好看、功能还需要提高在代取审核方面。
7.遇到的问题,以及解决方法:
钟龙吟:
(1)问题:音量的滑动不合格,滑动一点点音量改变就特别的大。
解决方法:上网查询方法,改变了参数基本上没问题了。
(2)问题:亮度调节实现不了,出来后和音量的重合。
解决方法:利用FrameLayout的特点(后面视图会覆盖前面视图),通过控制后一个视图的宽度来达到进度条的效果。
张肇宁:
(1)问题:视频全屏切出来后老抖。
解决方法:采用的跳转之前就退出全屏,这就状态栏就不抖动了。
(2)问题:播放时控件还显示着。
解决方法:用setVisibility( )方法隐藏控件。
8.说明团队成员在本次项目中的分工、占了总工作的多少?以及对项目成员打分。
| 姓名 | 分工 | 工作比例 | 分数 |
| 钟龙吟 | 编写代码、功能设计 | 50% | 10 |
| 张肇宁 | 编写代码、界面设计 | 50% | 10 |

浙公网安备 33010602011771号