用了单例模式。
1 public class XmlFile { 2 private static File xmlFile; 3 private static String fileName = "xml_resource.xml"; 4 5 private XmlFile() {} 6 7 public static synchronized File getFile() { 8 // 获取外部存储路径并取得文件对象。 9 File externalDirectory = Environment.getExternalStorageDirectory();10 xmlFile = new File(externalDirectory, fileName);11 12 return xmlFile;13 }14 }
和前一篇博客说的一样,私有构造函数避免外部实例化。
内部存放一个对象,给一个获取实例的方法,为了执行效率,获取的时候再实例化。
获取方法加上synchronized关键字,为了避免在出现线程同步问题的时候同时出现两个XmlFile的实例。
同时改了下场景类,这个就不用说了吧。
改一下获取文件的方法而已。