8种机械键盘轴体对比
本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?
Android的外部存储一般指SD卡,内存也可以指定一部分模拟为外存。
4.4以后,读写sd卡需要WRITE_EXTERNAL_STORAGE和READ_EXTERNAL_STORAGE权限。但是应用包名内的目录(/storage/emulated/0/Android/data/com.example.test/)不需要此权限。
敏感数据(如配置及log等)最好不要存在外部存储上。
getDataDirectory():数据目录。
getRootDirectory():系统目录
getDownloadCacheDirectory():下载缓存内容目录。
getExternalStorageDirectory():主要的外部存储目录。
getExternalStorageState():外部存储是否可以被访问。
getExternalStoragePublicDirectory(String):sd卡的一级子目录,如Pictures,Videos。可以放一些共享文件。需要读写权限。使用前需确认String的值存在该路径,没有要file.makedirs。
isExternalStorageEmulated()设备的外存是否是用内存模拟的,是则返回true。
isExternalStorageRemovable()设备的外存是否是可以拆卸的,比如SD卡,是则返回true。
Context.getExternalFilesDir(String):应用在sd卡上的私有目录的子目录/files/String,应用卸载时即被清理。
Context.getExternalCacheDir():应用在sd卡上的私有目录的子目录/cache,应用卸载时即被清理。
Context.getFilesDir() :内存中应用的私有目录的子目录files,应用卸载时即被清理。
Context.getCacheDir() :内存中应用的私有目录的子目录cache,应用卸载时即被清理。
在zui上的测试代码:public static void getEnvironmentDirectories() {
Log.i(LOG_TAG, "getExternalStorageState(): " + Environment.getExternalStorageState().toString());
Log.i(LOG_TAG, "getDownloadCacheDirectory(): " + Environment.getDownloadCacheDirectory().getPath().toString());
Log.i(LOG_TAG, "getDataDirectory(): " + Environment.getDataDirectory().getPath().toString());
Log.i(LOG_TAG, "getExternalStorageDirectory(): " + Environment.getExternalStorageDirectory().getPath().toString());
Log.i(LOG_TAG, "getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES): "
+ Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getPath().toString());
Log.i(LOG_TAG, "getRootDirectory(): " + Environment.getRootDirectory().getPath().toString());
Log.i(LOG_TAG, "getExternalStorageState().getAbsolutePath(): " + Environment.getExternalStorageState().toString());
Log.i(LOG_TAG, "getDownloadCacheDirectory().getAbsolutePath(): " + Environment.getDownloadCacheDirectory().getAbsolutePath().toString());
Log.i(LOG_TAG, "getDataDirectory().getAbsolutePath(): " + Environment.getDataDirectory().getAbsolutePath().toString());
Log.i(LOG_TAG, "getExternalStorageDirectory().getAbsolutePath(): " + Environment.getExternalStorageDirectory().getAbsolutePath().toString());
Log.i(LOG_TAG, "getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath(): "
+ Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath().toString());
Log.i(LOG_TAG, "getRootDirectory().getAbsolutePath(): " + Environment.getRootDirectory().getAbsolutePath().toString());
Log.i(LOG_TAG, "isExternalStorageEmulated(): " + Environment.isExternalStorageEmulated());
Log.i(LOG_TAG, "isExternalStorageRemovable(): " + Environment.isExternalStorageRemovable());
}
public static void getApplicationDirectories(Context context) {
Log.i(LOG_TAG, "context.getFilesDir(): " + context.getFilesDir().toString());
Log.i(LOG_TAG, "context.getCacheDir(): " + context.getCacheDir().toString());
// methods below will return null if the permissions denied
Log.i(LOG_TAG, "context.getExternalFilesDir(Environment.DIRECTORY_MOVIES): "
+ context.getExternalFilesDir(Environment.DIRECTORY_MOVIES));
Log.i(LOG_TAG, "context.getExternalCacheDir(): " + context.getExternalCacheDir());
}
输出结果:
03-21 10:33:26.433 14799 14799 I test : getExternalStorageState(): mounted
03-21 10:33:26.434 14799 14799 I test : getDownloadCacheDirectory(): /cache
03-21 10:33:26.434 14799 14799 I test : getDataDirectory(): /data
03-21 10:33:26.438 14799 14799 I test : getExternalStorageDirectory(): /
storage/emulated/0
03-21 10:33:26.444 14799 14799 I test : getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES): /storage/emulated/0/Pictures
03-21 10:33:26.444 14799 14799 I test : getRootDirectory(): /system
03-21 10:33:26.467 14799 14799 I test : getExternalStorageState().getAbsolutePath(): mounted
03-21 10:33:26.467 14799 14799 I test : getDownloadCacheDirectory().getAbsolutePath(): /cache
03-21 10:33:26.467 14799 14799 I test : getDataDirectory().getAbsolutePath(): /data
03-21 10:33:26.468 14799 14799 I test : getExternalStorageDirectory().getAbsolutePath(): /storage/emulated/0
03-21 10:33:26.472 14799 14799 I test : getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath(): /storage/emulated/0/Pictures
03-21 10:33:26.472 14799 14799 I test : getRootDirectory().getAbsolutePath(): /system
03-21 10:33:26.479 14799 14799 I test : isExternalStorageEmulated(): true
03-21 10:33:26.491 14799 14799 I test : isExternalStorageRemovable(): false
03-21 10:33:26.492 14799 14799 I test : context.getFilesDir(): /data/user/0/com.example.test/files
03-21 10:33:26.492 14799 14799 I test : context.getCacheDir(): /data/user/0/com.example.test/cache
03-21 10:33:26.499 14799 14799 I test : context.getExternalFilesDir(Environment.DIRECTORY_MOVIES): /storage/emulated/0/Android/data/com.example.test/files/Movies
03-21 10:33:26.501 14799 14799 I test : context.getExternalCacheDir(): /storage/emulated/0/Android/data/com.example.test/cache