美文网首页Android-阅读器系列
FBReader源码解析之MainActivity解析

FBReader源码解析之MainActivity解析

作者: 茶杯里的阳光 | 来源:发表于2017-05-24 11:49 被阅读35次
Paste_Image.png

问题一: 这是做什么的?
CopyRawtodata.readFromRaw(MainActivity.this, R.raw.ian, "ian.txt");
答:从raw中读取txt
问题二:FBReaderApp这个类之前实例化过吗?,怎么就能轻松得到他的实例?
myFBReaderApp = (FBReaderApp) FBReaderApp.Instance();
答:首先在FBReaderApp中的

Paste_Image.png 通过super 快速指向父类方法,完成初始化
protected ZLApplication(SystemInfo systemInfo) {
SystemInfo = systemInfo;
ourInstance = this;
}
从而可以获取到FBReader的实例。
问题三: 这个绑定服务是怎么回事?
getCollection().bindToService(this, null);
答:在实例化FBReader中,需要传入一个BookCollectionShadow对象,然后通过getCollection(),获取到BookCollectionShadow的对象,开启服务绑定创建服务。在BookCollectionShadow类中,实现接口ServiceConnection,并重写onServiceConnected()和onServiceDisconnected()两个方法。在onServiceConnected()中
myInterface = LibraryInterface.Stub.asInterface(service);
获取到所需的数据源。
数据源的来源————LibraryService类
LibraryService类继承service,重写onBind()并返回IBinder 对象,这个对象便是服务提供的数据,对类库数据的操控便可以在App中进行操作。

相关文章

网友评论

    本文标题:FBReader源码解析之MainActivity解析

    本文链接:https://www.haomeiwen.com/subject/deynxxtx.html