要了解怎样运用Android的外部存储,首先我们理解一下相对路径和绝对路径
具体大家百度百科。
绝对路径:绝对路径是指书写文件的完整路径(比较好理解),如d:\test[Java](http://lib.csdn.net/base/java)\helloword.java,在该路径下包含文件的完整路径d:\test\java\以及文件名helloword.java,
使用该路径可以唯一的找到一个文件,不会产生歧义,但是使用绝度路径表示文件时有很大的局限性,不能再不同的操作系统下运行,因为不同的操作
系统对文件路径的表示方式可能是不同的。
相对路径:相对路径并不是一个完整的路径(注意“相对”二字,说明得有一个参照物),是指书写文件的部分路径,如\test\java\helloworld.java,该路径只包含文件的部分路径\test\java和文件全名helloworld.java,部分路径是指当前路径下的子路径,此时为此相对路径的父路径时d:\,所以完成路径是d:\test\java\helloworld.java,如果换成e盘,完整路
径就是e:.....,可以看出,你并不知道这个文件在哪个盘,那么神奇的地方是怎样根据这个残缺的路径找到文件,当然,相对路径的父路径是谁,他就指向父路径下此相对路径的
文件,可以看出是必须有一个参照物,即父路径,是相对于父路径的路径。完整应该是父路径\相对路径\文件名。如果你换了父路径,而换了的父路径并没有这个相对路径和文件
就有可能报null,可以看出相对路径时的灵活性非常强。我们平时代码中大多数用到的也是相对路径,或相对url(关于url请移步),毕竟名字太长并不是容易记得住的。
虽然在大多数情况下我们用到的时相对路径,但在Android中,我们大多数情况下用的却是绝对路径,那么,这是为什么呢。
原因:普通的java项目创建于服务器(pc也可以看做服务器127.0.0.1)而运行于服务器,所以父目录(即相对路径参照物)就是相对路径的参照物,所以在自己的服务器可以操纵自己的文件目录而不会出现null的问题。
而Android项目创建于电脑而运行与手机,项目的参照物是电脑下的项目路径,但在换到手机上相对路径的参照物还是电脑,所以这是就会报null的错误,这就是Android必须是绝对路径的原因。