首页 文章 精选 留言 我的

精选列表

搜索[android things],共10000篇文章
优秀的个人博客,低调大师

android如何获取证书签名?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/inforstack/article/details/77160976 cygwin环境下 在cygwin环境下运行如下命令,输出结果即为signature keytool -exportcert -alias [alias] -keypass [alias password] -keystore [keystore filepath] -storepass [keystore password] | md5sum 例如:当前路径下包含用于对app签名的test.keystore文件,且keystore密码为1234,别名为test,别名密码为123,则运行如下命令: keytool -exportcert -alias TEST -keypass 1234 -keystore ./test.keystore -storepass 123 | md5sum 命令行环境下 先将keytool的输出转向到文件,然后再用md5生成工具对该文件进行md5处理 keytool -exportcert -alias TEST -keypass 1234 -keystore ./test.keystore -storepass 123 > out.text certutil -hashfile out.text md5

优秀的个人博客,低调大师

Android MediaPlayer播放音频与视频

播放音频 首先创建出一个MediaPlayer对象 MediaPlayer mMediaPlayer = new MediaPlayer(); 设置声音源 public static final String FILENAME = "deserve.mp3"; public static final String PATH = "/mnt/sdcard/" + FILENAME; FileInputStream fis = new FileInputStream(new File(PATH)); mMediaPlayer.setDataSource(fis.getFD());// 设置声音源 3.参数设置 mMediaPlayer.setLooping(false); // 设置是否循环 /* PlaybackParams playBackParams = new PlaybackParams(); playBackParams.setAudioFallbackMode(PlaybackParams.AUDIO_FALLBACK_MODE_FAIL);//设置音频后备模式 playBackParams.setSpeed(1.0f);// 调音速 --测试最大值为8.0f playBackParams.setPitch(1.0f); // 调音调 mMediaPlayer.setPlaybackParams(playBackParams); */ /* // 使用系统的媒体音量控制 AudioAttributes attributes = new AudioAttributes.Builder() .setContentType(AudioAttributes.CONTENT_TYPE_MUSIC) .setFlags(AudioAttributes.FLAG_LOW_LATENCY) .setUsage(AudioAttributes.USAGE_MEDIA) .setLegacyStreamType(AudioManager.STREAM_MUSIC) .build(); mMediaPlayer.setAudioAttributes(attributes); */ 4.MediaPlayer播放音频 这里在MediaPlayer类中提供了两个准备的方法,一个是同步准备prepare(),一个是异步准备prepareAsync(),建议在使用时使用prepare(),异步准备方法在调用后会立即调用setOnCompletionListener()方法,使得当前歌曲结束播放。在调用prepare()或者prepareAsync()方法后调用setOnPreparedListener()方法进行准备监听,在此监听中调用start()方法进行播放。 暂停与停止 pause(): 暂停音乐播放 stop() : 停止音乐播放 reset() : 重置当前音乐 设置进度条实时显示播放进度 (1)首先应该在布局文件中添加ProgressBar(横向)或者SeekBar,在Activity中进行初始化。 (2)使用定时器来定时更新进度。 //----------定时器记录播放进度---------// Timer mTimer = new Timer(); TimerTask mTimerTask = new TimerTask() { @Override public void run() { seekBar.setProgress(mp.getCurrentPosition()); } }; mTimer.schedule(mTimerTask, 0, 10); (3)定时器的代码应该在mMediaPlayer.setOnPreparedListener()中调用。当其开始播放时开启这个定时任务,并调用seekBar.setMax(mp.getDuration());来设置进度条的最大时间,其中mp.getDuration()是获取当前播放文件的总长度。 (4)停止播放或者结束播放时,调用mTimer.cancel();来关闭定时器。 视频播放不同之处 视频播放时要使用VideoView来进行视频的显示,此时MediaPlayer要设置一个显示器。 mMediaPlayer.setDisplay(videoView.getHolder());

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册