美文网首页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