首先,介绍第一个项目工具类,这个工具类是用于生成项目文件或文件夹。话不多说,直接上代码。
package com.example.wmk.utils; import android.os.Environment; import java.io.File; /** * Created by 老王 on 2016/12/1. */ public class ProjectUtils { /** * 根目录 */ private static File ROOT_DIRECTORY = Environment.getExternalStorageDirectory(); /** * 项目路径 */ private static final String PROJECT_PATH = ROOT_DIRECTORY.getAbsolutePath() + "/WMK/"; /** * 数据库 */ private static final String WMK_DB = PROJECT_PATH + "DB/"; /** * 图片 */ private static final String WMK_IMG = PROJECT_PATH + "IMG/"; /** * sdCard * * @return If there is a SD card to return true, otherwise false */ public static boolean existsSdCard() { return android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); } /** * 创建文件 * * @param s * @return If you create a file successfully returned to the current file, otherwise * Null */ public static File createFile(String s) { File file = new File(s); return createFolder(file); } /** * 创建文件夹 * * @param file * @return If you create a folder successfully returned to the current folder, otherwise * Null */ public static File createFolder(File file) { if (!file.exists()) { file.mkdirs(); } return file; } /** * 初始化 * * @return If true is returned to the initial success, otherwise false */ public static boolean init() { boolean result = false; if (existsSdCard()) { result = true; result &= createFile(PROJECT_PATH) != null; result &= createFile(WMK_DB) != null; result &= createFile(WMK_IMG) != null; } return result; } }
其次,这个项目工具类是在Application中调用的,用于项目初始化,创建项目工程目录用的。如果用户安装了SD卡并初始化了相关目录则初始化成功,否则失败。
package com.example.wmk; import android.app.Application; import android.util.Log; import com.example.wmk.utils.ProjectUtils; /** * Created by 老王 on 2016/12/1. */ public class WMKApplication extends Application { public static final String TAG = "WMKApplication"; @Override public void onCreate() { super.onCreate(); if (ProjectUtils.init()) { Log.d(TAG, "初始化成功"); } else { Log.d(TAG, "初始化失败"); //退出应用杀死进程 android.os.Process.killProcess(android.os.Process.myPid()); } } }
最后,在清单文件中要添加读写文件的权限,否则初始化失败。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />