最近看了一下一个录音机的代码SoundRecorder https://github.com/MiCode/SoundRecorder.git  有点小小总结吧.
他的代码基本上是分层的.如上图.不过虽然分层了,我还是觉得好点复杂.看别人的完成工程是不是都有这种感觉呢?
各个类的主要功能我写了一些如下图:
其他都是细节.不做研究了.
----------------------------------------分割线----------------------------------------------------
顺便写一下几个类的常量和方法是什么意思
1、讲述 Environment 类 
Environment 是一个提供访问环境变量的类。 
Environment 包含常量: 
MEDIA_BAD_REMOVAL 
解释:返回getExternalStorageState() ,表明SDCard 被卸载前己被移除 
MEDIA_CHECKING 
解释:返回getExternalStorageState() ,表明对象正在磁盘检查。 
MEDIA_MOUNTED 
解释:返回getExternalStorageState() ,表明对象是否存在并具有读/写权限 
MEDIA_MOUNTED_READ_ONLY 
解释:返回getExternalStorageState() ,表明对象权限为只读 
MEDIA_NOFS 
解释:返回getExternalStorageState() ,表明对象为空白或正在使用不受支持的文件系统。 
MEDIA_REMOVED 
解释:返回getExternalStorageState() ,如果不存在 SDCard 返回 
MEDIA_SHARED 
解释:返回getExternalStorageState() ,如果 SDCard 未安装 ,并通过 USB 大容量存储共享 返回 
MEDIA_UNMOUNTABLE 
解释:返回getExternalStorageState() ,返回 SDCard 不可被安装 如果 SDCard 是存在但不可以被安装 
MEDIA_UNMOUNTED 
解释:返回getExternalStorageState() ,返回 SDCard 已卸掉如果 SDCard 是存在但是没有被安装 
Environment 常用方法: 
方法:getDataDirectory() 
解释:返回 File ,获取 Android 数据目录。 
方法:getDownloadCacheDirectory() 
解释:返回 File ,获取 Android 下载/缓存内容目录。 
方法:getExternalStorageDirectory() 
解释:返回 File ,获取外部存储目录即 SDCard 
方法:getExternalStoragePublicDirectory(String type) 
解释:返回 File ,取一个高端的公用的外部存储器目录来摆放某些类型的文件 
方法:getExternalStorageState() 
解释:返回 File ,获取外部存储设备的当前状态 
方法:getRootDirectory() 
解释:返回 File ,获取 Android 的根目录 
2、讲述 StatFs 类 
StatFs 一个模拟linux的df命令的一个类,获得SD卡和手机内存的使用情况 
StatFs 常用方法: 
getAvailableBlocks() 
解释:返回 Int ,获取当前可用的存储空间 
getBlockCount() 
解释:返回 Int ,获取该区域可用的文件系统数 
getBlockSize() 
解释:返回 Int ,大小,以字节为单位,一个文件系统 
getFreeBlocks() 
解释:返回 Int ,该块区域剩余的空间 
restat(String path) 
解释:执行一个由该对象所引用的文件系统

android 录音机笔记相关推荐

  1. Android开发笔记(一百零八)智能语音

    智能语音技术 如今越来越多的app用到了语音播报功能,例如地图导航.天气预报.文字阅读.口语训练等等.语音技术主要分两块,一块是语音转文字,即语音识别:另一块是文字转语音,即语音合成. 对中文来说,和 ...

  2. Android进阶笔记:Messenger源码详解

    Messenger可以理解为一个是用于发送消息的一个类用法也很多,这里主要分析一下再跨进程的情况下Messenger的实现流程与源码分析.相信结合前面两篇关于aidl解析文章能够更好的对aidl有一个 ...

  3. Android学习笔记21:ImageView获取网络图片

    Android平台有3种网络接口可以使用,它们分别是:java.net.*(标准java接口).org.apache(Apache接口)和android.net.*(Android网络接口).本文将使 ...

  4. Android进阶笔记:AIDL内部实现详解 (二)

    接着上一篇分析的aidl的流程解析.知道了aidl主要就是利用Ibinder来实现跨进程通信的.既然是通过对Binder各种方法的封装,那也可以不使用aidl自己通过Binder来实现跨进程通讯.那么 ...

  5. Android学习笔记(七):多个Activity和Intent

    根据www.mars-droid.com:Andriod开发视频教学,先跳过书本<Beginning Android 2>的几个章,我是这两个资源一起看,需要进行一下同步.先初步了解一下应 ...

  6. Android学习笔记26:图片切换控件ImageSwitcher的使用

    在Windows操作系统中,要查看多张图片,可以通过使用"Windows照片查看器"在"上一张"和"下一张"之间切换,进行多张图片的浏览. ...

  7. Android学习笔记36:使用SQLite方式存储数据

    在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...

  8. Pro Android学习笔记(二九):用户界面和控制(17):include和merge

    xml控件代码重用:include 如果我们定义一个控件,需要在不同的layout中重复使用,或者在同一个layout中重复使用,可以采用include的方式.例如定义my_button.xml如下 ...

  9. Android学习笔记:TabHost 和 FragmentTabHost

    2019独角兽企业重金招聘Python工程师标准>>> Android学习笔记:TabHost 和 FragmentTabHostTabHost命名空间:android.widget ...

最新文章

  1. 深度优先搜索_0基础学算法 搜索篇第一讲 深度优先搜索
  2. python GUI编程( 二 ) (基于PyQt5)
  3. 程序员被质疑跳槽频繁不稳定,随后的一番话令HR哑口无言!
  4. python培训出来的有公司要吗-目前从事Python培训的机构有很多家
  5. 【遥感数字图像处理】基础知识:第三章 遥感数字图像几何处理
  6. PyTorch发布一周年:盘点社区和工程大事件,后来者居上态势已显?
  7. python def main好处_python中 __name__及__main()__的妙处
  8. 使用Jquery开发适合自己的幻灯片组件
  9. 10年Java老鸟忠告:技术人这4个错别再犯了!
  10. 区块链 xuperchain xuper-java-sdk 部署使用EVM 合约 教程
  11. SSD-tensorflow-2 制作自己的数据集
  12. 关于ABAQUS2020二次开发
  13. 【Fuzzy】不确定规划:模糊变量
  14. Linux命令行参数前加杠-和不加杠的区别
  15. 动态内表(纵向变横向)
  16. 用计算机进行情报检测属于计算机应用中,[单选] 计算机用于情报检索属于计算机应用中的()。...
  17. html表格方式实现商品详情
  18. 仪表放大器和运算放大器优缺点对比
  19. spring配置hibernate的sessionFactory
  20. 系统杂类--------删除GHOSTwin7桌面顽固IE图标

热门文章

  1. 【千峰网安学习】IIS之WEB服务器
  2. 互联网江湖,桌面客户端框架技术比武大会
  3. 三节课学懂支付核心(上)| 支付学院
  4. keil无法读取到jlink下载器,程序无法下载,报错No Cortex-M SW Device Found
  5. 我国规划建设的水电站有多少你知道吗?—— 使用3S数据盘点我国的水电站建设
  6. 前端小白的css学习笔记——简介、选择器、字体属性和文本属性(最后有思维导图哦)
  7. arduino 蓝牙 android 小车,arduino智能蓝牙小车
  8. IntelliJ IDEA 14注册
  9. HTML5 Canvas火焰效果 像火球发射一样
  10. 淘宝秒杀脚本(python学习笔记)