这半周,我们的团队主要专注于对flag的编写,还有以及个人信息的编辑、修改等。
一 在Android端:
这这半周的工作中,客户端方面一共完成了两个功能,创建Flag功能和编辑个人信息功能,下面简单介绍一下。
1、创建Flag功能
创建Flag的类为CreateFlagActivity,核心代码如下所示:
在方法getText()中,会检查用户输入合法性。通过检查后,就会将各种输入数据放入链表中,调用NetUtil类的方法,等待服务器的返回结果。返回结果的处理在内部类CreateFlagResult中处理,该类实现了NetUtil.CallBackForResult接口,所以可以进行处理。
控制布局的xml文件的部分代码如下所示:
根据该布局代码生成的界面预览效果如下所示,可以看到,基本与界面设计一致。
2、修改个人信息
修改个人信息的类为EditInfoActivity,核心代码如下所示:
首先,会检查用户输入的修改信息的合法性,通过合法性检查后,就会将各种输入数据放入链表中,调用NetUtil类的方法,等待服务器的返回结果。返回结果的处理在内部类EditInfoCallBack中处理,该类实现了NetUtil.CallBackForResult接口,所以可以进行处理。
控制布局的xml文件的部分代码如下所示:
根据该布局代码生成的界面预览效果如下所示,可以看到,基本与界面设计一致。
代码编写完毕后,采用互测的方式进行了测试,针对不同的输入信息,设计了多组测试数据,然后再真机上对每一组数据进行实际测试,检查后台返回数据是否,直到这两个功能的测试都运行无误。
二 在后台
本周主要做的就是增加了对friend的支持,首先就是在jdbc模型中添加了进一步对user的支持,然后添加了servlet中的信息,考虑到servlet的接口是非常多的,所以对servlet分了几个包,分别是user包,friends包还有flag包。这次增加的servlet接口有对添加朋友信息的处理,获取朋友列表以及更新昵称等借口。
处理friends信息的代码如下:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType(“text/javascript; charset=gb2312”);
PrintWriter pw=new PrintWriter(response.getOutputStream());
JSONObject js = new JSONObject();
try {
int uid=Integer.parseInt(request.getParameter("id"));
FriendsDao fd=new FriendsDao();
List<FriendForList> friend=fd.getMyFriend(uid);
js.put("friend", JSONArray.toJSON(friend));
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
js.put("friend", "");
}
pw.write(js.toString());
pw.flush();
pw.close();
}
更新昵称的代码如下:
request.setCharacterEncoding(“utf-8”);
PrintWriter pw=new PrintWriter(response.getOutputStream());
int success=0;
try {
int aUid=Integer.parseInt(request.getParameter(“aId”));
int bUid=Integer.parseInt(request.getParameter(“bId”));
if(aUid>0&&bUid>0){
String newRemark=request.getParameter(“newRemark”);
FriendsDao fdDao=new FriendsDao();
Boolean temp=fdDao.updateRemark(aUid, bUid, newRemark);
if(temp){
success=1;
}
}
确认请求代码:
response.setContentType(“text/javascript; charset=gb2312”);
PrintWriter pw=new PrintWriter(response.getOutputStream());
// agree: 1代表不同意 2代表同意 0代表为做出决定
JSONObject js=new JSONObject();
try {
String tempUid=request.getParameter(“id”);
if (tempUid==null ||tempUid.equals(“”)) {
tempUid=”0”;
}
int uid=Integer.parseInt(tempUid);
TempFriendDao td=new TempFriendDao();
List tf=td.getInform(uid);
js.put(“request”, JSONArray.toJSON(tf));
在写完代码之后,请其他同学对我的代码进行了测试,当然在让同学测试之前,我首先自己进行了测试。
测试结果如下:
三 在页面
了解material design的基本介绍,如何安装以及如何使用,寻找开源的material design的项目,考虑是否能为我们项目所用
掌握一些基本的material design的设计,以备下一阶段的使用。
安装简短步骤:
File —Project Structure —app—Dependencies 搜索安装 design
如图:
正真安装成功是在 myflag –app –build.gradle里面引入