前言:上一篇文章写了在Android中利用SharedPreferences保存数据,SharedPreferences在保存数据的时候主要是保存一些应用程序的设置信息或者少量的用户信息,并且是以key-value形式保存的String类的信息,比较有局限性。比如你需要保存从网络 ...
前言:
上一篇文章写了在Android中利用SharedPreferences保存数据,SharedPreferences在保存数据的时候主要是保存一些应用程序的设置信息或者少量的用户信息,并且是以key-value形式保存的String类的信息,比较有局限性。比如你需要保存从
网络获取的图片到本地作为缓存数据,并且数量比较大,SharedPreferences就不能满足你的需求了,这个时候就要用到基本上所有平台都会用到的文件保存。
注意:现在所有的应用程序默认都有外部存储的读取权限,你不需要在AndroidManifest.
<manifest ...> <uses-permissionandroid:name="android.permission.READ_EXTERNAL_STORAGE"/> ...</manifest>
另外:
/* Checks if external storage is available for read and write */publicboolean isExternalStorageWritable(){ String state =Environment.getExternalStorageState(); if(Environment.MEDIA_MOUNTED.equals(state)){ returntrue; } returnfalse;}/* Checks if external storage is available to at least read */publicboolean isExternalStorageReadable(){ String state =Environment.getExternalStorageState(); if(Environment.MEDIA_MOUNTED.equals(state)|| Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)){ returntrue; } returnfalse;}
尽管外部存储的文件可以被用户和其他程序访问,但是对于外部存储的文件你需要分两类对待:public static File getExternalStoragePublicDirectory (String type)方法获取外部存储的公共目录,公共目录有几种类型,根据你输入的type返回不同的文件夹,type类型有:
/mnt/sdcard/Android/data/data/your_package/type ,type同上,根据你想要保存的文件类型选择,下面是创建存放私有图片文件的例子:
publicFile getAlbumStorageDir(Context context,String albumName){ // Get the directory for the app's private pictures directory. File file =newFile(context.getExternalFilesDir( Environment.DIRECTORY_PICTURES), albumName); if(!file.mkdirs()){ Log.e(LOG_TAG,"Directory not created"); } return file;}
大家如果对编程感兴趣,想了解更多的编程知识,解决编程问题,想要系统学习某一种开发知识,我们这里有java高手,C++/C高 手,windows/Linux高手,android/ios高手,请大家关注我的微信公众号:程序员互动联盟or coder_online,大牛在线为您提供服务。
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:Android数据保存之文件保存
关键词:Android
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。