今天在课堂上进行了小组项目的阶段性总结,这两天小组内也是频繁的开会,具体细节我们已经反复核查,具体不表~
sprint2个人工作总结:
冯晓云:完成了必应词典在线查词api的调用和网络状况的检测;完成查询结果的格式定义与转换:与逻辑控制部分,与UI部分,与数据库部分【后两者代码不包含在词典接口部分,而是包含在UI和数据库部分,以提高代码效率】;完成了查询接口封装和调用,进行了多种bug测试;至此,必应词典接口部分已完全完成,在我们定义好的接口格式下,后续各部分程序可以调用他们完成代码测试。
朱玉影:基本完成数据库框架设计
张葳:
林建平:定义了与bing词典的接口类,实现了如何调用bing模块提供的dll。
周以舟:
sprint3个人工作展望:
冯晓云:因为结束了自己负责的part,所以作为游击兵接手了UI的设计和实现部分;目前接手的UI Botton只是一个ugly的界面,且无函数实现,需要完成以下几点:规范弹窗的弹出位置;与释义的显示策略结合设计UI界面和操作按钮;实现操作界面的各项指示功能;美化UI;希望可以在sprint3结束之前完成UI design。
朱玉影:全面完成数据库部分,包括触发器等部分
张葳:
林建平:学会uwp平台下的异步编程,利用work item和timer实现逻辑模块。
周以舟:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 必应词典接口部分~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BINGdict API——2.0
【to logic part】
Interface:
string a = await LexiconQuery.GetLexicon(string query);
standard output string format:
if (query == ""){ return"01";} 查询词为空;
if (query.IndexOf(" ") > -1){return"02";} 查询非单个词
if (Offline) return"13";
if (OnlineOnlyWifi && Offline) return"23";
if (result == null) return"03";
if(result)return “00+查询词 音标+flags+释义+。。。+flags+释义+'E'”
note: 其中“释义”:some word seperated by "$$"(string);
flags为各项词性指示 其中: switch (释义词性){
case"prop": flags = "1"; break;
case"int": flags = "2"; break;
case"abbr": flags = "3"; break;
case"n": flags = "4"; break;
case"v": flags = "5"; break;
case"adj": flags = "6"; break;
case "pron": flags = "7"; break;
case "art": flags = "8"; break;
case "na": flags = "9"; break;
default: flags = "0"; break;
}
logic part只需读取返回string前两位,即可定义后续操作;logic 接收时注意async关键词;
UI展示部分只需要对flags查表显示;
output的解析和重构都由我完成,各项标识符都经过我的处理,故而不赘述;
【to UI and dataset part】
Interface:
string a,re_a;
MLNode<string> pt; 该tree规范定义,见代码;
pt=operation.getstring2tree(a); 将string转换为tree
operation.uprank(pt, i, j); 提高第i属性第j释义的优先级;(naive)
re_a = operation.gettree2string(pt); 将tree转换为string;
operation.clear(pt); 清除tree;
note:logic part接收到词典给出的string结果传给数据库,数据库的存储形式也是string;
当UI读取显示释义时,将Sting构造成一棵树的同时输出结果[目前并未输出结果,需要等待UI显示策略确定];
需要调整优先级的时候,直接调整数的结构;
将调整后的树重构为string存入数据库;
UI----1.0?
一个文本框,两个按钮,无代码实现;你说丑不丑?