android开发积累_1)获取文件、文件夹存储空间和Toast的人性化使用

记录一下平时经常需要运用到得文件相关内容,俗话讲好记性不如烂笔头!

  1)

	<strong>/**
	 * 根据路径获得,某个文件或文件夹所在的存储器的内存空间总大小
	 *
	 * @return
	 */
	public static long getTotalMemorySize(String path) {

		StatFs stat = new StatFs(path);

		long blockSize = stat.getBlockSize(); // 每个block 占字节数
		long totalBlocks = stat.getBlockCount(); // block总数

		return totalBlocks * blockSize;

	}</strong>

2)

/**
	 * 根据路径获得,某个文件或文件夹所在的存储器的内存空间还有多少可用
	 *
	 * @return
	 */
	public static long getAvailableMemorySize(String path) {

		StatFs stat = new StatFs(path);

		long blockSize = stat.getBlockSize();
		long availableBlocks = stat.getAvailableBlocks();

		return availableBlocks * blockSize;

	}

3)

	/**
	 * 获取指定文件的大小
	 *
	 * @param f
	 * @return
	 * @throws Exception
	 */
	private static long getFileSize(File file) {

		long size = 0;
		if (file.exists()) {
			FileInputStream fis = null;
			try {
				fis = new FileInputStream(file);//使用FileInputStream读入file的数据流
				size = fis.available();//文件的大小
			} catch (IOException e) {
				e.printStackTrace();
			} finally{
				try {
					fis.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}

		} else {
			Log.e(TAG, "File not exists!");
		}
		return size;
	}

4)

	/**
	 * 获取指定文件夹的大小
	 *
	 * @param f
	 * @return
	 * @throws Exception
	 */
	private static long getFileSizes(File f) {
		long size = 0;
		File flist[] = f.listFiles();//文件夹目录下的所有文件
		for (int i = 0; i < flist.length; i++) {
			if (flist[i].isDirectory()) {//判断是否父目录下还有子目录
				size = size + getFileSizes(flist[i]);
			} else {
				size = size + getFileSize(flist[i]);
			}
		}
		return size;
	}

5)使用该方法可以防止多次触发Toast而引起多次弹出提醒框

	private Toast mToast = null;
private void showToast(Context context, String str) {

		if (mToast == null) {
			mToast = Toast.makeText(context, str, Toast.LENGTH_SHORT);
		} else {
			mToast.setText(str);
		}
		mToast.show();
	}

     文件相关操作:

   

1)String Name = File.getName();//获得文件或文件夹的名称:

2)File.mkDir(); //建立文件夹

3) File.createNewFile();//建立文件

4)File.isDirectory();//判断是文件或文件夹

5)File.isDirectory()

6)File[] files = File.listFiles();//列出文件夹下的所有文件和文件夹名

7)File.renameTo(dest);//修改文件夹和文件名

8)File.delete();//删除文件夹或文件

9)childFiles[i].getName().contains("testfolder");//判断某个文件名包含有“testfolder”

时间: 2024-10-10 14:34:25

android开发积累_1)获取文件、文件夹存储空间和Toast的人性化使用的相关文章

Android开发问题之布局(layout)文件图形界面不能显示

问题解析:Android工程中Layout文件夹下的布局文件图形界面无法显示,一般发生这种情况在导入工程操作后极易出现,因为可能eclipse使用的sdk版本不同,target类型不同,所用Android自带的库文件也不同,从而导致布局文件不能正常显示图形界面,只能显示代码编辑界面.解决方法:1.右击Android工程名称,选择最后一项“属性”,在弹出框中找到“java构建路径”,然后在右边方框选择“库”标签.在“库”标签下找到Android工程的库(例如Android 4.0.3),选中“移除

android开发的权限获取 (转载的)

访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米 获取精确位置 android.permission.ACCESS_FINE_LOCATION,通过GPS芯片接收卫星的定位信息,定位精度达10米以内 访问定

Android开发之异步获取并下载网络资源-下载图片和下载文本内容

在android网络开发过程中,经常需要获取网络资源,比如下载图片,下载文本文件内容等,这个时候就需要http请求来获取相应的网络资源.首先看看实例效果图:              下载图片截图                                                                                                下载文本文件内容截图 下面介绍如何来实现这样的开发: (1)从指定的URL获取对应的流 既然要获取网络资源,那么

Android 开发--CMakeList调用本地so文件

这里写代码片Android开发常常遇到Java调用so文件的情况,本文介绍一下Google最近新推出的应用在android studio中的方法–cmakelist.txt格式调用. so文件分为jni格式的和非jni格式的,java只能调用jni格式的so文件.本文介绍的是针对ndk生成的非jni格式的so文件调用. 首先是对非jni格式的so文件进行处理,声明一个.h文件,将so文件中的方法包进去,之后将.h文件和so文件放在一个目录下(之后需要对目录进行设置),在系统生成的native-l

1分钟搞定Android开发智能提示问题xml文件一并搞定

eclipse 搭建的Android开发环境,但是开发起来发现IDE的提示功能不是很理想,在此总结了一下,1分钟内,2步搞定! 如下: 1.设置.java文件的提示 将红框中的值设置为:.abcdefghigklmnopqrstuvwxyz 这样输入任何小写字母都能唤出提示了. t2.jpg (958.47 KB, 下载次数: 0) 下载附件 12 分钟前 上传 效果如下: 2.设置.xml文件的提示 效果如下:

Android:通过ThumbnailUtils类获取视频文件的缩略图

在视频播放器上经常会看到,有很多的视频缩略图,本文讲的就是通过ThumbnailUtils类获取视频文件的缩略图; 运行截图如下: 代码如下: MainActivity.java: package com.vrinux.thumbnailutilsdemo; import android.app.Activity; import android.graphics.Bitmap; import android.media.ThumbnailUtils; import android.os.Bund

Eclipse+Android开发环境搭建失败--R文件出错,自动新建Android application project 出错。

Eclipse : Mars.2 Release (4.5.2)  + Android6.0(api23)以上的tools,SDK,以及相关的Extras   +  ADT 23.0.6,我都装了.   由于是初学者,一开始去官网准备各种资源. 上面是现在的android官网 和  google推荐使用的 android studio ,基本上已经看不到sdk完整包的下载了. 我是从网上下的旧版本的sdk包,然后一开始用的最新的ADT(23.0.7),然后我再通过android manager

Android开发:LocationManager获取经纬度及定位过程(附demo)

在Android开发其中.常常须要用到定位功能,尤其是依赖于地理位置功能的应用.非常多人喜欢使用百度地图,高德地图提供的sdk.开放API,可是在只须要经纬度,或者城市,街道地址等信息.并不须要提供预览地图.地图界面的应用中.这时,不须要使用百度地图.高德地图.这样做只会添加apk的体积.怎么办呢? 事实上LocationManager,Geocoder这些Android API给我们提供的这些类就能够满足了. 以下笔者就来讲讲怎样利用LocationManager获取经纬度,并利用Geocod

Android开发 ImageButton加载drawable文件问题

有时候我们在给ImageButton加载背景图片的时候,会出现下面的异常: 1 org.xmlpull.v1.XmlPullParserException: Binary XML file line #3: <item> tag requires a 'drawable' attribute or child tag defining a drawable 2 at android.graphics.drawable.StateListDrawable.inflate(StateListDra