##老师发了一个study来让我们纠错维护,整个软件是日程管理系统,分为欢迎界面,登录 注册界面,提醒界面添加日程界面,还有个人中心等。一些主要代码老师让我们把缺失部分去维护。首先我们读一下主要代码##

*WelcomActivity是一个欢迎界面,原始老师给的代码为以下代码*

···········

import com.avos.avoscloud.AVUser;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler; public class WelcomeActivity extends Activity { Handler handler = new Handler(); Runnable runnable = new Runnable() { public void run() {
Intent intent = new Intent(WelcomeActivity.this, LoginActivity.class);
startActivity(intent);
finish(); } }; Runnable runnable1 = new Runnable() { public void run() {
Intent intent = new Intent(WelcomeActivity.this, MainActivity.class);
startActivity(intent);
finish(); } }; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome);
AVUser currentUser = AVUser.getCurrentUser(); if (currentUser != null) {
// 跳转到首页
handler.postDelayed(runnable1, 2000);
} else {
//缓存用户对象为空时,可打开用户注册界面…
handler.postDelayed(runnable, 2000);
} }
}
···········
##代码看起来没有什么问题,可是运行出现了一个小小的问题就是进入到下个界面是闪跳没有停顿,所以我就发现了在跳转首页时候应该加上一个代码
handler.postDelayed(runnable1, 2000);这样界面运行起来就美观合理些##

##其次注册界面,在运行时候出现输入账号密码都出现不能为空现象,原始代码如下:##

·············

import com.avos.avoscloud.AVException;
import com.avos.avoscloud.AVUser;
import com.avos.avoscloud.SignUpCallback; import android.app.Activity;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast; public class RegistActivity extends Activity {
EditText RegistName;
EditText RegistPwd;
EditText RegistPwd2;
Button Regist;
String RName;
String RPwd;
String RPwd2;
String regist; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_regist);
RegistName = (EditText) findViewById(R.id.RegistName);
RegistPwd = (EditText) findViewById(R.id.RegistPwd);
RegistPwd2 = (EditText) findViewById(R.id.RegistPwd2);
Regist = (Button) findViewById(R.id.Regist); // 修改状态栏颜色,4.4+生效
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
setTranslucentStatus();
}
SystemBarTintManager tintManager = new SystemBarTintManager(this);
tintManager.setStatusBarTintEnabled(true);
tintManager.setStatusBarTintResource(R.drawable.iphone);//通知栏所需颜色 Regist.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
// TODO Auto-generated method stub RName = RegistName.getText().toString();
RPwd = RegistPwd.getText().toString();
RPwd2 = RegistPwd2.getText().toString(); if (!"".equals(RName) && !"".equals(RPwd) && !"".equals(RPwd2)) { if (!RPwd.equals(RPwd2)) { Toast.makeText(RegistActivity.this, "两次输入的密码不一致", Toast.LENGTH_LONG).show(); } else { AVUser user = new AVUser();// 新建 AVUser 对象实例
user.setUsername(RName);// 设置用户名
user.setPassword(RPwd);// 设置密码
user.signUpInBackground(new SignUpCallback() {
@Override
public void done(AVException e) {
if (e == null) {
// 注册成功
Toast.makeText(RegistActivity.this, "注册成功", Toast.LENGTH_LONG).show();
Handler handler = new Handler();
Runnable runnable = new Runnable() { @Override
public void run() {
// TODO Auto-generated method stub
Intent intent = new Intent(RegistActivity.this, LoginActivity.class);
startActivity(intent);
finish(); }
};
handler.postDelayed(runnable, 2000);
} else {
// 失败的原因可能有多种,常见的是用户名已经存在。
Toast.makeText(RegistActivity.this, "用户名已存在", Toast.LENGTH_LONG).show();
}
}
});
}
} }
}); private void setTranslucentStatus() { Window window = this.getWindow();
// Translucent status bar
window.setFlags(
WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
}
}
##在运行输入时候总是提示账户密码不能为空,那么,看上面两次密码输入不一致的语句中只有一个IF语句,else语句被遗漏没有其他情况来让程序判定执行,我再在其相对应的语句加上
else

{Toast.makeText(RegistActivity.this, "两次输入的密码一致", Toast.LENGTH_LONG).show();}代码##

##其三在登录出现了同样的错误,所以我又在相对应的地方加上了代码

else
{
Toast.makeText(LoginActivity .this, "两次输入的密码不一致", Toast.LENGTH_LONG).show();
}##

##其次我还发现了一些细节问题,在运行时候相对应的XML文件界面不去显示,例如list_item.xml,list_item1.xml界面,运行时候看不出来相对应的效果。##



												

维护Study的更多相关文章

  1. 【线段树维护复杂状态】Ryuji doesn't want to study

    https://nanti.jisuanke.com/t/31460 tree[rt].ans = tree[rt << 1].ans + tree[rt << 1 | 1]. ...

  2. Machine Learning Algorithms Study Notes(2)--Supervised Learning

    Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 本系列文章是Andrew Ng 在斯坦福的机器学习课程 CS 22 ...

  3. Codeforces 834D The Bakery【dp+线段树维护+lazy】

    D. The Bakery time limit per test:2.5 seconds memory limit per test:256 megabytes input:standard inp ...

  4. 计蒜客 31460 - Ryuji doesn't want to study - [线段树][2018ICPC徐州网络预赛H题]

    题目链接:https://nanti.jisuanke.com/t/31460 Ryuji is not a good student, and he doesn't want to study. B ...

  5. 徐州网络赛H-Ryuji doesn't want to study【线段树】

    Ryuji is not a good student, and he doesn't want to study. But there are n books he should learn, ea ...

  6. Gitlab 社区版安装部署和维护指南

    因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.这篇文章是在 Gitlab 7.4 的环境下配置的,相关内容可能已经过时. 后续做了一次迁移,将 Gitlab 升级到了 ...

  7. Ryuji doesn't want to study 2018徐州icpc网络赛 树状数组

    Ryuji is not a good student, and he doesn't want to study. But there are n books he should learn, ea ...

  8. ACM-ICPC 2018 徐州赛区网络预赛 H. Ryuji doesn't want to study (线段树)

    Ryuji is not a good student, and he doesn't want to study. But there are n books he should learn, ea ...

  9. 【ASE模型组】Hint::neural 模型与case study

    模型 基于搜索的提示系统 我们的系统用Pycee针对语法错误给出提示.然而,对于语法正确.结果错误的代码,我们需要另外的解决方式.因此,我们维护一些 (错误代码, 相应提示) 的数据,该数据可以由我们 ...

随机推荐

  1. Javascript的简单测试环境

    在<JavaScript忍者秘籍>2.4测试条件基础知识中,作者给出了一个精简版的assert和assert组的实现,对于初学者而言,这无疑是一个很好的例子,既让我们得到了一个好用的小工具 ...

  2. js加密

    在项目中,经常需要使用加密来保障数据的安全性,虽然可以通过在后台加密再传给前台,但这样无疑会增加后台的服务器的压力.所以在js中使用加密算法也就应运而生了. 一.base64加密 需要引入base64 ...

  3. Webpack学习系列(一)

    一:全局安装: npm install webpack -g (-g全局安装) npm init -y   (初始化参数) npm install webpack --save-dev  (安装在当前 ...

  4. C++inserter

    C++的迭代器适配器中常用的有插入迭代器(Inser Iterator).流迭代器(Stream Iterator)和逆向迭代器(Reverse Iterator)等! 本文主要是介绍插入迭代器(In ...

  5. Redis之Sentinel高可用安装部署

    背景: 之前通过Redis Sentinel 高可用实现说明和Redis 复制.Sentinel的搭建和原理说明大致已经介绍了sentinel的原理和实现,本文再次做个简单的回顾.具体的信息见前面的两 ...

  6. 【排序算法】希尔排序算法 Java实现

    希尔排序算法是按其设计者希尔(Donald Shell)的名字命名,该算法由1959年公布,是插入排序的一种更高效的改进版本. 希尔排序是基于插入排序的以下两点性质而提出改进方法的: 插入排序在对几乎 ...

  7. Android Monkey压力测试介绍

    monkey:通过Monkey程序模拟用户触摸屏幕.滑动Trackball. 按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常. Monkey的构架 Monkey的参数 Monke ...

  8. EWS 通过SubscribeToPullNotifications订阅Exchange新邮件提醒

    摘要 在ews中提供了一种拉通知的方式获取服务端邮件的操作,通过这种方式客户端可以订阅该通知,在邮箱有变化的时候,可以收到通知. 工作方式 EWS 通知是在订阅的基础上处理的.通常是一个订阅每个邮箱, ...

  9. lua和c的亲密接触

    介绍 lua和c的亲密接触,靠的是一个虚拟栈.lua通过这个虚拟栈来实现和c之间值的互传.栈上的每一个元素是一个lua值(nil,number,string...). 当lua调用c函数的时候,这个函 ...

  10. View的呈现(一)ActionResult

    ActionResult Http是一个单纯采用请求/回复消息交换模式的网络协议,Web服务器在接收并处理来自客户端的请求后悔根据处理结果对请求予以回应.一般来说针对请求的处理最终体现在对目标Acti ...