ns(MainActivity mainActivity) {
mMainActivity = mainActivity;
String filename = ... + ".txt";
mFileManager = new FileManager(filename);
}
@Override public ActivityLifecycleCallback getActivityLifecycleCallback() {
return new ActivityLifecycleCallback() {
@Override
public void onModulesCreated() { // 当各个模块都创建完成后,所执行的
mFileManager.open();
...
}
@Override
public void onDestroy() {
mFileManager.close();
...
}
};
}
public View.OnClickListener getOnAddSituationClickListener() {
return (v) -> {
...
};
}
}
九、数据与单纯计算所在模块、数据流
1.数据与单纯计算所在模块
业务数据在外部关系模块中,业务数据经过单纯计算,得到其他基础模块能够直接使用的数据(有时不需要单纯计算这一步);
单纯计算的逻辑应该放在单独的一个类中;对单纯计算类的调用都在外部关系模块中;
A.例子一
时间戳在业务数据中是long类型,而显示模块能直接使用的时间格式是YYYY-MM-DD,于是需要通过单纯计算进行转化;转化所得到的称为显示模块数据;
B.例子二
假设要将一个List
类型的对象mList保存到文件,需要将mList转换为Json字符串,这一步视为单纯计算;
然后可以用new OutputStreamWriter(new FileOutputStream(filename), encoding)将Json写入文件;
然后从文件读取json,转换为List
类型的对象,转换的这一步也视为单纯计算;
2.数据流
数据流图形如下:
[如图-数据与单纯计算所属模块]
十、作为例子的App
见附件文件:ProgramStructureGPS.20190922.zip,这是一个Android项目的压缩文件;
本文的PPT版、以及作为案例的App项目可以从这里下载:程序结构设计理论(Android)20190924.zip
或者
链接:百度网盘-程序结构设计理论(Android)_20190926.zip
提取码:jmu5