Android安卓中循环录像并检测内存卡容量

 这篇文章主要介绍了Android安卓中循环录像并检测内存卡容量,当内存卡空间已满时,本文还实现自动删除视频列表里面的第一个文件,需要的朋友可以参考下

 
 

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

/**
* 循环录像,当内存卡容量少于300M时,自动删除视频列表里面的第一个文件
*/
private void xunhuanluxiang() {
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
File path = Environment.getExternalStorageDirectory();
// 取得sdcard文件路径
StatFs statfs = new StatFs(path.getPath());
// 获取block的SIZE
long blocSize = statfs.getBlockSize();
// 获取BLOCK数量
long totalBlocks = statfs.getBlockCount();
// 己使用的Block的数量
long availaBlock = statfs.getAvailableBlocks();
// 获取当前可用内存容量,单位:MB
long sd = availaBlock * blocSize / 1024 / 1024;
if (sd < 300) {
String filepath = (Environment.getExternalStorageDirectory()
.getAbsolutePath() + "/video/");
File file = new File(filepath);
if (!file.exists()) {
file.mkdirs();
}
File[] files = file.listFiles();
if (files.length > 0) {
String childFile[] = file.list();
String dele = (filepath + childFile[0]);
File file2 = new File(dele);
file2.delete();
}
}
} else if (Environment.getExternalStorageState().equals(
Environment.MEDIA_REMOVED)) {
Toast.makeText(this, "请插入内存卡", Toast.LENGTH_SHORT).show();
}
}

时间: 2024-09-11 04:52:07

Android安卓中循环录像并检测内存卡容量的相关文章

Android安卓中循环录像并检测内存卡容量_Android

/** * 循环录像,当内存卡容量少于300M时,自动删除视频列表里面的第一个文件 */ private void xunhuanluxiang() { if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { File path = Environment.getExternalStorageDirectory(); // 取得sdcard文件路径 StatFs statfs = new St

Android(安卓)中layout_weight属性详解

当控件本身layout_width设置为fill_parent的时候,layout_weight数值越小,所占空间越大,但尽可能大是有限度的,即fill_parent. 当控件本身layout_width设置为wrap_content的时候,layout_weight数值越小,所占空间也越小,但这个小是有限度的,即wrap_content. 例子 看了一下源码,虽说不太懂,但了解了下大概意思,按照自己的理解总结一下,直接写一下简化的代码吧(下面的代码是LinearLayout源文件中一部分的精简

android开发-android中循环遍历几个EditText怎么取到动态遍历的ID或文本框的值

问题描述 android中循环遍历几个EditText怎么取到动态遍历的ID或文本框的值 TableLayout tableLayout = new TableLayout(this);for (i = 0; i < 5; i++) {TableRow row1 = new TableRow(this);tableLayout.addView(row1);edit1.setWidth(300);edit1.setHeight(50);edit1.setPadding(3 3 3 3);row1.

安卓开发 post方法-如何将jar包导入android studio 中?

问题描述 如何将jar包导入android studio 中? 在导入架包时,复制从GitHub中复制的jar包,但无法粘贴到API上面 解决方案 新建一个lib或者bin目录,然后添加进去就可以,如果github提供了gradle导入的方式,可以直接在build.gradle里面配置即可. 解决方案二: 直接粘贴到bin目录下,然后右键add to library 解决方案三: 先把jar包copy到项目libs下,再add就行了 解决方案四: AndroidStudio用于开发安卓Apk非常

安卓开发-android项目中一个Activity一般配一个xml文件,什么情况下配多个xml文件呢

问题描述 android项目中一个Activity一般配一个xml文件,什么情况下配多个xml文件呢 android项目中一个Activity一般配一个xml文件,什么情况下配多个xml文件呢 有没有Activity不需要xml文件的情况呢 解决方案 多个xml一般是需要适配不同大小的屏幕,安卓会根据屏幕大小自动加载不同size的屏幕的xml,安卓开发是mvc结构,activity一定需要一个view,通常是需要xml做view,但是也可以自定义一个view然后activity加载这个view

安卓应用开发-android开发中的socket问题

问题描述 android开发中的socket问题 如何用socket开发程序能让两台或更多安卓设备通信,需要一台手机做服务器,手机用socket做服务器好难,具体怎么实现,有没有代码给我参考一下? 解决方案 Android的socket不就是java的socket么,比如说应用什么快传就是开wifi热点然后用socket啊 解决方案二: Android开发手记:Socket网络通信 解决方案三: 手机没有做socket服务器的先例,也不适合,socket需要一直监听,对手机耗电太多.建议还是用电

android开发-安卓中使textview隔一段时间变换颜色

问题描述 安卓中使textview隔一段时间变换颜色 tx1.setBackground(getResources().getDrawable(R.drawable.style3));try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } tx1.setBackground(getResources().getDrawable(R.drawable.style));为什么这样写不会变化

Android viewpager中动态添加view并实现伪无限循环的方法_Android

本文实例讲述了Android viewpager中动态添加view并实现伪无限循环的方法.分享给大家供大家参考,具体如下: viewpager的使用,大家都熟悉,它可以实现页面之间左右滑动的切换,这里有一个需求,就是viewpager里面加载的页数不是确定的,而是根据数据的多少来确定的.常见的应用就是在一个新闻的详细页面中,显示与此新闻有关的图片. 下面我们来看一下代码: activity_main.xml <RelativeLayout xmlns:android="http://sch

Android viewpager中动态添加view并实现伪无限循环的方法

本文实例讲述了Android viewpager中动态添加view并实现伪无限循环的方法.分享给大家供大家参考,具体如下: viewpager的使用,大家都熟悉,它可以实现页面之间左右滑动的切换,这里有一个需求,就是viewpager里面加载的页数不是确定的,而是根据数据的多少来确定的.常见的应用就是在一个新闻的详细页面中,显示与此新闻有关的图片. 下面我们来看一下代码: activity_main.xml <RelativeLayout xmlns:android="http://sch