1、首先打开日程管理系统,主要看看java包和.xml,熟悉一下代码要实现具体功能。你可以发现,这个java程序全都放在一个包里,当然,这个是一个小的程序,java程序还不算太多。要是可以更加的规范,把实现不能功能的java程序分别打包,那就更好了。

2、然后找到程序的入口,在AndroidManifest中有很多你建的activity,其中有个特殊的就是intent-filer这个就是表示你这个程序的入口,那么我们这个工程的入口就是

WelcomeActivity,接下来我们就去看WelcomeActivity

3、查看欢迎界面的xmlWelcomeActivity,找出是否有错误

、、、
package com.example.tasks;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;

import com.avos.avoscloud.AVUser;//第三方云库

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();//加载第三方云库handler.postDelayed(runnable,2000);//闪频维持二十秒再次跳转至登录界面//以下的是错误的地方的修改,之前没有这段代码,所以欢迎界面显示不出来if (currentUser != null) {// 跳转到首页,handler.postDelayed(runnable1, 2000);} else {//缓存用户对象为空时,可打开用户注册界面…handler.postDelayed(runnable, 2000);}}

}
、、、

4、现在阅读注册界面java代码** RegistActivity**

、、、

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() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubRName = RegistName.getText().toString();RPwd = RegistPwd.getText().toString();RPwd2 = RegistPwd2.getText().toString();//这个if少了个异常处理的,如果都为空,报错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() {@Overridepublic void done(AVException e) {if (e == null) {// 注册成功Toast.makeText(RegistActivity.this, "注册成功", Toast.LENGTH_LONG).show();Handler handler = new Handler();Runnable runnable = new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stubIntent intent = new Intent(RegistActivity.this, LoginActivity.class);startActivity(intent);finish();}};handler.postDelayed(runnable, 2000);} else {// 失败的原因可能有多种,常见的是用户名已经存在。Toast.makeText(RegistActivity.this, "用户名已存在", Toast.LENGTH_LONG).show();}}});}}else {//加个报错的ToastToast.makeText(RegistActivity.this, "账号密码不能为空", Toast.LENGTH_LONG).show();}}});}private void setTranslucentStatus() {Window window = this.getWindow();// Translucent status barwindow.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
}

}

修改完运行结果如下

、、、

5、用户注册完之后,数据库里就有了用户的账号,然后点击登录,以下是修改的代码

、、、

public class LoginActivity extends Activity {
TextView LoginName;
TextView LoginPwd;
Button Login;
TextView Regist1;
String LN;
String LP;

@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_login);LoginName=(TextView) findViewById(R.id.LoginName);LoginPwd=(TextView) findViewById(R.id.LoginPwd);Login=(Button) findViewById(R.id.Login);Regist1=(TextView) findViewById(R.id.Regist1);// 修改状态栏颜色,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);//通知栏所需颜色Login.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubLN=LoginName.getText().toString();LP=LoginPwd.getText().toString();//云数据库,使用此类AVUser.logInInBackground(LN, LP, new LogInCallback<AVUser>() {@Overridepublic void done(AVUser avUser, AVException e) {//判断是否为空,此处错误,只有if语句,缺少else语句,做出个Toastif (avUser!=null) {Intent intent=new Intent(LoginActivity.this, MainActivity.class);startActivity(intent);finish();}else{Toast.makeText(LoginActivity.this, "账号密码不能为空", Toast.LENGTH_LONG).show();}}});}});Regist1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent intent=new Intent(LoginActivity.this,RegistActivity.class);startActivity(intent);}});
}private void setTranslucentStatus() {Window window = this.getWindow();// Translucent status barwindow.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
}

}
、、、

以下是修改过之后的运行结果

转载于:https://www.cnblogs.com/zjh55/p/6638517.html

#在android studio中维护日程管理系统相关推荐

  1. Android开发——Android Studio中配置及使用OpenCV示例

    from: http://www.mobile-open.com/2015/86176.html 本文主要讲述了Android Studio中配置及使用OpenCV示例,现在整理出来分享给Androi ...

  2. linux gradle仓库位置,如何在Android Studio中使用Gradle发布项目至Jcenter仓库

    简述 目前非常流行将开源库上传至Jcenter仓库中,使用起来非常方便且易于维护,特别是在Android Studio环境中,只需几步配置就可以轻松实现上传和发布. Library的转换和引用 博主的 ...

  3. 怎么配置android远程服务器地址,在 Android studio 中 配置Gradle 进行 “动态编译期间,指定 远程服务器地址 ,生成多个安装包”...

    需求: 在产品开发中,经常需要发布各个版本,每个版本的服务器地址有不同的服务器地址.比如 开发服务器使用 192.168.1.232服务器, 测试服务器使用 192.168.1.245服务器, 正式上 ...

  4. Android Studio中的mavenCentral、jcenter、google仓库

    转载自:https://juejin.cn/post/6844903987557171213 一.Android Studio中依赖是从哪里得到 是从工程的build.gradle里面定义的Maven ...

  5. java android 相册_基于安卓Android studio相册备份及管理系统的设计

    基于安卓Android studio相册备份及管理系统的设计(论文10000字,程序代码) 摘要:时代在不断地进步与发展着,用户手中的移动中终端越来越多的占据了人们的生活,可以说人们现在是十分依赖手机 ...

  6. android studio字符串转整型,Android Studio 中的FindBugs插件使用,轻松帮你发现Bug (转)...

    在日常开发过程中难免会因为一时疏忽而留下一些Bug,这些Bug就是埋在程序里的定时炸弹,如果不能及时铲除就会导致程序的不稳定,异常或闪退的现象,从而导致用户的体验的下降.那么怎么才能找出这些埋在程序里 ...

  7. 导入eclipse工程到Android Studio中

    ref: 从 Eclipse 迁移至 Android Studio | Android Studio https://developer.android.com/studio/intro/migrat ...

  8. 获取Android studio 中的模拟器的界面的点的坐标(Ubuntu)

    实现的方法是使用Android studio 中的hierarchyviewer 来获取. 启动模拟器 emulator 打开命令行的终端 输入 hierarchyviewer 点击 inspect ...

  9. android studio数据库存储数据,如何使用API​​ 23在android studio中的数据库中存储数据?...

    大多数时候我不会发布任何内容,因为我可以在其他帖子中找到我需要的所有内容,但是现在我已经有几天了,您如何在数据库中存储任何内容?这是我的Java代码如何使用API​​ 23在android studi ...

最新文章

  1. MySQL数据库内连接查询inner join...on
  2. NodeJs Express 4.x 入门
  3. 【安卓开发 】Android初级开发(一)控件通用属性
  4. libzdb 连接到mysql_MySQL 连接
  5. flutter 禁止冒泡_【Flutter】Switch开关组件
  6. window.createPopup()用法以及短消息提示框代码
  7. Apache James搭建内网邮件服务器
  8. 皮尔逊相关系数和斯皮尔曼相关系数
  9. openstreetmap数据下载大全(路网、水系、历史数据下载)
  10. 二、正确看待博弈论和经典理论的理论定位
  11. Autojs实战教程---番茄免费小说Apk文件和源码
  12. java_opts 与catalina_opts区别_CATALINA_OPTS和 JAVA_OPTS区别
  13. win10偶尔打不开开始菜单(按win键和点击开始菜单都没反应)
  14. 【毕业季·进击的技术er】青春不散场
  15. 将秒针声音加入JAVA,喜马拉雅联合秒针系统发布声音流广告报告 :“好声音”将不再是打扰...
  16. 【问答】用SVG矢量图形自定义不规则控件——中国地图
  17. LED和LCD,LED和OLED,AMOLED和OLED有什么区别
  18. 基于PIE-Engine 监测黄海海域浒苔绿潮发展过程
  19. Java服务超时保护_五、服务保护-Hystrix
  20. FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled

热门文章

  1. 2017 04 04 省选模拟
  2. CodeForces 671C - Ultimate Weirdness of an Array
  3. pku 1691 Painting A Board DFS 抽象建图 + 拓扑排序
  4. [计算机视觉][神经网络与深度学习]Faster R-CNN配置及其训练教程
  5. python 正则表达式 匹配指定字符遇到问题记录
  6. 1.Tomcat配置
  7. 转:TestLink1.9.3测试用例:Excel转换XML工具二实现代码
  8. 使用ActivityGroup需要注意的地方
  9. ibatis解决sql注入问题 .
  10. 【设计模式】访问者模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )