关于SD卡管理的注意事项

问题:

本人一直有使用金蝶公司的随手记APP作为个人的理财工具,最新版提供多种渠道对数据进行备份和导出,这种功能十分讨好我这种用户,可是最近一次刷机的数据恢复,使我遇上了大麻烦,无论是从网盘下载的,还是本地本分的,均不能恢复!

幸好,随手记作为一款成熟的APP,日志系统必然是有的,可是却没有错误反馈功能。作为开发者,阅览log后,发现是由于一文件不能正常读取而导致数据不能恢复!

具体的日志详见:

 

2012-12-05 11:14:00  7.5.0 SettingServiceImpl > java.io.FileNotFoundException: 
		/storage/sdcard0/.mymoney/backup/默认账套_20121203111301/Photos/20121121184921.jpeg: 
		open failed: ENOENT (No such file or directory)
	at libcore.io.IoBridge.open(IoBridge.java:406)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:88)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:73)
	at lq.a(Unknown Source)
	at bj.e(Unknown Source)
	at com.mymoney.ui.setting.SettingBackUpActivity.a(Unknown Source)
	at com.mymoney.ui.setting.SettingBackUpActivity.a(Unknown Source)
	at abf.a(Unknown Source)
	at abf.doInBackground(Unknown Source)
	at android.os.AsyncTask$2.call(AsyncTask.java:264)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
	at java.util.concurrent.FutureTask.run(FutureTask.java:137)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
	at java.lang.Thread.run(Thread.java:856)
Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory)
	at libcore.io.Posix.open(Native Method)
	at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
	at libcore.io.IoBridge.open(IoBridge.java:390)
	... 14 more

 就是这个文件/storage/sdcard0/.mymoney/backup/默认账套_20121203111301/Photos/20121121184921.jpeg

 

 就是前写日子附在已记录上的附件。经过检查路径也没有问题,可是...

 

分析:

 在这里有必要说明一下,那文件是在cm 10系统下记录的,由于种种原因又刷成了官方的4.04系统,就是在4.04下面恢复出现了问题。由于身边还有一平板电脑,对于/storage/sdcard0/这种路径的描述见惯不怪,这是android系统对管理多种外置的存储设备而作一种处理,举个例子,一般平板的内置控件比较大,一般称为内置空间,/storage/sdcard0/ 指向的就是内置空间。假如平板还支持外置SD卡进行扩容,插上卡后,/storage/sdcard1/ 就是指第一个接入的外置存储设备,如此类推。

但是在4.0之前,系统是这样子描述的SD卡的/storage/sdcard/

问题到此就十分清楚了,由于随手记保存的完整的路径,但是由于android的系统版本不统一,碎片化严重,对SD卡应用的管理也是相对不同的。

 

所以,为了给避免用户带来不必要的麻烦,作为一名开发者,强烈建议使用相对路径来进行管理,以免损坏用户的数据!!!

SD女佣 SD Maid Pro将会以完善的方式帮您整理、清洁android设备。”浏览器”是一个完全成熟的文件管理器,用它来浏览管理你的android文件夹。”搜索器”可以使用来打来/删除 或者重命名文件(搜索文件内部,支持通配符)。”查找冗余”可以搜索你设备的空文件夹目录,并且比较那些已安装的应用程序列表。”应用控制”可以冻结、重置以及删除应用程序(甚至是系统应用程序)。”清理系统”可以清理设备中已知的不必要的目录。”优数据库”检测数据库((System/Apps),并可以整理压缩数据库,以加快访问,以及腾出更多的可用空间。 这个来自您Android设备的女佣,会让你的存储器恢复到整洁状态并保持下去。 这个程序最好安装在已经ROOT的Android设备 ! 没有ROOT的设备,SD女佣对必要的目录没有访问权限。 这是一个强大的工具 !但是使用它会有相对而言的风险 ! 最好不要安装非官方版本的SD女佣,它们“签证包”是错误,会带来不安全因素。 金无足赤人无完人, Android也是如此。 被你删除的应用程序有时候会留下的残留数据。 android系统也会不断创建日志、 崩溃报告和普通用户用不上调试文件。 在您使用“谷歌应用市场”下载应用程序之后,它会产生临时文件(如同浏览器访问网站一样)。 让我们来搞定这些无用的垃圾 … … 为什么不使用“SD女佣”来一次全面的清洁呢?SD 女佣将会以完善的方式帮您整理、清洁android设备 (^.^)! 选择一个标签卡项,点击”检查”,然后点击”全部清理”或者根据需求单个的选择。它就这么的容易。 “浏览器”是一个完全成熟的文件管理器,用它来浏览管理你的android文件夹。 “搜索器”可以使用来打来/删除 或者重命名文件(搜索文件内部,支持通配符)。 “查找冗余”可以搜索你设备的空文件夹目录,并且比较那些已安装的应用程序列表。 “应用控制”可以冻结、重置以及删除应用程序(甚至是系统应用程序)。 “清理系统”可以清理设备中已知的不必要的目录。 “优数据库”检测数据库((System/Apps),并可以整理压缩数据库,以加快访问,以及腾出更多的可用空间。 此外,你也可以查看”最大文件”,或者查看上次修改的文件。 免费版可以使用10个主要功能,另外2个高级功能,需要购买“解锁器”来解锁。 SD女佣正在精益求精的不断的研发和设计中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值