FileOutputStream fos = openFileOutput("FileDemo1.txt", MODE_PRIVATE);
这个openFileOutput()是怎么调用的呢?
根据源码看是ContextWrapper的方法:
public FileOutputStream openFileOutput(String name, int mode)
throws FileNotFoundException {
return mBase.openFileOutput(name, mode);
}
但是这个方法直接调用的context的抽象方法:
public abstract FileOutputStream openFileOutput(String name, int mode)
throws FileNotFoundException;
没有找到从哪里初始化的。我碰到的问题是打开输出流的时候channel属性为空,我想找下是从哪获取的。
经过debug观察栈信息,发现调用的是ContextImpl.openFileOutput();
但是这个文件android.jar里是没有的,官方的api里也没有context的继承关系,如何引用的还不知道,求个ContextImpl.java的源码,给全分。
没有找到啊,虽然有同名的,但是不是android里的
@菜鸟快跑: android的很多东西都来自开源的apache工程及其他开源工程。
比如你从手机的sdcard中读一个文件,数据读出后要进行编码转换,就要用“import org.apache.http.util.EncodingUtils”
等等
@LiuKaiFa: 我看到你给我发的邮件了,我的sdk里面没有下载sources的选项呢,sdk文件夹下也没有。hosts我已经改了,能连通谷歌服务器。