`

手机各种文件存储路径测试

阅读更多
通过下面这个例子我们可以了解存储卡,缓存等文件路径
1. DisplayFiles.java文件
package cn.com;

import java.io.File;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class DisplayFiles<bRootDirectory> extends Activity {
	private Button bPhoneDirectory;
	private Button bDataDirectory;
	private Button bDownloadCacheDirectory;
	private Button bExternalStorageDirectory;
	private Button bRootDirectory;

	private File fPhoneDirectory;
	private File fDataDirectory;
	private File fDownloadCacheDirectory;
	private File fExternalStorageDirectory;
	private File fRootDirectory;

	private String name;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		bPhoneDirectory = (Button) findViewById(R.id.bPhoneDirectory);
		bRootDirectory = (Button) findViewById(R.id.bDataDirectory);
		bDownloadCacheDirectory = (Button) findViewById(R.id.bDownloadCacheDirectory);
		bExternalStorageDirectory = (Button) findViewById(R.id.bExternalStorageDirectory);
		bRootDirectory = (Button) findViewById(R.id.bRootDirectory);
		
		bDataDirectory = (Button) findViewById(R.id.bDataDirectory);

		fPhoneDirectory = this.getFilesDir();
		fDataDirectory = Environment.getDataDirectory();
		fDownloadCacheDirectory = Environment.getDownloadCacheDirectory();
		fExternalStorageDirectory = Environment.getExternalStorageDirectory();
		fRootDirectory = Environment.getRootDirectory();

		/*
		 * 没有存储卡的时候按键无效
		 */
		if (Environment.getExternalStorageState().equals(
				Environment.MEDIA_REMOVED)) {
			bExternalStorageDirectory.setEnabled(false);
		}

		/*
		 * 访问应用程序手机内存
		 */
		bPhoneDirectory.setOnClickListener(new Button.OnClickListener() {
			public void onClick(View v) {
				String path = fPhoneDirectory.getPath();

				name = path + "\n";
				ListFiles(path, "");

				Toast.makeText(DisplayFiles.this, name, Toast.LENGTH_LONG)
						.show();
			}
		});

		/*
		 * 访问存储卡
		 */
		bExternalStorageDirectory
				.setOnClickListener(new Button.OnClickListener() {
					public void onClick(View v) {
						String path = fExternalStorageDirectory.getPath();
						name = path + "\n";
						ListFiles(path, "");

						Toast.makeText(DisplayFiles.this, name,
								Toast.LENGTH_LONG).show();
					}
				});

		bDownloadCacheDirectory
				.setOnClickListener(new Button.OnClickListener() {
					public void onClick(View v) {
						String path = fDownloadCacheDirectory.getAbsolutePath();
						Toast.makeText(DisplayFiles.this, path,
								Toast.LENGTH_LONG).show();
					}
				});

		bRootDirectory.setOnClickListener(new Button.OnClickListener() {
			public void onClick(View v) {
				String path = fRootDirectory.getAbsolutePath();
				Toast.makeText(DisplayFiles.this, path, Toast.LENGTH_LONG)
						.show();
			}
		});

		bDataDirectory.setOnClickListener(new Button.OnClickListener() {
			public void onClick(View v) {
				String path = fDataDirectory.getAbsolutePath();
				Toast.makeText(DisplayFiles.this, path, Toast.LENGTH_LONG)
						.show();
			}
		});

	}

	private boolean ListFiles(String path, String arr) {
		File file = new File(path);
		arr = arr + "\t"; // arr为层次变量,使目录有层次感

		for (File f : file.listFiles()) {
			path = f.getAbsolutePath();
			name = name + arr + f.getName() + "\n";

			if (f.isDirectory() == true) {
				ListFiles(path, arr); // 当f为文件夹的时候,进入文件夹中
			}
		}

		return true;
	}
}

2.main.xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<TextView android:layout_width="fill_parent"
		android:layout_height="wrap_content" android:text="@string/hello" />

	<Button android:id="@+id/bPhoneDirectory" android:layout_width="fill_parent"
		android:layout_height="wrap_content" android:text="@string/bPhoneDirectory" />
	<Button android:id="@+id/bExternalStorageDirectory"
		android:layout_width="fill_parent" android:layout_height="wrap_content"
		android:text="@string/bExternalStorageDirectory" />

	<Button android:id="@+id/bDataDirectory" android:layout_width="fill_parent"
		android:layout_height="wrap_content" android:text="@string/bDataDirectory" />
	<Button android:id="@+id/bDownloadCacheDirectory"
		android:layout_width="fill_parent" android:layout_height="wrap_content"
		android:text="@string/bDownloadCacheDirectory" />
	<Button android:id="@+id/bRootDirectory" android:layout_width="fill_parent"
		android:layout_height="wrap_content" android:text="@string/bRootDirectory" />
</LinearLayout>


分享到:
评论

相关推荐

    Android应用 文件存储到SDCard 单元测试代码及讲解

    在给定的压缩包中,"文件存储到SDCard和单元测试代码"文件应该包含了以上所述的存储操作和对应的单元测试用例。通过分析和运行这些代码,开发者可以更好地理解Android应用如何管理和测试文件存储操作。在实际开发中...

    Android编程实现手机自带内部存储路径的获取方法

    在Android编程中,获取手机自带内部存储路径是一个常见的需求,尤其对于需要访问和管理文件的应用来说至关重要。Android系统提供了多种方法来获取不同类型的存储路径,但这些方法在不同设备上的表现可能不尽相同,...

    手机自动化测试介绍

    - 建立测试用例数据库用于存储各种测试场景和预期结果。 #### 四、测试平台配置 - **Android平台配置**: - 配置Android设备连接,包括USB驱动程序安装、ADB调试模式启用等。 - 设置Android SDK版本和环境变量...

    MTK配置文件参数说明MTK配置文件参数说明

    5.报告文件路径(Report file path):该参数用于设置测试报告的存储路径。 6.数据库文件(Database file):该参数用于设置测试结果文件的存放路径。 7.IMSI(International Mobile Subscriber Identity):该...

    手机SD存储卡文件浏览 Android 源程序

    Android操作系统以其开放性和灵活性深受用户喜爱,开发者可以通过编写源代码来实现各种功能,包括对手机SD卡上的文件进行浏览。本项目名为"手机SD存储卡文件浏览 - Android 源程序",提供了一个完整的、可运行的解决...

    android手机文件上传和下载

    本教程主要涵盖两个方面:Android手机文件的上传和下载,以及如何使用XAMPP搭建后端服务器。 1. **Android 文件上传下载** Android系统提供了多种API来处理文件的读写和网络通信,如`HttpURLConnection`,`OkHttp`...

    手机APP测试点

    【手机APP测试】是软件开发过程中的重要环节,主要目的是确保移动应用在各种条件下能稳定、安全、高效地运行。本文将深入探讨移动端APP的测试流程、测试点以及相关注意事项。 1. **APP测试基本流程** - **流程图...

    uniapp +上传文件+安卓、ios文件选择

    这个接口能够让你选择各种类型的文件,包括图片、视频、文档等。 以下是如何使用`uni.chooseFile`的示例代码: ```javascript uni.chooseFile({ type: 'all', // 可选值有:image、video、file,默认为image,...

    android txt文件保存读取操作

    - **外部存储**:如果需要在外部存储上创建TXT文件,需要先检查是否有写入权限,然后使用`Environment.getExternalStorageDirectory()`获取根目录,再构造完整的文件路径。使用`FileWriter`或`BufferedWriter`进行...

    手机测试 LOG抓图

    手机测试中的LOG抓图是一种重要的调试和问题定位技术,它能记录手机在运行过程中产生的各种日志信息,包括系统事件、应用程序错误、网络通信等,为开发者和测试人员提供了宝贵的故障排查线索。以下是对手机测试LOG...

    OT890测试手机驱动程序

    这使得操作系统(如Windows、MacOS或Linux)能够识别OT890,并允许用户访问手机的存储、进行文件管理、充电或者进行更复杂的测试。 OT890测试手机驱动程序的安装通常包括以下几个步骤: 1. 下载:首先,从官方网站...

    安卓手机软件测试

    - **安装与卸载安全性**:确保应用能正确安装和卸载,验证数字签名、JAD和JAR文件的完整性,以及安装路径和自动启动设置。卸载时,所有相关文件应被完全移除,且不应影响其他软件功能。 - **数据安全性**:关注...

    android中文件的保存与读取

    首先,Android中的文件存储分为内部存储和外部存储。内部存储通常用于保存应用私有的数据,这些数据对于其他应用是不可见的,而且在用户卸载应用时会被自动删除。内部存储的路径可以通过`Context.getFilesDir()`或`...

    BMP转换jpg测试工具.rar

    用户不仅可以一次性将整个包含BMP文件的文件夹拖入工具,也可以手动指定BMP文件路径,确保转换的灵活性。 在实际应用中,例如,如果你是一位摄影师,可能需要将拍摄的高分辨率BMP图片转换为JPEG格式,以便在网络...

    App测试流程及测试点(个人整理版).docx

    安装与卸载安全性是指应用程序的安装和卸载是否安全,包括应用程序的正确安装、图标的显示、数字签名信息、JAD 文件和 JAR 包中的属性值、安装路径的指定、卸载的安全性等方面的测试。 2.1.3 数据安全性 数据安全...

    Android文件目录及文件访问权限等详解Demo

    `gradle.properties`包含了Gradle的配置属性,`local.properties`通常存储了SDK路径等本地环境信息。`GpsTest.iml`是IntelliJ IDEA或Android Studio项目的模块配置文件。 在实际开发中,我们需要了解如何使用这些...

    app软件测试的测试点

    - **存储空间不足**: 当存储空间不足时,测试应用是否会正常处理该情况,而不是导致系统崩溃。 - **安装过程中取消**: 用户应可在安装过程中取消安装,且已写入的文件需按设计文档的要求处理。 - **中断处理**: 如...

Global site tag (gtag.js) - Google Analytics