浙江华企 做网站怎么样,网站模板有哪些内容,专门做自由行的网站,专业简历制作网站推荐Android学习笔记-保存文件(Saving Files)Android设备有两种文件存储区域:内部存储和外部存储 (internal and external storage)。这名字来自早期Android#xff0c;那时大多数Android设备提供两种存储方式:内置的非易失的内存(内部存储)和可移动的存储…Android学习笔记-保存文件(Saving Files)Android设备有两种文件存储区域:内部存储和外部存储 (internal and external storage)。这名字来自早期Android那时大多数Android设备提供两种存储方式:内置的非易失的内存(内部存储)和可移动的存储例如micro SD卡(外部存储)。一些设备将永久内存分为内部和外部两部分因此即使没有外部存储依旧有两种存储空间。不管有没有外部存储API的方法都是一样的。如我的手机小米2S是16G大小的RAM不支持SD卡的拓展。它将存储分为了内外两部分3.71G的系统存储(即内部存储)10.16G的内存设备(即外部存储)如下图所示内部存储始终都是可用的保存的文件只能被你的app以默认的方式访问卸载app系统从内部存储中删除你app的所有文件内部存储适用于你不想用户或其他app访问你的文件外部存储不总是可用的(用户可能将外部存储以USB方式连接 一些情况下会从设备中移除)是全局可读的(world-readable)因此一些文件可能不受控制地被读取卸载app只删除你存储在getExternalFilesDir()目录下的文件外部存储适用于不需要存储限制的文件以及你想要与其他app共享的文件或者是允许用户用电脑访问的文件app默认安装在内部存储中通过指定android:installLocation 属性值可以让app安装在外部存储中。获取外部存储权限:读与写:...读:...在内部存储保存文件不需要任何权限你的app在内部存储中总是有读写权限。在内部存储中保存文件:获取适当的目录:getFilesDir() app文件在内部存储中的目录eg:File file new File(context.getFilesDir(), filename);getCacheDir() app临时缓存文件在内部存储中的目录调用openFileOutput()获取FileOutputStream写入文件到内部目录eg:String filename myfile;String string Hello world!;FileOutputStream outputStream;try {outputStream openFileOutput(filename, Context.MODE_PRIVATE);outputStream.write(string.getBytes());outputStream.close();} catch (Exception e) {e.printStackTrace();}调用 createTempFile()缓存一些文件public File getTempFile(Context context, String url) {File file;try {String fileName Uri.parse(url).getLastPathSegment();file File.createTempFile(fileName, null, context.getCacheDir());catch (IOException e) {// Error while creating file}return file;}在外部存储中保存文件:由于外部存储不总是可用的正如上面所提到的用户可能移除了SD卡或USB模式连接了电脑。所有在访问之前需要确认外部存储是可用的。可以调用 getExternalStorageState() 返回外部存储的状态如果返回的是MEDIA_MOUNTED则可以读写在外部存储的文件。//判断外部存储是否可以读写public boolean isExternalStorageWritable() {String state Environment.getExternalStorageState();if (Environment.MEDIA_MOUNTED.equals(state)) {return true;}return false;}//判断外部存储是否至少可以读public boolean isExternalStorageReadable() {String state Environment.getExternalStorageState();if (Environment.MEDIA_MOUNTED.equals(state) ||Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {return true;}return false;}外部存储可以被用户或其他app访问我们可以保存两种文件到外部存储:1.公共文件(public files)可以自由地被用户或其他app访问的文件当用户卸载app时这些文件依然存在。调用 getExternalStoragePublicDirectory()获得目录保存公共文件到外部存储:public File getAlbumStorageDir(String albumName) {// 获得用户公共的图片目录File file new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), albumName);if (!file.mkdirs()) {Log.e(LOG_TAG, Directory not created);}return file;}2.私有文件(private files)属于你app的文件当用户卸载时这些文件将被删除。调用getExternalFilesDir() 获得适当的目录保存私有文件到外部存储:public File getAlbumStorageDir(Context context, String albumName) {// 获得应用私有的图片目录File file new File(context.getExternalFilesDir(Environment.DIRECTORY_PICTURES), albumName);if (!file.mkdirs()) {Log.e(LOG_TAG, Directory not created);}return file;}删除文件myFile.delete();删除保存在内部存储中的文件:myContext.deleteFile(fileName);当用户卸载app时Android系统会删除下列文件:1.所有保存在内部存储中的文件2.所有用getExternalFilesDir()保存的文件我们应该删除所有用getCacheDir() 生成的文件以及不再需要的文件相关阅读:Andriod 获取电池的信息实例代码css3弹性盒模型实例介绍SQLSERVER 根据地图经纬度计算距离差示例WEB在模态窗体里导出或下载文件功能代码Win10开始菜单与任务栏的新概念设计图:音乐应用动态磁贴采用交互式设计javascript屏蔽右键代码MongoDB db.serverStatus()输出内容中文注释js实现匹配时换色的输入提示特效代码Win10让任务栏中间相同程序图标不合并分开的方法详解javascript实现瀑布流绝对式布局在CentOS上配置Java环境变量的教程C#中的委托使用JavaScript模拟鼠标右键菜单效果一些有用的meta设置方法(必看)