2017-08-12 11 views
7
@Query("SELECT * FROM userdata") 
Flowable<List<UserData>> allUserDatas(); 

@Insert(onConflict = OnConflictStrategy.REPLACE) 
List<Long> insert(List<UserData> datas); 


userDao.allUserDatas() 
take(1). 
filter(....) 
    .subscribeOn(io()) 
    .observeOn(mainThread()) 
    .subscribe(userDatas -> Log.i("TAG",""+userDatas)); 

मैं onAttach (में वही समान खंड में सदस्यता के साथ प्राप्त करने में कठिनाई जोड़ा के अद्यतन प्राप्त कर सकता है), लेकिन डीबी अद्यतन करने के बाद यह डीबी, से प्राप्त करने में कठिनाई की सदस्यता फोन नहीं करता है क्योंक्यों flowable को परिभाषित मैं डीबी

+0

कृपया फ्रैगमेंट कोड पोस्ट करें। – theFunkyEngineer

उत्तर

6

मुझे समस्या मिली।

यह take(1) की वजह से था, क्योंकि यह पूर्ण हो गया है और इसलिए मैं परिवर्तनों को नहीं सुन सका। take(1) को हटाकर इसे ठीक किया गया।

3

ऐसा लगता है कि आपको कंपोजिट डिस्पोजेबल के उदाहरण में अपने फ़्लोएबल ऑलयूसरडेटा() को जोड़ना होगा और फिर जब तक आप कंपोजिट डिस्पोजेबल पर स्पष्ट नहीं कहेंगे तब तक आपकी सदस्यता ज़िंदा रहेगी।

+0

नहीं, यह काम नहीं करता है, जब पहली बार मैं उस टुकड़े को खोलता हूं जो यह काम करता है, लेकिन तब जब मैं उस टुकड़े पर हूं और डीबी में हटा रहा हूं या अपडेट कर रहा हूं तो यह कॉल नहीं करता है –

संबंधित मुद्दे