Paste_Image.png
問(wèn)題一: 這是做什么的面哥?
CopyRawtodata.readFromRaw(MainActivity.this, R.raw.ian, "ian.txt");
答:從raw中讀取txt
問(wèn)題二:FBReaderApp這個(gè)類(lèi)之前實(shí)例化過(guò)嗎?毅待,怎么就能輕松得到他的實(shí)例尚卫?
myFBReaderApp = (FBReaderApp) FBReaderApp.Instance();
答:首先在FBReaderApp中的
Paste_Image.png
protected ZLApplication(SystemInfo systemInfo) {
SystemInfo = systemInfo;
ourInstance = this;
}
從而可以獲取到FBReader的實(shí)例尸红。
問(wèn)題三: 這個(gè)綁定服務(wù)是怎么回事吱涉?
getCollection().bindToService(this, null);
答:在實(shí)例化FBReader中,需要傳入一個(gè)BookCollectionShadow對(duì)象驶乾,然后通過(guò)getCollection()邑飒,獲取到BookCollectionShadow的對(duì)象,開(kāi)啟服務(wù)綁定創(chuàng)建服務(wù)级乐。在BookCollectionShadow類(lèi)中,實(shí)現(xiàn)接口ServiceConnection县匠,并重寫(xiě)onServiceConnected()和onServiceDisconnected()兩個(gè)方法风科。在onServiceConnected()中
myInterface = LibraryInterface.Stub.asInterface(service);
獲取到所需的數(shù)據(jù)源撒轮。
數(shù)據(jù)源的來(lái)源————LibraryService類(lèi)
LibraryService類(lèi)繼承service,重寫(xiě)onBind()并返回IBinder 對(duì)象,這個(gè)對(duì)象便是服務(wù)提供的數(shù)據(jù)贼穆,對(duì)類(lèi)庫(kù)數(shù)據(jù)的操控便可以在App中進(jìn)行操作题山。