这是我的第一篇博客

有关File类的知识

怎么说了,作为一个程序员,很喜欢开发一种新东西的感觉,所以打代码也不会觉得枯燥,但可惜的就是自己的性格使然,以及随着性子来的这种导致会不严谨,比如少打一个字母,或者少打一行代码,会找bug找很久,浪费时间,不过福祸相依,找bug的过程正是程序员最快成长的过程,还有就是以后做项目时一定要在本子上做好项目结构,切不可按着自己性子来了,最后,以前觉得写博客好浪费时间,即使一些东西弄清楚之后因为什么都没有记下,许多都忘记了,虽然早就发现了这个问题,但从来不会想着去解决,所以今天开始,每次解决了问题一定要好好写博客,还会把一些解决的bug以及android中出错的原因记下来,谨记!


关于内部存储和外部存储

以前一直以为内部存储与外部存储就相当于手机自身的内存与插入的内存卡的区别,所以一直对于Android的file类懵逼状态,因为现在的一些高端机也近是不能插入内存卡了,那么外部内存算什么所以一直卡在这里,直到看到了这样一句话:
最容易混淆的是外部存储,如果说pc上也要区分出外部存储和内部存储的话,那么自带的硬盘算是内部存储,U盘或者移动硬盘算是外部存储,因此我们很容易带着这样的理解去看待安卓手机,认为机身固有存储是内部存储,而扩展的T卡是外部存储。比如我们任务16GB版本的Nexus 4有16G的内部存储,普通消费者可以这样理解,但是安卓的编程中不能,这16GB仍然是外部存储。
所有的安卓设备都有外部存储和内部存储,这两个名称来源于安卓的早期设备,那个时候的设备内部存储确实是固定的,而外部存储确实是可以像U盘一样移动的。但是在后来的设备中,很多中高端机器都将自己的机身存储扩展到了8G以上,他们将存储在概念上分成了”内部internal” 和”外部external” 两部分,但其实都在手机内部。所以不管安卓手机是否有可移动的sdcard,他们总是有外部存储和内部存储。最关键的是,我们都是通过相同的api来访问可移动的sdcard或者手机自带的存储(外部存储)。后来才知道是怎么一回事,
参考链接:[链接]

理解了之后,就开始去敲代码验证,因为这次只解决了两个问题我就记下来
File sdCard = getApplication().getExternalFilesDir("BBB");
File directory_pictures = new File(sdCard, "12345.jpg");
Log.i("name","directory_pictures="+sdCard);

这段代码得到的结果是
directory_pictures=/storage/emulated/0/Android/data/com.example.lenovo.filetest/files/BBB
然后我是小米note2去文件加去找/storage/emulated/0/这个东东,what fuck ,里面啥都没,我一直以为是自己错了,后来发现/storage/emulated/0/这个代表根目录,根目录下就有Android/data/com.example.lenovo.filetest/files/BBB哇,然后因为这个弄了很久,网上都看了没提到这点,啊,气,然后getExternalFilesDir()这个函数代表的是外部存储的应用私有文件意思是删了app里面的数据也就没了,所以结合下来getExternalFilesDir()这个函数代表的地址就是
根目录/Android/data/com.example.lenovo.filetest/files/

然后就是外部公共文件了,就是删了APP也不会删除的文件夹,
Environment.getExternalStorageDirectory()
这个得到公共文件,目录为根目录,但是得有这个
mkdirs();函数才能创建,后来看了下java,这厮最基本的,所以基础不好真的很伤,以后得去补下基础了

参考链接
http://blog.csdn.net/u012702547/article/details/50269639

http://blog.csdn.net/nugongahou110/article/details/48154859

等下继续学习缓存
NICE!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值