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 |