团队作业八——第二次团队冲刺(Beta版本)第6天

一、每个人的工作

(1) 昨天已完成的工作

简单模式逻辑代码涉及与相关功能的具体实现

(2) 今天计划完成的工作

修改完善注册登录内容界面,编辑错题文件写入。

(3) 工作中遇到的困难

今天花了较多时间在完善登录注册界面上,这让我们比较担心,如果每天都花很多时间在解决之前的问题,当天的任务又做不好,会不会赶不上进度。如果每天都不能正常完美的完成每天任务,那冲刺最后一天结束的时候,又哪里再有一个明天给我们完善代码。且今天还遇到了写入SD存储卡文件权限问题。

(4) 每个人的贡献比

二、燃尽图

三、代码

登录注册界面代码:

 public class RegisterActivity extends Activity implements HttpResponeCallBack {

    private EditText loginNick;//用户昵称
    private EditText email;//注册邮箱
    private EditText password;//注册密码
    private Button registBtn;//注册     @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);         initView();
    }     private void initView() {
        loginNick = (EditText) findViewById(R.id.regist_nick);
        email = (EditText) findViewById(R.id.regist_account);
        password = (EditText) findViewById(R.id.regist_password);
        registBtn = (Button) findViewById(R.id.regist_btn);         registBtn.setOnClickListener(new Button.OnClickListener() {             @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                //获得用户输入的信息
                String nick = loginNick.getText().toString();
                String emailStr = email.getText().toString();
                String passwordStr = password.getText().toString();
                if (!TextUtils.isEmpty(nick) &&
                        !TextUtils.isEmpty(emailStr)
                        && !TextUtils.isEmpty(passwordStr)) {
                    if (Utils.isEmail(emailStr)) {//验证邮箱格式是否符合                         RequestApiData.getInstance().getRegistData(nick, emailStr, passwordStr,
                                AnalyticalRegistInfo.class, RegisterActivity.this);
                    } else {
                        Toast.makeText(RegisterActivity.this, "输入邮箱有误", Toast.LENGTH_SHORT).show();
                    }
                } else {
                    Toast.makeText(RegisterActivity.this, "输入信息未完全", Toast.LENGTH_SHORT).show();
                }
            }
        });
    }     @Override
    public void onResponeStart(String apiName) {
        // TODO Auto-generated method stub
        Toast.makeText(RegisterActivity.this, "正在请求数据...", Toast.LENGTH_SHORT).show();
    }     @Override
    public void onLoading(String apiName, long count, long current) {
        Toast.makeText(RegisterActivity.this, "Loading...", Toast.LENGTH_SHORT).show();
    }     @Override
    public void onSuccess(String apiName, Object object) {
        // TODO Auto-generated method stub
        //注册接口
        if (UrlConstance.KEY_REGIST_INFO.equals(apiName)) {
            if (object != null && object instanceof AnalyticalRegistInfo) {
                AnalyticalRegistInfo info = (AnalyticalRegistInfo) object;
                String successCode = info.getRet();
                //请求成功
                if (successCode.equals(Constant.KEY_SUCCESS)) {
                    UserBaseInfo baseUser = new UserBaseInfo();
                    baseUser.setEmail(info.getEmail());
                    baseUser.setNickname(info.getNickname());
                    baseUser.setUserhead(info.getUserhead());
                    baseUser.setUserid(String.valueOf(info.getUserid()));
                    ItApplication.getInstance().setBaseUser(baseUser);
                    UserPreference.save(KeyConstance.IS_USER_ID, String.valueOf(info.getUserid()));
                    UserPreference.save(KeyConstance.IS_USER_ACCOUNT, info.getEmail());
                    UserPreference.save(KeyConstance.IS_USER_PASSWORD, password.getText().toString());                     Intent intent = new Intent(RegisterActivity.this, MainActivity.class);
                    RegisterActivity.this.startActivity(intent);                     Toast.makeText(RegisterActivity.this, "注册成功...", Toast.LENGTH_SHORT).show();                     RegisterActivity.this.finish();                 } else {
                    Toast.makeText(RegisterActivity.this, "注册失败", Toast.LENGTH_SHORT).show();
                }
            }
        }     }     @Override
    public void onFailure(String apiName, Throwable t, int errorNo, String strMsg) {
        Toast.makeText(RegisterActivity.this, "Failure", Toast.LENGTH_SHORT).show();
    }
}
 
文件写入部分代码:(解决文件写入问题)       解决方法:在AndroidManifest.xml加入
              <!--在SDCard中创建与删除文件权限 -->
              <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
              <!-- 往SDCard写入数据权限 -->
              <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
              <!-- 从SDCard读取数据权限 -->
              <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>  
 
 

https://git.coding.net/lizhiqiang0x01/Beta-APPsizeyunsuan.git

四、模块部分截图

文件写入部分:

登录注册界面:

五、项目进展

今日计划完成的内容已经基本完成,解决了文件权限写入问题。 目前为止,我们完成了各个界面的转换,简单复杂模式的编写,登录注册模块完成,基本逻辑代码的编辑。

尚未完善的内容有:错题本模块,页面美观问题,之前遗留下的草稿本不兼容问题,写入SD存储卡文件权限问题,还有其他尚未发现的漏洞。我们会努力在剩下时间内填补漏洞,完善项目内容。

六、小结

项目方面:大体上能跟上最初计划,但总是计划赶不上变化,总是出现一些问题让我们措不及防。比如今天的登录界面,本来是之前计划应该完成的内容,因为之前出现的问题,导致今天才彻底完善登录界面功能,幸好今天都还顺利,但也都有在填补历史遗留问题,不知道真正的大项目是不是也会这样,还是大家都会严格按进度,一步不落?

团队方面:不得不说,大家在一块时间久了都比之前放得开得多,每天站立会议,在讨论完项目工作后,大家也都会开开玩笑,互相催催进度。这让整个团队保持在一个良好的团队氛围中,积极正面。也不至于大家太过紧张严肃,张弛有度的工作氛围对工作效率很有帮助。

七、站立会议图片

 
 

团队作业八——第二次团队冲刺(Beta版本)第6天的更多相关文章

  1. 团队作业7——第二次项目冲刺-Beta版本项目计划

    上一个阶段的总结: 在Alpha阶段,我们小组已近完成了大部分的功能要求,小组的每一个成员都发挥了自己的用处.经过了这么久的磨合,小组的成员之间越来越默契,相信在接下来的合作中,我们的开发速度会越来越 ...

  2. 团队作业八——第二次团队冲刺(Beta版本)第7天&项目汇总

    项目汇总 第一天:http://www.cnblogs.com/newteam6/p/6879383.html 第二天:http://www.cnblogs.com/newteam6/p/688078 ...

  3. 团队作业八——第二次团队冲刺(Beta版本)第5天

    团队作业八--第二次团队冲刺(Beta版本)第5天 一.每个人的工作 (1) 昨天已完成的工作 完成界面跳转界面. (2) 今天计划完成的工作 简单模式逻辑代码涉及与相关功能的具体实现 (3) 工作中 ...

  4. 团队作业八——第二次团队冲刺(Beta版本)第4天

    团队作业八--第二次团队冲刺(Beta版本)第4天 一.每个人的工作 (1) 昨天已完成的工作 做一下用户注册的功能和登录功能. (2) 今天计划完成的工作 完成界面跳转 (3) 工作中遇到的困难 界 ...

  5. 团队作业八—第二次团队冲刺(Beta版本) 第 2 天

    一.每个人的工作 (1) 昨天已完成的工作 昨天的工作主要是一些界面的设计,我们顺利完成了复杂模式题目数目界面.复杂模式做题界面.结果统计界面的具体代码编写,和一些细节的完善.还有日常冲刺博客的编辑. ...

  6. 团队作业8 ----第二次项目冲刺(Beta阶段)博客汇总

    一.冲刺计划安排 团队作业8--Beta版本冲刺计划及安排 二.七天冲刺汇总 [Beta]第一次Daily Scrum Meeting [Beta]第二次Daily Scrum Meeting [Be ...

  7. 团队作业八—第二次团队冲刺(Beta版本) 第 1 天

    一.每个人的工作 (1) 昨天已完成的工作 由于是才刚开始冲刺,所以没有昨天的工作 (2) 今天计划完成的工作: 对界面的优化和一些细节的完善 (3) 工作中遇到的困难: 工作中出现了意见不一的情况 ...

  8. 团队作业八——第二次团队冲刺(Beta版本)第3天

    一.每个人的工作 (1) 昨天已完成的工作 对界面进行完善,并增加简单界面(包含简单界面内含的界面),简单模式与复杂模式的选择界面. (2) 今天计划完成的工作 做一下用户注册的功能和登录功能. (3 ...

  9. 团队作业7——第二次项目冲刺(Beta版本)

    团队作业7——第二次项目冲刺-Beta版本项目计划 团队作业7——第二次项目冲刺(Beta版本)-第一篇 团队作业7——第二次项目冲刺(Beta版本)-第二篇 团队作业7——第二次项目冲刺(Beta版 ...

随机推荐

  1. windows下vue.js开发环境搭建教程

    这篇文章主要为大家详细介绍了windows下vue.js开发环境搭建教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 最近,vue.js越来越火.在这样的大浪潮下,我也开始进入vue的学习行列中 ...

  2. 安卓Service完全解析(上)

    版权声明:本文出自汪磊的博客,转载请务必注明出处. 关于安卓Service相信很多安卓开发者都听说过,作为安卓四大组件之一,即使不经常用也应该听说过,但并不是每一个人都掌握的特别详细,全面.那么今天我 ...

  3. 使用ExpressionVisitor进行lambadaExpression的动态拼接

    现有如下实体 public class User { public int Id { get; set; } public string Name { get; set; } } 根据这个实体创建一个 ...

  4. 从零入手微信小程序开发

    前言: 哈哈,发现我写的随笔都是项目驱使的.当然,这篇也是项目驱使的咯,前段时间领导在玩微信时候发现了微信小程序的好处,流程,切换速度快等,然后就让小弟研究研究小程序的实现. 补充下,博客大多都是处理 ...

  5. Oracle存储过程和函数使用方法

    一.存储过程(PROCEDURE) 使用过程, 不仅可以简化客户端应用程序的开发和维护,而且可以提高应用程序的运行性能.  CREATE [OR REPLACE] PROCUDURE procedur ...

  6. macvlan 网络结构分析 - 每天5分钟玩转 Docker 容器技术(56)

    上一节我们创建了 macvlan 并部署了容器,本节详细分析 macvlan 底层网络结构. macvlan 网络结构分析 macvlan 不依赖 Linux bridge,brctl show 可以 ...

  7. CentOS 7 服务器配置--安装Java和Tomcat

    一 安装 JAVA (jdk_8u121_linux_x64) #查看是否安装了OpenJDK #检查是否安装了JAVA java -version rpm -qa | grep java #卸载已安 ...

  8. js获取节点和编辑的方法

    创建新节点 1.创建一个DOM片段createDocumentFragment() 例如: var d=document.createDocumentFragment(); d.appendChild ...

  9. linux桌面创建快捷方式

    1使用命令行创建桌面快捷方式 要为特定程序或命令创建桌面快捷方式,你可以使用任意文本编辑器创建一个.desktop文件,然后把它放到/usr/share/applications或者~/.local/ ...

  10. 使用 Gitbook 打造你的电子书

    本文详细讲解了 Gitbook 生成电子书的完整过程,内容包括:安装.命令.配置.文档结构.生成电子书.部署. 限于篇幅,本文不介绍任何 Gitbook 定制化页面的内容. 想看看 Gitbook 在 ...