android学习札记第10章之安卓数据存储概要

android学习札记第10章之安卓数据存储概要,安卓中数据存储分为外部存储和内部存储,外部存储也就是手机的外置dcard卡,内部存储也就是手机自带的内置dcard卡,在外部存储中,/Adroid/data/包名/file目录是私有目录,只要应用程序被卸载,该目录下的产生的文件也会被删除,而目录需要添加用户权限;在内部存储中,系统自带目录均是...
安卓中数据存储分为外部存储和内部存储,外部存储也就是手机的外置sdcard卡,内部存储也就是手机自带的内置sdcard卡,在外部存储中,/Android/data/包名/files目录是私有目录,只要应用程序被卸载,该目录下的产生的文件也会被删除,而目录需要添加用户权限;在内部存储中,系统自带目录均是私有目录,而且不需要添加用户权限。下面对于数据存储的读写操作进行描述。工具/原料JDK、eclipse、androidSDK、ADT一、Android数据存储外部存储(外置SDCARD)1IO直接存储(获得数据):Environment.getExternalStorageDirectory():SD根目录/sdcard Environment.getExternalStoragePublicDirectory():SD公共子目录 Environment.getDataDirectory():数据目录/data Environment.getDownloadCacheDirectory():下载缓存目录/cache Environment.getRootDirectory():系统目录/system Environment.getExternalStorageState():获得状态信息->mounted(挂载)步骤阅读步骤阅读2IO直接存储(写入数据):需要添加用户权限WRITE_EXTERNAL_STORAGE和IO异常 第一步:判断SD卡的状态是否是挂载if(!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){    Toast.makeText(this,\"请检查SD卡\",Toast.LENGTH_SHORT).show();      return; } 第二步:判断SD卡的空间大小 StatFssf=newStatFs(SD.getpath());intnum=sf.getBlockCount();//获得SD卡块的数量intsize=sf.getBlockSize();//获得SD卡块的大小(字节)inttotalSize=num*size;//获得总大小intavailable=sf.getAvailableBlocks();//获得可用块的数量intavailableSize=available*size;//获得可用块的空间大小intfreenum=sf.getFreeBlocks();//获得空闲块的数量==availableif(data.length()>availableSize){      Toast.makeText(this,\"外置存储空间不足\",Toast.LENGTH_SHORT).show();      return; } 第三步:写入数据FileOutputStream out=newFileOutputStream(file); out.write(data.getBytes());步骤阅读步骤阅读3SDCARD私有目录:数据会在应用程序被卸载时一起删除 抽象类Context对象(Activity)中的方法: Filefile=getExtermalFilesDir(Environment.DIRECTORY_PICTURES);//私有目录->/Android/data/包名/files/Pictures Filefile=getExtermalCacheDir();//缓存目录->/Android/data/包名/cache InputStreamin=getResources().openRawResource(R.raw.dengchao);//只读文件夹步骤阅读END一、Android数据存储内部存储(内置SDCARD)1IO直接存储(所在位置:/data/data/包名/files) 抽象类Context对象(Activity)中的方法: FileOutputStreamout=openFileOutput(\"file\",Context.MODE_PRIVATE);//输出文件并且文件私有 getFileDir();//返回内部存储绝对目录 getcacheDir();//返回/data/data/包名/cache绝对目录步骤阅读2偏好设置(所在位置:/data/data/包名/spared_prefs) 在应用程序(APP)中可以借助(SharedPreferences)存储app中的一些状态信息,记住一些系统的使用信息(手机号)。 保存偏好(SharedPreferences): SharedPreferencessp=getSharedPreferences(\"user\",Context.MODE_PRIVATE);//会生成一个user.xml Editet=sp.edit();//获得内容编辑对象 et.putString(\"phone\",user);//向编辑对象写数据 et.commit();//提交数据,否则数据一直会在内存偏好取值: Stringtext=sp.getString(\"phone\",\"\");步骤阅读步骤阅读END注意事项熟练运用数据存储的方式可以解决:①记住用户名功能②播放音乐位置功能③照片存储位置功能等。

本文来自投稿,不代表长河网立场,转载请注明出处: http://www.changhe99.com/a/lxr2Y556k0.html

(0)

可能喜欢

相关推荐