×

深圳网站建设—APP开发—网站制作—小程序开发_博纳网络公司

0755 -
82538016
82560826
网站制作资讯

安卓APP开发关于外部私有存储的解决技巧

文章编辑:网站建设 文章来源:APP开发 浏览量:

 安卓APP开发关于外部私有存储的解决技巧,非缓存文件的处理如果创建的文件不适合其他APP使用,则通过调用getExternalFilesDir()来使用外部存储上的私有存储目录。深圳APP开发公司提醒此方法同样需要使用参数指定子目录的类型(例如DIRECTORY_MOVIES)。如果不需要特定的媒体目录,则参数值设为null以保存在应用私有目录的根目录。创建文件并写入内容的代码如下所示:
String fileName = "private. txt"; String content = "private"; if (isExternalStorageWR()){     File file = new File( getExternalFilesDir( Environment. DIRECTORY_ DO( UNENTS), fileName);         Log. v(" file", "file=" + file. getAbsolutePath());     try {          File OutputStream fos = new FileOutputStream( file);
  fos. write( content. getBytes());           fos. close();      } catch (Exception e) {          Toast. makeText( MainActivity. this, "创建 文件 失败", Toast. LENGTH_ LONG);  }                     }
创建的文件保存在/storage/sdcard/Android/data/package_name/files/Documents路径下。注意:当用户卸载APP时,此目录及其内容将被删除。此外,系统媒体扫描程序不会读取这些目录中的文件,因此不能从MediaStore内容提供程序访问这些文件。
  所以不应将属于用户的媒体文件保存在这些目录下,例如用户拍摄或编辑的照片或用户使用购买的音乐等——这些文件应保存在公共目录中。尽管MediaStore内容提供程序不能访问getExternalFilesDir()和getExternalFilesDirs()所提供的目录,但其他具有READ_EXTERNAL_STORAGE权限的应用仍可访问外部存储上的所有文件,包括上述文件。
  如果需要完全限制对文件的访问权限,则应该将文件写入到内部存储。getExternalFilesDir()和getFilesDir()指向的存储区域的区别如下所述。getExternalFilesDir()指向的区域可能不是一直可用的,需要调用getExternalStorageState()核查状态。
存储在getExternalFilesDir()指向的区域中的文件,没有强制执行安全措施。如具有WRITE_EXTERNAL_STORAGE权限的应用就可以对这些文件进行写操作。好了,APP开发公司本文关于“
安卓APP开发关于外部私有存储的解决技巧”知识就分享到这里,谢谢关注,博纳网络编辑整理。
 

当前文章链接:/construction/appkaifa/2651.html
如果您觉得案例还不错请帮忙分享:

[声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【qin@198bona.com 】,我们在确认后,会立即删除,保证您的版权。