Android音乐播放器的设计与实现

课程设计报告

实习名称 课程设计2

设计题目 Android音乐播放器的设计与实现

目录

摘要11

1 引言22

2 可行性分析22

2.1 技术可行性22

2.2 经济可行性33

2.3 管理可行性33

2.4 可行性分析结论33

3 系统需求分析44

3.1 功能分析44

3.2 数据流程分析44

4 系统功能设计66

4.1 播放器功能结构66

4.1.1 播放器主界面功能模块66

4.1.2 播放器菜单功能模块77

4.2 播放器功能流程77

5 系统实现88

5.1 播放器主界面功能列表88

5.2 播放器基本功能的实现1111

5.3 播放列表的实现1212

6 软件测试与验证1313

6.1 软件测试的目的1313

6.2 软件测试的方法1313

6.3 软件测试环境1414

6.3.1 android模拟器1414

6.3.2 真机测试1414

6.4 软件测试流程与结果评估1414

6.4.1 测试流程1414

6.4.2 结果评估1515

6.5 本章小结1616

7 总结1616

参考文献1818

Android音乐播放器的设计与实现

(德州学院 信息管理学院,山东德州 253023)

摘要:本文主要介绍了一个基于Andriod的音乐播放器的设计与实现。主要包括可行性分析,需求分析,App功能设计及实现。本次课程设计选择了开发Android音乐播放器(以下简称播放器),主要是因为音乐播放器涉及的Android基础知识比较广,本次的开发过程中主要设计到Service、网络数据传输、Handle消息机制、多线程、Sqllite数据存储。在本次音乐播放器的设计与实现中,我们小组进行了明确的分工,在代码的编写过程中,我们使用了SVN工具,大大节省了在代码整合上花费的时间。

关键字:Andriod;智能手机;音乐播放器;SVN

1 引言

在软件设计之前,首先对 android 底层架构方面的资料进行了大量研究,并对目前市场上的各类音乐软件进行了分析,以此为基础对用户的需求进行了详细分析,然后根据分析结果对整个软件的架构及功能模块进行了设计,在UI方面做了个性化的设计,提高用户和播放器的互动性,另外软件的功能中还加入了较多的人性化功能,比如来去电自动暂停功能、利用进度条自由控制音乐播放进度等。本软件基于 Android 架构进行实现,主要实现了个性化设置、播放控制等多个功能模块。软件实现过程中,笔者首先利用 Eclipse 软件构建了Android开发环境,采用Java语言进行编写,在代码编写完成后,对软件的功能性及性能进行了模块测试,并对测试过程中发现的 BUG 进行了修正和优化调整。最终通过实机测试,确定该软件具有体积小、可移植性强、可扩展性强、对终端设备配置要求低等优点,适用于大范围的高中低档Android手机用户,而且能够保持长时间的稳定运行状态。

据国外媒体报道, IDC(互联网数据中心)周二发布了2014年智能手机出货量数据,采用Android和iOS操作系统的智能手机出货量占全部智能机出货量的96.3%。其中Android出货量为10.59亿部,同比增长32%;市场份额为81.5%,去年同期为78.7%。iPhone出货量为1.927亿部,同比去年增长25.6%;市场份额为14.8%, 去年同期为15.1%。这表明谷歌的Android操作系统2014年仍明显领先于其他的手机操作系统。

2 可行性分析

2.1 技术可行性

先进性

本次APP的开发使用了模块化开发的方式,这种开发方式解决软件的复杂性问题,或说降低软件的复杂性。不至于随着项目变大而不可控而失败,使其可控,可维护,可扩展。

可靠性

本APP的功能比较的单一,但是仍然不能忽略可靠性问题,不会有用户会喜欢一个经常崩溃的应用程序。在本APP的设计中,我们尽量降低代码的冗余度,尽量对代码进行抽象,封装和捕捉异常。

2.2 经济可行性

可维护性

系统设计应标准化、规范化,按照分层设计,软件构件化实现。按照类型进行组织代码,对代码进行分层,主要体现在对代码的包结构进行设计,相同功能的类放在同一包中。

可拓展性

想要拓展APP的功能,就要做好核心控制组件的设计。本APP以Service为核心开发的,可以通过调用Service中的方法进行功能的调用,Service中应设计出接口,方便以后功能的扩展。

2.3 管理可行性

实用性

考虑到要尽量满足业务功能需求的前提下,又要适应各业务角色的工作特点,该系统做到简单、实用、人性化,实现了验证身份和资源管理、分级内容管理和内容定制。

开放性

在系统构架、采用技术、选用平台方面都有较好的开放性。特别是在选择产品上,我们采用符合开放性要求,遵循国际标准化组织的技术标准,我们的产品既有自己的独特优势,又能与其他多家优秀的产品进行组合,共同构成一个开放的、易扩充的、稳定的、统一软件的系统。

2.4 可行性分析结论

应用系统从技术层面具有先进性和可靠性,经济方面具有可维护性、可伸缩性和可移植性,管理层面具有实用性和开放性,体现了该系统的可行性,似的用户在使用系统时更方便快捷,可靠稳定。

3 系统需求分析

3.1 功能分析

根据用户的普遍需求,本APP主要实现的功能有:本地文件的搜索、播放列表的生成、音频的基本播放控制、播放器个性化定制图片切换、音频处理设置的实现、开始界面的动画效果、电话异常的处理。

3.2 数据流程分析

根据该项目的设计目标,对产品进行场景化推导出项目系统的基本需求,从不同角度来描述系统的需求,同时使用用例图来描述软件的功能需求。本小节从本地文件的搜索,播放列表的生成,音频的基本播放控制需求,播放器个性化定制图片切换,音频处理设置的实现,开始界面的动画效果,电话异常的处理等八个部分来概括。在该部分的分析描述中,结合UML统一建模语言进行必要的图形化分析。

图 数据流图

(1)本地文件搜索

音频文件通常存储于移动设备的本地SD卡中,音乐播放器需要实现查询SD卡中音频文件的随心播放,这也是音乐播放器的设计初衷。播放本地音乐可以不受网路条件的限制,同时还能够有效节约网络流量的消耗。

(2)音频的基本控制需求

音频的基本播放控制是整个音乐播放器的核心功能,因此,其设计至关重要。在打开音乐播放器之后,首先就使用户能够明显地看到屏幕的播放按钮,方便进行音乐播放。同时播放按钮能够在播放与暂停两个功能之间进行切换,这样既能保证为用户提供丰富的功能,又能保证界面的简洁。另外根据用户需要可以随时点击任意曲目进行播放,如果用户不做选择将自动播放下一曲目。当前音乐的播放进度条是可以任意拖放的,也就是可以选择任意位置开始播放音乐,使用户能够通过触摸滑动及点击的错做方式对播放进度条进行自由控制。

(3)播放列表的生成

播放列表的功能在于为用户对本地音乐文件的管理提供方便。当用户第一次启动播放器时,软件自动查找音乐素材,形成播放列表排列于界面中,下一次播放音乐时就无须重新查找,可以直接调用当前的播放列表进行播放。

(4)播放器个性化定制图片切换

播放视觉模式的切换并非播放器的必要功能,但为了给用户带来更高的视觉体验,播放器视觉效果的切换功能必不可少。 用户通过点击菜单按钮进入菜单选项,然后点击设置界面可以获得用户 SD 卡中原有图片或照片,用户可以选择设置为当前界面,更换自己喜欢的图片。

(5)音频处理设置的实现

音量设置是通过设置界面进行的,可以设定当前播放音乐的音量高低。

(6)开始界面的动画效果

采用淡出方式消隐开始画面,出现播放界面,给人清新舒适的感觉。 应用程序窗口小部件AppWidgets,是微小的应用程序视图。它可以被嵌入到其他程序中并接收周期性的更新。

4 系统功能设计

4.1 播放器功能结构

4.1.1 播放器主界面功能模块

播放器的主界面主要是指用户在进入播放器之后最先出现在用户眼中的界面,该界面上通常需要具备一些简单的操作按钮。

1)歌曲切换

通过该功能,用户能够实现对歌曲的切换操作,切换到当前歌曲的上一首或下一首进行播放,如果只有一首歌曲时,该功能键将失去作用。

2)本地音乐自动搜索

用户通过该功能能够快速搜索移动设备本地存储中的音频文件。通过歌曲名或者相关信息的关键字对本地音频文件进行搜索。在查找到歌曲后可以直接对该歌曲进行播放、管理以及添加到列表等操作。该功能的设计目的是为了方便用户对本地音频文件进行快速搜索定位。

3)播放进度条的显示与控制

通过播放进度条能够较为直观的将当前曲目的播放进度信息展示给用户。利用播放进度条显示当前歌曲的播放状态,从而也使播放器的 UI 设计更加简洁。同时,还能对该播放进度条进行触摸控制,大大提高了用户的操作效率。

4)音乐播放的控制

通过音乐播放控制按钮能够实现对当前播放曲目的控制,主要包括播放、暂停、停止等操作。这些按钮的加入,也保持了播放器UI设计的简约风格。

4.1.2 播放器菜单功能模块

菜单功能按钮是指用户在进入播放器主界面后,点击手机菜单按钮时弹出来的功能列表,功能列表中目前只设定简单的功能选择项,但是已经提供了增加选项的接口,可以为用户提供更多的功能定制。

设置选项将转到设置界面,提供用户摇一摇换歌和更新的设置。

4.2 播放器功能流程

在完成对播放器的主界面功能模块以及菜单功能模块的设计之后,需要对播放器的功能进行设计,它决定了用户操作流程的体验度。优秀的音乐播放器并不是依靠单纯的功能叠加而成的,而是需要通过对用户的需求就行研究,实现用户满意的功能流程,让用户获得更高的操作体验。具体流程如下:

(1)启动播放器;

(2)进入播放器后,播放器自动加载本地音频文件;

(3)若播放列表中存在文件信息,且文件源文件存在则进行歌曲播放;

(4)若播放列表为空,则可以利用功能菜单进行本地歌曲添加,然后返回播放界面进行歌曲播放;

(5)在播放音乐的过程中,可以对播放歌曲的相关信息进行查看并进行播放控制的操作;

(6)用户可以利用歌曲的关键信息结合软件提供的搜索功能对本地存储中的音乐进行快速搜索,并对搜索结果进行管理;

(7)用户可以通过菜单按钮进入软件的而功能菜单列表,并对这些功能进行操作;

(8)通过点击暂停按钮可以停止当前歌曲的播放,在暂停状态下,用户通过点击设备返回按钮,可以退出播放器程序。

图 4.2 播放器功能流程图

5 系统实现

5.1 播放器主界面功能列表

根据前文中对音乐播放器功能结构的分析以及对主界面功能的简单分析。在对功能模块进行设计的基础上使用DroidDraw工具编码出XML文件并导入Android ADT中能够得到如下结果。

(1)UI设计

播放器的主要色调采用浅蓝色作为背景底色,各个按钮使用深色,整体风格显得更加舒适并附有强烈的时尚气息。播放器主界面功能列表主要包括基本控制功能按钮(播放、暂停、切歌等)、搜索按钮、播放列表按钮以及播放主信息显示区域。

(2)核心代码:

具体的主界面实现核心代码如下:

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

switch (v.getId()) {

case R.id.iv_play:

if(state==State.Paused){

startService(new Intent(MusicService.ACTION_PLAY));

iv_play.setImageResource(R.drawable.cf_open);

state=State.Playing;

}else{

startService(new Intent(MusicService.ACTION_PAUSE));

iv_play.setImageResource(R.drawable.cf_close);

state=State.Paused;

}

break;

case R.id.rl_localmusic://本地音乐

intent =new Intent(MainActivity.this,MusicListActivity.class);

intent.putExtra("from", "all");

startActivity(intent);

overridePendingTransition(R.anim.tran_in, R.anim.tran_out);

break;

case R.id.rl_file://文件夹

intent =new Intent(MainActivity.this,MusicListActivity.class);

startActivity(intent);

overridePendingTransition(R.anim.tran_in, R.anim.tran_out);

break;

case R.id.rl_singer://歌手

intent =new Intent(MainActivity.this,MusicListActivity.class);

startActivity(intent);

overridePendingTransition(R.anim.tran_in, R.anim.tran_out);

break;

/*case R.id.rl_type://专辑

intent =new Intent(MainActivity.this,MusicListActivity.class);

startActivity(intent);

overridePendingTransition(R.anim.tran_in, R.anim.tran_out);

break;*/

case R.id.rl_love://喜欢

intent =new Intent(MainActivity.this,MusicListActivity.class);

intent.putExtra("from", "like");

startActivity(intent);

overridePendingTransition(R.anim.tran_in, R.anim.tran_out);

break;

case R.id.rl_playmusic://音乐播放界面

intent =new Intent(MainActivity.this,PlayActivity.class);

startActivity(intent);

overridePendingTransition(R.anim.vertical_in, R.anim.vertical_out);

break;

case R.id.ll_zaixian://在线音乐

intent =new Intent(MainActivity.this,OnlineActivity.class);

startActivity(intent);

overridePendingTransition(R.anim.tran_in, R.anim.tran_out);

break;

case R.id.ll_saomiao://扫描音乐

intent =new Intent(MainActivity.this,ScanActivity.class);

startActivity(intent);

overridePendingTransition(R.anim.tran_in, R.anim.tran_out);

break;

case R.id.ll_shuimian://睡眠定时

intent =new Intent(MainActivity.this,SleepActivity.class);

startActivity(intent);

overridePendingTransition(R.anim.tran_in, R.anim.tran_out);

break;

case R.id.ll_shezhi://设置

intent =new Intent(MainActivity.this,SettingActivity.class);

startActivity(intent);

overridePendingTransition(R.anim.tran_in, R.anim.tran_out);

break;

case R.id.ll_tuichu://退出

finish();

unbindService(conn);

stopService(new Intent(MainActivity.this, MusicService.class));

System.exit(0);

break;

}

}

5.2 播放器基本功能的实现

(1)功能描述

播放器的基本功能主要包括对歌曲的播放、暂停、停止等控制功能。

(2)播放器基本控制功能流程设计

在启动播放器之后,如果播放列表中存在文件信息,则点击播放按钮之后正常进行音乐播放;当处于正常音乐播放情况下点击暂停或停止按钮可以实现暂停或停止当前音乐的播放,当音乐播放处于暂停或停止的状态下,用户可以通过点击移动设备的返回按钮退出播放器程序,具体的流程图如下:

(3)核心技术

开发人员可以利用Android提供的android.media包来实现对各种音视频媒体接口

的管理。在 android 系统源码中封装了媒体播放接口类 MediaPlayer,该接口类在执行的过程中首先需要接收媒体数据源并依此通过如下三个步骤完成对音乐的基本播放控制:

第一,利用 MediaPlayer.reset()函数对媒体播放类接口进行复位操作。在调用该函数后再利用MediaPlayer.prepare()函数进行重新实例化;

第二,利用 MediaPlayer.serDataSource()函数对媒体数据流进行设置,数据源的获取需要利用getContentResolver()函数进行获取。

第三,在接收媒体数据流之后,使用MediaPlayer.prepare()函数准备播放数据源,然后调用MediaPlayer.start()函数进行播放,同时还可以利用MediaPlayer.stop()函数停止播放。

5.3 播放列表的实现

(1)功能描述

播放列表的主要功能在于对音乐文件的管理。用户在点击菜单按钮之后,弹出菜单功能列表,然后用户选择播放列表选项并选择播放列表文件夹,将音乐文件添加到主页面的播放列中。同时播放列表还提供了删除、清空等管理选项,该功能可以通过长按播放列表中的文件名进行实现。

(2)功能实现核心技术

播放列表选项被激活后会自动搜索本地音频文件,并根据音频文件中ID3标签所提供的各项信息对音频文件进行分类显示。在程序设计中可以利用哈希表对列表信息进行保存,然后将保存的信息发送给 ArrayAdapter 适配器,以在播放列表中进行展示。同时可以利用 OnClickListener接口类实现用户的操作响应。

6 软件测试与验证

6.1 软件测试的目的

通常情况下,在软件系统设计完成之后,需要进行软件的性能测试,这主要是为了让软件的运行更加稳定、功能更加完美,为用户提高较高的使用体验。在进行软件开发的过程中,由于其高度复杂性,bug 是必然存在的,通过对软件的各项功能以及运行状态进行测试,可以保证每项功能的正确运行,同时也能使系统更加稳定的运行,保证了整个软件功能及性能的良好。

针对本文研究的音乐播放软件软件系统,要想保证软件系统的功能完整性和满足用户的实际操作需求,需要对设计开发的软件进行性能检测,然后对软件的各项功能以及整体性能所进行的以此总体评估。通过软件测试,具体可以实现以下目的:

(1)通过软件的运行可以检测出代码的bug以及在逻辑功能上的缺陷;

(2)可以检测出软件的具体运行性能,并根据该性能测试是否是有编码或者逻辑运算问题造成的;

(3)可以有效改善系统软件在设计过程中的漏洞和不足。

6.2 软件测试的方法

由于不同软件应用范围和使用性质不同,所以软件进行性能测试的技术方法各不相同,本文主要研究的是音乐播放软件,根据这一软件系统的功能和性质,主要采用单元测试的方法对音乐播放软件的不同功能进行测试。作者采用这种方法的主要目的是为了保证每一个单元的功能完整性。

软件测试人员要想对系统功能进行单元测试,首先要准确掌握和了解系统模块的基本信息和内部控制电路,这样才可以对单元模块进行全面测试,并且可以及时发现和完善模块中存在的漏洞和不足。软件系统进行单元测试通常有两种方法,它们分别是黑盒测试法与白盒测试法,其中白盒测试法由于技术比较成熟,应用的范围比较广泛。白盒测试法其本质是对系统模块的逻辑结构进行测试。具体操作过程是测试人员按照模块的内部程序进行检测,以此来判断模块的每个程序是否按照预期的要求进行工作。

白盒测试法其实是将测试模块当作一个透明盒子,测试人员通过认真分析模块内部的逻辑结构,然后选择比较符合的测试程序进行相关功能检测。这样可以有效的保证检测结果的准确性和合理性。

6.3 软件测试环境

6.3.1 android模拟器

模拟器系统版本android4.0或以上版本

6.3.2 真机测试

可以通过几款Android手机真机对软件进行测试,具体选择的真机及具体配置如下表6.3.2所示。

表6.3.2 Android真机具体配置情况

手机型号

CPU型号

CPU频率

RAM

操作系统

小米2s

高通 骁龙APQ8064 Pro

1.7GHz

2GB

Android 5.0

魅族魅蓝Note

联发科 MT6752

1.7GHz

2GB

Android 4.4

华为荣耀3c

联发科 MT6582

1.3GHz

1GB

Android 4.2

6.4 软件测试流程与结果评估

6.4.1 测试流程

(1)测试计划

1)在音乐播放器开发工作完成后进行软件测试;

2)根据软件需求分析中对软件的各种需求所提出的要求选择相关程序实例进行检测。

(2)需要测试的内容:

1)系统模块重要单元的数据检测;

2)系统模块中不同数据结构之间的连接通路检测;

3)模块接口的兼容性检测;

4)模块中经常出现错误的通路检测。

5)模块边界值条件检测;

(2)测试准备

在制定好相应的测试计划后组织必要的人力资源及硬件资源准备。

(3)测试工作的执行

1)根据测试计划以及测试用例对软件进行模块测试;

2)在测试过程中发现bug时,应进行跟踪管理;

3)测试结束后编写详细的软件测试报告;

6.4.2 结果评估

对该音乐软件的具体测试评估结果如表6.4.2。

表6.4.2测试结果评估内容

测试选项

具体步骤

评估结果

基本播放功能测试

1播放器主界面有五个关于控制播放的功能按钮,分别点击各个按钮测试按钮是否会对播放器的正常工作产生影响

通过

2测试播放按钮是否能够正常进行音乐播放

通过

3点击单曲播放及实现顺序播放,注意乐曲之间的切换播放,多放几首歌检测该功能是否实现

通过

4测试播放按钮与暂停按钮之间的切换功能

通过

5在歌曲停止播放后,按设备的返回键是否能够正确的退出播放器应用程序

通过

播放进度条

1是否正确显示当前歌曲的播放进度信息

通过

2测试是否能够通过触摸操作对进度条进行控制

通过

歌曲切换

1点击上一首或下一首按钮是否能够实现歌曲之间的切换

通过

2切换按钮是否能够对当前播放队列中的歌曲完全切换

通过

3跳转到播放列表结尾时,是否能够停止跳转

通过

6.5 本章小结

Android 软件的测试方法还处在探索阶段,本研究所用的的测试方法为白盒模块测试,根据软件的需求对播放器的功能及性能进行了全面测试,测试结果表面从功能和性能来看该软件达到了预期效果

7 总结

由于计算机网络技术的更新换代以及社会发展的实际需求,人们对于手机的选择越来越亲睐于触摸屏智能手机。触摸屏智能手机是在原来的按键手机的基础上发展起来的。现在大多数智能手机都采用Android系统,这主要是因为Android系统更加开放,更加人性化。现在全球各大手机制造商都对Android系统进行了深入研究和广泛应用,因此,对于Android系统的研究分析具有一定的市场价值。针对目前Android软件市场音乐播放器品质良莠不齐以及广大安卓手机用户迫切需要一款功能专一,界面清爽美观,同时占用较少手机资源的音乐播放器的问题,我们设计并实现了该款Android平台的手机音乐播放器。通过软件工程理论对该播放器从需求分析、系统实现、系统测试三个方面阐述了基于Android嵌入式平台的手机音乐播放器的实现过程。

本文主要完成了以下几个方面的工作:

1、在分析国内外研究现状的基础上,结合现有 Android 音乐播放器的实现原理和功能特色,重新设计出该款功能使用流程便捷的音乐播放器。

2、研究并学习基于 Android 嵌入式平台开发技术,Android 平台开发采用 Java 语言为主导,结合XML语言进行UI界面的开发。

3、针对用户研究后分析音乐播放器的功能需求,将播放器功能分成播放器主界面功能模块和播放器菜单功能模块。主界面功能模块包括播放/暂停/停止功能、播放进度条功能、本地音乐搜索功能、歌曲信息显示功能、窗口小部件功能等。

4、阐述从播放器系统实现的角度对需求分析得出的功能模块进行详细具体的实现细节。

5、最后分别使用基于 Android 嵌入式平台模拟器和 Android 手机真机对该款音乐播放器进行功能和性能测试。经过对系统的功能和性能测试分析表明该系统达到预期的设计目标。


参考文献

[1]赵江洪主编.人机工程学[M]. 高等教育出版社, 2006.

[2]吴亚峰,索依娜.Android核心技术与实例讲解[M].北京:电子工业出版社,2010.

[3]张基温.信息系统开发案(第3版)[M].北京:清华大学出版社,2002.22-34.

[4]汪应洛主编.系统工程[M]. 机械工业出版社, 2003.

[5]曾毅.数据库开发技术大全[M].北京:清华大学出版社.2010.

[6]李刚,著.疯狂Java[M].电子工业出版社, 2008.

[7]萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2003.12-26.

[8]郑晓艳,童勇木编著.Java程序设计教程[M]. 清华大学出版社, 2003.

[9]郑人杰,殷人昆,陶永雷.实用软件工程(第二版)[M].北京:清华大学出版社,2003,113-154.

[10]余建星编著.工程项目风险管理[M].天津大学出版社, 2006.

[11]刘欣怡.软件工程[M].北京:清华大学出版社,2007,75-96.

[12]古乐,史九林编著,上海艾微软件技术有限公司主编.软件测试技术概论[M].北京:清华大学出版社, 2004.

[13]黄梯云,李一军.管理信息系统(第三版)[M].北京:高等教育出版社,2005.107-182.

[14](美)BruceEckel著,陈昊鹏,饶若楠等译.Java编程思想[M].机械工业出版社, 2005.

[15](美)B.约瑟夫·派恩(B.JosephPineⅡ),(美)詹姆斯·H.吉尔摩(JamesH.Gilmore)著,夏业良,鲁炜等译.体验经济[M]. 机械工业出版社, 2002.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/49893.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

A Survey on Multimodal Large Language Models

本文是LLM系列的文章之一,主要是讲解多模态的LLM。针对《A Survey on Multimodal Large Language Models》的翻译。 多模态大语言模型的综述 摘要1 引言2 概述3 方法3.1 多模态指令调整3.1.1 引言3.1.2 前言3.1.3 模态对齐3.1.4 数据3.1.5 模态桥接3.1.6 评估 3.2 …

云存储,为 AI 创新提速

当下,如火如荼的 AI 大模型对算力和数据存储提出了更高的要求。在 6 月 1 日结束的“阿里云峰会粤港澳大湾区”上,阿里云智能资深产品专家彭亚雄在 AI 新范式与商业创新论坛上做了《云存储,为 AI 创新提速》的主题分享。彭亚雄认为&#xff0…

聊聊 AI 平台存储方案和选型

最近火爆全网的 ChatGPT 再次带来一股 AI 热潮。 过去的五年,AI 快速发展并应用到很多领域中。作为一家存储企业,我们也感受到了 AI 行业的活力,和我们交流团队中,AI 企业越来越多,有自动驾驶、蛋白质结构预测、量化投…

详解 Redisson 分布式限流的实现原理

本文分享自华为云社区《详解 Redisson 分布式限流的实现原理》,作者: xindoo。 我们目前在工作中遇到一个性能问题,我们有个定时任务需要处理大量的数据,为了提升吞吐量,所以部署了很多台机器,但这个任务在…

AI日报|哈佛“AI教授”即将上线;首个生成式AI技能专业证书来了;电话推销员很烦?AI帮你“制裁”他

今日值得关注的人工智能新动态: 将GPT-4用在课程设计中 哈佛大学“AI教授”即将上线 微软推出首个生成式AI技能专业证书 纽约州议会:伤害或羞辱他人的deepfake是非法的 阿诺德施瓦辛格:《终结者》中的AI已成现实 AI诊断“老年痴呆”&…

甜品网站界面

最开始就是logo部分和导航栏部分 logo部分就是用的div里面写img然后给浮动就可以了 第二个是导航栏部分 用的也是无序标签 代码如下: 轮播图部分 没做出来效果 甜蜜约会品牌简介 红色框框以外的我用的是 div img 和 p标签做的 这些很简单 就不展示代码了 红色边…

教你简单学会用Python画长草颜团子

相信大家都知道可爱的长草颜团子,它应该在很多人的表情包中占有一席之地,那么就今天我们试着用Python的turtle模板来画一个长草颜团子吧! 这么可爱的团子谁不想要试着自己画出来呢哈哈哈 源码如下: #8X_I import turtle as t t.…

鱼香肉丝(集锦)

1: 鱼香肉丝的简单制作 2 :鱼香肉丝的来历与制作 3: 鱼香肉丝制作 4:鱼香肉丝 1 鱼香肉丝的简单制作 作者: 时间: 2006-1-17 10:17:00 摘自:http://www.517sc.com/food/xyz/17_54_51330.html 材…

用 Python 画如此漂亮的插图 ,So easy

人生苦短,快学Python! 今天我们进行一次实战案例分享,以全球预期寿命与人均 GPD数据为例,写一篇 Python 中漂亮散点图的快速指南。除了正常的数据清洗/处理、还会进行简单的统计分析,实现数据处理-统计分析-可视化一条…

做个合格的吃货~Python爬取全国火锅店,并利用地图可视化展示~

导语:天越来越冷啦~ 前段时间又刮起了入冬四件套(烤红薯、热奶茶、糖炒栗子、糖霜山楂)的热风~ 小编也紧跟着潮流下班兴冲冲的跑去买~(附近店面的排队的人实在是太多了~风还大😷😷) 一到手…

美食杰项目(七)菜谱大全

本文目录 前言:1.具体样式2.实现的具体功能和代码思路3.element ui具体样式的网址4.相关代码5.总结: 前言: 本文给大家讲的是美食杰项目中菜谱大全项目的具体样式,代码思路和具体代码,希望能帮助到你 1.具体样式 2.实…

鱼香肉丝里到底有没有鱼?

鱼香肉丝,算是我最爱的一道菜了,无论饭店大小,他都是我首先就要找的菜,可谓痴迷,但是鱼香肉丝里到底有没有鱼?这是个千古之谜,这篇来自三个料理人的文章《千古之谜,鱼香肉丝里到底有…

Python爬虫:简单爬取粤菜菜谱

项目场景: 简单爬取粤菜菜谱。 实现思路: 访问主页,获取每个菜品的菜名、图片、详情页面网址。 访问上一步中获得的所有详情页面,获取工艺、口味、时间、主料、辅料信息。 清洗所获得的数据。 保存至本地文件。 实现过程&a…

文心一言的魔性作图,我头都笑掉了...

这几天看到网友们用文心一言作的图,看了后我都愣住了。。。 AI 作画 -- 三得利乌龙茶 AI 作画 -- 娃娃菜 AI 作画 -- 车水马龙 AI 作画 -- 驴肉2火烧 AI 作画 -- 唐伯虎点秋香 AI 作画 -- 鱼香肉丝 AI 作画 -- 胸有成竹 AI 作画 -- 夫妻肺片 AI 作画 -- 红烧狮子头 …

使用chrome浏览器插件postman模拟post、get请求

使用chrome浏览器插件postman模拟post、get请求 postman为chrome浏览器的一个插件,用来模拟post请求,get请求等。可以在chrome浏览器里安装插件(前提是你得访问了Google应用商店)。 如果不能访问Google,那个下载一个p…

chrome浏览器无法开启同步功能 request cancel

找了很多亲测最新100版本可用!!! 步骤 1、从下面链接提取google插件【Chrome-Sync-Helper】 链接: https://pan.baidu.com/s/1FTxrQ-IRjRmYdW5HcNateA 提取码: htga (如链接失效,请留言反馈!) …

Chrome 添加【微信 / QQ】内置浏览器(解决 “请在微信客户端打开链接” 提示)

前言 有些链接,是需要在微信客户端内才能打开的,那么想在 PC 端的浏览器上打开,怎么办呢? UA 不明白的话先不用管,继续往下看。 【安卓QQ内置浏览器UA】 Mozilla/5.0 (Linux; Android 5.0; SM-N9100 Build/LRX21V…

chrome浏览器控制台发送post请求

谷歌浏览器,点击F12,在控制台中输入下面代码,直接回车即可:(需要修改一下Admin-Token的值即可) 设置访问的Controller路径,“http://127.0.0.1:8090/api/dwStandard/superUploadBigFile” met…

和 if else说再见,SpringBoot 这样做参数校验才足够优雅!

大家好,我是老赵! 一、概述 当我们想提供可靠的 API 接口,对参数的校验,以保证最终数据入库的正确性,是 必不可少 的活。比如下图就是 我们一个项目里 新增一个菜单校验 参数的函数,写了一大堆的 if else 进行校验&…

全球诺贝尔奖得主最多的30所大学

自1901年以来,诺贝尔奖得主全球最多的30所大学,这些大学堪称是真正的世界一流大学。世界一流大学的指标很多,但是有一项重要指标不可缺失,那就是至少有10位以上诺贝尔奖得主。以下是笔者根据维基百科整理的1901年至2018年间&#…