-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
请教 #6
Comments
大佬,我突然想到,在你的paoactivity中将调用dispatchFailure改为mViewModel.error.set(it),可以触发。我这种写法正确吗? |
没什么意义吧
…------------------ 原始邮件 ------------------
发件人: "qtybpg"<notifications@github.com>;
发送时间: 2019年6月27日(星期四) 上午10:48
收件人: "ditclear/MVVM-Android"<MVVM-Android@noreply.github.com>;
抄送: "Subscribed"<subscribed@noreply.github.com>;
主题: Re: [ditclear/MVVM-Android] 请教 (#6)
大佬,我突然想到,在你的paoactivity中将调用dispatchFailure改为mViewModel.error.set(it),可以触发。我这种写法正确吗?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
好的,主要是我现在处于初学mvvm的状态,toast中传的this也是可以视为在view层传入的吗?之前一直在用mvc,弄的我现在有点懵了。 |
我认为所有涉及到Android系统的,比如activity、fragment、context 的东西都算是view层的,toast要用到context ,所以应该算是View层的东西
…------------------ 原始邮件 ------------------
发件人: "qtybpg"<notifications@github.com>;
发送时间: 2019年6月27日(星期四) 中午11:08
收件人: "ditclear/MVVM-Android"<MVVM-Android@noreply.github.com>;
抄送: "ditclear"<ditclear@qq.com>; "Comment"<comment@noreply.github.com>;
主题: Re: [ditclear/MVVM-Android] 请教 (#6)
好的,主要是我现在处于初学mvvm的状态,toast中传的this也是可以视为在view层传入的吗?之前一直在用mvc,弄的我现在有点懵了。
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
|
好的,大佬,之前mvc开发总是view层和model层混在一起,让我都懵了。 |
不太清楚的话,可以先看看 专栏 https://xiaozhuanlan.com/topic/7590648312 |
大佬,我目前正在参照你的项目写demo,看了你的前三篇后,有个疑问,你数据库的applicationcontext是自己新建了一个类继承了application吗?从而获得了applicationcontext。 |
并且这个applicatoncontext是个全局变量 |
一般来说是这样的,使用Koin之后,可以通过androidApplication()方法获取到,在PaoApp.kt里startKoin的时候就赋值了 |
的确,我看到了koin,也猜到是这种,不过我想试试不用依赖注入的组件。 |
fun getWeather()=local.getArticleById(8773).onErrorResumeNext(
大佬,我使用了你获得数据的api和同样的bean,可是并没有走doOn系列的方法。您能告诉我问题出现在哪吗?因为连log都没 |
val remote= Retrofit.Builder()
|
你没有订阅
|
嗯,好的,谢谢大佬。 |
大佬,当我打算插入新数据时,attempt to re-open an already-closed object: SQLiteDatabase:编译器给我推送了这个异常,网上搜到的都和我的情况不太相似。
|
emmm,我卸载了以后再试就好使了,是因为我修改了我数据Bean的构造方法吗?导致表的结构对不上? |
大佬,当我使用room数据库,想在表中插入list类型的数据时,按照网上的文档出现了错误
} @entity(tableName = "weather")
} @entity fun getDay(): String? { fun setDay(day:String) { fun getDate():String? { fun getWeek():String?{ fun setWeek(week:String) { fun getTem1():String?{ fun setTem1(tem1:String) { fun setTem3(tem3:String) { } |
@dao
} |
get set方法不需要的,把private 去掉. |
多谢大佬的指点,其实是我看的博客写的不全,在原作者的另一篇博客中已找到解决的方法,主要是我没加外键以及dao的原因 |
大佬,获取网上的数据,返回的却是空值,用的是嵌入的方式。 }
} |
打断点可以发现weather是null,而data里的item中cityid也为空 @entity(tableName = "weather") @entity(foreignKeys = arrayOf(ForeignKey(entity = Weather::class, parentColumns = arrayOf("id"), childColumns = arrayOf("cityId"),onDelete = CASCADE)),tableName = "weatherdata") |
而如果将接口返回的数据修改为weather,却可以收到数据 |
https://www.tianqiapi.com/api/?cityid=shanghai 接口是有返回数据的,看你模型是否对的上 |
emm,如果说api返回的模型使用的是weather而不是CityAndWeather的话是能获取到的,不过weather是使用注解@Embedded嵌入CityAndWeather中。所以获取不到数据。 |
打断点可以发现,当我使用嵌入的时候,同样的接口,模型为CityAndWeather时,嵌入的weather是null,而模型为Weather时,却能获取到数据
可是根据我对这篇博客的理解:https://blog.csdn.net/weixin_33785108/article/details/86842299
嵌入的实体应该是能获取到数据的,请大佬给我答疑一下,谢谢。
------------------ 原始邮件 ------------------
发件人: "D•IT•CLEAR"<notifications@github.com>;
发送时间: 2019年7月12日(星期五) 下午3:04
收件人: "ditclear/MVVM-Android"<MVVM-Android@noreply.github.com>;
抄送: "弃天永不破格"<1004903043@qq.com>;"Author"<author@noreply.github.com>;
主题: Re: [ditclear/MVVM-Android] 请教 (#6)
https://www.tianqiapi.com/api/?cityid=shanghai 接口是有返回数据的,看你模型是否对的上
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
对了,还有这篇博客,是同一个作者https://blog.csdn.net/weixin_34304013/article/details/86842302 |
按照大佬你的写法的确实能解析了,可是data里关联的外键仍然为null,因为data关联的表为Weather
…------------------ 原始邮件 ------------------
发件人: "D•IT•CLEAR"<notifications@github.com>;
发送时间: 2019年7月15日(星期一) 上午10:36
收件人: "ditclear/MVVM-Android"<MVVM-Android@noreply.github.com>;
抄送: "弃天永不破格"<1004903043@qq.com>;"Author"<author@noreply.github.com>;
主题: Re: [ditclear/MVVM-Android] 请教 (#6)
返回的模型是这样的
按你现有的模型解析当然会不对,应该如下:
class CityAndWeather{ @PrimaryKey @ColumnInfo(name = "id") @nonnull var cityid: String?=null @ColumnInfo(name = "updatetime") var update_time: String? = null @ColumnInfo(name = "city") var city: String? = null @ColumnInfo(name = "city_En") var cityEn: String? = null @relation(parentColumn = "id",entityColumn = "cityId",entity = WeatherData::class) public var data:List<WeatherData>?=null; }
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
大佬,看看我在你的paonet里的提问可以吗?我在看扔物线大佬写的rxjava入门中,看见了有个方法是unsubscribe,是为了解除引用,可是你在paonet中并未使用这个方法,你使用的数据类型是single,是不需要解除引用吗? |
unsubscribe 只是其中一种方式,现在用的较多的是AutoDispose和RxLifeCycle,达到的都是同样的效果 |
好的大佬,在捋了一遍你的代码后,看见你用的是AutoDispose解除引用了 |
大佬,有个问题想问下您啊,observeOn(AndroidSchedulers.mainThread())这句话如果放到single的doOn系列方法前面的话,对数据库的操作就会报错,用的是rxjava2,为什么啊? |
remote.getWeather("d4UxIgoj","51735518") |
remote.getWeather("d4UxIgoj","51735518") |
local.deleteAllWeather(it.cityid) 操作数据库的语句都需要放到子线程去,你把observeOn(AndroidSchedulers.mainThread())放到前面,相当于切到主线程去了,在主线程main里执行数据库操作自然会报错 |
所以observerOn也影响single本身是吗?我还以为只影响single的订阅者 |
observerOn影响在它之后的,doonsuccess在它之后,所以切换到主线程去了 |
原来如此,多谢大佬 |
fun loadData(isRefresh: Boolean) = if (keyWord != null) { |
写麻烦了,在.async(1000)用doOnSuccess{}就好,并不需要map |
大佬,你定义了一个bindadapter toast,在xml中也使用了,可是该如何通过触发它呢?
The text was updated successfully, but these errors were encountered: