zoukankan      html  css  js  c++  java
  • Android第四次作业

    一.团队成员

    喇文斌 学号:1600802116 计算机164 博文地址:http://www.cnblogs.com/qwer-lwb/

    于昊    学号:1600802134 计算机164 博文地址:http://www.cnblogs.com/yhbooka/

    二.链接

    1.项目代码链接:https://git.coding.net/lwb1234/lwb1.git

    2.APK链接:https://git.coding.net/lwb1234/lwb1.git

    三.项目介绍

    1.总体效果截图

      

    2.功能及其效果的描述

    -在上一次的基础上添加了手动获取歌曲

    --界面顶部按钮可手动获取手机中的歌曲

    --可以暂停,继续,开始播放歌曲

    --上一曲,下一曲

    四.关键代码

      获取本地歌曲

    public void obtain(View v){
    ContentResolver contentResolver=getContentResolver();
    Cursor c=contentResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,null,null,null,null);
    if (c!=null){
    int i=0;
    while(c.moveToNext()){
    Map<String,Object> map= new HashMap<String, Object>();
    //songs
    name[i]=c.getString(c.getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME));
    id[i]=c.getInt(c.getColumnIndex(MediaStore.Audio.Media._ID));
    //writer
    artical[i]=c.getString(c.getColumnIndex(MediaStore.Audio.Media.ARTIST));
    //path
    url[i]=c.getString(c.getColumnIndex(MediaStore.Audio.Media.DATA));
    map.put("SongName", name[i]);
    map.put("id", id[i]);
    map.put("Artical", artical[i]);
    map.put("url", url[i]);
    list.add(map);
    i++;
    }
    adapter = new SimpleAdapter(getApplicationContext(), list, R.layout.content,
    new String[] { "SongName","Artical" }, new int[] { R.id.name,R.id.artical});
    listView.setAdapter(adapter);
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
    //Play the music from the very beginning

    if (i<list.size()){
    if (mediaPlayer.isPlaying()){
    mediaPlayer.stop();
    mediaPlayer.reset();
    }
    Uri conuri= ContentUris.withAppendedId(android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,id[i]);
    try {
    mediaPlayer.setDataSource(getApplicationContext(),conuri);
    } catch (IOException e) {
    e.printStackTrace();
    }
    index=i;
    isPause=false;
    mediaPlayer.prepareAsync();

    }
    }
    });
    }else{
    Toast.makeText(getApplicationContext(),"There are no music files locally",Toast.LENGTH_LONG).show();
    }
    }

     设置按钮监听事件

    public void onClick(View view) {
    switch (view.getId()){
    case R.id.up:
    try {
    up();
    } catch (IOException e) {
    e.printStackTrace();
    }
    break;
    case R.id.start:
    try {
    start();
    } catch (IOException e) {
    e.printStackTrace();
    }
    break;
    case R.id.stop:
    pause();
    break;
    case R.id.next:
    try {
    next();
    } catch (IOException e) {
    e.printStackTrace();
    }
    break;
    }

    }

    五.对其他团队项目的评价

    1.赵乐组:音乐播放器

    功能:

    音乐播放器拥有3个界面,欢迎界面,播放界面,列表界面。 播放界面有播放,暂停,上一首,下一首,显示播放进度条,歌曲名称,歌手名称及跳转列表页面功能。列表界面有获取本地MP3格式文件并显示在列表中,点击列表文件会切换到播放界面并播放功能。

    优点:

    询问用户是否开启此项权限,使软件更加的具有人性化。

    有待改进之处:

    可以为音乐播放器添加一些组件实现展示歌词,展示专辑封面等。

    2.马全兰组:计算器

    功能:

    计算器可以实现且可以进行小数和整数的加减乘除4则运算。

    优点:

    界面简洁,不花里胡哨,让人一看,一目了然。

    有待改进之处:

    功能有点少,可以试着增加一些其他功能,例如:M+,M-。也可以添加一些数学函数例如:cos,开根号,求平方等实现一些复杂的功能。

    3.马秀莲组:校园朋友圈代取快递app

    功能:

    校园朋友圈代取快递app:户登录界面,已注册的用户可以直接登录 ,登录需要学号和密码,没有注册的用户则无法进行登录 ,需要注册,注册页面需要填写完整的信息(用户名、学号、密码)注册成功后,信息保存到数据库中 。在这个平台实现了在朋友圈分享自己的快递,若自己无空闲时间,其他看到此条消息,并且自己打算去取快递,如果顺路的话可以帮同学或朋友取快递。

    优点:

    注册时要校验两次密码,要求两次注册的密码必须一致,不一致时页面会给出相应的提示,无法注册成功,注册成功后,信息才能保存到数据库中 ,只有数据库里的用户才能进行登录。此app还可以展示一些校园信息,不同快递的介绍。

    有待改进之处:

    功能挺全面,就是界面可以再美化一些,本来想说加一个诚信积分体制,但又一想,都是朋友圈,没有必要。如果以后要做的大一些,不仅仅是朋友圈,可以考虑一下这方面的问题。

    4.韩丽萍组:日记本

    功能:

    一个简洁实用的日记本:可以新建,编辑,保存,删除日记。

    优点:

    记录自己的一天,实现了作为一个安卓日记本app的基本功能。

    有待改进之处:

    新建日记时当天的日期,星期以及天气状况均不能为空,如果其中一个为空,则会提示该项不能为空。如果某人心情不好不想记录这些,就只想想记录日记内容,就不能记录日记了。--------个人意见。

    5.季轩石组:任务计划提醒app

    功能:

    添加计划:点击添加计划按钮,有两个选项可以选择,一个是定量计划,一个是打卡计划。 打卡计划通过自定义填写内容可以直接生成一个打卡计划的卡片,然后每天可以通过该卡片生成一个打卡内容。提醒事项,下面的菜单栏的第二个内容,然后点击添加TODO,输入你要提醒的事项,然后选择提醒时间,就可以添加提醒了。

    优点:

    可以更换白天或夜晚界面。总体来说界面美观舒适,功能齐全,很专业。

    有待改进之处:

    待到打卡提醒时,可以由机器人说出计划内容。

    六.所遇问题

    1600802116 喇文斌

    1. 从一首歌中获取,歌名,歌手。

    2.listview的运用

    1600802134  于昊

    1.歌曲的获取,本来打算用filter,就是获取所有文件。然后过滤出后缀名为mp3的文件,后来感觉这种方法有点繁琐。

    2.androidstudio模拟器无法进入app,显示Unfortunately  has stopped

    七.项目分工

    代码的编写是我们小组在机房共同完成,代码的话统一由小组另一位同学上传,编写代码遇到的一些问题也是两个人一起上网查找资料共同完成。

    姓名

    分工

    工作比例

    分数(10)

    喇文斌

    界面,代码编写,代码上传

    50%

    10

    于昊

    界面,代码编写,编辑博文

    50%

    10

    八.视频演示:

    https://pan.baidu.com/s/1bGMEINvv2JHyr32HZK8gAA

  • 相关阅读:
    2.6.2.MySQL主从复制的原理
    2.4.5 MySQL InnoDB重做与回滚介绍
    PRML读书笔记_绪论曲线拟合部分
    python3_字符串
    PRML读书笔记_绪论
    python3_列表、元组、集合、字典
    linux_软件安装
    shell获取帮助
    linux_查看磁盘与目录容量
    linux_压缩解压命令(zip/tar)
  • 原文地址:https://www.cnblogs.com/yhbooka/p/10200920.html
Copyright © 2011-2022 走看看