-
Notifications
You must be signed in to change notification settings - Fork 150
Model
Jude edited this page Apr 9, 2016
·
6 revisions
Model层主要负责数据的获取,管理。面向上层提供数据存取。
AbsModel 是所有Model的父类,为model提供初始化的机会。与一个后台处理线程交互的入口。
在mainifests里注册Model 注册的Model会在Application启动时初始化。 没有注册就是懒加载,会在第一次使用时初始化。 在application的节点下加入,例:
<meta-data
android:name="MODEL"
android:value="com.jude.beamdemo.model.QuestionModel,
com.jude.beamdemo.model.AccountModel"
/>
请这样编写单例
public class QuestionModel extends AbsModel {
public static QuestionModel getInstance(){
return getInstance(QuestionModel.class);
}
}
##数据初始化
@Override
protected void onAppCreate(Context ctx) {
//这里会在Beam.init()时。在主线程上执行。
}
@Override
protected void onAppCreateOnBackThread(Context ctx) {
//这里会在Beam.init()时。在后台线程上执行。
//主要用于初始化时文件/数据库读写。避免堵塞主线程造成启动时间过长。
}
##后台执行
runOnBackThread(Runnable runnable)
即可让代码在后台线程运行。后台线程同为Looper线程。